Java後端的我要學Node.js 了你敢信?

你有一個思想,我有一個思想,我們交換後,一個人就有兩個思想

If you can NOT explain it simply, you do NOT understand it well enough

現陸續將Demo代碼和技術文章整理在一起 Github實踐精選 ,方便大家閱讀查看,本文同樣收錄在此,覺得不錯,還請Star

Java後端的我要學Node.js 了你敢信?

項目需要,我需要儲備一些Node.js 相關的知識了,整體感覺是一件好事

背景

從前,我也寫過前端,不過那會最多用到HTML5 +jQuery相關技術。也沒有準確的時間點來劃分,我就忽忽悠悠的專注於Java後端了

Java後端的我要學Node.js 了你敢信?

img

像現在的大前端Angular、VUE、REACT這些大前端框架我只是略有了解,完全沒有用過,用Node作為中間服務器也是相對陌生狀態,項目中需要,我是一定不會放過這個可以掉頭髮的良機(想法很簡答, 跳出自己的舒適區)

Java後端的我要學Node.js 了你敢信?

img

畢竟要在實際項目中寫Node代碼的,這麼嚴峻的問題我是要認真對待的,要不然會讓隊友消耗太多 WTFs/min 能量(這是什麼含義?請看【讀《Clean Code 代碼整潔之道》之感悟】),作為一個小白,通過學習一小段時間還是有所收穫的,下面主要說一下我的學習過程,

請有經驗的大佬多指正,讓俺少走點彎路多留幾根頭髮

Node.js 學習

和大家一樣,我也是各種上網查閱資料,這裡將目前的學習過程做個簡單的記錄

Node.js 官網

學習一樣東西,第一步自然是先打開官網,這裡根正苗紅,與眾不同

優點:很快可以有一個相對直觀的瞭解,文檔與API齊全

缺點:這裡的苗太正了,【事件驅動、構建在V8引擎】等陌生詞彙直接讓我眼冒金星,這類詞語就好比小時候父母對我們說的詞彙,只有長大之後才會明白

面對這些陌生的內容,我並不是很擔心(內心懵的一P),相信長大後會明白的,隨手毫不留情把網站關掉

tutorialspoint

tutorialspoint 是我非常喜歡的學習網站,上面有很多技術教程,先來個截圖瞧瞧

Java後端的我要學Node.js 了你敢信?

優點:教程內容簡單明瞭,循序漸進,案例代碼齊全

缺點:這是一個英文網站

Tips: 看英文文檔應該成為我們的必備技能之一)

不要被英文網站嚇到,其實沒什麼陌生詞彙,按照Node.js 教程 從頭到尾擼了一遍,有了相對全面的瞭解,知道了基本骨架內容, 一邊擼一遍記筆記(忽略著潦草的字)

Java後端的我要學Node.js 了你敢信?

中途還是有很多不理解的內容,都用黃色的筆圈了出來,放在後面慢慢查閱,緊跟主線,以防自己跑偏

極客時間/慕課網

教學視頻是前輩多年濃縮的精華,有了一些基礎概念,我會選擇站在巨人的肩膀上整體看一下。日常主要通過【極客時間】和【慕課網】這兩個網站搜索視頻資料,其中還在極客時間購買了下面的這門課

Java後端的我要學Node.js 了你敢信?

這門課的基礎知識講的不算多,前序章節以石頭剪刀布的簡單遊戲來說明Node.js一些特性,後面實戰實現極客時間【詳情/列表/評論】等頁面

楊浩老師講解的很清晰,中間穿插著很多冷幽默,但對於小白的我來說,這門課看早了,裡面講的很多內容我還不能理解,但是裡面說的一些構建思想,比如CommonJS,這些內容還是十分受用的,視頻課程目前看了超過2/3,我選擇按下暫停鍵,覺得有必要寫一些Demo來使用上面學到的一些知識點了,我相信當我再回頭過來看這個視頻的收穫一定是不一樣的

Github

歡迎來到世界最大的同性交友網站,想不到要寫一個什麼樣的Demo,於是來這裡搜索一下,還真找到了自建博客的學習性項目N-Blog (你有什麼需求完全可以先來上面找找輪子的)

Java後端的我要學Node.js 了你敢信?

找項目有幾看:

  1. commits的活躍度
  2. 星標/fork數量
  3. README/wiki編寫質量
  4. Issues處理情況

按照上述幾個標準確認過眼神,這是我要找的姑娘

該項目主要應用下面幾項技術:

<code>- Node.js: `8.9.1`
- MongoDB: `3.4.10`
- Express: `4.16.2`
/<code>

看技術棧,就可以認定,這是接近真實項目的存在,於是,按部就班的敲代碼,敲代碼,敲代碼(不是複製粘貼),因為敲代碼就可能會出現錯誤,這樣也在學習中逐步學會了調試

Java後端的我要學Node.js 了你敢信?

通過兩天時間也終於做出了最終的效果

Java後端的我要學Node.js 了你敢信?

麻雀雖小,五臟俱全,在實現過程遇到了太多問題,比如:

  • npm全局安裝權限問題
  • Homebrew 安裝MongoDB不支持services指令問題
  • 陌生的API使用問題
  • ......

在學習的過程中我都有做記錄,同時結合項目內容做了下面這張思維導圖,只有全部點亮這些葉子,才能算是做完了這個Demo(更多細節內容隱藏在了節點notes裡面)

Java後端的我要學Node.js 了你敢信?

這個思維導圖肯定不是標準的Node.js 學習內容,只不過是應對我本次基礎的學習,後續的學習會不斷對這個思維導圖進行修正的

總結

你以為我們就可以徹底拋棄官網了嗎?在調試與編寫代碼的過程中,遇到某個知識點,就要果斷回到官網查看,那裡有最權威的解釋。另外,帶有目的性的查看官網總比一頭扎進去舒服的多,你覺得呢

與其說這是我這幾天學習Node.js 方式,不如說這是我學習新東西的整體方法和路線,寫這篇文章也想借此當個話題和大家聊聊,歡迎大家留言或進群分享彼此的學習方法/讀書筆記/技術交流等,共同進步

隔三差五,我也會輸出一些Node.js 相關的內容,你以為我喜新厭舊了?在我心中,Java依舊是我怡紅院的頭牌(我必須寵她)

最後,不要永遠呆在自己的舒適區,stay hungry, stay foolish



分享到:


相關文章: