再見2019展望未來|年度徵文

NO IMAGE

我的技術之路

在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年想完成的事情,但是就不公佈出來了,免得之後又被打臉,就自己默默的看就行了。

相關文章

什麼是可迭代對象(Iterableobjects)?

如何將相同屬性的數組對象合併並統計個數

高逼格面試:線程封閉,新名詞√

2020年的前端資源