NodeJS


Node.js 是服務器端的 JavaScript 運行環境,它具有無阻塞(non-blocking)事件驅動(event-driven)等的特色,Node.js 採用 V8 引擎,同樣,Node.js 實現了類似 Apache 和 nginx 的web服務,讓你可以通過它來搭建基於 JavaScript 的 Web App。" 

NodeJS被設計用來解決服務端阻塞問題.

首先需要一個高效的JS引擎,高效的事件池和線程池.另外幾乎所有和NodeJS交互的傳統模塊如文件系統,數據訪問,HTTP解析,DNS解析都是阻塞式的,都需要額外改造.

樣作爲前端開發,不得不再插幾句,說說服務端JS能夠解決的另一個問題: 
        當前的Web開發前後端使用不同的語言,很多相同的業務邏輯要前後端分別用不同語言重複實現.比如越來越多重度依賴JS的胖客戶端應用,當客戶瀏覽器禁用JavaScript時,則需要使用服務端語言將主業務流程再實現一次(這即是所謂的"漸進增強"). 
        當我們擁有了服務端JavaScript語言,我們自然就會想到能否利用NodeJS做到"一次開發,漸進增強".解決掉這個爲小量用戶,浪費大量時間的惱人的問題.我們先要解決問題,這是使用NodeJS的最大動力.基於之前的統計,因爲各種原因瀏覽器不支持JS的用戶大概接近1%,至少淘寶絕對不會主動放棄這部分用戶.至於在服務端也使用JS是否能夠替掉LAMP架構,抑或NodeJS會對常見MVC架構帶來何種衝擊,V/C這些層是否能在前後端任意流動這些問題都是NodeJS解決問題後帶來的額外話題. 

­
Node.js 從來不是用於解決大規模計算問題而創建的。它的出現是爲了解決大規模I/O 的問題,並且在這一點上做的非常好
­
使用 Node.js 你可以得到很高的吞吐量,每個請求都作爲一個小任務非常迅速和高效地處理

簡單的說 Node.js 就是運行在服務端的 JavaScript。
Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
  • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
由於新版的nodejs已經集成了npm,所以之前npm也一併安裝好了。同樣可以通過輸入"npm -v" 來測試是否成功安裝

$ npm config set proxy null

本地安裝
  • 1. 將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下生成 node_modules 目錄。
  • 2. 可以通過 require() 來引入本地安裝的包。
全局安裝
  • 1. 將安裝包放在 /usr/local 下或者你 node 的安裝目錄。
  • 2. 可以直接在命令行裏使用。

Node.js REPL(Read Eval Print Loop:交互式解釋器) 表示一個電腦的環境,類似 Window 系統的終端或 Unix/Linux shell,我們可以在終端中輸入命令,並接收系統的響應。
node
Node 的交互式解釋器可以很好的調試 Javascript 代碼。
前面我們已經提到按下兩次 ctrl + c 建就能退出 REPL:

Node.js 異步編程的直接體現就是回調。
異步編程依託於回調來實現,但不能說使用了回調後程序就異步化了。
回調函數在完成任務後就會被調用,Node 使用了大量的回調函數,Node 所有 API 都支持回調函數。
例如,我們可以一邊讀取文件,一邊執行其他命令,在文件讀取完成後,我們將文件內容作爲回調函數的參數返回。這樣在執行代碼時就沒有阻塞或等待文件 I/O 操作。這就大大提高了 Node.js 的性能,可以處理大量的併發請求。

JavaScript 語言自身只有字符串數據類型,沒有二進制數據類型。
但在處理像TCP流或文件流時,必須使用到二進制數據。因此在 Node.js中,定義了一個 Buffer 類,該類用來創建一個專門存放二進制數據的緩存區。

REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。

Web service是一個平臺獨立的,低耦合的,自包含的、基於可編程的web的應用程序,可使用開放的XML(標準通用標記語言下的一個子集)標準來描述、發佈、發現、協調和配置這些應用程序,用於開發分佈式的互操作的應用程序。
基於 REST 架構的 Web Services 即是 RESTful。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章