2020 年小结和 2021 年展望
今年年初疫情肆虐,导致了很多事情发生变故。将近半年时间我都在家里办公,第一次体会到 Home Office 的感受。
过年刚开始时候还不是太忙,带娃外加上班。感觉很多同事也是如此,经常语音视频中有娃的出现。
后来任务多了,沟通上也逐渐成熟,业务基本回归正轨。随后又迎来了公司组织架构调整,开始适应新的部门。
最令我担忧的就是年底这几个月的身体状况。持续加班,任务多且繁重,一度出现四肢发麻、头晕等症状。在两个月的反复检查中,注意休息,几乎没有在反复发作了。
同时期,孩子也有几次大问题,吓得全家都非常紧张。现在对待发烧感冒之类,特别慎重。
此外,金融 P2P “跑路”,导致大量资产损失(4W)。虽然能承受,但是还是特别委屈。
往往不好的事情记忆特别深。2020 就要过去了,放眼未来吧。不去说那些悲剧的事情。
当然,这一年感觉自己提升了很多,也遇到了许多挑战。这一年博客更新了 30 篇。其中技术类文章 18 篇。整体来说更新速度非常满意了,并且远超过自己的预期,所以也计划在新的一年要降速下。
简单整理总结下 2020 的成绩吧。
2020 挑战与研究
d.ts 规格文件
起初,真的仅仅是为了让自己写的一个库能有提示。而且还是另一个同事觉得没有提示很奇怪。
就这样学习去写 d.ts 规格文件,让自己的 js 库可以在 webStorm / VS Code 中有语法等提示。
这个写好之后编辑器里面体验非常好,各种想要的提示,各种满足。写法网上多查查就能搞定,比较简单。实在不行就可以 any
。
缺点是就只是提升了开发体验,对于开发实际影响和帮助不大。
headless 无头浏览器的 puppeteer 研究
本想着用 headless,模拟日常开发过程中,反复点击测试页面的工作,结果最终发现自己没有任何框架下,想真实模拟项目简单流程测试难度还是挺大的,主要难度在于部分异步操作、语法的理解上,和想象不一致,以及所有的操作,都要一行行代码来实现,成本比较高。
就比如年底在做的银行接入项目,宁可自己每次反复在浏览器下点击测试,也懒得再开发一个 puppeteer 项目。本来项目时间就很紧张,哪里还有时间弄个额外的 puppeteer。
当时想着,如果价值大,自己把常用的操作逻辑都封装下,以后再做 puppeteer 就快多了。这个研究算是黄了。主要还是 puppeteer 周边太少了,至少我几乎都不知道,导致开发、调试成本很高,很难大规模落地应用。
此外,安装 puppeteer 也比较难。后续可以写篇文章,说说如何安装这类下载不了的组件。
Vue 3.0
7 月中旬开始着手研究 Vue 3.0,陆陆续续用了 2 个月时间,写了 3 篇文章,在公司还进行了 2 次分享。
Vue 3.0 虽然大部分都能兼容 2.x,但是还是有非常大的变化!目前 Vue-Router 等周边库还在适配中,没有发布新版本,所以后续再继续关注吧。
但希望语法不要和 Vue 3.0 一样变化太大。
Vue 3.0 变化大也就是页面层面改改,而且大部分能兼容。周边库往往都是底层建设,一旦 API 大变化甚至流程变化,整个项目架构都要调整,比如登录控制、接口拦截、数据缓存等,至少我不太想重新再弄一次了。
本来我是 React 阵营的,最近这一年都在搞 Vue,再这么弄下去,感觉 React 基本上已经都不太会了。
npm 私服及 npm 私有包发布
原本计划研究 npm 私服搭建,npm 私有包发布,以组织形式发布,以及 package.json 细节用法。结果发现 2016 年自己写过 npm 的入门,有的 package.json 用法现在自己都没用到过。所以估计就以前三点为研究重点了。
本想着用树莓派搭建私服,结果发现 ARM 架构 jenkins 自己搞不定,最终还是笔记本 直接来弄了。
还想着把项目 npm registry 都到树莓派上,这样以后速度多快啊。顺手还可以研究下 nvm 的添加私有地址。结果大部分都要泡汤。
jenkins 玩了一圈,结果发现还没有 node 写的私服体验好。而且 node 写的私服还可以支持树莓派。很多公司用 jenkins 做私服,难道真的是因为懒得搭一个 node 环境?
年底太忙,也没那么多时间。文章感觉还是有些潦草,而且有的细节没有深入,感觉没有达到当初的预期。
Windows Linux 装进 U 盘
研究把 Windows 和 Linux 安装到 U 盘里面,这样只需要一个高速 U 盘,就可以随身带着自己的软件系统走了。Windows 由于有自带的 Windows GO 方案,体验非常好。Linux 自己安装后,发现换机器可能丢失引导程序,这个比较尴尬。
不过,一般开发用 Linux 的我还真没见过呢。所以就用 Windows GO 就很好了。
自己有一个固态硬盘,装上 Windows GO 之后,比公司的机械硬盘本速度还要快一些。不过和原生固态硬盘本还是比不了。
目前还没想到真实用途。因为公司配笔记本,平时如果有任务就直接带公司本回家了。任务比较小,直接用家里的 MacBook Pro。单独携带一个固态硬盘,真怕弄丢或弄坏,反而影响效率。
目前这块固态硬盘唯一的任务就是:在家用 Macboook Pro 使用 Windows 系统,公司的极个别内网应用 Mac 用不了。一年能用上 2~3 回吧。
2020 工具链
我发现我特别喜欢使用新工具。认为能改变工作流,提升工作效率。
今年研究使用 nvm,node 多版本的管理,写了一篇文章。其实 nvm 挺好上手的,特指 Mac / Linux 版本,Windows 版本确实差一些。
还有 nrm,年底也写了一篇文章。本以为 nrm 命令挺多,也能提供很多功能,结果尝试后发现有的命令不管用了,而且和文档也有些出入。所以 nrm 的文章也算潦草吧。
此外由于很多工具安装需要代理,所以顺便写了一个用 cloudflare Workers 实现的超级简陋的 bash 文件代理。下载 ohmyzsh nvm 都用到了。