第二次正式java web开发项目的总结(回收站恢复)

都说互联网行业加班很是厉害,记得前不久网上还晒出了几个大城市互联网行业的加班排名调查,但是我们公司,或者说我们项目组倒是非常的例外,进公司也差不多半年了,才仅仅上个月有一个周六加过一天班而已。

不过好在,虽然不加班,但是事情还是有的,每个月基本上都有任务,一周需求,一周开发,一周联调,然后再一周测试,可能细节上不完全这样,但大体上也就这样吧。因而虽然不怎么加班,倒也不至于说是什么事都没有。

 介于这样的安排,上上个月完成了我的第一次正式项目,也就是我们项目的迭代八,而上个月一个月的时间,又结束了我的第二次正式项目,也就是我们项目的迭代九。

相对于迭代八我只负责一个功能的实现来说,迭代九的工作就要多很多了。

因为之前两个来的久一点的同事被调到了其他项目组,所以我不仅要接手其中一个人的模块维护,还要负责新的迭代中两个统计模块,这样不仅从量上变多了,逻辑复杂度上也比迭代八要高。

 这一轮的迭代,虽然说不是完全的新模块,只是在旧模块上修改,但是实际上在实现的时候,基本上跟新增没有多大的区别。

在我们的mongodb数据库中,统计需要用到的源数据表有四个,在统计的时候,之前的做法是把四张表的数据跑定时器统计出来,然后放到一个新的统计表中,再在项目页面统计的时候,直接拿出统计表中的数据就够了。

而新的需求中,要求把定时变成实时,如此一来,每一次的统计都需要根据不同的条件查询四张表,再把四张表的数据进行一定的处理:合并或者拆分。

同时查询四张表,如果是关系型数据库,可能会简单很多,但是mongodb是非关系型数据库,又因为自己对mongodb的使用并不是很熟,因此也是绕了相当多的弯子才勉强搞定。

应该是有了上一轮迭代的经验积累吧,这一次虽说工作比上次多了而且难了,但是我实际用的时间并不比上一次的多,甚至从某种程度上来说所花费的时间还要少一点。

这一轮的迭代,对mongodb的基本操作有了更进一步的掌握,上一轮中,学会了基本的增删改查语句,这一轮在此基础上新掌握了不同数据库间表的导入和导出,根据多条件查询以及排序和分组。

因为统计涉及到的数据很多,在测试调试的过程中,也要不断的把页面上的数据和数据库中的数据对比,因此也算是更熟练的掌握了调错、找错的技能,能更快的找到问题根源。

相对于上一次基本上弄清了springmvc的三层结构,这一次也算是进一步练习了三层结构的使用,除此之外,对于集合、数组等数据的封装和拆分也有了更进一步的理解和使用。

 如果说收获的话,这一次最大的收获,大概就是关于代码优化和重构了。我所负责的两个模块,实现细节上有很多的不同,但是有一些环节却是大同小异的,可能是由于经验方面的不足,或者是知识方面的欠缺,所以在好几个地方都有看起来似乎一样的,但仔细看又不一样的代码。

当看到这些代码的时候,我想过要提炼出来,但是几经尝试后,没能提炼成功,我以为可能是真的不能提炼了。直到后来项目经理看到后,热情的帮我弄了一下,我才发现原来并不是不能提炼,而是自己经验不足,所以思维过于局限了。

值得一提的是,在项目经理指导我提炼上边代码的时候,顺便指出了我另外一个可以优化的地方。

在代码中,我有几个地方需要判断一个list中的元素是否存在于另一个list中,于是我用了for循环,结果项目经理只用了一个contains方法就搞定了我十几行。由此可见,有的时候多掌握一点知识,可能就能为我们省下很多的工夫了。

书山有路勤为径,学海无涯苦作舟,这句很早以前的名言早就烙印在我的心中,但是自从进入软件行业以来,我突然发现虽然要学的东西很多,但其实也是乐趣无穷!

时间: 2024-11-18 14:58:03

第二次正式java web开发项目的总结(回收站恢复)的相关文章

第一次正式java web开发项目的总结

去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门没什么工作经验的程序员应该会有一些帮助,但是却怎么也无法在csdn博客列表中找到这片文章. 后来无意中发现它竟然跑到了我的回收站中,我已忘记是因为什么原因使他跑到了这里,但是我想恢复的时候又发现有点坑的是,csdn回收站的东西无法恢复,因此只好重新发表了. 以下是当时的总结:   从学校走出来,转眼

Java Web开发项目中中文乱码解决方法汇总_java

Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存文件内容时,使用的是utf-8的编码格式,然后在jsp页面的开始处添加<%@ pageEncoding="utf-8"%>就可以解决这种中文乱码问题 第二种情况:调用servlet页面显示乱码问题描述:通过浏览器调用servlet,servlet在浏览器中显示的内容出现乱码.

Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确的下载 eclipse Java web 开发填坑记 2-如何正确的创建一个Java Web 项目 在我们正确的下载了 Eclipse 之后,我们来创建第一个 Java web 项目.在创建 Java web 项目之前,我们需要做一些准备工作. 项目工作 1. 安装 jdk , 并且配置 Java

Java Web开发防止多用户重复登录的完美解决方案_java

目前web项目中,很多情况都是可以让同一个账户信息在不同的登录入口登录这次,这样子就不那么美好了. 推荐阅读: Java 多用户登录限制的实现方法 现在有两种解决方案: 1.将用户的登录信息用一个标志位的字段保存起来,每次登录成功就标记1,注销登录就标记为0,当标记为1的时候不允许别人登录. 2.将用户的登录信息保存在application内置作用域内, 然后利用session监听器监听每一个登录用户的登录情况. 很显然,第一种方式 每次登录 都需要操作数据库,多了一些不必要的性能开销,而且在登

新书出版:Java Web开发技术大全——JSP+Servlet+Struts 2+Hibernate+Sp

本文为原创,如需转载,请注明作者和出处,谢谢! 作者:李宁 图书详细信息: ISBN:9787302195757 定价:79.8元 印次:1-1 装帧:平装 印刷日期:2009-4-23   图书简介: SSH是目前最流行的Java Web开发技术.本书通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法.本书内 容包括Web客户端技术.JSP/Servlet技术.Struts 2(拦截器.类型转换.输入校验.上传和下载文件.Struts 2的各种标签.对 AJ

新书出版:Java Web开发技术大全——JSP+Servlet+Struts 2+Hibernate+Spring+Ajax (附源代码)

本文为原创,如需转载,请注明作者和出处,谢谢! 源代码下载 作者:李宁 图书详细信息: ISBN:9787302195757 定价:79.8元 印次:1-1 装帧:平装 印刷日期:2009-4-23 图书简介: SSH是目前最流行的Java Web开发技术.本书通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法.本书内 容包括Web客户端技术.JSP/Servlet技术.Struts 2(拦截器.类型转换.输入校验.上传和下载文件.Struts 2的各种标签.

Tomcat与Java Web开发技术详解连载之一

web|详解 本章介绍如何在Tomcat上创建和发布Web应用.这里首先讲解Tomcat的目录结构以及Web应用的目录结构,接着介绍如何将HTML.Servlet.JSP和Tag Library部署到Web应用中,然后介绍把整个Web应用打包并发布的方法,最后介绍如何在Tomcat上配置虚拟主机. 本章侧重于讨论Web应用的结构和发布方法,所以没有对本章的Servlet和JSP的例子进行详细解释,关于Servlet和JSP的技术可以分别参考其它章节的内容. 2.1 Tomcat的目录结构 在To

Tomcat与Java Web开发技术详解连载之二

web|详解 2.2.4 部署HTML文件 在helloapp目录下加入index.htm文件,这个文件仅仅用来显示一串带链接的字符"Welcome to HelloApp", 它链接到login.jsp文件.以下是index.htm文件的代码: <html><head><title>helloapp</title></head><body ><p><font size="7"

Tomcat与Java Web开发技术详解连载之三

web|详解 2.2.8 创建并发布WAR文件 Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件.在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用.在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件.如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR