互联网
类型
可以朗读
语音朗读
229千字
字数
2021-01-01
发行日期
展开全部
主编推荐语
全面介绍Node.js的新标准与新技术。
内容简介
本书主要内容分为基础和应用两部分,基础部分内容包含了Node.js环境配置,npm项目管理,JavaScript语法基础,Node.js基本模块的原理与使用,异步代码的编写与组织,应用部分包含了网络编程,桌面应用开发以及测试和调试。
本书讲解与示例并重,由浅入深地剖析了Node.js模块与语言原理,并通过各种实际场景下的用例来引导读者进行思考,使读者在学习编程语言的同时增进对语言本身的了解。
目录
- 版权信息
- 内容提要
- 前言
- 第1章 概述
- 1.1 了解Node.js
- 1.2 安装
- 1.2.1 源代码安装
- 1.2.2 验证安装
- 1.3 hello world
- 1.4 其他准备工作
- 1.4.1 准备一个开发环境
- 1.4.2 准备一份源代码
- 1.4.3 准备一个类Linux环境
- 1.4.4 熟悉控制台
- 1.4.5 准备一份文档
- 第2章 了解npm
- 2.1 package.json
- 2.1.1 生成package.json
- 2.1.2 第三方模块
- 2.2 使用npm install
- 2.3 node_modules
- 2.4 控制模块版本
- 2.4.1 子模块的版本
- 2.4.2 package-lock.json
- 2.5 使用npm构建项目
- 2.6 关于版本升级
- 小结
- 思考与问题
- 第3章 JavaScript核心
- 3.1 基本类型
- 3.1.1 布尔值
- 3.1.2 数字
- 3.1.3 字符串
- 3.1.4 正则表达式
- 3.1.5 比较相等
- 3.2 数据结构
- 3.2.1 数组
- 3.2.2 TypedArray
- 3.2.3 栈
- 3.2.4 链表
- 3.2.5 二叉树
- 3.2.6 Set
- 3.2.7 Map
- 3.3 变量与作用域
- 3.3.1 声明变量
- 3.3.2 变量提升
- 3.3.3 作用域
- 3.3.4 this
- 3.4 函数
- 3.4.1 箭头函数
- 3.4.2 覆盖原生函数
- 3.4.3 闭包
- 3.4.4 函数式编程
- 3.5 对象
- 3.5.1 创建对象
- 3.5.2 Symbol属性
- 3.5.3 对象遍历器
- 3.6 类与继承
- 3.6.1 定义一个类
- 3.6.2 继承
- 3.7 实战:编写字节码执行器
- 3.7.1 指令集
- 3.7.2 编写执行器
- 小结
- 思考与问题
- 第4章 编写结构化程序
- 4.1 module
- 4.1.1 哪些模块需要引入
- 4.1.2 require()及其运行机制
- 4.1.3 ES6 module
- 4.2 process
- 4.2.1 属性和方法
- 4.2.2 预定义事件
- 4.3 Events
- 4.3.1 使用
- 4.3.2 事件监听的实现原理
- 4.3.3 继承Events模块
- 4.4 文件系统
- 4.4.1 源码实现
- 4.4.2 文件系统API
- 4.4.3 同步和异步
- 4.4.4 关于文件路径
- 4.5 Stream
- 4.5.1 流式数据
- 4.5.2 Stream API
- 4.5.3 可读流
- 4.5.4 可写流
- 4.5.5 和文件系统API的比较
- 4.6 Child Process
- 4.6.1 spawn()
- 4.6.2 fork()
- 4.7 处理CPU密集型任务
- 4.8 实战:控制CPU占用曲线
- 4.8.1 单核环境
- 4.8.2 适应多核
- 4.8.3 精准控制
- 4.8.4 获取CPU占用率
- 4.9 C++扩展
- 4.9.1 V8 API
- 4.9.2 N-API
- 4.9.3 封装bitset
- 4.9.4 封装sleep函数
- 小结
- 思考与问题
- 第5章 组织异步代码
- 5.1 回调函数
- 5.1.1 回调函数的执行过程
- 5.1.2 回调的返回值
- 5.2 Promise
- 5.2.1 什么是Promise
- 5.2.2 then
- 5.2.3 使用Promise处理异步任务
- 5.2.4 使用Promise封装现有方法
- 5.2.5 运行多个Promise
- 5.2.6 更多API
- 5.3 async/await
- 5.3.1 背景
- 5.3.2 async函数
- 5.3.3 await关键字
- 5.3.4 错误处理
- 5.3.5 循环中的async
- 5.3.6 事件循环与async
- 5.4 动手实现Promise
- 5.4.1 从外到内
- 5.4.2 适应异步过程
- 5.4.3 实现链式调用
- 5.4.4 连续异步操作
- 小结
- 思考与问题
- 第6章 Web应用
- 6.1 Web服务器
- 6.1.1 使用HTTP模块
- 6.1.2 schmerver/request/response
- 6.1.3 处理HTTP请求
- 6.1.4 模板引擎与页面渲染
- 6.1.5 数据库的交互
- 6.2 使用express
- 6.2.1 基本概念
- 6.2.2 静态文件服务
- 6.2.3 路由服务
- 6.2.4 中间件系统
- 6.2.5 迷你express
- 6.2.6 cookie
- 6.2.7 session
- 6.2.8 OAuth
- 6.2.9 与前端应用的整合
- 6.2.10 提高服务器性能
- 6.3 集群和进程管理
- 6.3.1 使用Cluster模块
- 6.3.2 负载均衡
- 6.3.3 服务器安全
- 6.4 HTTPS
- 6.4.1 对称加密和非对称加密
- 6.4.2 升级HTTPS服务器
- 6.5 全双工通信
- 6.5.1 轮询和长连接
- 6.5.2 使用WebSocket
- 6.5.3 WebSocket握手
- 6.5.4 HTTP/2
- 6.6 HTTP客户端
- 6.7 API文档
- 6.7.1 Swagger UI
- 6.7.2 API描述文件
- 小结
- 思考与问题
- 第7章 图形化应用
- 7.1 桌面应用
- 7.1.1 Java Swing
- 7.1.2 WPF
- 7.1.3 Qt
- 7.2 Electron
- 7.2.1 快速开始
- 7.2.2 页面和后台的交互
- 7.2.3 实现菜单栏
- 7.2.4 多窗口管理
- 小结
- 思考与问题
- 第8章 测试与调试
- 8.1 测试框架
- 8.1.1 断言系统
- 8.1.2 使用jasmine
- 8.1.3 覆盖率测试
- 8.1.4 压力测试
- 8.2 调试
- 8.2.1 调试Node代码
- 8.2.2 调试C++源代码
- 8.2.3 CPU profile
- 小结
- 思考与问题
- 附录A 基础概念
- A.1 编程语言和运行时
- A.1.1 编程语言的产生
- A.1.2 什么是运行时
- A.1.3 为什么是JavaScript
- A.1.4 编译Node源码
- A.1.5 Node架构
- A.1.6 js2c
- A.2 关于操作系统
- A.2.1 进程和线程
- A.2.2 理解高并发
- A.2.3 理解非阻塞
- A.3 事件循环
- A.3.1 各阶段概述
- A.3.2 阻塞事件循环
- A.3.3 process.nextTick
- A.3.4 模拟事件循环
- A.3.5 microTask和macroTask/task
- 附录B 网络通信基础
- B.1 发生了什么
- B.1.1 寻址
- B.1.2 建立连接
- B.1.3 通信
- B.2 socket接口
- B.2.1 创建socket
- B.2.2 建立连接
- B.2.3 接收消息
- B.3 socket与并发
- B.3.1 select和poll
- B.3.2 epoll
- 附录C Node和其他语言的比较
- C.1 面向对象
- C.2 C语言中的Stream
- C.3 关于I/O的处理
- C.4 C# Task
- 附录D Docker
- D.1 容器技术
- D.1.1 镜像
- D.1.2 容器与镜像
- D.1.3 运行
- D.2 运行MySQL
- D.3 使用MongoDB
- D.4 Dockerfile
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。