中国工商银行软件开发中心 暑期实习心得
过程:按时间先后顺序。
一、了解业务流程。相较于之前使用的XX系统或模型而言,在当前工作中面临了更大的挑战——工作内容变得更加复杂了。理清思路至关重要——否则会导致数据库无法顺利设计出来;进而使得后续工作难以继续进行下去。
二、设计数据库系统。由于其与业务关系极为密切,在单一维度的属性描述上已无法满足需求,需要具备对消息序列号的精确跟踪能力,并且还需应对高并发场景的需求,在以往的设计方案中均未充分考虑这些问题。
1、阅读了mysql开发规范+业务文档。
2、画ER图。
3、再根据业务逻辑,检查数据库是否能支持整个业务,找出问题,修改。
4、循环3,直至数据库能走通整个业务流程,根据ER图生成最终数据库。
三、接口设计。依据业务流程要求,在线同步确定各方接口。初次规划时出现失误:应尽量将具有相同功能的接口整合为单一的一个。
四、模拟器设计。基于JavaBean组件开发的Web应用架构已经较为落后了了,在此基础上学习并掌握Python语言下的Flask框架也已遗忘殆尽了,在接触SpringMVC框架及其MyBatis持久化技术后才勉强入门级水平感到自己略显落后
掌握了springboot的基本功能后开发了一个项目,在其中运用mybatis-generator自动生成实体类的过程中深感便捷。这对提高开发效率非常有帮助。(PS:懒人推动了科技进步)
根据百度Spring Boot平台学习如何创建提交表单的方法,并熟悉掌握了Controller、Domain以及Service的相关知识,并结合页面流程设计了一个完整的系统流程图
- 掌握注册+登录+登出+登录验证的具体操作流程。注册时需详细核对用户是否已有重名账户,并确保数据库中没有重复用户名;在登录过程中需核实用户输入的密码与数据库中的一致性。
登陆:
3.1.服务器密码校验/三方校验回调,token登记
3.1.1服务器端token关联userid
3.1.2客户端存储token(app存储本地,浏览器存储cookie)
3.2.服务端/客户端token有效期设置(记住登陆)
登出: 服务端/客户端token删除
4、完善表单+编写发送报文
5、实现设计的接口。先将报文存储下来,等到处理的时候再返回到前端界面。
6、在前端开发过程中,最初采用了Thymeleaf模板引擎配合HTML标签进行构建;后来觉得页面不够美观,随后尝试使用开源前端模板库以提升整体美观度为目标。
7、调试代码。让整个系统能够功能实现。
通过SonarQube评估代码质量,并参考提供的指导方针对代码进行优化。进一步学习了如何规范命名常量、类名等软件工程命名规范以及如何进行代码重构。
经过两个月的实习,总结如下:
代码方面:
1、对springmvc有了了解,思维不再是以前的jsp+javabean+servlet。
从仅限于使用jdbc到能够通过mybatis-generator自动生成pojo类的学习过程让我熟悉了maven的应用。
3、前端知道一丢丢thymeleaf模板引擎的使用。
4、知道了用token对用户是否登录做验证。
3、会用sonarqube查看代码质量。
逻辑思维方面:
1、对自己的业务逻辑思维方面进行了锻炼。
2、设计数据库,不再是直接上手设计,而是充分理解业务详情。
其他方面:
当银行服务出现故障时, 会产生相应的补丁. 若涉及的服务与其他服务无关联, 只需将该服务暂时下线即可; 若有相关的影响, 则需全面停止该服务.
2、数据的生成与分析分别/依次处理。在生成阶段存入MySQL数据库,在需要分析的时候迁移到HDFS或其他分布式存储系统。
3、代码出现bug,要自己慢慢调试,弄懂原理,依赖别人的帮助,下次还是不会。
