第三月:被浇灭热情的加班周、搬家周、学没学多少玩得倒是挺嗨周、甚至连周报都没写的放飞自我周

第9周

周三加班的申请说我留下来是自愿学习,不能获取调休时长,直接浇灭了我加班的热情。
下次绝对每次都说开发。

本周完成工作

本周主要完成了明净系统后台管理模块文档、SOA接口以及定时任务的文档编写;同时还熟悉了相对应的业务流程。
在文档编写的过程中,也让我明白了文档、注释对业务理解以及后续重构的重要性。

其实本周到周三的时候我已经完成了业务文档相关的业务,如果不算周五临时加的Redis优化卑微的现学了一天解决外。
其实很多时候一直一直被打断,打断到回到状态也需要一定的时间。感觉这里浪费了很多没必要的时间,如果每次开会前都能提前理好内容,或者提前说明所有的任务,我想这样会更加合理。

另外,这周去看房了还有出门了两趟,周末基本没有在学,感觉明明时间不够还没有利用好周末,哭哭。
下周要搬家,可能又会是消失的周末。

本周工作总结

  1. 分布式系统中,对事物操作的细粒度最好要把控到行锁,慎用表锁。
  2. 学到了Redis锁相关的内容,原先锁续命是靠其他线程如果还需要等待就给当前线程续命,这样可能会造成因为当前服务器宕机无法施放锁,而其它线程陷入无限续命的死循环中。同时之前kv键值对中,v设定的是根据本地时间设定的过期时间,通过判断当前本地时间与v中的过期时间来判断是否过期。但在分布式中不同节点上可能存在因网络等各种问题而出现时间偏差,最好用自带的过期方法,而原项目中没有此方法,且无法保证原子性,后改用原先保证原子性的回调方法,并优化了释放锁的方法。
    但是原先方法没有实习续命功能,我和学森分别尝试用开辟线程监听和RediSson两种方案去实现续命机制,不过通过线程+定时任务去监听主线程是否执行完,如果还没完成就自动续命,这方式有点想当然了,晨哥说起码得通过切面拦截Request请求去监听整个生命周期,再判断是否执行续命操作。而RediSson是用lua脚本去搞的,方法有点老旧,不如RedisTemplates中的EX、NX。
  3. mq消费中一定要实时进行业务处理,如果出现只是单纯的把mq中的消息放到list中就当成消费完毕,后面轮询完再统一执行业务处理很容易出现因为宕机而直接丢失了。同时,项目还用伪多线程,实际foreach去实现业务处理,显然没必要这么写,可能是为了后续扩展,但是起码也需要在方法上打个声明才对。

下周工作计划

一期架构相关的任务


第10周

已经忘了这周学的是什么了,只记得这周搬家累死人。

本周完成工作:

本周主要完成了j24-admin相关架构方面的任务:

  1. 完成了代码和开发环境下的项目菜单功能
  2. 完成了基于Mybatis-Plus逆向工程的配置实习实体类的改造
  3. 完成了Shiro权限验证的xml配置转配置类任务,并梳理了流程整理到WiKi文档上
  4. 参与application/x-www-form-urlencoded接口请求文中文乱码问题的解决
  5. 学习了阿里Druid数据连接池的使用以及配置参数的作用,并在WiKi上提交了优化方案
  6. 在WiKi上开辟规范+出错记录的栏目,逐渐收录开发规范和踩坑记录,力求少踩坑,加速开发。

本周工作总结:

本周学习到了很多新技术,并且学会了快速debug和定位错误的技巧,对于项目的稳定性有了新的认识,感觉成长了很多。


第11周

本周完成工作:

本周主要完成了j24-admin相关业务方面的任务:

  1. 完成了挖角检测模块下私信挖角合并检测、私信挖角规则检测,以及注册管控登陆模块下注册管控日志下的代码和文档。
  2. 完成了挖角检测模块下挖角嫌疑用户、疑似被挖的主播聊主下的文档修改与撰写。
  3. 完成了上述模块Controller、Service的参数重构和注释补充
  4. 完成了etcd下风险系数相关功能的代码

本周工作总结:

本周主要接触到了项目的业务开发,练手了之前学到的Mybatis-Plus。更是学到了开发中的代码书写和命名规范、JDK8中的Stream、BeanUtils、测试方法的使用以及业务中涉及到的正则表达式三种模式。

下周工作计划:

补充测试用例以及SOA接口文档


第12周

因为周三周四要回学校处理毕业的事情,周五元旦,所以直接放飞自我

本周完成工作:

完成所有模块下的自动化测试以及部分Controller、Service测试
补充文档

本周工作总结:

无事发生

这周基本也都还是玩,回学校两天加元旦什么的就没有心思学了。
刚好是跨年所以还去吃烤肉看电影什么的
这周剩下的时间可能就是帮源做校招分析和源计划惹
总之,摸鱼好快乐


没有系统的学习完,会让我感到很难受,但是又没有足够的时间,计划打算学的、业务碰到需要学的。
如果粗略的学习更多情况下只能满足当前的业务,得系统的学习一边并且输出出来,才能更好的掌握。
(可能最不满意的就是因为这周没有按照计划的性能调优给完成吧、以及redis、mq之类的)
总之,打工吧加班人!


通过本周发现我需要补充的地方:
MP逆向的配置文件可以再细看一遍
从头完成Shiro的搭载和使用
IDEA debug进阶
之前的成神之路、性能调优还没有完成


这周其实基本就是业务开发,一边练手之前MP的技术,一边统一和规范开发的流程和文档。
Controller引用Service
Service继承MP的IService接口,简单的业务逻辑直接在Servic实现就行了,其它交给Dao处理
Dao继承MP的BaseMapper接口,复杂的、或者需要自定义的SQL都直接在Dao接口声明方法,在DaoImpl中实现
Entity存放数据库映射字段
Vo包下放Param、Result两个子包,一个放接收过来的前端对象XxxParam,一个放返回给前端的对象XxxVo,其它中间转换过程或者是etcd等映射对象直接放在Vo包底下,可以命名为Vo或者Dto,本次统一都是Vo后缀
还有一些堆积的Steam方法、完善MP文章关于复杂的使用、Git详解等等,设计模式也还没有开始。
等毕设能够确定自定义开题后大创那边也要跑起来了。


差不多颓了三周了,今天开始锻炼吧,电脑也一两周没开过了,所幸现在回归了~~

Last modification:February 9th, 2021 at 11:01 am
喵ฅฅ