记一次项目升级经历
2017-09-03 23:36
288 查看
背景:公司应某电力部门x系统要求,定期完成系统升级工作。
原数据库MySQL版本4.0.25升级目标数据库 5.7、Servlet2.3 升级Servlet3.0;部分代码年代将近15个年头
重点将遇到的 几个问题:
数据:
1、部分数据表损坏、在不确定是否包含有效数据的情况下逐个还原、好在问题不大;都对损坏的表进行了修复;
2、数据库脚本不兼容,低版本数据库使用TYPE=xx,用来确定表所属用的引擎;高版本则使用ENGINE来确定;InnoDB为默认使用引擎;
Servlet容器:
1、因使用匿名servlet形式;造成升级失败;
原因 Tomcat7之后不在提供对org.apache.catalina.servlets.InvokerServlet支持、
解决办法:逐个添加Servlet-Mapping、或使用servlet3.0 注解实现servlet映射功能
代码:
1、编程陋习、在实体类中参杂业务逻辑、增加排查难度
2、数据
af7d
乱码、逐个接口跟踪调试;嵌套页面间URL使 用GET方式传参未进行处理
3、代码冗余度高,包含大量无效的声明、引用、对象创建等
4、测试代码与生产代码混杂
经过这次事件、暴露部分程序员确实存在不死进取的现象:
暴露如下问题:
1、因随意复制数据文件造成表损坏,未及时修复数据
2、Servlet版本跨越,造成程序无法启动,未进行思考而盲目复制旧版本配置
3、缺乏应有的耐心, 在无法解决问题的情况下未上报、而做与工作无关是事
4、做事犹豫、缺乏应有的判断力
5、执行力一如既往, 一拖再拖的方针根深蒂固,对于熟悉该系统的老员工,应该在一到两个工作日解决问题并完成相关工作、然并x
原数据库MySQL版本4.0.25升级目标数据库 5.7、Servlet2.3 升级Servlet3.0;部分代码年代将近15个年头
重点将遇到的 几个问题:
数据:
1、部分数据表损坏、在不确定是否包含有效数据的情况下逐个还原、好在问题不大;都对损坏的表进行了修复;
2、数据库脚本不兼容,低版本数据库使用TYPE=xx,用来确定表所属用的引擎;高版本则使用ENGINE来确定;InnoDB为默认使用引擎;
Servlet容器:
1、因使用匿名servlet形式;造成升级失败;
原因 Tomcat7之后不在提供对org.apache.catalina.servlets.InvokerServlet支持、
解决办法:逐个添加Servlet-Mapping、或使用servlet3.0 注解实现servlet映射功能
代码:
1、编程陋习、在实体类中参杂业务逻辑、增加排查难度
2、数据
af7d
乱码、逐个接口跟踪调试;嵌套页面间URL使 用GET方式传参未进行处理
3、代码冗余度高,包含大量无效的声明、引用、对象创建等
4、测试代码与生产代码混杂
经过这次事件、暴露部分程序员确实存在不死进取的现象:
暴露如下问题:
1、因随意复制数据文件造成表损坏,未及时修复数据
2、Servlet版本跨越,造成程序无法启动,未进行思考而盲目复制旧版本配置
3、缺乏应有的耐心, 在无法解决问题的情况下未上报、而做与工作无关是事
4、做事犹豫、缺乏应有的判断力
5、执行力一如既往, 一拖再拖的方针根深蒂固,对于熟悉该系统的老员工,应该在一到两个工作日解决问题并完成相关工作、然并x
相关文章推荐
- 【C++模版之旅】项目中一次活用C++模板(traits)的经历 -新注解
- 记一次项目经历——linux环境下使用libxml2实现xml文件的生成与解析
- 【C++模版之旅】项目中一次活用C++模板(traits)的经历。-新注解
- 一次失败的项目经历,故事中的故事
- 记一次在多哈的项目经历
- 一个spring3.2的项目 从jdk1.7放到1.8的环境中编译,打开网页异常:spring jar包版本升级经历
- 一次陈旧项目的升级发布之路
- 【C++模版之旅】项目中一次活用C++模板(traits)的经历
- 历经5年,一次业余网页游戏项目惨痛的失败经历
- 小公司项目实施--从我的一次经历看经验教训
- 记Thinkpad的一次扩容升级经历
- 一次优化web项目的经历记录(二)
- 一次糟糕透顶的项目经历
- 记一次糟糕的项目经历
- fileupload学到的东西---一次文件上传项目经历
- 项目管理心态纪实——记一次交大上课经历
- 小公司项目实施--从我的一次经历看经验教训
- 记一次iOS后台定位上传项目经历(Swift)
- 一次优化web项目的经历记录(三)
- 一次失败的项目经历