展开全部

主编推荐语

Node.js C++原生模块开发与提高效率指南。

内容简介

本书讲解了如何在 Node.js 上写 C++ 的原生模块以供使用,包括且不仅限于一些 API 和原理的介绍,但是不包括 Node.js 的基础入门知识(如语法等)。目标是读者能用 C++ 写出 Node.js 原生模块来提高开发和运行效率。

目录

  • 版权信息
  • 内容简介
  • 好评袭来
  • 序一
  • 序二
  • 前言
  • 我的Node.js之路
  • 原生扩展的一些示例
  • 本书面向的读者
  • 本书的结构
  • 阅读本书的注意事项
  • 致谢
  • 1 Node.js的C++ 扩展前驱知识储备
  • 1.1 Node.js的模块机制
  • 1.1.1 CommonJS的模块规范
  • 1.1.2 Node.js的模块
  • 1.1.3 小结
  • 1.1.4 参考资料
  • 1.2 Node.js的包机制
  • 1.2.1 CommonJS的包规范
  • 1.2.2 Node.js / NPM 下的包
  • 1.2.3 NPM与CNPM
  • 1.2.4 小结
  • 1.2.5 参考资料
  • 1.3 Node.js 依赖简介
  • 1.3.1 Chrome V8
  • 1.3.2 libuv
  • 1.3.3 其他依赖
  • 1.3.4 小结
  • 1.3.5 参考资料
  • 1.4 C++ 扩展开发的准备工作
  • 1.4.1 编辑器 / IDE
  • 1.4.2 node-gyp
  • 1.4.3 其他构建工具
  • 1.4.4 小结
  • 1.4.5 参考资料
  • 2 C++ 模块原理简析
  • 2.1 为什么要写 C++ 模块
  • 2.1.1 C++ 比 JavaScript 解释器高效
  • 2.1.2 已有的C++ 轮子
  • 2.1.3 小结
  • 2.1.4 参考资料
  • 2.2 什么是 C++ 扩展
  • 2.2.1 C++ 模块本质
  • 2.2.2 Node.js 模块加载原理
  • 2.2.3 小结
  • 2.2.4 参考资料
  • 3 Chrome V8 基础
  • 3.1 Node.js与Chrome V8
  • 3.2 基本概念
  • 3.2.1 内存机制
  • 3.2.2 隔离实例(Isolate)
  • 3.2.3 上下文(Context)
  • 3.2.4 脚本(Script)
  • 3.2.5 小结
  • 3.2.6 参考资料
  • 3.3 句柄(Handle)
  • 3.3.1 本地句柄(Local)
  • 3.3.2 持久句柄(Persistent)
  • 3.3.3 永生句柄(Eternal)
  • 3.3.4 待实本地句柄(Maybe Local)
  • 3.3.5 小结
  • 3.3.6 参考资料
  • 3.4 句柄作用域
  • 3.4.1 一般句柄作用域(Handle Scope)
  • 3.4.2 可逃句柄作用域(Escapable Handle Scope)
  • 3.4.3 小结
  • 3.4.4 参考资料
  • 3.5 上下文(Context)
  • 3.6 模板(Template)
  • 3.6.1 函数模板(Function Template)
  • 3.6.2 对象模板(Object Template)
  • 3.6.3 对象模板的访问器(Accessor)与拦截器(Interceptor)
  • 3.6.4 对象模板的内置字段(Internal Field)
  • 3.6.5 函数模板的继承(Inherit)
  • 3.6.6 小结
  • 3.6.7 参考资料
  • 3.7 常用数据类型
  • 3.7.1 基值(Value)
  • 3.7.2 字符串(String)
  • 3.7.3 数值类型
  • 3.7.4 布尔类型(Boolean)
  • 3.7.5 对象(Object)
  • 3.7.6 函数(Function)
  • 3.7.7 数组(Array)
  • 3.7.8 JSON 解析器
  • 3.7.9 函数回调信息(Function Callback Info)
  • 3.7.10 函数返回值(Return Value)
  • 3.7.11 隔离实例(Isolate)
  • 3.7.12 小结
  • 3.7.13 参考资料
  • 3.8 异常机制
  • 3.8.1 try-catch
  • 3.8.2 抛出异常
  • 3.8.3 异常生成类(Exception)
  • 3.8.4 小结
  • 3.8.5 参考资料
  • 4 C++ 扩展实战初探
  • 4.1 binding.gyp
  • 4.1.1 惊鸿一瞥
  • 4.1.2 binding.gyp 基础结构
  • 4.1.3 GYP 文件
  • 4.1.4 常用字段
  • 4.1.5 小结
  • 4.1.6 参考资料
  • 4.2 牛刀小试
  • 4.2.1 又是 Hello World
  • 4.2.2 函数参数
  • 4.2.3 回调函数
  • 4.2.4 函数返回
  • 4.2.5 小结
  • 4.2.6 参考资料
  • 4.3 循序渐进
  • 4.3.1 C++与JavaScript 类封装
  • 4.3.2 实例化 C++ 类封装对象的函数
  • 4.3.3 将 C++ 类封装对象传来传去
  • 4.3.4 进程退出钩子
  • 4.3.5 小结
  • 4.3.6 参考资料
  • 5 Node.js 原生抽象
  • 5.1 Node.js 原生模块开发方式的变迁
  • 5.1.1 以不变应万变
  • 5.1.2 时代在召唤
  • 5.1.3 小结
  • 5.1.4 参考资料
  • 5.2 基础开发
  • 5.2.1 什么是 NAN
  • 5.2.2 安装和配置
  • 5.2.3 先睹为快
  • 5.2.4 基础帮助函数和宏
  • 5.2.5 忽略 node_modules
  • 5.2.6 小结
  • 5.2.7 参考资料
  • 5.3 JavaScript 函数
  • 5.3.1 函数参数类型
  • 5.3.2 函数声明
  • 5.3.3 函数设置
  • 5.3.4 小结
  • 5.3.5 参考资料
  • 5.4 常用帮助类与函数
  • 5.4.1 句柄相关
  • 5.4.2 创建数据对象
  • 5.4.3 与数据对象“玩耍”
  • 5.4.4 封装一个类
  • 5.4.5 异常处理
  • 5.4.6 小结
  • 5.4.7 参考资料
  • 5.5 NAN 中的异步机制
  • 5.5.1 Nan::AsyncQueueWorker
  • 5.5.2 Nan::Callback
  • 5.5.3 Nan::AsyncWorker
  • 5.5.4 Nan::AsyncProgressWorker
  • 5.5.5 小结
  • 5.5.6 参考资料
  • 6 异步之旅
  • 6.1 基础概念
  • 6.1.1 事件循环
  • 6.1.2 句柄(Handle)与请求(Request)
  • 6.1.3 尝尝甜头
  • 6.1.4 小结
  • 6.1.5 参考资料
  • 6.2 libuv的跨线程编程基础
  • 6.2.1 libuv的线程
  • 6.2.2 同步原语(Synchronization Primitive)
  • 6.2.3 工作队列
  • 6.2.4 小结
  • 6.2.5 参考资料
  • 6.3 跨线程通信
  • 6.3.1 uv_async_t 句柄
  • 6.3.2 Watchdog 半成品实战解析
  • 6.3.3 Watchdog 试运行
  • 6.3.4 小结
  • 6.3.5 参考资料
  • 7 实战
  • 7.1 准备工作
  • 7.1.1 功能规划
  • 7.1.2 文件系统监听库
  • 7.1.3 小结
  • 7.1.4 参考资料
  • 7.2 核心设计
  • 7.2.1 API 设计
  • 7.2.2 EFSWCore的血肉之躯
  • 7.2.3 EFSWCore的灵魂
  • 7.2.4 小结
  • 7.3 编写JavaScript 类
  • 7.3.1 类的设计
  • 7.3.2 核心逻辑
  • 7.3.3 简单容错
  • 7.3.4 小结
  • 7.4 进一步完善
  • 7.4.1 C++ 代码的完善
  • 7.4.2 JavaScript 代码的完善
  • 7.4.3 小结
  • 8 实战
  • 8.1 字符串哈希模块
  • 8.1.1 文件设定
  • 8.1.2 C++ 源码剖析
  • 8.1.3 JavaScript 源码剖析
  • 8.1.4 小结
  • 8.1.5 参考资料
  • 8.2 类 Proxy 包
  • 8.2.1 Proxy
  • 8.2.2 Auto Object 使用范例
  • 8.2.3 代码剖析
  • 8.2.4 小结
  • 8.2.5 参考资料
  • 9 N-API
  • 9.1 浅尝辄止
  • 9.1.1 实现一个 Echo 函数
  • 9.1.2 尝试运行 N-API 扩展
  • 9.1.3 向下兼容
  • 9.1.4 N-API Package
  • 9.1.5 小结
  • 9.1.6 参考资料
  • 9.2 基本数据类型与错误处理
  • 9.2.1 基本数据类型
  • 9.2.2 与作用域及生命周期相关的数据类型
  • 9.2.3 回调数据类型
  • 9.2.4 错误处理
  • 9.2.5 模块注册
  • 9.2.6 小结
  • 9.2.7 参考资料
  • 9.3 对象与函数
  • 9.3.1 对象
  • 9.3.2 函数
  • 9.3.3 类的封装
  • 9.3.4 小结
  • 9.3.5 参考资料
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。