Node.js硬实战 115个核心技巧pdf

图书网 2021年1月15日21:00:32
评论
1.4K1
摘要

适读人群 :使用Node.js的开发人员
一本让你真正学会|用好Node高级技术的进阶读物
本书精心组织115 个已通过测试的例子,并细致剖析保障这些Node应用良好运行的实用技术;采用提出问题/解决问题模式,囊括基于事件的编程、流、集成外部应用和发布等重要话题。
■ 从基础到进阶的常见使用例子
■ 设计和编写模块
■ 测试和调试 Node 应用
■ Node 和现有的系统集成

Node.js硬实战 115个核心技巧 作者:(美)亚历克斯·荣(Alex R. Young) 、 (美)马克·哈特(Marc Harter)

Node.js硬实战 115个核心技巧 出版社:电子工业出版社

Node.js硬实战 115个核心技巧 内容简介

《Node.js 硬实战:115 个核心技巧》是一本面向实战的Node.js 开发进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的核心基础与高级技巧。《Node.js 硬实战:115 个核心技巧》总共有三部分内容,第一部分是Node.js 的基础核心,涉及Buffer、流、网络和进程等相关知识;第二部分是项目实践,涉及测试、Web 开发、调试,生产环境等重要话题;第三部分则完整创建了一个Node.js 模块。每部分涉及的技术都有详细讲解及注释详尽的示例代码,以帮助读者们更好地理解要点及其应用。

《Node.js 硬实战:115 个核心技巧》适合有一定JavaScript 基础,追求在Node.js 上更进一步的开发者。

Node.js硬实战 115个核心技巧 目录

前言

致谢

关于本书

关于插图

第一部分 Node基础

1 入门

1.1 Node入门

1.1.1 为什么使用Node

1.1.2 Node的主要特性

1.2 构建一个Node应用

1.2.1 创建一个新的Node项目

1.2.2 创建一个流的类

1.2.3 使用流

1.2.4 编写测试

1.3 总结

2 全局变量:Node环境

2.1 模块

技巧1 安装与加载模块

技巧2 创建与管理模块

技巧3 加载一组相关的模块

技巧4 使用路径

2.2 标准I/O以及console对象

技巧5 标准I/O流的读写

技巧6 打印日志消息

技巧7 基准测试

2.3 操作系统与命令行

技巧8 获取平台信息

技巧9 传递命令行参数

技巧10 退出程序

技巧11 响应信号量

2.4 使用timer延迟执行

技巧12 通过setTimeout延迟执行函数

技巧13 通过定时器定时调用回调函数

技巧14 安全的操作异步接口

2.5 总结

3 Buffers:使用比特、字节以及编码

3.1 修改数据编码

技巧15 Buffer转换为其他格式

技巧16 使用Buffers来修改字符串编码

3.2 二进制文件转换为JSON

技巧17 使用Buffer来转换原始数据

3.3 创建你自己的二进制协议

技巧18 创建自己的网络协议

3.4 总结

4 Events:玩转EventEmitter

4.1 基础用法

技巧19 从EventEmitter继承

技巧20 混合EventEmitter

4.2 异常处理

技巧21 管理异常

技巧22 通过domains管理异常

4.3 高级模式

技巧23 反射

技巧24 探索EventEmitter

技巧25 组织事件名称

4.4 第三方模块以及扩展

技巧26 EventEmitter的替代方案

4.5 总结

5 流:最强大和最容易误解的功能

5.1 流的介绍

5.1.1 流的类型

5.1.2 什么时候使用流

5.1.3 历史

5.1.4 第三方模块中的流

5.1.5 流继承事件

5.2 内置流

技巧27 使用内置的流来实现静态web服务器

技巧28 流的错误处理

5.3 第三方模块和流

技巧29 使用流的第三方模块

5.4 使用流基类

技巧30 正确地从流的基类继承

技巧31 实现一个可读流

技巧32 实现一个可写流

技巧33 使用双工流转换和接收数据

技巧34 使用转换流解析数据

5.5 高级模式和优化

技巧35 流的优化

技巧36 使用老的流API

技巧37 基于功能的流适配

技巧38 测试流

5.6 总结

6 文件系统:通过异步和同步的方法处理文件

6.1 fs模块概述

6.1.1 POSIX文件系统包装器

6.1.2 流

6.1.3 批量文件操作

6.1.4 文件监视

6.1.5 同步的替代方案

技巧39 读取配置文件

技巧40 使用文件描述

技巧41 使用文件锁

技巧42 递归文件操作

技巧43 编写文件数据库

技巧44 监视文件以及文件夹

6.2 总结

7 网络:Node真正的“Hello,World”

7.1 Node中的网络

7.1.1 网络技术

7.1.2 Node网络模块

7.1.3 非阻塞网络和线程池

7.2 TCP客户端和服务端

技巧45 创建TCP服务端和客户端

技巧46 使用客户端测试TCP服务端

技巧47 改进实时性低的应用

7.3 UDP客户端和服务端

技巧48 通过UDP传输文件

技巧49 UDP客户端服务应用

7.4 HTTP客户端和服务端

技巧50 HTTP服务器

技巧51 重定向

技巧52 HTTP代理

7.5 创建DNS请求

技巧53 创建DNS请求

7.6 加密

技巧54 一个加密的TCP服务器

技巧55 加密的Web服务器和客户端

7.7 总结

8 子进程:利用Node整合外部应用程序

8.1 执行外部应用程序

技巧56 执行外部应用程序

8.1.1 路径和Path的环境变量

8.1.2 执行外部程序时候出现的异常

技巧57 流和外部应用程序

8.1.3 外部应用程序的串联调用

技巧58 在shell中执行命令

8.1.4 安全性和shell命令执行

技巧59 分离子进程

8.1.5 父进程和子进程之间的I/O处理

8.1.6 引用计数和子进程

8.2 执行Node程序

技巧60 执行Node程序

技巧61 Forking Node模块

技巧62 运行作业

8.2.1 工作池

8.2.2 使用池模块

8.3 同步运行

技巧63 同步子进程

8.4 总结

第二部分 实践中的技巧

9 网络:构建精简的网络应用

9.1 前端技术

技巧64 快速的静态网站服务器

技巧65 在Node中使用DOM

技巧66 在浏览器端使用Node模块

9.2 服务端技术

技巧67 Express路由分离

技巧68 自动重启服务器

技巧69 配置web应用

技巧70 优雅地处理错误

技巧71 RESTful web应用

技巧72 使用自定义的中间件

技巧73 使用事件进行解耦

技巧74 使用WebSockets来处理sessions

技巧75 升级Express 3到4

9.3 web应用程序的测试

技巧76 测试路由

技巧77 为中间件注入创建seams

技巧78 测试依赖远程服务的应用

9.4 全栈框架

9.5 实时服务

9.6 总结

10 测试:编写健壮代码的关键

10.1 Node测试的相关介绍

10.2 使用断言编写简单的测试

技巧79 用内置的模块编写测试

技巧80 编写验证异常的测试

技巧81 创建自定义的断言

10.3 测试装置

技巧82 使用一个测试装置组织测试

10.4 测试框架

技巧83 使用Mocha编写测试

技巧84 使用Mocha测试web应用

技巧85万能测试协议(TAP)

10.5 测试工具

技巧86 持续集成

技巧87 数据库装置

10.6 扩展阅读

10.7 总结

11 调试:用于发现和解决问题

11.1 内省

11.1.1 显式异常

11.1.2 隐藏的异常

11.1.3 错误事件

11.1.4 错误参数

技巧88 处理未捕获的异常

技巧89 检查我们的Node代码

11.2 问题的调试

技巧90 使用Node内置的调试器

技巧91 使用Node Inspector

技巧92 对Node应用进行性能分析

技巧93 内存泄漏的调试

技巧94 使用REPL来检测运行中的程序

技巧95 跟踪系统调用

11.3 总结

12 生产环境中的Node:安全地部署应用程序

12.1 部署

技巧96 将Node程序部署到云端

技巧97 使用Apache和Ngnix部署Node程序

技巧98 在80端口上安全地运行Node程序

技巧99 保持Node进程一直运行

技巧100 在生产环境中使用WebSockets

12.2 Node程序的缓存和扩展性

技巧101 HTTP缓存

技巧102 为程序的路由和扩展使用Node代理

技巧103 使用集群保持程序的扩展性和弹性

12.3 维护

技巧104 包的优化

技巧105日志和日志服务

12.4 更多关于Node程序的扩展性和弹性的备注

12.5 总结

第三部分 编写模块

13 编写模块,掌握Node的所有

13.1 头脑风暴

13.1.1 更快的斐波那契模块

技巧106 计划编写我们的模块

技巧107 验证我们模块的想法

13.2 创建package.json文件

技巧108 创建package.json文件

技巧109 依赖处理

技巧110 语义化版本号

13.3 用户体验

技巧111 添加可执行脚本

技巧112 在本地测试模块

技巧113 在不同版本Node中测试

13.4 发布

技巧114 发布模块

技巧115 使用私有模块

13.5 总结

A 社区

Node.js硬实战 115个核心技巧 精彩文摘

Node已经迅速成为一个可行并且真正高效的web开发平台。在Node诞生之前,在服务端运行JavasScript是件不可思议的事情,并且对其他的脚本语言来说,要实现非阻塞I/O通常需要依赖特殊的类库。但Node的出现改变了这一切。

JavaScript与非阻塞I/O的组合极为强大:在JavaScript与生俱来的callback特性下,我们能在同一进程中异步地操作文件读写、网络sockets以及其他的I/O操作。

图书网:Node.js硬实战 115个核心技巧pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: