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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: <p><span style="font-size:12px">都说互联网行业加班很是厉害,记得前不久网上还晒出了几个大城市互联网行业的加班排名调查,但是我们公司,或者说我们项目组倒是非常的例外,进公司也差不多半年了,才仅仅上个月有一个周六加过一天班而已。</span></p> <p><span style="font-size:12px"><br></span></p> <p>不过好

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
13天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
56 10
|
4天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
17 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
7天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
21 2
|
9天前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
31 1
|
13天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
33 4
|
19天前
|
Java Maven Spring
Java Web 应用中,资源文件的位置和加载方式
在Java Web应用中,资源文件如配置文件、静态文件等通常放置在特定目录下,如WEB-INF或classes。通过类加载器或Servlet上下文路径可实现资源的加载与访问。正确管理资源位置与加载方式对应用的稳定性和可维护性至关重要。
|
19天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
38 4
|
19天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
32 3
|
20天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
50 4
|
21天前
|
存储 安全 搜索推荐
理解Session和Cookie:Java Web开发中的用户状态管理
理解Session和Cookie:Java Web开发中的用户状态管理
46 4