【深入淺出node.js】二刷劃重點
Node 的特點
1.非同步IO
前端:Ajax請求為最典型,前端請求傳送請求後,執行其他後續程式碼,後續執行完成後,通過‘Don’t call me,I will call you’的原則,返回前端結果。
後端:以檔案讀取為例,可以發起讀取檔案後,執行其他操作,等檔案讀取完成後,在處理檔案內容。如果讀取多個檔案,讀取時間==用時最長的檔案讀取時間,≠每個檔案讀取時間之和
2.事件和回撥函式
事件是指可以被 JavaScript 偵測到的行為,例如onFocus,onMouseOver,upload,onClick類 —— W3CSchool
回撥函式:是最好的接受非同步呼叫返回資料的方式,但不利於編寫同步程式碼的人,因為程式碼的編寫順序和執行順序無關,造成閱讀障礙
3.單執行緒
- 優勢 1.不用出處在意狀態的同步問題;2.沒有死鎖;3.沒有上下文交換帶來的效能開銷
- 劣勢 1無法利用多核CPU;2.錯誤會引起整個應用退出,健壯性差;3大量計算佔用CPU導致無法繼續呼叫非同步IO
相關推薦
【深入淺出node.js】二刷劃重點
Node 的特點 1.非同步IO 前端:Ajax請求為最典型,前端請求傳送請求後,執行其他後續程式碼,後續執行完成後,通過‘Don’t call me,I will call you’的原則,返回前端結
【深入淺出Node.js系列十五】Nodejs實現websocket的4種方式
WebSocket是HTML5開始提供的一種瀏覽器與伺服器間進行全雙工通訊的網路技術。在WebSocket API中,瀏覽器和伺服器只需要要做一個握手(handshaking)的動作,然後,瀏覽器和伺服器之間就形成了一條快速通道。兩者之間就直接可以資料互相傳送。 Web
【深入淺出Node.js系列三】深入Node.js的模組機制
1 Node.js模組的實現 之前在網上查閱了許多介紹Node.js的文章,可惜對於Node.js的模組機制大都著墨不多。在後續介紹模組的使用之前,我認為有必要深入一下Node.js的模組機制。 1.1 CommonJS規範 早在Netscape誕生不久後,JavaScr
【node.js】Buffer(緩沖區)
bsp for abcdefg star fse 多種方式 def 合並 source Node.js中,定義了一個 Buffer 類,該類用來創建一個專門存放二進制數據的緩存區。 創建 Buffer 類 Node Buffer 類可以通過多種方式來創建。 1.創建長度為
【node.js】Stream(流)
觸發 transform 處理 mage 輸入流 執行 nod () 輸入 Stream 有四種流類型: Readable - 可讀操作。 Writable - 可寫操作。 Duplex - 可讀可寫操作. Transform - 操作被寫入數據,然後讀出結果。 所有的 S
【node.js】全局變量、常用工具、文件系統
所有 格式 rmdir files cat 函數 lena roc close 學習鏈接:http://www.runoob.com/nodejs/nodejs-global-object.html 在 JavaScript 中,通常 window 是全局對象, 而 Nod
【node.js】GET/POST請求、Web 模塊
ima esp ges 實例 bst node.js 參數 模塊 pos 獲取GET請求內容 node.js 中 url 模塊中的 parse 函數提供了這個功能。 var http = require(‘http‘); var url = require(‘url‘);
【Node.js】1.安裝步驟
-1 不能 檢查 version 需要 技術 用戶 com nod 1.在官網找到對應版本下載 2.點擊安裝 3.檢查安裝成功 path可以看到node.js的安裝目錄已經自動配置在環境變量path中了 如果node -v或者node --versi
【Node.js】2.開發Node.js選擇哪個IDE 開發工具呢
web服務 點擊 後綴 ctrl+ closed 127.0.0.1 服務器 color opened 安裝完Node.js之後,就要為它選擇一個有利的IDE用於開發。 相比較了多個IDE之後,定位在webstrom和sublime上。 有一個簡單的比較: webstorm
【Node.js】 初體驗
pretty listen 引入 創建 文件 代碼 class 服務 使用 1.新建一個app.js文件 2.使用npm install http 導入http模塊 3.直接上代碼 //引入http模塊 var http = require(‘http‘); //創建服務
【node.js】搭建可訪問本地檔案的伺服器①
前言: 學會了如何搭建了伺服器之後,就要開始運用伺服器來訪問靜態檔案了。 一、先上訪問靜態檔案的完整程式碼 (先走下流程,再解析程式碼) //載入模組 var http = require('
【Node.js】mongoose教程02--開啟、關閉資料庫,監聽資料庫事件
connection的事件列表可點選檢視官方文件或./node_modules/mongoose/lib/connection.js#Connection()12345678910111213141516171819202122232425262728293031323334353637// 匯入mongoo
刷題記錄【ZJOI2007棋盤製作】二維DP,懸線法。。。
https://www.luogu.org/problemnew/show/P1169 題目描述 國際象棋是世界上最古老的博弈遊戲之一,和中國的圍棋、象棋以及日本的將棋同享盛名。據說國際象棋起源於易經的思想,棋盤是一個
【node.js】搭建本地伺服器
前言:簡易上手node.js後,我們就可以在自己電腦上建立本地伺服器了。更多內容訪問:一、先上程式碼。//請求Node.js自帶的http模組。 var http = require('http');
【node.js】webapck --打包工具①
前言:nodeJS的一大優點之一就是js檔案的模組化。每一個js檔案都可以是一個模組,這意味這我們在弄大型專案的時候,不再需要定義大量的全域性變量了。一、js檔案的弊端如果a.js檔案要訪問b.js裡定
【Node.js】WebStorm+Node.js開發環境的配置
安裝Express命令如下: npm install -g express 安裝成功之後會在C:\Users\[YOUR_USER_NAME]\AppData\Roaming\npm\node_modules下有express。 但是在執行node runtest.js命令時出錯:(runtest.js
【node.js】簡易專案自動化構建
更多內容訪問:前言:我們可以用node.js,“讀”“寫”“執行”磁碟和伺服器中的檔案。一、簡易專案自動化構建程式碼var projectData = { 'name' : 'subject', 'fileData' : [ { 'name': 'css'
【node.js】使用node.js搭建一個本地web伺服器
操作步驟 1、到node官網(https://nodejs.org/en/)下載node.js安裝檔案,X64代表執行環境為windows64位 2、雙擊安裝檔案安裝node.js 3、等待安裝 4、測試是否安裝成功,按【windows+R】,執行cmd 5、輸入n
【Nodejs】【node.js 安裝 和 配置Sublime Text的Node.js】
使用 man 編輯 sql text odi environ 文件名 ren 【一】 【安裝nodejs】 第一步:下載安裝文件: https://nodejs.org/en/download/ 第二步:安裝nodejs 下載完成之後,雙擊"n
【Node.js】 bodyparser實現原理解析
為什麼我們需要body-parser 也許你第一次和bodyparser相遇是在使用Koa框架的時候。當我們嘗試從一個瀏覽器發來的POST請求中取得請求報文實體的時候,這個時候,我們想,這個從Koa自帶的ctx.body裡面取出來就可以了嘛! 唉!等等,但根據Koa