发表于: 2017-12-05 23:04:50
1 626
今天完成的事情:
1. 敏捷开发live的整理完成
2. 听老大的讲课--程序员除了技术外还需要哪些技能
3.简单的任务总结完成
明天计划的事情
1. 任务深度思考(50%)
遇到的问题:
无
收获:
1. 敏捷开发(完)
没有做好的功能不要提交
- 在于提前进入集成测试
- 保证传参,后端能收入,能有正常的返回结果
- 没有逻辑/业务过程
- 简单方法为,在JSP上直接写结果
接口文档谁写:前后端一起
- 页面是1个还是2个接口
- 接口能不能复用
- 尽量接口和页面没有太大关联,接口依据模块来,性能没有影响的时候复用性优先
- 循环和嵌套,用list还是map
- 传输的数据尽可能的少
- 所有的接口同时出来
task拆解细致,具体怎么做,做到那个环节,什么地步
- 昨天做了什么(那些story),内部讨论完成了那些task,但结论是以story为单位的(未开始/进行中/已完成)
- 今天要做什么(内部信息),要做什么接口
- 出现问题记录下来,问题指对当期项目进度风险的,会影响项目dome,会延期的。要有解决方案,如果没写上要单独开会,讨论怎么解决
- 当前的项目有没有延期的结论,燃尽图来预计
- 从一个决策者的角度看项目完成进度
- 15分钟左右,9点半之前开完 , 不能讨论问题,有问题时候在晨会上确定商讨的时间和人员
- 只有开发人员参加
- 晨会演示前一天完成的东西,所谓完成就是已经上传到svn,部署服务器上可以运行的东西
- 当一个task超时的时候,修改预估时间和消耗时间以及剩余时间
- 晨会的结论,发送全体(公司不大),发送研发部/项目相关(公司大)
- 结论1:story完成几个,进行中几个,未开始几个,明天开始的stroy几个
- 结论2: 开发环境地址,有app/ios,加上可下载链接/二维码,当前项目可访问可运行的地址
- 结论3: dome延期风险,第几次延期,延期天数,原因,解决方案
- 结论4: 禅道、燃尽图地址
- 没有做过的技术
- 突发情况,解决不了错误
- 需求理解错误
- 需求变更
- 搭建本地环境(模拟服务器环境)
- 解决端到端问题,在本地和测试环境
- 一个正常用户的操作,端到端测试
code review
- 找另外一个工程师,检查代码
- 代码是否符合规范
- 代码是否有风险,逻辑错误
- 实现的方案是否和方案评审的是否一样
- 结论只有过河不过,过了才能DOME
- 如果代码有问题,当场改
- 保证代码构架稳,代码逻辑没有问题
- 接口复杂的不超过200ms,简单的超过50ms
- 慢查询是什么接口,能不能做优化
- 统计各个层级时间,接口时间
- 结论:发送一个性能测试报告,慢查询接口排序列出来,和详细时间,能不能满足需求,支持多少并发,TPS
DOME:
- 选好有谁来主持dome
- 只要有肉眼发现的问题,是不能过的
- dome完成后不需要改动代码,可以打tag
- 结论:
- 不通过,不通过问题是什么,下次dome时间
- 通过,预计测试时间,上线时间
- 颜色是否一致,间距是否一致,动画是否做完
- 响应式做的怎样,等等
- dome前 , 打TAG
- 发布环境,发布TAG版本,打完TAG后才可打包
- 测试环境运行一天发布一次(只有两种情况发布:)
- 新的迭代(禅道地址)
- 修改原本的BUG(BUG地址)
- 发布步骤是可执行的脚本
- critical
- block
- major
- normal
- minor
critical和block在线上立即修复的,major停下现在手中的项目,优先修复。normal,minor可以在下个版本迭代跟新中修复
- 测试人员提出BUG
- BUG交给研发组leader
- leader交给相应的开发人员
- 开发人员确定BUG是否属于自己负责的story
- BUG提出之后,必须在2个小时内做出响应, 接受BUG,不是自己的就及时转出
- BUG完成后打TAG,发布测试环境,表明BUG解决,没有解决重新走流程。
测试阶段预估上线时间
- 产品2-3周产品设计,开发人员2-3周开发,1周测试
- 能做到产品设计完后紧跟开发,开发中产品开始下一个版本的迭代
- 把项目尽量拆成互不相关的模块(关键),例如3个,时间把控的好,一周一次
- 团队拆分成小的一般团队(关键)
- 正常发布(排期)(周2-周4)
- 紧急bug修复发布,记录详细信息,例如:修改那些内容,修改那些点等等。
- 当开发第二期,发现了第一期BUG有,有个原则:
- normal以下的BUG最多3-5个以内
- major和以上的BUG一个没有
- 当出现major和以上的BUG,停下现在手中的项目,优先修复
- 从当前测试环境拉出一个版本/分支,在分支上修改
- 完成后验证完后发布测试环境,验证通过后,合并到主干(trunk)
- 为normal可以带上,但一定要补上。
- 3个月,见到效果
- 6个月,正常运转
- 1年,价值才能体现
2 .简单的任务总结
Task1
数据库表结构设计,使用相关工具navicat
Sql语句和索引的使用。
MAVEN和IDEA的使用
JDBC、Mybatis和数据库连接池c3p0/durid 使用,junit、log4j
开发者模式/ Debug模式、try/cache 捕获异常
Spring 框架、Linux的环境部署
Task2
创建WEB项目,WEB项目的三层构架(DAO,Service,controller)
url用restful风格来定义接口
springMVC
WEB容器resion、tomcat、jetty
接口测试POSTman、svn的使用
JsonTagLib使用JSON
HTTP三次握手、四次挥手
Task3
Shell脚本
Nginx,性能的统计
一些linux 的命令,和linux 环境部署,本地host
Task4
把静态数据换为动态
Tiles、Tag标签、JSP、C标签、el表达式
Task5
DES,MD5(加盐),Token , session/ cookies免登录
拦截器拦截url ,过滤器过滤敏感字符、监听器查看当前在线人数
Task6
JMeter性能测试(TPS,90%line ,并发量)
Memcache或redies,数据的序列化
Nginx 负载均衡
缓存穿透
Task7
第三方API:邮箱/手机号验证,图片上传迁移
短信通道的防攻击策略,邮箱的防攻击策略,缩略图,防盗链
Task8
分布式—rmi ,dubbo和zookeeper
Service的负载均衡
SCA ,web和serviec分离,打包jar
Task9
Tuscany-spring-rmi (指定rmi的接口)
分离为core – service - web
进度:
禅道:http://task.ptteng.com/zentao/project-task-264.htm
评论