《很高興我沒有猝死》- 前端新人的 2016 年總結和感悟

lon發表於2016-12-31

現在是 2016 年 12 月 31 日晚,很高興我沒有猝死

想彌補耽擱的幾年,過去一年裡,我幾乎一直堅持著 9117(週一至週五每天 9 點半至 11 點半,週六、日 12 點 至 24 點)。

開始前端之旅

2015 年 8 月 1 日,剛入職南通一家船舶製造國企的第三天,我就決定做改行的準備,開始前端學習之旅。每晚下班後學習兩個小時,用了一個月,把最基礎的 HTML, CSS, JavaScript,到 Git, Gulp, Less, Node(Express) 過了一遍。9 月初投了 5 份簡歷試試水,很幸運的得到了兩個面試機會並拿到了 offer。

入行一年

晃盪了一個月之後,2015 年 10 月 27 日,正式入職

試用期早已計劃好瘋狂學習一個月。主動堅持著 9117。這段時間裡,除了熟悉業務,我補充了一些基礎知識,學習了 Angular。

試用期過後,覺得自己有限的知識,應付工作仍然吃力,於是又自覺地堅持 9117 兩個月。春節後我參與了一個全新的專案,使用 Vue + PostCSS + Webpack。作為一位初學者,我非常珍惜這次機會。

3, 4 月,嘗試著寫一個監測屬性變化的庫和一個簡單的 MVVM 框架。這段時間我找到了造輪子的快樂,於是決定 9117 制度延長至一年。

5 月,參與了另一個使用 Vue 的專案。業餘時間,我開始學習 Vue 的原始碼,主要是響應系統。為了方便單獨學習和使用,我把 Vue 的響應系統剝離了出來(地址: smart-observe)。

6 月,開始學習 Virtual-DOM,並希望嘗試結合 JavaScript 表示式JsonML ,實現跨平臺渲染(地址: eJsonML)。幸運的是,這個專案很快收到了 JsonML 作者 Stephen McKamey 的 star 。

好景不長,8 月初,因工作需要,我負責獨立開發一款 Android 掃碼軟體。之前並沒有 Android 或 Java 基礎,於是中斷了 eJsonMLVexil 的開發。拿出全部精力,學了 1 天的 Java,2 天的 Kotlin,3 天的 Android,一週的 RxJava, Dagger2, Firebase 等,做了個線上記事本的 Demo,第三週開始開發,第五週上線,成就感瞬間爆棚。

9 月和 10 月,做著修修補補的工作,休了個假,過了個十一。

2016 年 10 月 26 日工作剛好滿一年,決定不再續簽

目前

原本計劃瘋狂的玩耍半個月,然後再開始找工作。但沒有工作時,才發現根本無心玩耍,於是開始瘋狂的投簡歷。

阿里二面被淘汰,雖有些難過,但對未來仍充滿信心,畢竟前端之旅我才開始一年。

目前在一家做效能加速、監控的公司做資料視覺化方面的前端開發,偶爾寫寫服務端。

感悟

感悟太多,隨便挑幾條吧

入行要學好 Git

工作中 Git 真的很重要。就在前幾日,一剛入行的博士生同事在轉正報告中,闡述了他沒有解決好衝突就上線的悲劇,並總結了一句話,“Git 不學好,上線上到老”。Git 不難學,網上教程也很多。建議本地建個專門學習 Git 的 repo,針對教程多多練習。工作中如果遇到拿不準的場景,也可以用來模擬一下。在熟悉之後,建議設定一套適合自己的 alias。

初學者要珍惜參與全新專案的機會

參與新專案可以直面很多問題,拿 CSS 來說,垂直居中、封閉浮動、高度根據寬度等比例自適應、多行文字尾部自動省略……這些問題網上有很多介紹,但真正遇到並親自解決掉時,會有著更加深刻的體會。

如果只是直接參與專案的維護,這些問題可能都已經被解決好了,對於初學者,看著別人寫好的解決方案,可能就不會有那麼多的感觸了。

用好 Webpack,以及 Babel 和 PostCSS 等

Webpack 是一個神器,但是“官方文件是一坨屎”(注:引用來源找不到了)。初學者可以多看看國內的教程,多研究研究 Github 上的 Demo。此外,對只有 JavaScript 的專案,也可以試試 Rollup

Babel 重要性不用多說,使用 Chrome 最新瀏覽器開發時,可以裸 Babel 執行,這意味什麼……?

我真的非常喜歡 PostCSS 搭配 CSSNext,配置好外掛,就可以使用自定義變數、自定義屬性集、自動加字首等等,喜歡上標準,會讓你從心底放棄 SASS,LESS。

Vue

Vue 的官方教程很 nice,入門首選。

工作中建議多思考:如何劃分 Vue 元件(提取公用元件、確定元件層級)、提取元件的共享狀態(vuex)和業務邏輯(使用純 JS)、Vue 元件 和 CSS 模組如何搭配等問題。

當前 MVVM 框架核心是“繫結”,做的事情主要是監測變化和響應變化,在 Vue 中它們分別對應著響應系統(原始碼學習推薦 smart-observe)和 Virtual-DOM,相信業餘時間學習一下會很有收穫。

我的 2017 年

  • 大量地做讀書筆記

  • eJsonMLVexil 重新拾起

  • 平衡工作和生活,確保不猝死

  • 護髮

相關文章