温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Node.js_来一打
C+
扩展
Node
js_
一打
CMYCMMYCYCMYKNode.js来一打C+展fy2.pdf 1 2018/5/28 9:47:19内 容 简 介Node.js 作为近几年新兴的一种编程运行时,托 V8 引擎的福,在作为后端服务时有比较高的运行效率,在很多场景下对于我们的日常开发足够用了。不过,它还为开发者开了一个使用 C+开发 Node.js 原生扩展的口子,让开发者进行项目开发时有了更多的选择。本书以 Chrome V8 的知识作为基础,配合 GYP 的一些内容,将教会大家如何使用 Node.js 提供的一些 API 来编写其 C+的原生扩展。此外,在后续的进阶章节中,还会介绍原生抽象 NAN 以及与异步相关的 libuv 知识,最后辅以几个实例来加深理解。不过,在学习本书内容之前,希望读者已经具备了初步的 Node.js 以及 C+基础。阅读本书,相当于同时学习 Chrome V8 开发、libuv 开发以及 Node.js 的原生 C+扩展开发知识,非常值得!未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据Node.js:来一打 C+扩展/死月著.北京:电子工业出版社,2018.6ISBN 978-7-121-33642-3.N .死 .C+语言程序设计 .TP312.8中国版本图书馆 CIP 数据核字(2018)第 022884 号策划编辑:刘皎责任编辑:李云静印刷:三河市华成印务有限公司装订:三河市华成印务有限公司出版发行:电子工业出版社北京市海淀区万寿路 173 信箱邮编:100036开本:7879801/16 印张:30 字数:655 千字版次:2018 年 6 月第 1 版印次:2018 年 6 月第 1 次印刷定价:109.00 元凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)51260888-819,。好评袭来This book contains absolutely everything you need to know about how all the pieces of Node.js C+code work and interact,explaining the necessary concepts without needing prior knowledge about the internals of V8,libuv or other pieces of Node.js.It shows well how Node.js own built-in modules are constructed using the APIs provided by V8,so that they are usable from JavaScript,and how you can create the same kind of modules from scratch.After having read this book,you will be able to write a production-quality,future-proof C+extension for Node.js if you need to do that,or maybe even make changes Node.js itself if youre interested in that!本书包含了所有你需要了解的有关 Node.js C+代码是如何运行和交互的知识,解释了一些你不需要知道 V8 的内部机制就能理解的必要概念,并介绍了 libuv 以及其他一些内容的方方面面。本书还展示了 Node.js 的内置模块是如何使用 V8 的 API 进行构建并可在JavaScript 层面使用的并且你也能用这种方法从头开始创建相同类型的模块。读完本书,你将学到如何写出产品级质量的、面向未来的 Node.js C+扩展。感兴趣的话,你甚至可以对 Node.js 自身进行修改!安娜亨宁森(Anna Henningsen,addaleax)Node.js 技术指导委员会成员(Node.js TSC)Node.js 不是第一个将 JavaScript 带入服务端领域的技术,然而它却成为史上最热门、最有影响力的工具之一。究其原因,其一,在于 Node.js 适逢后端高并发潮流,巧妙结合Reactor 模型和 JavaScript 所擅长的回调风格,大大降低了开发高并发服务器应用的成本;IV Node.js:来一打 C+扩展其二,在于恰逢浏览器大战,前端技术突飞猛进,急需一套适合 JavaScript 和前端工程师的生态和工具链,Node.js 刚好成为前端 JavaScript 最易上手掌握的命令行环境。在 Node.js 发展得如此火热之际,Node.js 的开发体验在不断提升,上手门槛也在不断降低。然而,如果大家真正想突破自己并成为个中高手,无论是后端程序员希望在服务端及架构方面有所建树,还是前端程序员想跨越边界,都应该去了解 Node.js 的底层机制,去学习写一些Node.js的扩展。从Node.js的内在机制,我们可以学到更多有关计算机体系的知识,如内存管理、多线程编程等,真正向一个架构师、一个大牛迈进。本书在这些方面提供了一个非常系统的指南。死月通过精彩的内容告诉大家:底层的知识并不枯燥,用 C+写一个扩展很有意思也很简单。作为 Node.js 工程师/爱好者的你,值得拥有本书。曹力(ShiningRay)酷链科技 CEO,暴走漫画前 CTO,糗事百科前联合创始人,高级 Node.js 技术专家,JavaScript 高级程序设计译者Native module is one of the most underappreciated features of Node.js.But even in the age of asm.js and WebAssembly,it is an irreplaceable part of the Node.js ecosystem due to its versatility and performance.XadillaXs book provides a refreshing introduction(or reintroduction),and is a must-read for all low-level Node.js engineers.原生模块是 Node.js 中最被低估的功能之一。因为自身的性能和多样性,使其即使是在asm.js 和 WebAssembly 时代,仍旧能作为 Node.js 生态系统中不可替代的部分存在。死月的书对其进行了一个令人耳目一新的介绍,它是所有底层(Low-Level)Node.js 工程师的必读之物。顾天骋(Timothy Gu)pug、ejs 前 Maintainer,Node.js Core Collaborator 之一本书全面讲解了 V8、libuv 的原理并且手把手教你编写一打 Node.js 的 C+扩展,它是目前市面上相关领域非常稀缺的技术书籍。如果你想更深入地了解 Node.js 的实现原理,除了熟读内置 API 文档之外,阅读本书也会是一个很好的选择。雷宗民(老雷)Node.js 实战作者之一好评袭来 V这是一本角度“刁钻”的Node.js相关书籍,其与市面上大多数Node.js书籍的定位不同。本书借为 Node.js 开发 C+扩展做基石,顺带介绍了 Chrome V8 和 libuv 的内容,填补了市场上这一类书籍的空白,值得一读。李启雷博士趣链科技 CTO无论是基础部分的 V8 练习,还是使用 Node.js 经典的 Addon 开发、用 NAN 来改写,或是 libuv 里的 WatchDog 案例、EFSW 的封装,死月一直把实战贯穿在整本书之中。甚至在第 8 章里他还特意剖析了两个 C+模块,把之前讲解的基础知识部分综合起来,以便让读者可以边学边练。在如今追求大而全的时代,这本Node.js:来一打 C+扩展单纯地讲 Node.js 的某一个方面,而且讲得特别棒,真的很难得。刘琥(响马)西祠胡同创始人,fibjs 作者当你掌握了 Node.js 的上层使用,下一步进阶的方向就是研究 Node.js 的底层原理。本书为学习Node.js的实现机制打开了一扇门。书中介绍的上下文(Context)、句柄(Handle)、句柄作用域(Handle Scope)等概念直接来自源码,对于阅读 Node.js 及 V8 的源码具有极高的参考价值。潘旻琦(pmq20)Node.js 技术专家,Node.js Collaborator 之一,RubyConf 讲师之一国内Node.js偏向于原理的书目前只有朴灵的 深入浅出Node.js 一本。至今4年过去了,Node.js 的版本已经从 v0.10 发展到 v9,中间几乎没有这样系统、有深度的书籍。很高兴死月的新书弥补了这一遗憾。本书以 C+为主线,涵盖 Node.js 最核心的 libuv和 V8,对理解 Node.js 原理有极大的好处。当然最大的好处在于,使用 C+编写 Node.js Addon 可以让 Node.js 有更广阔的应用空间。我们都知道 Node.js 擅长的是 I/O 密集型任务,对于 CPU 密集型运算这是极好的弥补。特别推荐大家阅读此书,在 Node.js 应用极其广泛的今天,使用 C+编写 Node.js Addon 是更出彩的部分,你值得拥有。桑世龙(i5ting、狼叔)StuQ 明星讲师,Node.js 技术布道者,更了不起的 Node.js作者VI Node.js:来一打 C+扩展死月对 Node.js 底层机制有非常深入的了解。阅读本书,除了学习 C+扩展开发外,还会跟随死月了解 V8、libuv,相信大家对于 Node.js 的理解会更上一层楼。孙信宇(芋头)大搜车无线架构团队负责人,前端乱炖站长C+扩展其实是从外在,用 C+的角度去观察 Node.js 内在的形式。因为 Node.js 整个系统自身几乎就是构建在 C/C+之上的,所以 C+扩展只是在 Node.js 内部被称为内置模块(built-in module),在第三方角度(user-land)则被称为 Addon,它们在本质上其实没有区别。死月凭借他在 C/C+方面的深厚积累,选择从 C+扩展作为突破口,带大家领略 Node.js 底层的风光。在本书中,你能看到真正发挥巨大价值的 V8、libuv 亦是精彩纷呈。死月将 C+扩展写得这么透彻,我是服的。田永强(朴灵)高级 Node.js 技术专家,深入浅出 Node.js作者开发 C+扩展,可以扩充 Node.js 平台的本地 API,扩充 Node.js 应用的能力。本书详细介绍了包括 libuv、V8 在内的各种必要知识,是该领域比较难得的好书。对 C+开发者来说,本书既可以作为入门指引,又可以作为日常开发的有益参考。王文睿博士(Roger Wang)node-webkit 和 NW.js 项目创始人和维护者,英特尔软件架构师我至今仍然清晰记得,自己手写的第一个 Node.js C+扩展模块在 Node.js 0.6.9 跑通的那种愉悦感。随着应用升级到 Node.js 0.8,依赖的 C+扩展模块无法安装编译成功,最后发现是V8 的 API 变化导致不兼容,从此我对 C+扩展模块产生了抗拒心理。如今看到Node.js:来一打C+扩展 从实现原理到V8基础概念的一系列介绍,让我重新对C+扩展模块产生了兴趣。参考本书中的实战例子,并在 NAN 的辅助下,编写一个跨 Node.js 版本的 C+扩展已经不是什么