我的技术之路
在18年底的时候,我给自己定下的目标是解析vue的源码,但是到了年底这件事情都没有什么进展,看源码是一件极其枯燥并且急需耐心的事情,往往看不了多久就放弃了,所以我并不能肯定在2020年我能重拾这件事情,并静下心来搞懂源码。
在19年里我对前端工作相关的技术掌握更加熟练了,对于前端工程化的流程也更加熟悉。在上半年中对于vue的相关技术可以说到达了一个瓶颈,很难再有大的进步,尝试所以把精力转向了,react、ts、angular方面,这几项技术可以说是开拓了我的视野,为我的技术路线打开了更广阔的道路,同时也在github上开源了自己的第一个库,在没有任何宣传的情况下,人海茫茫中有5个人给我点了start,要感谢,同时也有些小得意,自己的代码还是能够帮助到别人。同时彻底放弃了对于Rxjs的研究,用不到,太复杂,这就是我对它的感受,等哪天有需要了我可能会再次捡起来。另外就是由于业务需要对于svg的相关技术掌握的更加流畅了一些,但是还是不够,对于canvas由于缺少应用场景导致掌握的不够深刻,因为大部分使用的场景都能够使用svg或者div+css来代替,不过在大数据渲染时遇到了性能瓶颈,canvas作为替代技术有很大的潜力,有待研究。
在后端技术方面可以说有一个惊喜的收获,那就是基本能够无障碍的阅读java代码了,虽然从来没有学习过,应该是由于js和ts的技术积累,作为同一系的语言,并且概念都差不多,一切自然都水到渠成。
除开java外对nodeJS的框架egg和nestJS都做了研究和实操,虽然没有实际运用到业务中但是对于开拓技术视野取到了非常重要的作用。
一开始由于nodeJS之父的的deno框架去接触了go语言,不过go语言的全局依赖系统,还有官方包管理器和民间包管理器的争吵让我感到厌烦,还有糟糕的网络支持,毕竟google被404了,都让我放弃了go,况且deno框架在不久之后就删除了所有的go语言代码,转而拥抱rust。
受到其影响我也开始了痛苦学习rust过程,rust语言概念复杂,语法繁杂,学习的曲线不可谓不陡峭,况且也没有运用场景让学习的过程更加痛苦,一年间丢下过无数次,但总是不甘心,由捡起来无数次,就在这样循环往复的过程中,终于沉下心来细细研究了一段时间,算是对其概念和语法都有了基本的掌握,况且现今wasm技术的大行其道,rust对其支持的也很好,希望能搭上这门技术红利的快车吧。2020年打算在前端开发工具链路,还有wasm这两个方面深耕,都可以靠着rust大展拳脚,当然利用ffi,可以使用rust+node说不定能达到意想不到的效果,毕竟在npm包的源码中就已经这么干了。另外经过摸索放弃了直接在windows系统下直接开发rust,因为需要的依赖文件实在是太多了,大约10多个G的相关工具(没错我就是直接安装的vs的开发依赖,因为通过其它的安装方式我都没有成功运行),改用神奇的牛逼的WSL(即windows下的linux子系统)中安装运行rust,又能享受windows系统的便利,又有极其舒适的开发环境,谁用谁知道。
除开上述的两个方面,在来到新得公司后由于工作的需要,开始使用nginx和linux系统进行服务器部署,第一次在linux系统上安装和运行node与npm还是遇到了挺多的问题,包括权限配置,linux中的环境变量设置等,对于习惯了windows中可视化界面的我来说,一开始还是很不习惯的,不过孰能生巧,惊喜的是还掌握了传说中的vi编辑器的基础操作,算是意外之喜。
2020年共勉,之后会制定一些2020年想完成的事情,但是就不公布出来了,免得之后又被打脸,就自己默默的看就行了。