小苏子
小苏子PDF在线图书

Node.js进阶之路 作者:尤嘉

Node.js进阶之路 作者:尤嘉

Node.js进阶之路 出版社:清华大学出版社

Node.js进阶之路 内容简介

Node.js进阶之路 目录

Node.js进阶之路 精彩文摘

本书内容涵盖了 Node.js高并发的原理、源码分析以及使用 Node.js开发应用所需要的不同层面的技术实践。具体来讲,本书包括 Node.js异步机制(配以源码分析)、编辑与调试、测试技术、Docker 部署、模块机制、V8 引擎与代码优化、Promise 和 ES6 Generator、LoopBack 开源框架、使用 C++ 编写扩展、JavaScript严格模式、编码规范等内容。在 LoopBack 章节,本书详细介绍了使用此框架开发企业级 Web 应用的步骤,帮助读者迅速掌握使用这个强大框架的诀窍。最后一章详细介绍了编写不同类型的 C++ 模块的知识,并对堆内存管理等内容做了深入探讨。 本书适合所有前端和后端的开发人员阅读。前言第1章 Node异步编程范式1.1 同步与异步的比较1.2 Node异步的实现1.3 事件驱动参考资料第2章 搭建自己的开发环境2.1 Node的编译与安装2.2 开发与调试2.3 单元测试参考资料第3章 使用Docker部署Node服务3.1 Docker基础3.2 在Docker中运行Node3.3 导出配置好的容器参考资料第4章 Node模块4.1 程序入口4.2 VM模块4.3 模块加载与缓存4.4 模块分类4.5 正确导出模块4.6 小心使用全局变量第5章 V8引擎5.1 JavaScript代码的编译与优化5.2 垃圾回收与内存控制参考资料第6章 Promise对象6.1 Promise的含义6.2 基本用法6.3 then的链式写法6.4 bluebird库参考资料第7章 用ES6 Generator解决回调金字塔7.1 Node异步实现流程7.2 用Generator实现异步调用与多并发7.3 严格模式下运行7.4 理解执行过程7.5 本章结语第8章 LoopBack开源框架8.1 安装与运行8.2 路由与权限控制8.3 添加新模型8.4 初始化数据库8.5 钩子机制8.6 中间件8.7 模型关系8.8 使用cluster模式运行服务参考资料第9章 编写C++扩展9.1 使用C++编写扩展模块9.2 线程模型与CPU密集型任务9.3 线程对象9.4 本章结语参考资料附录本章通过实际案例,向读者介绍Node异步编程的优势和原理,这些内容帮助读者理解Node运行的本质。本章还就Node实现异步调用的两种机制进行详细的介绍,并引用源码,剖析其内部实现的流程。Node是一个JavaScript运行时环境,它为JavaScript提供了一个异步I/O编程框架,较其他语言通常使用的同步式方案,其性能好比“搭载上了火箭”。Node的指导思想说起来也简单——CPU执行指令是非常快速的,但I/O操作相对而言是极其缓慢的。可以说,Node要解决的也是这类问题,即给CPU执行的算法容易,I/O请求却频繁的情况。请求到了,相对于传统的进程或者线程同步处理的方式,Node只在主线程中处理请求。如果遇到I/O操作,则以异步方式发起调用,主线程立即返回,继续处理之后的任务。由于异步,一次客户请求的处理方式由流式变为阶段式。我们使用Node编写的JavaScript代码都运行在主线程。假设一次客户请求分为三个阶段——执行函数a,一次I/O操作,执行函数b。如图1-1代表了同步式的处理流程。可以用一段伪代码描述同步请求的过程,如下所示://代码1-1function request() {//开始执行函数a$rel_a = stage_a();//读文件,将文件内容返回到$data$data = readfile();//将前两步的结果作为参数,调用函数bstage_b($rel_a, &data);}可见,同步式处理方式中,每个请求用一个线程(或进程)处理。一次请求处理完毕之后,线程被回收。同步式的方式只画出了两个线程,如果有更多客户请求,线程数还要增加。与之相比较,如图1-2所示则是Node异步执行的示意图。可见,Node一个主线程解决了所有的问题。这种异步式处理流程中,每一个方块代表了一个阶段任务的执行。对比同步,异步同样可以用一段伪代码表达Node异步的处理方式,如下所示://代码1-2var request = function(){//开始执行函数avar rel_a = stage_a();//发起异步读取,主线程立即返回,处理之后的任务readfileAsync(function(data){//在随后的循环中,执行回调函数stage_b(rel_a, data);});}Node也“站在巨人的肩上”。这个“巨人”是大名鼎鼎的V8引擎,有这样一个强大的“心脏”,再配合基于高阶函数和闭包的异步编码范式,使得用Node构建的程序在性能上有着出色的表现。

赞(0)
未经允许不得转载:小苏子图书 » Node.js进阶之路 作者:尤嘉