包郵 Node.js調試指南+Node.js設計模式(第2版)+Web開發的身份和數據安全

包郵 Node.js調試指南+Node.js設計模式(第2版)+Web開發的身份和數據安全 pdf epub mobi txt 電子書 下載 2025

圖書標籤:
  • Node
  • js
  • 調試
  • 設計模式
  • Web開發
  • 安全
  • 身份驗證
  • 數據安全
  • 前端開發
  • 後端開發
  • 技術指南
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 藍墨水圖書專營店
齣版社: 電子工業齣版社
ISBN:9787121341465
商品編碼:28469043724

具體描述


Node.js調試指南    9787121341465
Node.js設計模式(第2版)   9787121335228
Web開發的身份和數據安全 深入淺齣Node.js   9787519814205




Node.js調試指南(全彩)

Node.js實戰作者力作,Node.js調試指南,涉及CPU、內存、代碼、工具、APM、日誌、監控、應用 預售商品

 

作者:趙坤齣版社:電子工業齣版社齣版時間:2018年06月 

定價 89元

版 次:1頁 數:字 數:印刷時間:2018年06月01日開 本:16開紙 張:膠版紙包 裝:平裝-膠訂是否套裝:否國際標準書號ISBN:9787121341465

所屬分類:

圖書>計算機/網絡>程序設計>其他

編輯推薦

√ Node.js經典《Node.js實戰(雙色)》及《Node.js實戰(2季)》作者又一力作

√專門講調試的Node.js書,資料少有,從CPU、內存、代碼、工具、APM、日誌、監控、應用8方麵講解

√大部分小節都會以一段經典的問題代碼為例進行分析並給齣解決方案

√ Node.js進階參考書,適閤有一定Node.js 開發經驗的人閱讀

√隻講乾貨,沒廢話

《Node.js調試指南(全彩)》從CPU、內存、代碼、工具、APM、日誌、監控、應用這8 個方麵講解如何調試 Node.js,大部分小節都會以一段經典的問題代碼為例進行分析並給齣解決方案。其中,1 章講解CPU 相關的知識,涉及各種CPU 性能分析工具及火焰圖的使用;2 章講解內存相關的知識,例如Core Dump 及如何分析 heapsnapshot 文件;3 章講解代碼相關的知識,例如如何從代碼層麵避免寫齣難以調試的代碼,並涉及部分性能調優知識;4 章講解工具相關的知識,涉及常用的Node.js 調試工具和模塊;5 章講解APM(Application Performance Management)相關的知識,例如兩個不同的應用程序性能管理工具的使用;6 章講解日誌相關的知識,例如如何使用Node.js 的async_hooks 模塊實現自動日誌打點,並結閤各種工具進行使用;7 章講解監控相關的知識,例如如何使用Telegraf InfluxDB Grafana 搭建一個完整的Node.js 監控係統;8 章講解應用相關的知識,給齣瞭兩個完整的Node.js 應用程序的性能解決方案。

《Node.js調試指南(全彩)》並不適閤Node.js 初學者,適閤有一定Node.js 開發經驗的人閱讀。筆者傾嚮於將本書定位成參考書,每一小節基本獨立,如果遇到相關問題,則可以隨時翻到相應的章節進行閱讀。






作者簡介

趙坤,網名nswbmw,資深 Node.js開發者,開源項目Paloma、Mongolass和EverBlog作者,崇尚開源,熱愛分享。

 

曾齣版《Node.js實戰(雙色)》和《Node.js實戰(2季)》。





1 章  CPU 1

1.1  理解perf 與火焰圖(FlameGraph) 2

1.1.1  perf 2

1.1.2  火焰圖 6

1.1.3  紅藍差分火焰圖 8

1.2  使用 v8-profiler 分析 CPU 的使用情況 11

1.3  Tick Processor 及Web UI 16

1.3.1  Tick Processor 16

1.3.2  Web UI 21

2 章  內存 23

2.1  gcore 與llnode 24

2.1.1  Core 和 Core Dump 24

2.1.2  gcore 25

2.1.3  llnode 25

2.1.4  測試 Core Dump 26

2.1.5  分析Core 文件 27

2.1.6  --abort-on-uncaught-exception29

2.1.7  小結 30

2.2  heapdump 30

2.2.1  使用heapdump 30

2.2.2  Chrome DevTools 32

2.2.3  對比快照 34

2.3  memwatch-next 35

2.3.1  使用memwatch-next 35

2.3.2  使用Heap Diff 38

2.3.3  結閤 heapdump 使用 40

2.4  cpu-memory-monitor 41

2.4.1  使用cpu-memory-monitor 41

2.4.2  cpu-memory-monitor 源碼解讀 43

3 章  代碼 46

3.1  Promise 47

3.1.1  Promise/A 規範 48

3.1.2  從零開始實現 Promise 48

3.1.3  Promise 的實現原理 50

3.1.4  safelyResolveThen 52

3.1.5  doResolve 和 doReject 54

3.1.6  Promise.prototype.then 和 Promise.prototype.catch 55

3.1.7  值穿透 58

3.1.8  Promise.resolve 和 Promise.reject 60

3.1.9  Promise.all 61

3.1.10  Promise.race 62

3.1.11  代碼解析 63

3.2  Async Await 69

3.2.1  例1 :async await 70

3.2.2  例2 :co yield 71

3.2.3  例3 :co yield* 72

3.2.4  例4 :co bluebird 73

3.2.5  從yield 轉為yield* 遇到的坑 75

3.2.6  async bluebird 76

3.3  Error Stack 77

3.3.1  Stack Trace 78

3.3.2  Error.captureStackTrace80

3.3.3  captureStackTrace 在 Mongolass 中的應用 83

3.3.4  Error.prepareStackTrace84

3.3.5  Error.prepareStackTrace的其他用法 86

3.3.6  Error.stackTraceLimit88

3.3.7  Long Stack Trace 88

3.4  node@8 89

3.4.1  Ignition Turbofan 90

3.4.2  版本的對應關係 91

3.4.3  try/catch 91

3.4.4  delete 93

3.4.5  arguments 95

3.4.6  async 性能提升 97

3.4.7  不會優化的特性 98

3.5  Rust Addons 100

3.5.1  Rust 100

3.5.2  FFI 100

3.5.3  Neon 103

3.5.4  NAPI 108

3.6  Event Loop 110

3.6.1  什麼是 Event Loop 110

3.6.2  poll 階段 112

3.6.3  process.nextTick() 112

3.6.4  代碼解析 113

3.7  處理 uncaughtException 120

3.7.1  uncaughtException 120

3.7.2  使用 llnode 121

3.7.3  ReDoS 122

4 章  工具 125

4.1  Source Map 126

4.1.1  uglify-es 126

4.1.2  TypeScript 128

4.1.3  source-map-support 的高級用法 129

4.2  Chrome DevTools 129

4.2.1  使用 Chrome DevTools 130

4.2.2  NIM 132

4.2.3  inspect-process 133

4.2.4  process._debugProcess133

4.3  Visual Studio Code 134

4.3.1  基本調試 134

4.3.2  launch.json 136

4.3.3  技巧 1——條件斷點 138

4.3.4  技巧 2——skipFiles 139

4.3.5  技巧 3——自動重啓 140

4.3.6  技巧 4——對特定操作係統的設置 142

4.3.7  技巧 5——多配置 142

4.3.8  總結 144

4.4  debug repl2 power-assert 144

4.4.1  debug 144

4.4.2  repl2 146

4.4.3  power-assert 148

4.5  supervisor-hot-reload 151

4.5.1  Proxy 151

4.5.2  用Proxy 實現 Hot Reload 153

4.5.3  supervisor-hot-reload155

4.5.4  內存泄漏問題 160

第5 章  日誌 161

5.1  koa-await-breakpoint 162

5.1.1  koa-await-breakpoint 的實現原理 162

5.1.2  使用 koa-await-breakpoint 165

5.1.3  自定義日誌存儲 167

5.2  使用async_hooks 168

5.3  ELK 177

5.3.1  安裝 ELK 177

5.3.2  使用 ELK 178

5.4  OpenTracing Jaeger 182

5.4.1  什麼是 OpenTracing 182

5.4.2  什麼是 Jaeger 184

5.4.3  啓動 Jaeger 及Jaeger UI 184

5.4.4  使用 OpenTracing 及Jaeger 185

5.4.5  koa-await-breakpoint-jaeger187

5.5  使用Sentry 190

第6 章  APM 197

6.1  使用NewRelic 198

6.2  Elastic APM 201

6.2.1  什麼是 Elastic APM 201

6.2.2  啓動 ELK 203

6.2.3  啓動 APM Server 203

6.2.4  使用 Elastic APM 203

6.2.5  錯誤日誌 205

第7 章  監控 207

7.1  Telegraf InfluxDB Grafana(上) 208

7.1.1  Telegraf(StatsD) InfluxDB Grafana 簡介 208

7.1.2  啓動 docker-statsd-influxdb-grafana 208

7.1.3  熟悉 InfluxDB 209

7.1.4  配置 Grafana 210

7.1.5  node-statsd 211

7.1.6  創建 Grafana 圖錶 213

7.1.7  模擬真實環境 214

7.2  Telegraf InfluxDB Grafana(下) 217

7.2.1  Grafana ELK 217

7.2.2  監控報警 220

7.2.3  腳本一鍵生成圖錶 222

第8 章  應用 224

8.1  使用 node-clinic 225

8.2  alinode 227

8.2.1  什麼是 alinode 227

8.2.2  創建 alinode 應用 228

8.2.3  安裝 alinode 228

8.2.4  使用 alinode 診斷內存泄露 229

 

8.2.5  使用 alinode 診斷 CPU 性能瓶頸 232

 

書名:Node.js設計模式(第2版)

定價:108

ISBN:9787121335228

齣版社:電子工業齣版社

作者:馬裏奧·卡西羅

編號:1201656042

齣版日期:2017-12-15

印刷日期:2018-03-01

版次:1

字數:5950

頁數:415

D11章歡迎來到Node.js 平颱1

Node.js 的哲學思想2

小核心2

小模塊2

小接觸麵3

簡單和實用3

認識Node.js 6 和ES2015 4

let 和const 關鍵字5

箭頭函數6

類語法8

增強的對象字麵量10

Map 和Set 集閤11

WeakMap 和WeakSet 集閤13

模闆字麵量14

其他ES2015 特性14

Reactor 模式15

I/O 是緩慢的15

阻塞I/O 15

非阻塞I/O 16

事件多路分解器17

Reactor 模式簡介19

Node.js-libuv 的非阻塞I/O 引擎20

Node.js 的秘訣21

總結21

D12章Node.js 基礎設計模式23

迴調模式24

CPS(Continuation Passing Style) 24

同步或異步26

Node.js 迴調約定31

模塊係統及其模式34

揭示模塊模式34

Node.js 模塊解釋35

模塊定義模式42

觀察者模式49

EventEmitter 類49

創建和使用EventEmitter 50

傳播錯誤51

使任何對象可觀察51

同步和異步事件53

EventEmitter 與迴調54

組閤迴調和EventEmitter 55

總結55

D13章異步控製流模式之迴調函數56

異步編程的睏難56

創建一個簡單的網絡蜘蛛57

迴調地獄59

使用純 60

迴調規則60

應用迴調規則61

順序執行63

並行執行68

有限製的並行執行73

async 庫77

順序執行78

並行執行81

有限製的並行執行81

總結83

xiv 目錄

D14章異步控製流模式之ES2015+ 84

promise 84

什麼是promise 85

Promises/A+ 實現87

Node.js 風格函數的promise 化88

順序執行90

並行執行93

有限製的並行執行93

在公共API 中暴露callback 和promise 95

generator 97

generator 基礎97

generator 的異步控製流100

順序執行104

並行執行106

有限製的並行執行108

使用Babel 的async await 111

安裝和運行Babel 112

比較113

總結114

D15章流編程115

流的重要性115

緩衝和流116

空間效率117

時間效率118

組閤性121

開始學習流122

流的分類122

可讀流123

可寫流127

雙嚮流(Duplex stream) 132

變換流132

使用管道拼接流135

使用流處理異步流程137

順序執行138

無序並行執行139

無序有限製的並行執行143

順序並行執行145

目錄xv

管道模式146

組閤流146

復製流149

閤並流150

復用和分解152

總結159

D16章設計模式160

工廠模式161

創建對象的通用接口161

一種封裝的機製162

構建一個簡單的代碼分析器164

可組閤的工廠函數166

擴展169

揭示構造函數170

隻讀事件觸發器171

擴展172

代理模式173

實現代理模式的方法174

不同方法的比較176

創建日誌記錄的寫入流176

生態係統中的代理模式——函數鈎子與麵嚮行為編程(AOP) 178

ES2015 中的Proxy 對象178

擴展180

裝飾者模式(Decorator) 180

實現裝飾者模式的方法181

裝飾一個LevelUP 數據庫182

擴展185

適配器模式(Adapter) 185

通過文件係統API 來使用LevelUP 數據庫186

擴展189

策略模式(Strategy) 189

支持多種格式的配置對象190

擴展193

狀態模式193

實現一個基本的自動防故障套接字194

模闆模式(Template) 199

配置管理器模闆199

xvi 目錄

擴展201

中間件(Middleware) 202

Express 中的中間件202

設計模式中的中間件203

為MQ 創建中間件框架204

在Koa 中使用生成器的中間件210

命令模式(Command) 213

靈活的設計模式214

總結218

D17章連接模塊220

模塊和依賴221

Node.js 中*常見的依賴221

內聚和耦閤222

有狀態的模塊222

連接模塊模式224

硬編碼依賴224

依賴注入229

服務定位器234

依賴注入容器239

連接插件243

插件作為包243

擴展點245

插件控製與應用程序控製的擴展245

實現注銷插件248

總結256

D18章通用 的Web 應用程序257

與瀏覽器端共享代碼258

共享模塊258

Webpack 簡介262

Webpack 的魔力263

Webpack 的優點264

使用ES2015 和Webpack 265

跨平颱開發基礎267

運行時代碼分支268

構建時代碼分支269

模塊交換271

目錄xvii

用於跨平颱開發的設計模式273

React 介紹274

D1一個React 組件275

JSX 是什麼277

配置Webpack 以實現JSX 轉換279

在瀏覽器中渲染280

React 路由庫281

創建通用 應用程序286

創建可用的組件287

服務端渲染289

通用渲染和路由293

通用數據檢索294

總結304

D19章gao級異步編程技巧305

需要異步初始化的模塊305

規範解決方案306

預初始化隊列307

題外話311

異步批處理和緩存312

實現沒有緩存或批處理的服務器312

異步請求批處理314

異步請求緩存316

使用promise 進行批處理和緩存319

運行CPU 綁定的任務322

解決子集和問題322

交叉使用setImmediate 325

使用多進程328

總結335

D110章擴展與架構模式336

應用程序擴展介紹337

擴展Node.js 應用程序337

可擴展性的三個維度337

剋隆和負載均衡339

集群模塊340

處理有狀態通信348

使用反嚮代理進行擴展350

xviii 目錄

使用服務注冊錶354

對等負載均衡360

分解復雜的應用程序362

單體式架構362

微服務架構364

微服務架構中的集成模式367

總結372

D111章消息傳遞與集成模式374

消息係統的基礎375

單嚮和請求/應答模式375

消息類型376

異步消息和隊列377

對等或基於代理的消息378

發布/訂閱模式379

構建簡約的實時聊天應用程序380

使用Redis 作為消息代理383

使用MQ 對等發布/訂閱385

持久訂閱者389

管道和任務分配模式396

MQ 扇齣/扇入模式397

使用AMQP 實現管道和競爭消費者模式401

請求/應答模式406

關聯標識符406

返迴地址410

總結415

齣版社: 中國電力齣版社 ISBN:9787519814205版次:1商品編碼:12298765包裝:平裝開本:16齣版時間:2018-01-01用紙:膠版紙頁數:204字數:238

 

 

 

産品特色

 

750-300.jpg

 

編輯推薦

 

作為Web和應用開發者、設計師、工程師和創作者,我們責無旁貸,自己必須掌握身份和數據安全方麵的知識。如果Web開發者不知道如何在傳輸過程中正確隱蔽數據,不經意間就會敞開網站的安全大門。通過這本實用的手冊,你將學到為何以及如何保護用戶和數據的安全。

 

內容簡介

 

本書深入探討瞭構建保護數據和身份安全的接口所要掌握的概念、技術和編程方法論,而且兼顧可用性。你將學到如何彌補現有係統的漏洞、防禦各種各樣的攻擊媒介,以及如何在天生不安全的環境中保障自身周全。

 

瞭解Web和應用安全的現狀。

 

構建安全的密碼加密方式,以及與各種密碼攻擊媒介鬥爭。

 

創建數字指紋,在瀏覽器、設備和配對設備中識彆用戶。

 

通過OAuth和OpenID Connect構建安全的數據傳輸係統。

 

使用其他的識彆方法提供第二種身份驗證方式。

 

加固Web應用,防止攻擊。

 

使用SSL/TLS及同步和異步加密創建安全的數據傳輸係統。

 

作者簡介

 

Jonathan LeBlanc獲得過艾美奬,是一位軟件工程師、技術作者和PayPal Global Developer Advocacy的主管。Jonathan主攻身份識彆、授權和安全,硬件—Web通信,以及數據挖掘技術,而且關注的都是人機互聯。

 

Tim Messerschmidt是Google Developer Relations的項目經理,主管德國、奧地利和瑞士(DACH)地區的業務。加入Google之前,他領導著PayPal和Braintree Developer Evangelism團隊的歐洲、中東、非洲(EMEA)和亞太(APAC)區。

 

 

 

精彩書評

 

“這是一本適閤初學者和有經驗的開發者閱讀的書。本書先通講基本概念,隨後便說明具體做法和內部機製,而且配備瞭大量有用且詳細的示例代碼片段。任何一名Web開發者都應該閱讀本書。”

 

——Lenny Markus

 

PayPal工程團隊高級經理


用戶評價

評分

評分

評分

評分

評分

評分

評分

評分

評分

相關圖書

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

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有