前言
记录自己在此项目中的一些心得以及学到的东西。
1.梳理流程
项目开始开会说明此项目所用到的技术栈,在此之前从未整体的了解过一个项目的整体流程,在此项目中见证了整个项目从零到一的过程,所用到的所有框架,从产品到上线的所有过程,这给我之后的工作也提供了很多的帮助。从开始的确定技术栈到分工到讨论数据库设计等等,都让我成长了很多。 通过对架构图的学习,在阅读yml中的各种配置文件时,理解起来也更加方面,知道这样的设置为什么存在,为什么这样设置,例如redis的最大连接数,连接池中最大阻塞等待时间,连接池中最大与最小空闲连接,连接超时时间设置等等,nacos管理项目的各个服务等等。 以后还要好好学习一下docker部署项目以及前台的vue只是等等,这些还只是停留在了解阶段,并不能熟练的使用。
2.数据库设计
数据库表的设计也让我学习到了很多,为了节省资源,字段设计一般也不用int而是用bigint,所有的表也都需要添加上创建时间,更新时间字段,在删除方面使用逻辑删除而不是使用真正的删除。表与表之间没有主外键关系,从而可以自由的写入与删除。
3.接口设计
这次get到了新的软件,APIPOST,国货之光,之前一直用的是postman,APIPOST在使用上与postman很相似,但是postman对于英文不太好的朋友不太友好或者需要进行汉化,APIPOST设计接口以及使用都非常友好,可以进行团队协作,协同设计,协同开发等等都非常方便,请求在这次项目中使用的基本都是get及post请求。
4.接口实现
这次实现接口是我体会最大的,也是让我感受到我进步最多的地方,最开始使用的是mybatis,写了很多繁琐的判断语句,手写数据库语句等等。在会后老师对我们的编码提出了要求,以前对mybatis plus与lambda表达式只是有了解,并没有在业务场景中真正使用过,这次按照师哥的要求使用了mybatis plus 与lambda表达式,大大简化了自己的代码,使代码变得不再冗余,简洁,自己与他人阅读起来都非常的舒服。在接口实现过程中也遇到了很多的问题不知道该如何解决,例如在项目验收前一晚,跟前端沟通图片展示的json格式,那个展示格式之前从来没写过,然后通过不断的尝试,在一个集合里面套两个集合,先通过较为原始的方法去实现,然后跟队长去沟通,队长也写了一种非常简便的实现方式,发现了自己的不足,又重新去用队长的方式去实现自己的方法,如: 这个方法是第一次去了解去使用,输入流输出流在之前也只是有了解,并没有去在业务场景中了解过他的用途等等,这次通过解决这个问题,对流的理解以及源码有了更加深入的理解。
还有各种工具类的使用,nacos,minio,redis等等,redis是这次项目中的一个小遗憾,没有去实现redis缓存,以后有时间了会拿出项目了做更加深入的研究并且去实现,学习了minio上传和下载文件的实现,在此之前也是没有接触过的。 部分代码展示: controller层: service层: 实现层:
5.其它收获
这次项目我对git的操作也有成长,在之前知识知道一些操作命令,但并没有参与过团队协作,这次团队协作,我们不仅要把自己的代码上传到远程仓库库,还要做到不把队友的代码覆盖掉,还要进行解冲突,在大家上传代码的时候会有各种各样的冲突,这个时候就需要我们去接冲突,我也在这方面学到了很多。
总结
这次项目整个过程下来学到了很多东西,在团队协作方面,编码方面,设计方面,架构方面等等都学到了很多,也认识了很多人。也有很多不足的地方,以后有机会的话想参与架构的搭建以及前端的开发,了解整体的架构,前后端整体的流程,使自己的技术更加全面,在中间件方面也需要多加学习,还要多进行总结,复盘,沟通,这样才能有更大的进步。也希望自己在日后的工作中能够保持学习,保持上进,努力向着资深工程师的方向进步,一直走在进步的路上
|