幫助中心 | 我的帳號 | 關於我們

Node.js調試指南

  • 作者:編者:趙坤
  • 出版社:電子工業
  • ISBN:9787121341465
  • 出版日期:2018/06/01
  • 裝幀:平裝
  • 頁數:234
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    趙坤編著的《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開發經驗的人閱讀。筆者傾向於將本書定位成參考書,每一小節基本獨立,如果遇到相關問題,則可以隨時翻到相應的章節進行閱讀。

作者介紹
編者:趙坤
    趙坤,網名nswbmw,資深Node.js開發者,開源項目Paloma、Mongolass和EverBlog作者,崇尚開源,熱愛分享。     曾出版《Node.js實戰(雙色)》和《Node.js實戰(第2季)》。

目錄
第1章  CPU
  1.1 理解perf 與火焰圖(FlameGraph)
    1.1.1 perf
    1.1.2 火焰圖
    1.1.3 紅藍差分火焰圖
  1.2 使用v8-profiler分析CPU的使用情況
  1.3 Tick Processor及Web UI
    1.3.1 Tick Processor
    1.3.2 Web UI
第2章  內存
  2.1 gcore 與llnode
    2.1.1 Core和Core Dump
    2.1.2 gcore
    2.1.3 llnode
    2.1.4 測試Core Dump
    2.1.5 分析Core文件
    2.1.6 --abort-on-uncaught-exception
    2.1.7 小結
  2.2 heapdump
    2.2.1 使用heapdump
    2.2.2 Chrome DevTools
    2.2.3 對比快照
  2.3 memwatch-next
    2.3.1 使用memwatch-next
    2.3.2 使用Heap Diff
    2.3.3 結合heapdump使用
  2.4 cpu-memory-monitor
    2.4.1 使用cpu-memory-monitor
    2.4.2 cpu-memory-monitor源碼解讀
第3章  代碼
  3.1 Promise
    3.1.1 Promise/A+規範
    3.1.2 從零開始實現Promise
    3.1.3 Promise的實現原理
    3.1.4 safelyResolveThen
    3.1.5 doResolve和doReject
    3.1.6 Promise.prototype.then和Promise.prototype.catch
    3.1.7 值穿透
    3.1.8 Promise.resolve和Promise.reject
    3.1.9 Promise.all
    3.1.10 Promise.race
    3.1.11 代碼解析
  3.2 Async+Await
    3.2.1 例1:async+await
    3.2.2 例2:co+yield
    3.2.3 例3:co+yield*
    3.2.4 例4:co+bluebird
    3.2.5 從yield 轉為yield*遇到的坑
    3.2.6 async+bluebird
  3.3 Error Stack

    3.3.1 Stack Trace
    3.3.2 Error.captureStackTrace
    3.3.3 captureStackTrace在Mongolass中的應用
    3.3.4 Error.prepareStackTrace
    3.3.5 Error.prepareStackTrace的其他用法
    3.3.6 Error.stackTraceLimit
    3.3.7 Long Stack Trace
  3.4 node@8
    3.4.1 Ignition+Turbofan
    3.4.2 版本的對應關係
    3.4.3 try/catch
    3.4.4 delete
    3.4.5 arguments
    3.4.6 async性能提升
    3.4.7 不會優化的特性
  3.5 Rust Addons
    3.5.1 Rust
    3.5.2 FFI
    3.5.3 Neon
    3.5.4 NAPI
  3.6 Event Loop
    3.6.1 什麼是Event Loop
    3.6.2 poll階段
    3.6.3 process.nextTick()
    3.6.4 代碼解析
  3.7 處理uncaughtException
    3.7.1 uncaughtException
    3.7.2 使用llnode
    3.7.3 ReDoS
第4章  工具
  4.1 Source Map
    4.1.1 uglify-es
    4.1.2 TypeScript
    4.1.3 source-map-support的高級用法
  4.2 Chrome DevTools
    4.2.1 使用Chrome DevTools
    4.2.2 NIM
    4.2.3 inspect-process
    4.2.4 process._debugProcess
  4.3 Visual Studio Code
    4.3.1 基本調試
    4.3.2 launch.json
    4.3.3 技巧1——條件斷點
    4.3.4 技巧2——skipFiles
    4.3.5 技巧3——自動重啟
    4.3.6 技巧4——對特定操作系統的設置
    4.3.7 技巧5——多配置
    4.3.8 總結
  4.4 debug+repl2+power-assert
    4.4.1 debug

    4.4.2 repl2
    4.4.3 power-assert
  4.5 supervisor-hot-reload
    4.5.1 Proxy
    4.5.2 用Proxy實現Hot Reload
    4.5.3 supervisor-hot-reload
    4.5.4 內存泄漏問題
第5章  日誌
  5.1 koa-await-breakpoint
    5.1.1 koa-await-breakpoint的實現原理
    5.1.2 使用koa-await-breakpoint
    5.1.3 自定義日誌存儲
  5.2 使用async_hooks
  5.3 ELK
    5.3.1 安裝ELK
    5.3.2 使用ELK
  5.4 OpenTracing+Jaeger
    5.4.1 什麼是OpenTracing
    5.4.2 什麼是Jaeger
    5.4.3 啟動Jaeger及Jaeger UI
    5.4.4 使用OpenTracing及Jaeger
    5.4.5 koa-await-breakpoint-jaeger
  5.5 使用Sentry
第6章  APM
  6.1 使用NewRelic
  6.2 Elastic APM
    6.2.1 什麼是Elastic APM
    6.2.2 啟動ELK
    6.2.3 啟動APM Server
    6.2.4 使用Elastic APM
    6.2.5 錯誤日誌
第7章  監控
  7.1 Telegraf+InfluxDB+Grafana(上)
    7.1.1 Telegraf(StatsD)+InfluxDB+Grafana簡介
    7.1.2 啟動docker-statsd-influxdb-grafana
    7.1.3 熟悉InfluxDB
    7.1.4 配置Grafana
    7.1.5 node-statsd
    7.1.6 創建Grafana圖表
    7.1.7 模擬真實環境
  7.2 Telegraf+InfluxDB+Grafana(下)
    7.2.1 Grafana+ELK
    7.2.2 監控報警
    7.2.3 腳本一鍵生成圖表
第8章  應用
  8.1 使用node-clinic
  8.2 alinode
    8.2.1 什麼是alinode
    8.2.2 創建alinode應用
    8.2.3 安裝alinode

    8.2.4 使用alinode診斷內存泄露
    8.2.5 使用alinode診斷CPU性能瓶頸

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032