notes

2020 年终总结

今年是公司要求要写年终总结,不过应该是ppt的形式,需要每个人上台讲的。我在这里就另外写一篇记录一下我一整年做的事。

学习数据结构和算法

在年初的前几个月里,因为疫情的原因,公司发展的非常不好,也传出了要解散我们组的消息,所以很多人都开始准备出去面试,我也不例外,在联络互动呆了有4年的时间,但是薪资还是和刚进去时一样,都没涨过。所以我也有辞职的想法。数据结构是我比较薄弱的部分,因为专业不对口的原因,我至今没有系统的学习过数据结构和算法,而且做服务端更不能缺这块,所以先恶补这块。在学习完之后发现这个非常有用,倒不是说在工作经常用到,正相反数据结构和算法在工作中基本用不到,但是在写代码的过程中会无意识的去注意代码的时间复杂度,空间复杂度,还能了解我们平常使用的数组,map,队列,这些数据结构的本质。

离职找工作

从公司离职后的一两个月时间,基本上都在找工作。。。发现外包的岗位真是多啊,阿里外包,xxx外包,都是这种,虽然是外包岗位,但是要求好像也挺高的,有个前同事去了阿里外包貌似,但是进去后加班挺严重的。前一个月接到的面试电话基本都是外包岗,前端的,简历上写的全栈,其实我想面后端的但是联系我的猎头都是招前端的,只能硬着头皮面前端了,也拿到了几个offer,但是都不理想,外包的待遇都不好。后面面了一家吉利亿咖通,自我感觉不错但是面试没过,可能过了我就去了。。。后来安恒信息的一个员工找到我,问我有没有兴趣聊聊,我看公司还不错,问了下朋友都说加班不多,我就去面了,面试的后端,基本上从通知到面试都是隔天的,所以后端准备的也不多。一面电话面的还不错,就叫我去公司现场再面一下。现场面刚开始很尬,连续几个问题我都说没用过,感觉要黄了,但是后面几个问题还好,都是平时接触过的。后面几面都挺顺利的,下来一个早上基本面完了。后面就接下了 offer。进去后发现加班还是有点多的,相对与我之前的公司,我这部门人均基本上都要加班到8点后。对于项目发包测试前一天可能要到10点后,但对于有些人来说可能这点加班还不算很多把。

运维平台

入职新公司后的第一个项目就是开发运维平台,是一个全新的项目,在开发运维平台中我也接触了很多以前的盲区,比如 docker in docker,内网部署 等。关于这个我还另外写了一篇博客 运维平台项目总结,我接下来只是列一下比较重要的几点:

  1. 使用 pkg 打包 node 应用,隐藏源码,但是使用 pkg 有一些坑,可能会直接影响其他框架的使用方式,比如 typeorm 就不能用 ormconfig.json 这种配置方式。

  2. docker in docker,简称 dind,就是在 docker 镜像内使用 docker 命令,一般因为镜像内不会有 docker 的 daemon 服务,所以会把宿主机的 docker 守护进程挂载进来,就是共用 docker.sock 文件。另外,在 dind 中使用 volumes 也是有一些坑的,我都写在另一篇里面了。

运维平台的1.0版本算是开发完成了,但是有很多不尽人意的地方,比如代码写的比较乱,这个主要还是我本身能力的问题,次要原因就是有些功能从设计开始到开发完毕,中间发生过很多次变动,和第一版的原型已经有很大的变化了,还有就是最近学习了设计模式相关的东西,然后看自己代码就觉得很垃圾。很想要用设计模式套里面的场景。

参与 DasV 项目的开发

DasV 是我这部门最主要的产品,我主要负责后端,参与 DasV 后续版本迭代的开发。目前主要负责:

  1. 接口权限验证方案设计和开发
  2. 使用 socket 进行用户间发送和接收消息通知
  3. license 软件授权功能开发。
  4. redis 缓存。
  5. DasV 和 运维平台打包。

据说后续要把产品 SaaS 化,部署到公网上,需要进一步了解 k8s 的东西,产品做大了后还要微服务化。因为后端目前就两个人,做很多事情会比较容易,比如 code review,已经 review 过几次了,效果还行。

1hz,文档协作平台

这是一个学习小组的项目。其实开发里面的功能并不难,都是常规的 CURD 操作,主要是熟悉公司的项目和框架。估计最大的难点在于解析 axure 文件结构,可能不知道的人会以为解析很难,其实分析过 axure 的 js 文件之后,要想拿到 axure 文档的目录和文件信息还是挺简单的。

网络协议

网络协议一直是我感兴趣的一个点,也是工作中常用的,也会在面试中经常遇到 HTTP,TCP 等网络协议相关的面试题,算是基础。比如 OSI 5层7层协议,tcp 的一些性质,还有每层干了什么事。虽然对开发没什么帮助,但是能让我们更好的理解生活中的一些东西的本质。为什么有时候跨网段可以 ping 通,有时候又 ping 不通。还有,我们平时用的都是路由器,那么交换机又是啥,集线器又是啥,和路由器有什么区别。网段又是什么,子网掩码又是什么鬼,怎么看两个IP是不是在同一网段,为什么我们平时使用的 tcp 是不会丢包的,怎么保证可靠传输的等等。这个我后面会专门写一遍博客详细记录一下。

设计模式

设计模式是我当时无意中发现的一个课程,叫《设计模式之美》,说实话,我是被开篇词给吸引到了,所以就花了点钱买了这个课程,总体看下来感觉还是挺不错的,对设计模式这么虚的东西有了一个整体的认识,课程现在才看了一半左右,感觉再过一个月内可以看完。感觉可以在以后写代码的时候注意一些,或者是代码优化的一个方向。这个后面也会单独写一篇博客。