title | date | tags |
---|---|---|
2019年终总结 |
2020-01-01 |
总结 |
从我开始学前端起,每年会写一个技术的年终总结,然而这是第五年了。
记得自己为什么学前端,学编程,可能就是想赚钱。从钱的角度出发,加班有多努力都能说得通。
我觉得今年技术还是有提升的,但是不多,技术的提升不是靠加班的累积,是要经常思考。
还有一点是,今年写了很多技术方案,当一个目标决定下来,会用技术方案来落实文档。文档写多了,自己的表达能力也会得到锻炼。
之前组内的大佬基于 vscode
的源码开发了 IDE,专门用于业务里面组件的开发,后来大佬忙其他的事去了,这个就交给了我。
也没什么技术难度,只是说在编程方面变得更小心了,因为这个不是前端网页,它需要通过发布版本来更新代码。如果有些场景在写的时候漏了,就得通过再次发布版本,然后大家更新客户端才能解决。因为这个是没有测速同学跟进的,只能通过自测来保证质量。
我学习到:
- 在查复杂问题时,应当控制变量。变量颗粒度小才能查出问题。
- 客户端发版更严格,编写时需要更小心,必要可以写技术方案。
serverless
才是未来。
之前我们前端有很多 node
中间层,其实涉及了部分的服务器维护知识,而 serverless 就是用来处理这个事情的。
用了 serverless
,其实还是有服务器的。只不过我们无需关注服务器的运维、扩容知识。只需要发布代码,它们会帮运行。
对于开发者来说,相当于没有服务器的概念了,这就是 Serverless
。
在今年 Serverless
感觉是很热门的东西,我们在组内也有推进这个事情。然后也迁移了几个项目。有几个问题:
- 启动慢,每次需要重新下载云函数的压缩包,然后解压去运行
- 流程还不够规范,还得继续建设
于是就有个大胆的想法,把我的私人服务器改成 serverless
的,按调用次数收费,这样对于我这种用户(没有什么流量的)非常合适。
今年我玩了很多 node
工具,其实就是 npm 包,学到很多包的使用方式,并能把它用到实际开发里面。
fs-extra
、globby
、request-promise
fs-extra
/globby
/request-promise
这种其实就是扩展了fs
/glob
/request
,将其变成Promise
的调用方式,并且新增了一些方法。- 用下来的话,是比原来的包好用多了。
semver
- 工具有时候会涉及很多的版本比较,这个时候就需要 semver 了。
- 它有个缺点是,非常容易报错,入参都必须是正常的字符串且为版本号,需要 try catch 来包一层。
chalk
- 在命令行输出时,如果想要加一些色彩,让输出不那么枯燥,chalk 是比较合适的。
deepmerge
- 它能帮助你合并对象,如其名字所言,是深层合并。
- 不需要再关注对象的值里面是否被覆盖的事情。
update-notifier
- 它能提醒使用者,该工具是否有更新,是否需要更新
yargs
- 这个是命令行工具,能识别指令,提供 help 帮助等。
ora
- 一个简单的 loading,跑流程的时候,避免用户以为进程已经不动了,优化用户体验。
今年下半年还做了一件非常好玩的事情,那就是诊断。
诊断的意思就是,检查代码里面不合规的地方,进行提示。
就是用 node
工具,将大家项目里面的代码都检测一遍,然后配置一些插件与规则,怎样合规怎样不合规。
诊断花费了自己下半年大部分的精力,未来 2020 年估计还得认真做一下。
在开发诊断的时候,接触了许多 AST
的东西,因为要开发 eslint
插件与 使用 babel
解析 代码,这些都必须先将代码转成语法树才能实现。
有个库:estree,它可以帮助我们了解 AST Descriptor
了解这些之后,编写代码起来就比较容易了,都是些 if else
判断。
babel 7
已经出来很久了,下半年我曾经想把组内的 babel 6
改成 babel 7
,在一系列尝试之后,还写完了技术方案。结果是 babel 7
对于我们的项目暂时不能减少打包的代码体积,相反,因为 babel 7
新支持了 ES
的更多特性,会使体积变大。
在做一件事时,不能说我想做就做了,这是小学生干的事情。 需要做调研,这事情是否真的有用,有没有数据支撑等等。
最后我放弃了这个事情,因为没有起到什么用。想想也挺可惜。
不过在 2020 的未来,这件事情还是需要做的,那天我在尝试用数组的 flat
函数,发现并不支持,支持新版 ES 特性可以作为一个切入点来实行。
从今年起,可能是晋升压力变大,我经常会花很多时间去思考:
- 这条路能不能走得通
- 我现在做的事情有什么意义,会不会被 diss
- 还有其他的事情可以做吗
每次在回家的路上,如果是独行,我都会思考这些问题。经常想的头疼也没有结果。
多思考是件好事情,不是吗?
对于重复的事情,我一直有这样的观点:
- 能否通过编程解决,使其不再重复。如果不能通过编程,就得花大量时间
- 重复的事情是花时间,但是也考验人的耐心
- 重复的工作总得有人做的,我可以负责
我在 2019 做了很多重复的事情,有的事情能把自己做到吐。在做很多这样的事情之后,我变得更有耐心,总有人做重复的事情,没有谁会永远做重复的事情。
对于我而言,或者对于大多数人而言,2019 都过的特别快。
在有限的时间内,如何多做些事情。这总是困扰着我。
我希望 2020 年能多一分精彩,每年都能有进步。