Loading... 因为实习到后面其实每天的成长不多,如果不是技术周的话每周能写出来的往往缺乏系统性,需要话上好几周去整理出来。 加上其它文章的产出也没有那么快,再积下去就变成了全是周报了。 然后发现一四周为一个周期刚好差不多。 <!--more--> ## 开坑说明 本周公司开始引入了周报的概念,每周五推送本周的工作、总结以及下周的计划给dalao们审阅。 索性另开一个分栏来记录每周的周报,这里将采用每天晚上下班回来更新的形式及时回顾当天做的事情以及学习到的新内容。 ## 前3周 ### 前期回顾 这周刚好是我来公司实习的第三周,第一周先是安装了各种软件以及配置各种环境、然后大致了解了一下公司的体系和运转流程、并且顺带学习了一下用到的一些前端技术栈,然后稍微开始做ElementUI+VUE的一个迁移工作。但是第一周的开发比较不规范,后面第二周给了规范重新完善了原先的页面,同时也自学了一些ElementUI、Vue相关的技术。第一周周末是去补了入职体检第二周刚好是碰到1024团建,所以这周末全用来补觉了(瘫.jpg)。 (团建的时候还偷偷了解到java实习生招多了后面可能要大砍一批,危!明天开始疯狂奥利给,加油!打工人!) ### 本周完成工作 (以后会细化到每天) 完成前后端对接的模块一迁移 完成根据PHP项目对模块二的前端迁移,重难点在于接口的处理已经存在一些sql拼接需要后端人员重写接口再返回给前端对接。 ### 本周工作总结 本周主要是对原先PHP项目进行迁移,学习到了PHP的一些用法。同比于上周,这周开发过程中对ElementUI+VUE的使用也更加顺手,还学到了一些自定义组件的用法。后续打算将这块踩过的坑陆续发布到博客和知网中。 **不足:** 前后端对接还不是很熟悉,仍有许多需要重写的接口等待后端给出。(其实就只是在等后端hhh) ### 下周工作计划 1. 完成当前任务的对接 2. 保障任务之余的学习和运动 3. 结合场景整理出ElementUI和VUE踩过的坑 4. 学习Mybatis-Plus 5. 减肥减肥减肥要体检体侧了! ### 需协调与帮助 1. 期望能够明确给出每次任务的优先级和截止日期,这样能够更好的分配好时间。 2. 需要咖啡续命 ## 第4周 ### 本周完成工作 **Day01** **早上**为两个模块都添加了按钮和权限,顺便解决了前端假分页的下一页可一直点击的bug **下午**整理了这几周来ElementUI+VUE开发中踩的坑,顺便看了会RPC **晚上**手机到了哇咔咔 **Day02** **早上**就把PHP后台改造的接口重新对接了一下,然后把RPC看完 **下午**因为最后一个对接的接口传的两个参数错误都默认成0了。后端不肯改只能我前端从页面获取了,卑微。然后找燕林哥学了一下聚合。明白了接口聚合最重要的一点是**`方便操作后台的用户`**:每次的接口请求都需要用户请求权限,把一些多表查询的多个接口聚合到一起,虽然不能保证每次都调用这么多,但是可以通过聚合绕过SOA权限,用户可以直接查看得到数据,而增删改还是需要权限验证的。对于开发人员其实没有做到多少的代码简化工作,有可能反而还增加了。但是对于操作的用户体验却是大大提升。 **晚上**跑步、追凡修 **Day03** **早上**和**下午**干的事情差不多:扒了旧PHP后台的SOA系统查看,帮帮周围解决BUG,顺带开了一个错误记录的坑。然后又解决了一个后端重做接口的BUG(果然又不是我的锅)配了权限,再把RPC的博客写了。 **晚上**时间都去哪了(╯‵□′)╯︵┴─┴ **Day04** **早上**再聚合了一个接口,同时把手写的RPC框架代码和博客完善了。 **下午**飞速解决了一个测试返回的bug,剩下时间基本在学MP。主要看了MP的主键自增和回写问题,把能踩的坑全踩了,简直就是行走的排雷兵。 **晚上**跑步 **Day05** **早上**和**下午**除了帮别人改bug就是学习MP,过了一遍MP以及AR的CRUD操作,以及MP的分页。 **晚上**打球 **Day06** 吃饭睡觉打豆豆 **Day07** 弄了手机NFC支持,真的不要太爽。 升级博客修改魔改源码,痛。 跑步 ### 本周工作总结 这周是在上周开发的基础上进行测试以及优化,都是细节上的完善。就拉了这批的实习生建了一个规范群,统一了同模块的大致风格(分页、边距、按钮等);同时整理了踩过的坑并且发起了错误记录共享,感觉加快了很多改bug的速度。也通过请教燕林个了解到了聚合的用法以及使用意义。 学习方面主要学习了RPC并简单搭载了一个框架去理解,顺便从旧后台看了SOA体系的基本流程。mybatis这块学习了用MP、AR进行业务的CRUD开发,以及PageHelper和MP自带分页的差异化对比。 不足之处在于MP还差一些没学完(乐观锁、SQL注入等)这周末再看完。 ### 下周工作计划 开始从Java方向的基础资料学起,并做好笔记。 ## 第5周 ### 本周完成工作 **Day01** **白天**都在看《阿里开发手册》,收获挺大的。但是因为接触实战较少,很多东西没办法结合写过的代码来理解,有写生涩难懂。先记录下来等着后面再回顾。 **晚上**跑步、弄团日活动记录。 **Day02** **早上**接着看了《阿里开发手册》 **下午**跑了公司Java的Demo,发现跟平时差异的地方还是很多的,包括各种公司二次编写的注解类等等都值得去深入研究研究。还把公司Java文档看了一遍。 **晚上**打扫卫生、逛淘宝 **Day03** **早上**终于把项目玩起来了 **下午**完成了公司分配的配置管理任务并且放到测试跑了,顺带研究了yml中的配置。 **晚上**练字 **Day04** **白天**基本都在研究SOA体系,顺便用了HTTP Client和Swagger测试了代码。 **晚上**看了卷福(because I took your pluse.) **Day05** **早上**整理了SOA的体系图,对接完业务接口。 **下午**看了httpClient、补了一下MP的IService,顺便把Demo中剩下的架构理了一遍。 **Day06** 体检补觉出去吃饭打游戏看番 **Day07** 状态不是很好,主要实测了开发规范中的内容 ### 本周工作总结 这周业务类比较简单,把更多的时间留在了学习上。这周陆续看了《阿里开发手册》,把项目跑起来并且大致把JDemo的结构看了一遍,重点学习了SOA这块,把SOA的整个流程打通,还做了相应笔记上传到博客。以及研究了一些yml配置、跟原来项目差异化对比、Swagger等一些边角料。 不足:《阿里开发手册》中很大一部分其实还没有接触到,理解起来有的还是很抽象,现在过一遍只是让自己知道以后到这块记得要回看一下规范。 ### 下周工作计划 重点熟悉接手项目的整个文档和架构。 --- ## 第6周 ### 本周完成工作 **Day01** **早上**在周末进度的基础上从新过一遍《开发手册》规范、把JDemo的整个体系过了 **下午**看项目的文档和baidu相关的体系 **晚上**追番举哑铃 **Day02** **早上**把《开发手册》规范记录并过了一遍 **下午**看了项目的主模块blacklist(重点在保存数据和阿里云上传照片) **晚上**加班 ThreadLocal用于保存某个线程共享变量,主要是get/set/remove方法对变量进行操作 **Day03** 又拖到周五才写,困到要猝死 今天傍晚才拿到分工的,一整天都在看项目,把百度api和黑名单系统的功能和实习方法都看完了,确定是个打算重构的半成品无疑了(其实完成一半都不到)。 为了周五调休加班了,留下来把需求文档理了一遍。 比较疑惑的是存放人脸照片用的是阿里云OSS,人脸识别调用的却是百度云api,今天看文档里面写的图片上传又是到百度云。懵。 回去举哑铃 **Day04** 给的需求太泛了,理了一早上下午和坡哥以及导师交流发现理解错了,但反而把黑名单的流程搞通了。。 下午把整个数据库ER和字段拟定好了,因为缺失一些字段又没有模板参考确实很难确定下来 吸取的教训是,在现有资料都查不到需要的信息时,宁愿被老大们觉得是问题生也要大胆的去沟通,没必要一个人瞎想这样反而更浪费时间(不过重构项目确实很多都还没敲定需要自己先设想 跑步 **Day05** 早上把相关的UML图以及设计完成了,然后到下午调休走的时候突然想到更好的方案,把原来的推翻了。 傍晚就提前回家,一波三折...已经懒得吐槽了 **Day06** 提前回校补觉,追番 **Day07** 把上周的方案完善了 ### 本周工作总结 除了熟悉项目就是设计文档那些了。 也不知道哪天举哑铃太累了把每晚的练字都给断掉了... ### 下周工作计划 保持进度的同时抽空开始看一看阿里的《java成神之路(基础)》 --- ## 第7周 ### 本周完成工作 **Day01** **早上**把git的练习刷了一遍 **下午**刷git练习还有看了部分的大型数据设计原则和分布式微服务架构的设计 **晚上**跑步逛B站 **Day02** 早上的时候把架构的视频看完了顺便整理了一下博客 就开始看成神之路。 晚上跑步 发现进度有点慢,虽然是最熟悉的javaSE但是还是有很多新的收获以及要理解的东西。 所以。。进度有点慢。 这两天晚上也继续学吧 **Day03** 早上路过图床把我的所有动漫图全都给删了,气抖冷。 反手就是弃坑投入阿里云OSS的怀抱。然后不知道是网页解析还是图片上传的问题,在电脑上旋转图片后再上传在博客上显示还是没变,Typora上倒是没毛病。总之,阿里云OSS+picGo还是很香的。 下午就是继续看电子书,进度还是不够快。 晚上再被迫营业一小时吧。 晚上在位置看书会被打扰,下回记得滚回床上去学 **Day04** 早上继续看电子书,下午海外那边要求我和铁子整合项目,明天给个方案,就转去做这个任务了做到了十二点多。 **Day05** 早上把剩下的UML相关补充完整,等待周一的技术评审。 不过下午我就被分到了效能组,实习生直接做调优了,害怕。 **Day06** 补材料 **Day07** 体侧补材料 ### 本周工作总结 这周主要就是上面的内容吧,然后这周的周报其实我忘记交了,不知道会不会被打死。 电子书学习停了,因为拿到了新项目。。。 --- ## 第8周 写的时候已经是周四了,这周打算周末时候把学到的sql优化这块练练手再记录。剩下的这一天半就写写业务以及学习一下mysql开发规范。 ### 本周完成工作 **Day01** 主要是讲了大致需求,把项目玩起来以及分配了对应的模块任务,晚上的是学了sql调优的一部分内容 体测完反正废了两三天 **Day02** 把第一个模块的业务打通,以及做了一些相关的sql优化 今晚加班了 **Day03** 本来今天要审查的,但是架构没空推到了周四,今天刚好可以学习学习,顺便把昨天项目文档的一些细节给完善了 晚上又被抓去补材料 **Day04** 白天开会走业务 晚上摸鱼 **Day05** 早上开会说了一下关于日志的问题 `error`级别的日志,紧急度是最高的。通常是正常业务流程无法处理 ,是开发同学自己的问题。 **warn 级别 与 error 级别的区别:** 业务流程上是否可以处理 。比如说你定义的接口服务,别人没有按照指定格式传参,就是warn 它们更多的是在业务上的区别,不存在什么只关心 error 不关心 warn 的问题 。 大部分业务问题 都应该是warn 级别的。 所以开发的应该更要注重对warn的查看,而架构层面更多的是考虑error(精力有限) ### 本周工作总结 主要先熟悉了明镜系统的业务流程,并尝试从sql、缓存、代码逻辑三方面去思考对性能的优化。 同时还学到了日志规范、异常规范,稳定性第一等内容。 ### 下周工作计划 sql调优的实践和笔记 mysql开发规范 mq --- 时间不够永远都是借口 **根据文档得出我需要学习的技术栈:** 基于redis的list实现的tqmq:Redis+RocketMQ 重新回顾幂等性、可靠性消费等理论 公司的tqSOA协议、tqrpc/grpc plantUML插件的使用 docker 线程池、guava相关工具类(工具清单) ES shrio、pac4j etcd分布式数据库 阿里的jetcache Kafka ES/JPA --- 再不赶紧学点东西文章就只剩下周报了!!!!!! --- 一周学电子书/理论 一周看视频学技术栈 --- 新架构老大的一些话: 公司最看重的还是稳定性,尤其是数据量上亿的项目,更需要稳重。 规范很重要,包括各种分支、文档都需要良好的规范 先把git玩起来,开发测试线上bugmaster等分支的拆分合并 效能优化主要是:sql调优、缓存调优以及业务调优(砍掉或直线改异步),这边分别对应到了需要学习索引、sql优化、Redis、以及熟悉整个业务体系学会整理出整个详细流程说明文档。 需要自行去学习对应的技能,然后实践在开发中,如果觉得做的没错再找他评审。 推荐学习的先从jdk源码、mysql底层(存储引擎、过程)、数据结构 --- 第三月:被浇灭热情的加班周、搬家周、学没学多少玩得倒是挺嗨周、甚至连周报都没写的放飞自我周 <!--more--> ## 第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:August 21, 2022 © Allow specification reprint Like 0 喵ฅฅ
One comment
2022年08月14日23:46:36再回过头来看,过了一年半了,当年我居然这么顶,又卷又运动。上诉标的技术栈基本都掌握了,倒是正式后基本被各种业务迭代干扰,没多少学习的时间。刚好趁如今公司这么gay的环境摆烂,从新找回学习、运动的热情。