Node.js进阶之路pdf

图书网 2021年6月15日23:27:2721.5K
摘要

一线Node开发者数年实战经验总结,适合所有前端和后端的开发人员阅读
本书内容涵盖Node 高并发的原理、源码分析以及使用 Node 开发应用所需要的不同层面的技术实践。
具体包括 Node 异步机制(配以源码分析),编辑与调试,测试技术,Docker 部署,模块机制,V8 引擎与代码优化,Promise 和 ES6 generator ,LoopBack 开源框架,使用 C++ 编写扩展,JavaScript 严格模式,编码规范等内容。

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

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

Node.js进阶之路 内容简介

本书内容涵盖了 Node.js高并发的原理、源码分析以及使用 Node.js开发应用所需要的不同层面的技术实践。具体来讲,本书包括 Node.js异步机制(配以源码分析)、编辑与调试、测试技术、Docker 部署、模块机制、V8 引擎与代码优化、Promise 和 ES6 Generator、LoopBack 开源框架、使用 C++ 编写扩展、JavaScript严格模式、编码规范等内容。在 LoopBack 章节,本书详细介绍了使用此框架开发企业级 Web 应用的步骤,帮助读者迅速掌握使用这个强大框架的诀窍。最后一章详细介绍了编写不同类型的 C++ 模块的知识,并对堆内存管理等内容做了深入探讨。
本书适合所有前端和后端的开发人员阅读。

Node.js进阶之路 目录

前言

第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中运行Node

3.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.js进阶之路 精彩文摘

本章通过实际案例,向读者介绍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-1

function request() {

//开始执行函数a

$rel_a = stage_a();

//读文件,将文件内容返回到$data

$data = readfile();

//将前两步的结果作为参数,调用函数b

stage_b($rel_a, &data);

}

可见,同步式处理方式中,每个请求用一个线程(或进程)处理。一次请求处理完毕之后,线程被回收。同步式的方式只画出了两个线程,如果有更多客户请求,线程数还要增加。与之相比较,如图1-2所示则是Node异步执行的示意图。可见,Node一个主线程解决了所有的问题。这种异步式处理流程中,每一个方块代表了一个阶段任务的执行。

对比同步,异步同样可以用一段伪代码表达Node异步的处理方式,如下所示:

//代码1-2

var request = function(){

//开始执行函数a

var rel_a = stage_a();

//发起异步读取,主线程立即返回,处理之后的任务

readfileAsync(function(data){

//在随后的循环中,执行回调函数

stage_b(rel_a, data);

});

}

Node也“站在巨人的肩上”。这个“巨人”是大名鼎鼎的V8引擎,有这样一个强大的“心脏”,再配合基于高阶函数和闭包的异步编码范式,使得用Node构建的程序在性能上有着出色的表现。

图书网:Node.js进阶之路pdf

继续阅读

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

证券/股票

破解牛股密码pdf

破解牛股密码 作者:任平安 破解牛股密码 出版社:清华大学出版社 破解牛股密码 内容简介 本书通过对市场中个股的描述,总结出牛股上涨的内在因素和外在图形特征,通过对牛股内外在特征的详细讲解,帮助投资者...
程序设计

C++捷径教程 第3版pdf

C++捷径教程 第3版 作者:(美) Herbert Schildt C++捷径教程 第3版 出版社:清华大学出版社 C++捷径教程 第3版 内容简介 本书是程序设计大师Herbert Schildt...
匿名

发表评论

匿名网友

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

评论:2   其中:访客  2   博主  0
    • Tin
      Tin 0

      感謝您的貢獻感謝您的貢獻感謝您的貢獻

      • 小node
        小node 0

        感谢支持