2022 年度总结¶
统计信息:字数 9045 阅读19分钟
本年收获¶
计算机网络¶
2022年2月,系统学习巩固了计算机网络课程,基本的七层模式,四层模式,重点是与前端开发相关的 TCP UDP HTTP HTTPS 等协议。 现在有一个整体的认识:即下层给上层提供服务,每一层有不同的协议;数据从上层到下层一次封装,经过物理层传输后,从下到上解封。
数据传输依据滑动窗口算法(slide window),确保数据传输的完整和高效,就是栈和队列的扩展。
作为前端开发人员,必须熟悉基础的计算机网络知识,日常和其他同事沟通或者处理基本问题也游刃有余了。
算法¶
没有系统学习新算法,4月份学了不少新的知识点(例如初级 DP,打家劫舍,二叉树层序遍历的DP等),其他几个月题目主要对初级算法的巩固和练习,详见后文 Leetcode 数据。
原本打算看《算法4》,由于时间关系没有深入看这本书,先整理了以前《啊哈算法》的笔记,以及面向题目学习算法点,哪里不会学哪里。
小程序¶
简单了解 taro 小程序框架,可以把一份 react 代码,打包成多个平台使用的小程序(微信小程序,支付宝小程序,百度小程序等)。
近年主要以 PC 端办公软件开发为主,移动端小程序等没有单独开发,后续可以加强,官网链接:TARO框架,也完成了一个校园网小程序的初级案例,https://github.com/Michael18811380328/university-webpage
VUE¶
感谢豪情大哥提供的一个 vue 后台管理系统,以及对应的状态管理工具 mobx 项目构建工具 roolup 等,比当前团队项目中的 webpack 快很多,相关案例:https://github.com/Michael18811380328/third-part-libs
技术分享会¶
日常也参与和组织了几场简单的前端知识分享会,包括基础组件设计规范,算法优化方向和策略,前端团队遇到的问题等等。
年底也看了稀土掘金的技术大会,接触了一些前沿技术,开阔了视野。
我感觉就是不能只在公司或者项目组的小环境中,应该了解整体的市场环境和需求,和其他朋友聊一下需求,注意事项,和不同行业的人了解对方的需求和痛点,这样才能知道自己和别人的差距。
反思¶
1 学过的知识点,有多少记到了大脑中?学过的东西,变成了一堆数据存档,还是真正促进自己提升?
2 各方面的努力,有没有转换成实际的生产力?是否获得了升职加薪,或者长期的职业发展优势?
底层的知识点(数据结构与算法,网络基础)需要理解并实际使用,不同框架API变化较大,没有精力也没有必要全部学会这些东西,可以做到了解不同的框架,需要的时候可以短期内找到对应的资源并迅速使用。
数据统计¶
csdn¶
从 2018年1月到2023年1月,博客的总访问量 120W。精华的博客主要在前几年完成,2022年仅完成10篇博客,数量上确实有点少,大部分的时间用于搭建和更新个人博客。
希望2023年每个月都更新至少一篇高质量的博客,每周更新一篇博客,把自己的笔记和思考内容掌握,并应用在实际工作中,确实从博客中收获到实用的知识和经验。
github¶
2022年包括了个人项目和团队项目,所以一共有 3748 条 contributions,平均每天超过10条,确实写了不少。个人能力也需要有提升,不能经常做重复性的,难度不大的工作。
未来大部分新项目已经迁移到 gitlab 中,所以团队项目会减少很多。希望有机会参与更多有价值的开源团队项目。
stack overflow¶
开始在 stack overflow 上浏览问题,然后尝试解答力所能及的问题。2022年来,声誉值上升了不少,有不少成就感,仍然有很大的升级空间。
这个主要用于查阅英文资料,锻炼自己的英文表达能力,希望未来可以不借助翻译工具,直接阅读问题,并撰写答案。
个人博客¶
个人博客发布在 https://michael18811380328.github.io/ 上,基于 python 的 mkdocs 库进行构建。2022年进行了几次大规模的重构和整理,基本做到了每周发布小版本,每两个月更新一个中等版本(对应1个小目标),也根据博客的重要性重构了目录结构。
针对技术图片,单独写了脚本,可以自动生成描述文字和 markdown 文件,效果还可以(毕竟纯文字的长篇大论太枯燥,图片+文字更形象生动,便于学习记忆)。唯一的不足是源图片在国外服务器,国内访问有时候比较卡。未来可以迁移到国内的阿里云上。
leetcode¶
去年提交了230次,主要是 1月,4月,7月,10月,12月的提交。
整体巩固了基本的数据结构和算法,在二叉树和动态规划等也有一些进步。
不足:刷的大部分题目还是简单和中等题目,一些关键知识点还是困难(例如位运算,复杂的DP,数学点卡特兰数,或者某些细节上很特殊的地方)。实际上,把前500道题目全部看懂,自己能写出来,基础算法就足够了。
读书¶
2022年的目标,把《你不知道的JS》三本和《算法4》通读一次
实际上只读了《你不知道的JS》第一本。这本书涉及 JS 底层原理比较多,和实际开发关系联系不大,我这5年开发过程中,没有接触过有些知识(编译原理),说实话有些部分比较吃力。
咨询了其他前端的朋友,听取了大佬的建议,学以致用,不能死读书,所以临时把这个系列的书放下,实际项目中使用了哪些知识,再学习哪些知识,这样进步比较快,也比较有成就感。
书籍链接:https://book.douban.com/subject/26351021/
行业职业定位¶
2022年主要时间开发 Seatable + 整体项目优化,收获不少 技术上,确实还做不到公司前端顶尖水平,距离行业水准还差的不少,客观原因是同事之间基础经验等差距,主观原因还是自己努力的方向,2023年还需要继续努力。
2022年整体社会波动不少,疫情反反复复对实体经济冲击比较大,计算机整体行业更加内卷,小道消息说,下半年大厂纷纷提高了简历门槛,周边同事传言,某米公司在裁员,某度也有一部分裁员等等。
说回来,如果个人实力很强,或者个人实力年龄薪资相匹配,在一二线城市找到合适的工作没问题。关键是怕不学习新知识,不更新自己的知识系统,这种情况容易被淘汰。计算机这个行业很特殊,知识更新换代很快,基本3年一个周期,不进则退。
2023计划¶
项目系统化¶
给定一个0基础的项目,如何根据需求,完成全部的开发任务?这部分基本的理论学过,实际没有完全走下来,也不好说自己在哪一步会卡住等。
针对需求,应该选择怎样的开发工具(敏捷开发,还是瀑布流开发),如何安排人手排期执行,评估项目的实现时间等,怎样进行团队协同等。
技术选型-评估环境-整体拆分组件-数据层
长期职业发展¶
这个不好直接说,总之提升个人实力,升职加薪。 2022年支线任务比较多,主线任务没做完,所以需要安排时间去做主线任务。
夯实基础¶
不管基础岗位,还是高级岗位,前端基础知识很关键。基础不扎实后期发展受到局限。所以希望把基础部分再扎实些,复习笔记等等。具体的书籍,项目,网课等后续补充。