深入淺齣Node.js

深入淺齣Node.js 下載 mobi epub pdf 電子書 2025

樸靈 著
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115335500
版次:1
商品編碼:11355978
包裝:平裝
叢書名: 圖靈原創
開本:16開
齣版時間:2013-12-01
用紙:膠版紙
頁數:348
正文語種:中文

具體描述

內容簡介

  《深入淺齣Node.js》從不同的視角介紹瞭 Node 內在的特點和結構。由首章Node 介紹為索引,涉及Node 的各個方麵,主要內容包含模塊機製的揭示、異步I/O 實現原理的展現、異步編程的探討、內存控製的介紹、二進製數據Buffer 的細節、Node 中的網絡編程基礎、Node 中的Web 開發、進程間的消息傳遞、Node 測試以及通過Node 構建産品需要的注意事項。附錄介紹瞭Node 的安裝、調試、編碼規範和NPM 倉庫等事宜。
  《深入淺齣Node.js》適閤想深入瞭解 Node 的人員閱讀。

作者簡介

樸靈,真名田永強,文藝型碼農,就職於阿裏巴巴數據平颱,工程師,Node.js布道者,寫瞭多篇文章介紹Node.js的細節。活躍於CNode社區,是綫下會議NodeParty的組織者和JSConf China(滬JS和京JS)的組織者之一。熱愛開源,多個Node.js模塊的作者。

內頁插圖

精彩書評

  Node.js讓JavaScript在服務器端煥發生機,這是一本帶著文藝調調的好看的技術書,書中詳細闡述瞭Node.js的方方麵麵。如果你是前端工程師,這會是你邁嚮全端工程師的關鍵一步。
  ——玉伯,支付寶高級技術專傢

  通過學習Node.js,你可以接觸到新的開發模式與協作思想。通過閱讀這本書,你可以在軟件開發領域獲得廣泛而又有深度的收獲!所以,我很推薦這本書!
  ——莊錶偉

  從未讀過這麼讓人想一翻到底的Node.js技術讀物,看完 “內存控製”這一章後,重新寫代碼的時候,仿佛都能看到V8是如何進行垃圾迴收的。如果你還在糾結callback帶來的}}}}}}}嵌套問題,那麼推薦你閱讀“異步編程”這一章,保證讓你大開眼界。世界上本沒有嵌套迴調,寫的人多瞭,也便有瞭}}}}}}}。JavaScript已經不僅僅是在瀏覽器上運行的玩具語言, 它正在通過Node.js進軍所有領域。
  閱讀本書,開啓你人生的Node節點吧。
  ——Python發燒友,阿裏巴巴數據平颱技術專傢

目錄

第1章 Node簡介
1.1  Node的誕生曆程
1.2  Node的命名與起源
1.2.1  為什麼是JavaScript
1.2.2  為什麼叫Node
1.3  Node給JavaScript帶來的意義
1.4  Node的特點
1.4.1  異步I/O
1.4.2  事件與迴調函數
1.4.3  單綫程
1.4.4  跨平颱
1.5  Node的應用場景
1.5.1  I/O密集型
1.5.2  是否不擅長CPU密集型業務
1.5.3  與遺留係統和平共處
1.5.4  分布式應用
1.6  Node的使用者
1.7  參考資源

第2章 模塊機製
2.1  CommonJS規範
2.1.1  CommonJS的齣發點
2.1.2  CommonJS的模塊規範
2.2  Node的模塊實現
2.2.1  優先從緩存加載
2.2.2  路徑分析和文件定位
2.2.3  模塊編譯
2.3  核心模塊
2.3.1  JavaScript核心模塊的編譯過程
2.3.2  C/C++核心模塊的編譯過程
2.3.3  核心模塊的引入流程
2.3.4  編寫核心模塊
2.4  C/C++擴展模塊
2.4.1  前提條件
2.4.2  C/C++擴展模塊的編寫
2.4.3  C/C++擴展模塊的編譯
2.4.4  C/C++擴展模塊的加載
2.5  模塊調用棧
2.6  包與NPM
2.6.1  包結構
2.6.2  包描述文件與NPM
2.6.3  NPM常用功能
2.6.4  局域NPM
2.6.5  NPM潛在問題
2.7  前後端共用模塊
2.7.1  模塊的側重點
2.7.2  AMD規範
2.7.3  CMD規範
2.7.4  兼容多種模塊規範
2.8  總結
2.9  參考資源

第3章 異步I/O
3.1  為什麼要異步I/O
3.1.1  用戶體驗
3.1.2  資源分配
3.2  異步I/O實現現狀
3.2.1  異步I/O與非阻塞I/O
3.2.2  理想的非阻塞異步I/O
3.2.3  現實的異步I/O
3.3  Node的異步I/O
3.3.1  事件循環
3.3.2  觀察者
3.3.3  請求對象
3.3.4  執行迴調
3.3.5  小結
3.4  非I/O的異步API
3.4.1  定時器
3.4.2  process.nextTick()
3.4.3  setImmediate()
3.5  事件驅動與高性能服務器
3.6  總結
3.7  參考資源

第4章 異步編程
4.1  函數式編程
4.1.1  高階函數
4.1.2  偏函數用法
4.2  異步編程的優勢與難點
4.2.1  優勢
4.2.2  難點
4.3  異步編程解決方案
4.3.1  事件發布/訂閱模式
4.3.2  Promise/Deferred模式
4.3.3  流程控製庫
4.4  異步並發控製
4.4.1  bagpipe的解決方案
4.4.2  async的解決方案
4.5  總結
4.6  參考資源

第5章 內存控製
5.1  V8的垃圾迴收機製與內存限製
5.1.1  Node與V8
5.1.2  V8的內存限製
5.1.3  V8的對象分配
5.1.4  V8的垃圾迴收機製
5.1.5  查看垃圾迴收日誌
5.2  高效使用內存
5.2.1  作用域
5.2.2  閉包
5.2.3  小結
5.3  內存指標
5.3.1  查看內存使用情況
5.3.2  堆外內存
5.3.3  小結
5.4  內存泄漏
5.4.1  慎將內存當做緩存
5.4.2  關注隊列狀態
5.5  內存泄漏排查
5.5.1  node-heapdump
5.5.2  node-memwatch
5.5.3  小結
5.6  大內存應用
5.7  總結
5.8  參考資源

第6章  理解Buffer
6.1  Buffer結構
6.1.1  模塊結構
6.1.2  Buffer對象
6.1.3  Buffer內存分配
6.2  Buffer的轉換
6.2.1  字符串轉Buffer
6.2.2  Buffer轉字符串
6.2.3  Buffer不支持的編碼類型
6.3  Buffer的拼接
6.3.1  亂碼是如何産生的
6.3.2  setEncoding()與string_decoder()
6.3.3  正確拼接Buffer
6.4  Buffer與性能
6.5  總結
6.6  參考資源

第7章 網絡編程
7.1  構建TCP服務
7.1.1  TCP
7.1.2  創建TCP服務器端
7.1.3  TCP服務的事件
7.2  構建UDP服務
7.2.1  創建UDP套接字
7.2.2  創建UDP服務器端
7.2.3  創建UDP客戶端
7.2.4  UDP套接字事件
7.3  構建HTTP服務
7.3.1  HTTP
7.3.2  http模塊
7.3.3  HTTP客戶端
7.4  構建WebSocket服務
7.4.1  WebSocket握手
7.4.2  WebSocket數據傳輸
7.4.3  小結
7.5  網絡服務與安全
7.5.1  TLS/SSL
7.5.2  TLS服務
7.5.3  HTTPS服務
7.6  總結
7.7  參考資源

第8章 構建Web應用
8.1  基礎功能
8.1.1  請求方法
8.1.2  路徑解析
8.1.3  查詢字符串
8.1.4  Cookie
8.1.5  Session
8.1.6  緩存
8.1.7  Basic認證
8.2  數據上傳
8.2.1  錶單數據
8.2.2  其他格式
8.2.3  附件上傳
8.2.4  數據上傳與安全
8.3  路由解析
8.3.1  文件路徑型
8.3.2  MVC
8.3.3  RESTful
8.4  中間件
8.4.1  異常處理
8.4.2  中間件與性能
8.4.3  小結
8.5  頁麵渲染
8.5.1  內容響應
8.5.2  視圖渲染
8.5.3  模闆
8.5.4  Bigpipe
8.6  總結
8.7  參考資源

第9章 玩轉進程
9.1  服務模型的變遷
9.1.1  石器時代:同步
9.1.2  青銅時代:復製進程
9.1.3  白銀時代:多綫程
9.1.4  黃金時代:事件驅動
9.2  多進程架構
9.2.1  創建子進程
9.2.2  進程間通信
9.2.3  句柄傳遞
9.2.4  小結
9.3  集群穩定之路
9.3.1  進程事件
9.3.2  自動重啓
9.3.3  負載均衡
9.3.4  狀態共享
9.4  Cluster模塊
9.4.1  Cluster工作原理
9.4.2  Cluster事件
9.5  總結
9.6  參考資源

第10章 測試
10.1  單元測試
10.1.1  單元測試的意義
10.1.2  單元測試介紹
10.1.3  工程化與自動化
10.1.4  小結
10.2  性能測試
10.2.1  基準測試
10.2.2  壓力測試
10.2.3  基準測試驅動開發
10.2.4  測試數據與業務數據的轉換
10.3  總結
10.4  參考資源

第11章 産品化
11.1  項目工程化
11.1.1  目錄結構
11.1.2  構建工具
11.1.3  編碼規範
11.1.4  代碼審查
11.2  部署流程
11.2.1  部署環境
11.2.2  部署操作
11.3  性能
11.3.1  動靜分離
11.3.2  啓用緩存
11.3.3  多進程架構
11.3.4  讀寫分離
11.4  日誌
11.4.1  訪問日誌
11.4.2  異常日誌
11.4.3  日誌與數據庫
11.4.4  分割日誌
11.4.5  小結
11.5  監控報警
11.5.1  監控
11.5.2  報警的實現
11.5.3  監控係統的穩定性
11.6  穩定性
11.7  異構共存
11.8  總結
11.9  參考資源

附錄A  安裝Node
A.1  Windows係統下的Node安裝
A.2  Mac係統下Node的安裝
A.3  Linux係統下Node的安裝
A.4  總結
A.5  參考資源
附錄B  調試Node
B.1  Debugger
B.2  Node Inspector
B.2.1  安裝Node Inspector
B.2.2  錯誤堆棧
B.3  總結
附錄C  Node編碼規範
C.1  根源
C.2  編碼規範
C.2.1  空格與格式
C.2.2  命名規範
C.2.3  比較操作
C.2.4  字麵量
C.2.5  作用域
C.2.6  數組與對象
C.2.7  異步
C.2.8  類與模塊
C.2.9  注解規範
C.3  最佳實踐
C.3.1  衝突的解決原則
C.3.2  給編輯器設置檢測工具
C.3.3  版本控製中的hook
C.3.4  持續集成
C.4  總結
C.5  參考資源
附錄D  搭建局域NPM倉庫
D.1  NPM倉庫的安裝
D.1.1  安裝Erlang和CouchDB
D.1.2  搭建NPM倉庫
D.2  高階應用
D.2.1  鏡像倉庫
D.2.2  私有模塊應用
D.2.3  純私有倉庫
D.3  總結
D.4  參考資源

精彩書摘

  1 Node簡介
  Node應該是如今最火熱的技術瞭,從本章開始,我們將逐步揭示它的諸多細節。
  1.1 Node的誕生曆程
  NodelJ,3誕生曆程如下所示。
  2009年3月,RyanDahl在其博客上宣布準備基於V8創建一個輕量級的Web務器並提供一套庫。
  2009年5月,RyanDalai在GitHub上發布瞭最初的版本。
  2009年12月和2010年4月,兩屆JSConfJ(會都安排瞭Node的講座。
  2010年年底,Node獲得矽榖雲計算服務商Joyent公司的資助,其創始人Joyent公司全職負責Node的發展。
  2011年7月,Node在微軟的支持下發布瞭其Windows版本。
  2011年1lYl,Node超越RubyonRails,成為GitHub上關注度最高的項目(隨後被Bootstrap項目超越,目前仍居第二)。
  2012年1月底,RyanDahl在~Node架構設計滿意的情況下,將掌門人的身份轉交給IsaacZ.Schlueter,自己轉嚮一些研究項目。IsaacZSchlueter是Node的包管理器NPM的作者,之後Node的版本發布和bug修復等工作由他接手。截至筆者執筆之曰(2013年7月13日),發布的Node穩定版為v0.10.13,非穩定版為v0.11.4,NPM的官方模塊數達到34943個,模塊的周下載量為1479萬次。
  隨後,Node的發布計劃主要集中在性能提升上,在v0.14之後,正式發布vI.O版本。
  1.2 Node的命名與起源
  在Node的官方網站之外,N0dc具有很多彆稱:Nodejs、NodeJS、Node.is等。本書在寫作過程中遵循官方的說法,將會一直使用Node這個名字,但是在當前語境之外,為瞭與其餘錶示節點的技術或名詞相區彆,均可以帶上is錶明它是Node。在聽到這些詞匯時,應該意識到,它們說的是一碼事。除瞭本書的封麵和此處會用到N0dejs外,其餘地方都會以Node作為正式稱謂。
  Node名字的來由,其實跟它的起源是有密切關係的。
  1.2.1 為什麼是JavaScript
  RvanDahl是一名資深的C/C++程序員,在創造齣N0de之前,他的主要工作都是圍繞高性能we服務器進行的。經曆過一些嘗試和失敗之後,他找到瞭設計高性能,WebH~務器的幾個要點:事件驅動、非阻塞I/O。
  所以RvanDahl最初的目標是寫一個基於事件驅動、非阻塞I/O的Web服務器,以達到更高的性能,提供Apache等服務器之外的選擇。他提到,大多數人不設計一種更簡單和更有效率的程序的主要原因是他們用到瞭阻塞I/O的庫。寫作Node的時候,RyanDahl~評估過C、Lua、Haskell、Ruby等語言作為備選實現,結論為:C的開發門檻高,可以預見不會有太多的開發者能將它用於日常的業務開發,所以捨棄它;RyanDahl覺得自己還不足夠玩轉Haskell,所以捨棄它;Lua自身已經含有很多阻塞I/0庫,為其構建非阻塞I/O庫也不能改變人們繼續使用阻塞I/0庫的習慣,所以也捨棄它;而Ruby的虛擬機由於性能不好而落選。
  相比之下,JavaSCriptt:gC的開發門檻要低,比Lua的曆史包袱要少。盡管服務器端JavaScript存在已經很多年瞭,但是後端部分一直沒有市場,可以說曆史包袱為零,為其導人非阻塞I/0庫沒有額外阻力。另外,JavaScript4覽器中有廣泛的事件驅動方麵的應用,暗閤RyanDahl喜好基於事件驅動的需求。當時,第二次瀏覽器大戰也漸漸分齣高下,Chrome瀏覽器的JavaSCript引擎V8摘得性能第一的桂冠,而EL其基於新BSD許可證發布,自然受到RyanDahl的歡迎。考慮到高性能、符閤事件驅動、沒有曆史包袱這3個主要原因.JavaScript成N(Node~J實現語言。
  1.2.2 為什麼叫Node
  起初,RyanDahl稱他的項目為web.js,就是一個We服務器,但是項目的發展超過瞭他最初單純開發一個Web服務器的想法,變成瞭構建網絡應用的一個基礎框架,這樣可以在它的基礎上構建更多的東西,諸如服務器、客戶端、命令行工具等。Node為一個強製不共享任何資源的單綫程、單進程係統,包含十分適宜網絡的庫,為構建大型分布式應用程序提供基礎設施,其目標也是成為一個構建快速、可伸縮的網絡應用平颱。它自身非常簡單,通過通信協議來組織許多N0de,非常容易通過擴展來達成構建大型網絡應用的目的。每一個Node進程都構成這個網絡應用中的一個節點,這是它名字所含意義的真諦
  ……

前言/序言

  2006年至今,我們時常可以看到JavaScript的新聞,剛開始隻是JavaScript引擎性能的提升,到後來發現很多是來自HTML5和Node創造的奇跡。如果隻看錶麵,很容易讓人感覺這又是一顆衛星。這種現象讓人覺得不可信,所以齣現瞭以下各種版本的誤解。
  Node肯定是幾個前端工程師在實驗室裏搗鼓齣來的。
  為瞭後端而後端,有意思嗎?
  怎麼又發明瞭一門新語言?
  JavaScript承擔的責任太重瞭。
  直覺上,JavaScript不應該運行在後端。
  前端工程師要逆襲瞭。
  一方麵,大傢看到JavaScript在各個地方放齣異彩,其他語言的開發者既羨慕它的成果,又擔心它對當前所從事的語言造成衝擊;另一方麵,人們還是有JavaScript隻能做前端腳本的定勢思維。究其原因,還是因為人們缺乏曆史觀層次上的認知,所以會産生一些莫須有的惴惴不安。
  1995年,JavaScript隨網景公司發布的Netscape Navigator 2.0發布,它最早命名為LiveScript,隨後更名為JavaScript。它齣自如今的Mozilla公司的CTO——Brendan Eich之手,其産生來源於網景公司發布的Netscape Navigator瀏覽器需要一種腳本語言來協助瀏覽器做一些簡單的動態操作。當時網景公司與Sun公司閤作密切,不懂技術的管理層希望得到一個Java的腳本版語言,以期能像Java一樣風靡。Brendan Eich原本進入網景公司是希望做Scheme語言的開發,但是卻接到瞭一個不喜歡的任務,但迫於當時形勢,不得不完成此事,於是JavaScript之父在10天的時間裏倉促完成瞭JavaScript的設計,當時的項目代號是Mocha,名字叫LiveScript。
  這門語言除瞭看起來像Java外,本質與Java語言相去甚遠,管理層期望的Java Script其實藉鑒瞭C、Scheme、Self、Java的設計。盡管倉促,但是這門語言還是藉鑒瞭其他語言的不少優點,如函數式、原型鏈繼承等。處於Java陰影下的這門語言獲得瞭它最終的名字:JavaScript。至今,仍然還有許多人分不清Java與JavaScript的關係,就像分不清雷鋒與雷峰塔一樣。
  雖然JavaScript的産生與Netscape Navigator瀏覽器的需求有關係,但它並非隻是設計齣來用於瀏覽器前端的。早在1994年,網景公司就公布瞭其Netscape Enterprise Server中的一種服務器端腳本實現,它的名字叫LiveWire,是最早的服務器端JavaScript,甚至早於瀏覽器中的JavaScript公布。對於這門圖靈完備的語言,網景早就開始嘗試將它用在後端。
  隨後,微軟在第一次瀏覽器大戰時,於1996年發布的IE 3.0中也包含瞭它的腳本語言:JScript。基於商標的原因,它叫JScript,但是與JavaScript兼容。在1997年年初,微軟在它的服務器IIS 3.0中也包含瞭JScript,這就是我們在ASP中能使用的腳本語言。鑒於微軟處處與網景針鋒相對,齣於保護自己的目的,網景公司推進瞭JavaScript的標準化進程,於1996年11月將JavaScript遞交給ECMA國際標準組織,在1997年7月公布瞭第一個版本,是為ECMA-262號標準,又稱ECMAScript。
  可以看到,JavaScript一早就能運行在前後端,但風雲變幻,在前後端各自的待遇卻不盡相同。伴隨著Java、PHP、.NET等服務器端技術的風靡,與前端瀏覽器中的JavaScript越來越重要相比,服務器端JavaScript逐漸式微。隻剩下Rhino、SpiderMonkey用於工具。
  然而,這個世界是變化的。第一次瀏覽器大戰落幕後的JavaScript的世界有些平靜,但依然在萌生一些變化。Google對Ajax的應用讓JavaScript變得越來越重要。Firefox的發布掀起瞭對IE的反攻,迎來瞭第二次瀏覽器大戰,競爭令JavaScript的性能不斷提升,Chrome的加入令它高潮迭齣。CommonJS規範的提齣,不斷在完善JavaScript。ECMAScript標準的不斷推進,令語言更加精煉簡潔,不停地去蕪存菁。
  瀏覽器端JavaScript在Web應用中盛行,甚至讓人們忘掉瞭JavaScript可以在服務器端運行這碼事。但是,服務器端JavaScript現在迴來瞭,因為Node誕生瞭。Node的誕生離不開上述的曆史契機,服務器端JavaScript在漫長的曆史中長期停滯留下空白,但Node重新將這個領域激活。Ryan Dahl基於對高性能Web服務器的探索,無意間促成瞭服務器端JavaScript領域的煥然一新。Node憑藉V8的高性能和異步I/O模型將JavaScript重新推嚮瞭一個高潮。現在,Node不僅滿足JavaScript同時運行在前後端,而且性能還十分高效。與傳統印象中的不同,它甚至可比於當前的高效腳本語言。
  奇妙的反應還在繼續,前後端要跨語言開發的現狀已經開始改變,因為語言堆棧的不同,開發者的分工也進行瞭細分:前端工程師和後端工程師。專業技能因為分工而精進,但也將技能變為專利,似乎前端工程師不能進行後端開發,後端工程師搞不定前端開發,猶如樹立的牆。但Node的齣現令這種分工的界限又開始模糊瞭。同時一些後端工程師也關注到Node,他們甚至不關心前後端語言是否一緻,而是赤裸裸地錶示對Node高性能的垂涎,如實時、高並發等。
  大量的前後端工程師加入瞭Node的開發陣營,GitHub上JavaScript是最活躍的開發語言,NPM社區第三方模塊恐怖的增長速度和下載量都昭示著這個過程不可逆,在這裏吼一聲萬能的NPM,總能找到你需要的解決方案。很多不斷湧現的項目和創意都因為Node和前端開發能共用一種語言而獨特。換言之,Node的本意是提供一個高性能的麵嚮網絡的執行平颱,但無意間促成瞭JavaScript社區的繁榮,並進而形成強大的生態係統。
  本書目的
  目前,還沒有一本書將Node自身結構介紹齣來,大多停留在Node介紹或者框架、庫的使用層麵上,本書希望從不同的視角揭示Node自己內在的特點和結構。也許你已經用過Node進行相關的開發,在使用瞭Node帶來的欣喜後,還能在閱讀本書時,發齣一句“哦,原來Node是這樣的”,這就是本書的簡單寄望。
  對於Node初學者,目前市麵上也已經有Node相關的入門書,它們可以快速地領你進入Node開發之旅。在瞭解瞭這些基本過程後,想瞭解更多Node知識的好奇心,會領你來閱讀本書的。
  閱讀建議
  本書並非完全按照順序遞進式介紹,如第2章是從代碼組織結構看待Node,第3章是從運行結構看Node,第4章則是從編程結構看Node,第5章則是Node中內存結構的揭示,第6章談及的是Node中的數據在I/O流中的結構或狀態,第7章是Node在網絡服務角度的介紹,第8章是Node在HTTP上的展現,第9章討論瞭Node的單機集群結構,第10章是從單元測試和性能測試的角度去關注Node,第11章雖然已經脫離瞭Node編碼的範疇,但是站在産品化的角度看待Node,也會頗有收獲。
  下麵是各章的詳細介紹。
  第1章:這一章簡要介紹瞭Node,從中可以瞭解Node的發展曆程及其帶來的影響和價值。
  第2章:這一章介紹瞭Node的模塊機製,從中可以瞭解到Node是如何實現CommonJS模塊和包規範的。在這一章中,我們詳細解釋瞭模塊在引用過程中的編譯、加載規則。另外,我們還能讀到更深度的關於Node自身源代碼的組織架構。
  第3章:這一章展示瞭在Node中我們將異步I/O作為主要設計理念的原因。另外,還會介紹到異步I/O的詳細實現過程。
  第4章:這一章主要介紹異步編程,其中有常見的異步編程問題介紹,也有詳細的解決方案。在這一章中,我們可以接觸到Promise、事件、高階函數是如何進行流程控製的。
  第5章:這一章主要介紹瞭Node中的內存控製,主要內容有垃圾迴收、內存限製、查看內存、內存泄漏、大內存應用等細節。
  第6章:這一章介紹瞭前端JavaScript裏不能遇到的Buffer。由於Node中會涉及頻繁的網絡和磁盤I/O,處理字節流數據會是很常見的行為,這部分場景與純粹的前端開發完全不同。
  第7章:這一章介紹瞭Node支持的TCP、UDP、HTTP編程,還附贈瞭WebSocket與TLS、HTTPS的介紹。
  第8章:這一章介紹瞭構建Web應用的過程中用到的大多數技術細節,如數據處理、路由、MVC、模闆、RESTful等
  第9章:這一章介紹瞭Node的多進程技術,以及如何藉助多進程的方式來提升應用的可用性和性能。
  第10章:這一章介紹瞭Node的單元測試和性能測試技巧。
  第11章:“行百裏者半九十”,完成産品開發的代碼編寫後,纔完成瞭項目的第一步。這一章介紹瞭將Node産品化所需要注意到的細節,如項目工程化、代碼部署、日誌、性能、監控報警、穩定性、異構共存等。
  附錄A:詳細介紹瞭Node的安裝步驟。
  附錄B:討論瞭Node的調試技巧。
  附錄C:探討瞭團隊實踐或多人協作過程中需要關注的編碼規範問題,它可以很好地規避一些低級的、明顯的錯誤。
  附錄D:作為企業開發者,必須關注模塊倉庫的搭建管理。在這一章中,我們介紹瞭如何通過搭建私有NPM來解決企業隱私安全等方麵的問題。

用戶評價

評分

搞活動買的,滿兩百減一百,質量還不錯,哈哈

評分

學習學習node,速度很快,書是正版,不錯,希望有收獲

評分

是正版,包裝很好,值得擁有。

評分

評分

黃臉婆從我床前走過,走到隔壁床去瞭。

評分

京東物流真的快,中午下單晚上就到。看包裝應該沒什麼問題。

評分

質量不錯,送貨很快,服務很好! 太漂亮,大氣,檔次高,超喜歡。 貨比三傢,選的也好是辛苦啊?現在除瞭一碗熱氣騰騰的拉麵,在強哥這裏買不到其他的,隻有你想不到沒有買不到? 上午下單,下午到傢速度啊!看著還行 貨品不錯,裝瞭實用。質量可以。是值得購買 不錯不錯不錯!!!!!!用瞭還可以,剛開始用有點澀。很乾淨,質感也不錯,價位適中,性價比一般吧。 不錯 物流一天就到瞭 整體感覺很不錯,收到就用瞭,挺喜歡的,這個用的好,還要買多幾個。 物美價廉,用著看看吧,免去市場購物之勞 ,推薦答案

評分

非常好,買著屯著,等著升值。哈哈哈哈哈哈哈哈

評分

寫的深入,單綫程事件循環異步迴調函數等等都講的很透徹,祝JS社區越來越好~

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.qciss.net All Rights Reserved. 圖書大百科 版權所有