iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 1
0

Node.js-Backend見聞錄(00):關於本系列文章


Hi, 各位!
我是PenguinRun, 一位學習Node.js不久的工程師。這是第一次參與IT邦鐵人賽。在此次的參賽,將依序帶入web後端的觀念、Node.js實作、Server架設到進階的主題探討。

希望能在跟各位分享後端技術之餘,也記錄下之前學習後端的歷程。

為何挑選Node.js

由於筆者的前端開發程式語言為JavaScript,因此在跨入後端範疇時,選擇了與JavaScript親和性高的Node.js。

何謂Node.js

Node.js是建立在Chrome的V8 JavaScript引擎上,透過事件驅動、非阻塞I/O的特性來提高效能。同時,它是一個Server side的JavaScript,且能透過Node.js的內置模組及JavaScript語言來撰寫成一個Server。其運作模式如下圖所示:

圖片擷取自:Evan M. Hahn(2016). Express in action.

圖中的架構是有兩個部分所結合。左邊是主從式架構(Client-server model),右邊是Node.js的部分,其運作分為4個動作。依序為:

  1. Client端(指瀏覽器或手機APP...等)發送了一個request給Server端。
  2. Node.js的HTTP server會將request中的資訊放到特定的function。
  3. 待function處理完,會將結果在回傳到Node.js的HTTP Server。
  4. Server端回傳了一個response給Client端。

藉由上述的動作,Node.js就能來針對不同request的需求,來回覆相對應的response。而且,Node.js的HTTP的server也幫我們處理了Client端與JavaScript參數之間的關係。所以我們不用特別花心思去關注及處理複雜的網路協議。在程式語法部分,若讀者有接觸過JavaScript,相信Node.js的語法對讀者來說也並不難。

30天文章大綱

  • 觀念篇:介紹git及後端的基本觀念,及些進入實作前需要了解的知識等。
  • 實作篇:透過實作的方式,來帶領讀者了解Node.js的應用。
  • 架設篇:在完成實作後,嘗試將自己的Node.js專案架設在一台server上。
  • 進階篇:選擇些較為特別的實例,並介紹如何進一步的使用Node.js來處理這部分的功能。

目前30天的文章大綱如上,但也有可能會做些更動。

若讀者們有任何問題,也歡迎隨時提出。


下一篇
Node.js-Backend見聞錄(01):關於Git(一)-什麼是版本控制系統?
系列文
Node JS-Back end見聞錄31

尚未有邦友留言

立即登入留言