Node.js进阶之路pdf下载

摘要一线Node开发者数年实战经验总结,适合所有前端和后端的开发人员阅读 本书内容涵盖Node 高并发的原理、源码分析以及使用 Node 开发应用所需要的不同层面的技术实践。 具体包括 Node 异步机制(配以源码分析),编辑与调试,测试技术,Docker 部署,模块机制,V8 引擎与代...

摘要

一线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构建的程序在性能上有着出色的表现。

本文来自Total.不想长大投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 02-14
下一篇 02-14

相关推荐

  • Node.js进阶之路pdf下载

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

    2023-02-14 01:51:01
    567 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信