你有一個思想,我有一個思想,我們交換後,一個人就有兩個思想
If you can NOT explain it simply, you do NOT understand it well enough
現陸續將Demo代碼和技術文章整理在一起 Github實踐精選 ,方便大家閱讀查看,本文同樣收錄在此,覺得不錯,還請Star
項目需要,我需要儲備一些Node.js 相關的知識了,整體感覺是一件好事
背景
從前,我也寫過前端,不過那會最多用到HTML5 +jQuery相關技術。也沒有準確的時間點來劃分,我就忽忽悠悠的專注於Java後端了
img
像現在的大前端Angular、VUE、REACT這些大前端框架我只是略有了解,完全沒有用過,用Node作為中間服務器也是相對陌生狀態,項目中需要,我是一定不會放過這個可以掉頭髮的良機(想法很簡答, 跳出自己的舒適區)
img
畢竟要在實際項目中寫Node代碼的,這麼嚴峻的問題我是要認真對待的,要不然會讓隊友消耗太多 WTFs/min 能量(這是什麼含義?請看【讀《Clean Code 代碼整潔之道》之感悟】),作為一個小白,通過學習一小段時間還是有所收穫的,下面主要說一下我的學習過程,
請有經驗的大佬多指正,讓俺少走點彎路多留幾根頭髮Node.js 學習
和大家一樣,我也是各種上網查閱資料,這裡將目前的學習過程做個簡單的記錄
Node.js 官網
學習一樣東西,第一步自然是先打開官網,這裡根正苗紅,與眾不同
優點:很快可以有一個相對直觀的瞭解,文檔與API齊全
缺點:這裡的苗太正了,【事件驅動、構建在V8引擎】等陌生詞彙直接讓我眼冒金星,這類詞語就好比小時候父母對我們說的詞彙,只有長大之後才會明白
面對這些陌生的內容,我並不是很擔心(內心懵的一P),相信長大後會明白的,隨手毫不留情把網站關掉
tutorialspoint
tutorialspoint 是我非常喜歡的學習網站,上面有很多技術教程,先來個截圖瞧瞧
優點:教程內容簡單明瞭,循序漸進,案例代碼齊全
缺點:這是一個英文網站
(Tips: 看英文文檔應該成為我們的必備技能之一)
不要被英文網站嚇到,其實沒什麼陌生詞彙,按照Node.js 教程 從頭到尾擼了一遍,有了相對全面的瞭解,知道了基本骨架內容, 一邊擼一遍記筆記(忽略著潦草的字)
中途還是有很多不理解的內容,都用黃色的筆圈了出來,放在後面慢慢查閱,緊跟主線,以防自己跑偏
極客時間/慕課網
教學視頻是前輩多年濃縮的精華,有了一些基礎概念,我會選擇站在巨人的肩膀上整體看一下。日常主要通過【極客時間】和【慕課網】這兩個網站搜索視頻資料,其中還在極客時間購買了下面的這門課
這門課的基礎知識講的不算多,前序章節以石頭剪刀布的簡單遊戲來說明Node.js一些特性,後面實戰實現極客時間【詳情/列表/評論】等頁面
楊浩老師講解的很清晰,中間穿插著很多冷幽默,但對於小白的我來說,這門課看早了,裡面講的很多內容我還不能理解,但是裡面說的一些構建思想,比如CommonJS,這些內容還是十分受用的,視頻課程目前看了超過2/3,我選擇按下暫停鍵,覺得有必要寫一些Demo來使用上面學到的一些知識點了,我相信當我再回頭過來看這個視頻的收穫一定是不一樣的
Github
歡迎來到世界最大的同性交友網站,想不到要寫一個什麼樣的Demo,於是來這裡搜索一下,還真找到了自建博客的學習性項目N-Blog (你有什麼需求完全可以先來上面找找輪子的)
找項目有幾看:
- commits的活躍度
- 星標/fork數量
- README/wiki編寫質量
- Issues處理情況
按照上述幾個標準確認過眼神,這是我要找的姑娘
該項目主要應用下面幾項技術:
<code>- Node.js: `8.9.1`
- MongoDB: `3.4.10`
- Express: `4.16.2`
/<code>
看技術棧,就可以認定,這是接近真實項目的存在,於是,按部就班的敲代碼,敲代碼,敲代碼(不是複製粘貼),因為敲代碼就可能會出現錯誤,這樣也在學習中逐步學會了調試
通過兩天時間也終於做出了最終的效果
麻雀雖小,五臟俱全,在實現過程遇到了太多問題,比如:
- npm全局安裝權限問題
- Homebrew 安裝MongoDB不支持services指令問題
- 陌生的API使用問題
- ......
在學習的過程中我都有做記錄,同時結合項目內容做了下面這張思維導圖,只有全部點亮這些葉子,才能算是做完了這個Demo(更多細節內容隱藏在了節點notes裡面)
這個思維導圖肯定不是標準的Node.js 學習內容,只不過是應對我本次基礎的學習,後續的學習會不斷對這個思維導圖進行修正的
總結
你以為我們就可以徹底拋棄官網了嗎?在調試與編寫代碼的過程中,遇到某個知識點,就要果斷回到官網查看,那裡有最權威的解釋。另外,帶有目的性的查看官網總比一頭扎進去舒服的多,你覺得呢
與其說這是我這幾天學習Node.js 方式,不如說這是我學習新東西的整體方法和路線,寫這篇文章也想借此當個話題和大家聊聊,歡迎大家留言或進群分享彼此的學習方法/讀書筆記/技術交流等,共同進步
隔三差五,我也會輸出一些Node.js 相關的內容,你以為我喜新厭舊了?在我心中,Java依舊是我怡紅院的頭牌(我必須寵她)
最後,不要永遠呆在自己的舒適區,stay hungry, stay foolish
閱讀更多 日拱一兵 的文章