回顾这一个月来的培训,感受最大的是自己的成长。从一开始不知docker为何物,对后端不甚了解,一遇到问题手足无措,看到错误日志就头疼的懵懂新人,逐渐蜕变成为能够独立解决困难,在实践中不断深入思考,获取经验的小强。虽然每天浸泡在满满的知识海洋中差点被淹死,但是回想自己进步,觉得自己很幸运能够待在一个能让我成长的环境。也感谢神剑的带领,让我从对后端的迷茫转为憧憬与期待。
回顾
这段时间我们做了许多限时训练,通过这些训练反复练习所学的知识。
第一次限时训练是我们从0到1搭建一个项目。这个实践解开了我对配置文件神秘的面纱,也让我了解的Gradle的使用。在这个实践中,我知道了配置文件那些曾对我陌生的单词是有什么作用,我该如何通过它们给我的项目加插件,加依赖。
第二次,我们训练了数学运算的操作,包括算出字符串长度,重复字母数字出现数字等。通过这次练习,我们熟练了对Java的几个集合类的操作,也包括了Java8stream的用法。在这个训练上,我们不断删了重做,很大程度上加深了对所学知识的熟悉,也提高了编程速度。
之后,我们学了Spring boot,了解了什么是三层架构,MVC,Restful Api,开始根据数学运算的代码写接口,同时也开始引入新的需求——做一个简单购物系统的后端。在这次训练中,我们通过画E-R图来整理业务逻辑,根据RestfulApi的思想设计接口,完成了一个接口从Entity,Service到Controller的诞生,加深了三层架构的理解,也了解了Spring注解的用法,包括怎么实体中怎么写一对一,一对多,多对多。这个购物车后来不断升级改造,引入了Mysql和Flyway,开始跟数据库打交道,打通了我对数据库的联系。期间踩了很多坑,但也慢慢锻炼了我定位问题,解决问题的能力。
对我曾比较难受的是JWT,除了那些Filter和Security文件,还有service的几个方法调用来调用去,以及莫名其妙多出来的bug,把我给搞晕了。所幸的是,建哥让我们一遍遍的写它,一遍遍的整理task,也让我逐渐把那些莫名其妙的bug解决,同时也知道了那些我不知道的注解、代码是什么意思、为什么需要这么写。这个限时训练曾是我最恐慌的一个,也是让我获益最多、最有成就感的一个。
除了上述几个限时训练。我们还上手了公司的项目。这个任务对我来说获益最深的通过tasking的划分写代码。第一个task,写一个接口读取数据库信息。由于这个task关联多个表结构,我踩了很多坑,service层的代码也很复杂。第二个task跟新数据表,同样是关联多个表,并且需要信息过滤,比第一个难,但是有了前面的实践和tasking的细致划分,我能感觉我的进度明显比一个任务快很多。这期间我有遇到bug,但也很快通过debug定位到自己的错误并解决。
这期间还穿插学了很多知识,包括docker,Junit5,Spring AOP等,这里就不详细赘述了。
总结
这一个月来的信息量是很大的,接触到的知识点包括Java,Spring boot框架,敏捷开发,常用设计思想,以及Docker,Mysql,Gradle,Flyway等工具。
这段时间的学习带来的不仅仅是技术上的进步,还纠正了我许多编程的不良习惯,提高了我独立解决问题的能力,我每天都非常充实!
学习使我快乐!