筆者前年開始撰寫的《Node.js學習筆記》 github star 數突破了1000,算是個里程碑吧。html
從第一次提交(2016.11.03)到如今,1年半過去了。忽然有些感慨,想要寫點東西,談談這期間的收穫、心路歷程,以及如何學習Node.js。前端
筆者一直有作技術筆記的習慣,前幾年零零散散的也寫了很多Node.js的東西,只不過都存在evernote裏。寫着寫着,以爲有必要系統地整理下,因而就有了這個項目。node
粗略統計了下,總共提交了約60篇教程,以及將近300個範例腳本。git
大部分的commit都集中2016年十一、12月份,以及2017年上半年。這段時間其實項目組挺忙的,常常一週6天班,同時在兩三個項目間來回切換。github
寫做的過程挺枯燥的,也有點累人,尤爲常常只能抽大半夜或週末的時間來碼字,常常寫技術文章的同窗應該能體會。無論怎麼說,一路堅持了下來,感受仍是有很多收穫。編程
一、技術積累。最初存在evernote裏的只是零星的筆記,通過整理校對、進一步的思考以及延展性學習,零散的知識點逐漸串聯成體系化的知識面。這比單單記住了數百個Node.js的API,以及枯燥的配置項更有用。segmentfault
二、知識分享。寫做的過程當中,很多一樣正在學習Node.js的同窗或經過QQ,或經過私信表達了感謝。對筆者來講,這其實比star數的增長更有意義。api
三、技術焦慮有所緩解。衆所周知,前端領域變化太快,身處其中的從業者壓力很是大,這也是前不久著名的「老子學不動了」的梗忽然刷屏的緣由。深刻學習、思考,掌握學習的方法和規律,可以必定程度上緩解技術焦慮症。瀏覽器
四、意外收穫。這期間,收到阿里雲棲社區(專家博主)、騰訊雲+社區的入駐邀請,多家知名出版社的撰稿邀請,在線教育平臺(如慕課)的開課邀請等。安全
2年前在SegmentFault社區上有人問過相似的問題《關於nodejs的學習?》,當時簡單地回答了下。
實踐出真知,這點無需強調。遇到技術問題善用搜索引擎,也算是圈內共識了(初學者須要增強這方面意識)。
其實最難的是第3點,分辨你所遇到的問題。
舉個例子,好比如今想學習 https 這個模塊,很多初學者會顯得束手無策,常見的問題有:
正式回答問題前,先祭出一張網絡分層架構圖,請讀者把它牢記在心。
互聯網基於分層架構實現,包括應用層、傳輸層、網絡層、鏈路層、物理層。其中,前端開發者比較熟悉的是應用層(HTTP協議),若是想學習Node服務端編程,那麼,至少須要對傳輸層(TCP)、網絡層(IP)也有必定的瞭解。
對於網絡的每一個層次,Node.js基本都有對應的模塊,好比https、http、net(TCP)、tls/crypto等。
前面列舉的幾個問題,都是對網絡知識、服務器知識瞭解的欠缺致使的,而不是於Node.js的API有多複雜、難以理解。
這裏直接回答問題:
編寫《Node.js學習筆記》的過程收穫了很多,也有很多感觸,這裏就不過多碎碎念。對於「如何學習Node.js」這個問題,其實有挺多東西想寫,篇幅所限,後面的文章詳細展開。