发表于: 2017-09-12 21:31:55
1 877
一.今天完成的事情
1.总结之前的所有任务
模块一:数据库及Java基础学习(任务1)
任务1.
具体内容是mysql数据库的使用,IDE开发工具的使用,jdk.maven,mysql环境的配置,连接数据库的几种方式(JDBC,Mybatis,Spring-JDBC,spring-mybatis),以及Junit测试,日志,异常处理等(这部分内容贯穿始终,是每个任务会使用到的).
重点是能够通过对业务需求的分析,设计出结构合理,功能完备的数据库或表.
模块二:WEB开发学习(任务2-任务5)
任务2.
具体内容是SSM(Spring,Spring-MVC,Mybatis)框架的初步搭建,restful风格接口的编写以及web容器和服务器的初步使用以及svn等代码管理工具和postman接口测试工具的使用.
重点是理解springMVC框架的组织架构,restful风格接口的特点,
任务3
具体内容是编写linux脚本(开始,停止,项目部署以及统计脚本),nginx实现负载均衡的具体配置,以及通过springAop记录日志.
重点是能够通过脚本和日志相结合的方式清楚项目中各个模块执行所耗费的时间,为后续监控项目性能和查找问题打下基础.
任务4
具体内容是通过重新创建表对前三个任务进行了一次总结重构,tiles框架的使用,EL表达式以及自定义jsp标签的使用
重点是掌握tiles框架以及EL表达式的使用
任务5
具体内容是拦截器,过滤器,监听器的配置使用,cookie,session,token的用法和区别,以及通过代码实现功能需求
重点是cookie和session区别和使用场景以及HTTP的request,response和session的概念
模块三:高并发处理与第三方API学习(任务6-任务7)
任务6
具体内容是Jmeter测试软件的使用,memcached和redis两种缓存的用法以及性能比较.
重点是通过测试掌握项目中接口的性能极限,并且结合之前的日志记录找出性能的瓶颈所在,起码要了解对一个接口的访问时所耗费的时间的分布以及缓存的基本使用.
任务7
具体内容是第三方api的操作,包括短信通道,邮箱通道,云存储等,还有不同云存储之间的功能对比.
重点是要了解第三方接口的防攻击策略以及实现不同云存储之间的快速迁移
模块四:框架分离WEB,Service(任务8-任务9)
任务8
具体内容是理解service和web分离的思想,使用javaRmi和springRmi对项目进行分离.
重点是理解分布式和以模块为单位开发的思想
任务9
具体内容是使用tuscany框架将项目进行分离
重点是理解SCA设计架构和微服务开发的思想以及优点(主要是模块与模块之间的解耦).
2.看项目流程的相关文档,编写进复盘项目评审ppt
一. 谈谈自己对项目流程的理解
1.产品讲story,这一环节实际上就是产品组成员和开发组成员对整个产品的各项需求进行沟通,这一阶段作为开发人员必须要和产品组成员沟通好,确认已经理解了相关需求,对于有疑问的需求要及时询问,认为不合理的需求提出来让产品解释,总之,想要高效率的完成项目,少做无用功,开发人员必须一开始就积极参与,不能事不关己高高挂起,而且这也是开发人员熟悉各类业务的一个好机会.
2.是人员划分,该环节是由项目leader负责按照模块划分人员和负责人.
3.定义接口文档,需要前端和后端人员在一起对照原型,根据模块及页面大概定义出接口.然后后端生成接口文档,和前端沟通修改,修改之后继续下一步.这一部分实际上就开始将现实生活中的需求转化为代码实现了,只不过该部分是先定义的接口的功能还没有涉及到具体的实现方式.
4.方案设计.后端开发人员,根据原型和定义好的接口,做方案设计.每个接口至少一个方案,对于由难度或者疑点的接口,可以给出多个方案,并说明各个方案的优缺点.这一步感觉是在复盘项目中是最困难的,因为这一步实际上就是将各个接口的实现思路用文档的形式表现出来,必须要知道用什么手多或者逻辑去实现该功能,此时虽然没有具体写代码,但是却相当于让项目在头脑中”跑”了一遍.这一部分最重要的就是设计数据库和数据表还有具体的逻辑实现.
5.方案评审.主要目的是确定下来合理的接口设计方案,如果有多个设计方案则评判各个方案优劣,最终确定一个方案,同时请大家来考察各个方案的合理性,剔除不合理的设计方案,
6.具体的环境搭建,代码编写等,个人认为如果最好以上的部分,那么接下来的部分也会相对简单一些,所以整个项目中最重要的还是上面的部分.
接下来是禅道拆分任务,搭建环境,代码生成,测试生成的代码,编写接口,测试接口(包括功能和压力两种),自我检查,codereview以及最后的demo,整个流程基本上结束.,
更多理解:项目是线性结构,即使是敏捷开发也是一个个的线性周期相互迭代,所以说项目开发流程中的每个步骤都是环环相扣,所以每个环节都必须认真对待,任何一个环节出了问题都要开发者自己后续付出代价去填坑.这些环节中现阶段我认为最重要的还是方案设计.
二.明天的计划
1.任务codereview
2.准备小课堂
3.进复盘项目评审
三.遇到的问题
暂无
四.收获
对项目流程有了初步的认识
五,任务进度情况
java任务已完成
http://task.ptteng.com/zentao/my-task.html
评论