Skip to content

Latest commit

 

History

History
133 lines (79 loc) · 6.23 KB

2019年终总结.md

File metadata and controls

133 lines (79 loc) · 6.23 KB
title date tags
2019年终总结
2020-01-01
总结

从我开始学前端起,每年会写一个技术的年终总结,然而这是第五年了。

记得自己为什么学前端,学编程,可能就是想赚钱。从钱的角度出发,加班有多努力都能说得通。

封面

技术

我觉得今年技术还是有提升的,但是不多,技术的提升不是靠加班的累积,是要经常思考。

还有一点是,今年写了很多技术方案,当一个目标决定下来,会用技术方案来落实文档。文档写多了,自己的表达能力也会得到锻炼。

Vscode

之前组内的大佬基于 vscode 的源码开发了 IDE,专门用于业务里面组件的开发,后来大佬忙其他的事去了,这个就交给了我。

也没什么技术难度,只是说在编程方面变得更小心了,因为这个不是前端网页,它需要通过发布版本来更新代码。如果有些场景在写的时候漏了,就得通过再次发布版本,然后大家更新客户端才能解决。因为这个是没有测速同学跟进的,只能通过自测来保证质量。

我学习到:

  • 在查复杂问题时,应当控制变量。变量颗粒度小才能查出问题。
  • 客户端发版更严格,编写时需要更小心,必要可以写技术方案。

Serverless

serverless 才是未来。

之前我们前端有很多 node 中间层,其实涉及了部分的服务器维护知识,而 serverless 就是用来处理这个事情的。

用了 serverless,其实还是有服务器的。只不过我们无需关注服务器的运维、扩容知识。只需要发布代码,它们会帮运行。

对于开发者来说,相当于没有服务器的概念了,这就是 Serverless

在今年 Serverless 感觉是很热门的东西,我们在组内也有推进这个事情。然后也迁移了几个项目。有几个问题:

  • 启动慢,每次需要重新下载云函数的压缩包,然后解压去运行
  • 流程还不够规范,还得继续建设

于是就有个大胆的想法,把我的私人服务器改成 serverless 的,按调用次数收费,这样对于我这种用户(没有什么流量的)非常合适。

Node 工具

今年我玩了很多 node 工具,其实就是 npm 包,学到很多包的使用方式,并能把它用到实际开发里面。

  • fs-extraglobbyrequest-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

在开发诊断的时候,接触了许多 AST 的东西,因为要开发 eslint 插件与 使用 babel 解析 代码,这些都必须先将代码转成语法树才能实现。

有个库:estree,它可以帮助我们了解 AST Descriptor

了解这些之后,编写代码起来就比较容易了,都是些 if else 判断。

Babel 7

babel 7 已经出来很久了,下半年我曾经想把组内的 babel 6 改成 babel 7,在一系列尝试之后,还写完了技术方案。结果是 babel 7 对于我们的项目暂时不能减少打包的代码体积,相反,因为 babel 7 新支持了 ES 的更多特性,会使体积变大。

在做一件事时,不能说我想做就做了,这是小学生干的事情。 需要做调研,这事情是否真的有用,有没有数据支撑等等。

最后我放弃了这个事情,因为没有起到什么用。想想也挺可惜。

不过在 2020 的未来,这件事情还是需要做的,那天我在尝试用数组的 flat 函数,发现并不支持,支持新版 ES 特性可以作为一个切入点来实行。

思考

压力

从今年起,可能是晋升压力变大,我经常会花很多时间去思考:

  • 这条路能不能走得通
  • 我现在做的事情有什么意义,会不会被 diss
  • 还有其他的事情可以做吗

每次在回家的路上,如果是独行,我都会思考这些问题。经常想的头疼也没有结果。

多思考是件好事情,不是吗?

重复的事情

对于重复的事情,我一直有这样的观点:

  • 能否通过编程解决,使其不再重复。如果不能通过编程,就得花大量时间
  • 重复的事情是花时间,但是也考验人的耐心
  • 重复的工作总得有人做的,我可以负责

我在 2019 做了很多重复的事情,有的事情能把自己做到吐。在做很多这样的事情之后,我变得更有耐心,总有人做重复的事情,没有谁会永远做重复的事情。

期望

对于我而言,或者对于大多数人而言,2019 都过的特别快。

在有限的时间内,如何多做些事情。这总是困扰着我。

我希望 2020 年能多一分精彩,每年都能有进步。