今日所學(xué):
nodejs:Node (或稱為 Node.js) 是一個新興的 JavaScript 的執(zhí)行平臺。之所以說是一個執(zhí)行平臺,是因為 Node 本身并不僅僅是一個 JavaScript 的解釋器或者虛擬機轻抱,它基于 Google Chrome 的 JavaScript 引擎 v8 進行開發(fā),但與一般的 JavaScript 引擎不同骆捧,Node 為 JavaScript 語言提供了很多周邊類庫,以及為 JavaScript 語言執(zhí)行環(huán)境提供像類定義、命名空間、包管理的機制以及新的編程模型侨颈。
一般來說,Node 包括兩部分掸驱,一部分是 V8 JavaScript 引擎肛搬,另一部分則是 Node 事件驅(qū)動的編程模型。
為什么要用node.js?
總的來說毕贼,Node.js 適合以下場景:
實時性應(yīng)用温赔,比如在線多人協(xié)作工具,網(wǎng)頁聊天應(yīng)用等鬼癣。
以 I/O 為主的高并發(fā)應(yīng)用陶贼,比如為客戶端提供 API,讀取數(shù)據(jù)庫待秃。
流式應(yīng)用拜秧,比如客戶端經(jīng)常上傳文件。
前后端分離章郁。
實際上前兩者可以歸結(jié)為一種枉氮,即客戶端廣泛使用長連接,雖然并發(fā)數(shù)較高暖庄,但其中大部分是空閑連接聊替。
Node.js 也有它的局限性,它并不適合 CPU 密集型的任務(wù)培廓,比如人工智能方面的計算惹悄,視頻、圖片的處理等肩钠。
當(dāng)然泣港,以上缺點不是信口開河暂殖,或者死記硬背,更不是人云亦云当纱,需要我們對 Node.js 的原理有一定的了解呛每,才能做出正確的判斷。
JavaScript 部分
Node 使用和瀏覽器基本相同的 JavaScript 引擎惫东,只是新引入了 CommonJS 建議的包管理機制(require() 函數(shù))以及附帶的基礎(chǔ)類庫莉给。如果有 JavaScript 編程經(jīng)歷,那么使用 Node 會感到非常熟悉廉沮。
需要注意的是颓遏,JavaScript 是 ECMAScript 的一個實現(xiàn),所以滞时,Node 理論上是 ECMAScript 的一個實現(xiàn)叁幢。關(guān)于 JavaScript 相關(guān)的幾個叫法及語言實現(xiàn),可以參考 ECMAScript 和 JavaScript 的實現(xiàn) 坪稽,或者曼玩,百度一下…… 不過,知道 JavaScript 和 ECMAScript 基本等價即可窒百。
第二部分:
交友微服務(wù):
交友微服務(wù)大概的業(yè)務(wù)有添加好友黍判、添加非好友、刪除好友篙梢。