Node.js硬实战:115个核心技巧
  • 推荐0
  • 收藏6
  • 浏览2.5K

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

Alex R. Young ,Marc Harter (作者)  李旭翔 (译者)

  • 书  号:978-7-121-30402-6
  • 出版日期:2016-12-07
  • 页  数:486
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Node.js in Practice
  • 原书号:9781617290930
  • 维护人:张春雨
Node.js 是一个持续走热的供开发人员开发服务器端应用的平台,但是目前Node.js is的相关实例仍明显不足,尤其与实践差距较大。本书汇总了115种Node实践中的实用技术,书中所有代码都是经过测试、立即可用且相互关联的。内容包括基于事件编程、为什么及如何使用闭包、如何利用端到端的JavaScript应用构建自己的应用程序,等等。代码段注释丰富,非常便于读者理解,而精心设计的交叉引用则提示了某一技术与其他技术之间的联系。
一本让你真正学会|用好Node高级技术的进阶读物
译者序
JavaScript从它诞生以来就在浏览器应用中发挥着愈来愈重要的作用,同时,热爱JavaScript 的人们一直在努力地将其应用在服务器领域。2009 年,Ryan Dahl 带来了 Node.js,从那个时候开始,JavaScript 社区出现了前所未有的繁荣。现在,Node.js 对开发者来说,几乎已经是家喻户晓的了。对于传统的服务器端开发者们而言,Node.js带来了浏览器端使用已久的异步编程相关的概念,而对于前端开发者们来说,Node.js则是带来了编写服务端程序方面的挑战。当我们这些对 Node.js 一知半解的开发者野心勃勃想要征服 Node.js时,我们需要一个经验满满的导师来指引我们前行。
我很幸运地有这样一个机会接触到这本书,并且承担起翻译的任务。我第一次阅读原著时就感觉,它是一本可以胜任 Node.js 导师这个角色的书籍。作者认真负责地介绍了Node.js 相关的方方面面,并且附带了相当详细的例子来帮助读者快速地理解其中的要点。我相信,对于想要学习 Node.js 的开发者来说,本书会是一个相当好的选择。
翻译书的过程,也是一个学习的过程,原谅我们水平有限,书中翻译内容难免有疏漏。当这本书差不多翻译完成的时候,我发现已经用了好长的时间,Node.js技术更新得相当快,我相信小部分内容的细节上和现在的应用可能会出现些许差异,还请读者们谅解。
最后,在此对支持本书翻译工作的所有人们表示感谢,尤其是耐心容忍我们一再推迟交稿的编辑,真的非常感谢。
衷心希望本书能够对您有所帮助,请享受 Node.js 给您带来的一切,谢谢。


在你手中的是一本将带你进入了解Node旅程的书。在接下来看到的页面中,AlexYoung和 Mare Harter 会帮助你深刻地把握 Node 的核心模块、网络应用等。
网络应用,是 Node.js 光芒闪耀的地方。亲爱的读者,你可能已经很清楚这一点,我敢说,这就是你购买本书的原因!对于读了序的这少部分人,让我来告诉你们,这一切是如何开始的。
在一开始的时候,有一个 C10K 的问题,这个问题是这样的:如果你要在现代的硬件中处理 10000 个并发连接,你会怎么做?
你可以看到,操作系统处理大量的网络连接在持续很长一段时间里都是很糟糕的。硬件在很多方面很糟糕,软件在另外一些方面也很糟糕,当硬件和软件集成在一起的时候……语言学家暂时还没有合适的词语,单纯用糟糕来形容对这一切并不公平。幸运的是,技术是一个进步的故事,硬件越来越好,软件越来越智能。操作系统,如用户软件等,在管理大量的网络连接上有了很大的进步。
在很久以前,我们征服了 C10K 问题,现在目标转移了,我们已经把眼光投向了 C100K、C500K、C1M 问题。一旦我们轻松地跨越这些界限时,我完全相信,C10M 会是下一个问题。
Node.js 是这个并发性不断增长的故事的一部分,它的未来是光明的。我们生活在一个日益互联的世界,这个世界需要一个强大的工具来连接一切。我相信 Node.js 会是那个强大的工具,我希望,在读完这本书时,你会有同样的感受。
Ben Noordhuis
StrongLoop公司联合创始人

前言
当 Node 在 2009 年出现的时候,我们知道有一些东西不一样了。在服务端 JavaScript 并不是什么新鲜的东西。事实上,服务端的 JavaScript 几乎和客户端的 JavaScript 存在的时间一样长。Node 中,JavaScript 运行时的速度,再加上基于事件的并行,这些很多熟悉JavaScript 程序员都熟悉的东西,确实是让人感到不可抗拒。不仅仅是像我们这样背景的客户端 JavaScript 开发者——Node 吸引了从系统层面到各种服务端开发、PHP、Ruby
或者 Java 的开发者们。我们都可以发现自己身处于这变化中。
在那个时候,Node 有很多变化,我们受困于它,但是在这个过程中也学习了很多东西从一开始,Node 关注于一个小的、低级别的核心库,来为大量多样化并且增长的用户提供足够的功能。值得庆幸的是,因为早期的一些设计决定,今天大量多样化的用户空间还存在着。Node 现在更加稳定,并且在许多初创企业和已成功企业生产环境中使用。
当 Manning 联系我们来编写一本中级的、关于 Node 的书时,我们想到了在过去和常见陷阱做斗争时,以及在 Node 社区中获得的经验教训。尽管我们非常喜欢那些提供给开发人员的大量真正优秀的第三方模块,但是,我们留意到越来越少的开发人员接触到Node 核心基础的教学。所以我们着手编写了《Node.js 硬实战》,来以一种深入和彻底的方式,探索 Node 的根源和基础,并且解决很多我们个人遇见过的,或者看到他人处理过的问题。

关于本书
《Node.js 硬实战》提供给读者来深入了解 Node 的核心模块和包系统。我们相信这是成为一个多产和自信的 Node 开发者的基础。不幸的是,因为巨大并且充满活力的第三方生态系统几乎为所有的任务提供了预置好的模块,所以小小的核心很容易被错过。在这本书中,我们在官方文档的基础上来进一步实践和深入。我们想要读者能够仔细分析和研究他们编写的项目以及项目所包含的第三方模块的内部工作。
这本书不是一本 Node 的入门级别的读物。入门的话,我们建议阅读 Manning 的《Node实战》(Node.js In Action)。这本书的受众是那些对 Node 有一定经验,正在寻求更进一步的读者。建议有一定的 JavaScript 基础的读者,最好也熟悉 Windows、OS X 或者 Linux命令行的读者阅读。
同时,我们注意到很多 Node 开发者有来自客户端的 JavaScript 开发背景。因此,我们会花一些时间来解释一些不大熟悉的概念,如处理二进制数据、底层网络和文件系统的工作,以及和主机操作系统进行交互——所有这些都使用 Node 来作为教学指南。
章节路线图
这本书共分为三部分。
第一部分包括了 Node 的核心基础,我们关注于那些可能用到的 Node 核心模块(非第三方模块)。第 1 章简要概述了 Node 的目的和意义。第 2 到第 8 章每一章内容会深入Node 核心的不同方面,从 Buffers 到流,从网络到子进程。
第二部分内容关注于真实世界的开发技巧。第 9 到第 12 章的内容,将帮助你掌握 4 种非常实用的技能——测试、Web 开发、调试以及在生产环境运行 Node。除了 Node 核心模块之外,这些章节的内容也会包括许多第三方模块的使用。
第三部分将指引你以一种直接的方式来创建自己的 Node 模块,使用 npm 命令的各种方法来处理打包、运行、测试、基准测试和共享模块。它同时也包括进行有效的项目版本化的有用提示。
整本书有 115 个技巧,每一部分包括了一个特定的 Node.js 主题或者任务,包括了实际问题、解决方案和讨论部分。

目录

目录 阅读
第1部分 Node 基础
第1章 入门
第2章 全局变量:Node 环境
第3章 Buffers:使用比特、字节以及编码
第4章 Events:玩转 EventEmitter
第5章 流:最强大和最容易误解的功能
第6章 文件系统:通过异步和同步的方法处理文件
第7章 网络:Node真正的“Hello,World”
第8章 子进程:利用 Node 整合外部应用程序
第2部分 实践中的技巧
第9章 网络:构建精简的网络应用
第10章 测试:编写健壮代码的关键
第11章 调试:用于发现和解决问题
第12章 生产环境中的 Node:安全地部署应用程序
第3部分 编写模块
第13章 编写模块,掌握Node 的所有

本书勘误

印次
  • 页码:37  •  行数:倒数第 5 行  •  印次: 1

    “来触发第二个计时器在500秒后开始执行”
    应为
    “来触发第二个计时器在500毫秒后开始执行”

    余进生 提交于 2018/7/17 20:08:13
    张春雨 确认于 2018/8/21 15:43:22

读者评论

  • 在哪里下载源码

    lavenleo发表于 2017/3/30 21:05:02
    • 读者朋友你好,你所提出的问题小编已转告此书相关编辑,近期编辑会予以答复。

      博文小编发表于 2017/3/31 17:22:03
    • 读者朋友你好,资源已上传,请在此书详细页面(http://www.broadview.com.cn/book/2706)的“下载资源”板块自行下载。

      博文小编发表于 2017/4/6 14:27:11

下载资源

图书类别

相关博文

  • 我们为什么使用Node

    我们为什么使用Node

    管理员账号 2017-01-03

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

    管理员账号 2017-01-03
    822 1 1 0

相关图书

深入集群:大型数据中心资源调度与管理

李雨前 (作者)

本书内容聚焦资源侧:集群调度和管理,非一般性的应用集群调度和管理。尽管按集群调度和集群管理两大部分来进行内容组织,实质上这两部分是一体的。集群管理是为了保障集群...

¥89.00

Netty源码剖析与应用

刘耀林 (作者)

Netty涉及多线程技术、复杂数据结构与内存管理模型,它运用了各种设计模式及一些TCP的底层技术。本书对这些难点一一进行攻破,让读者能快速掌握相关知识。 本书...

¥62.30

架构解密:从分布式到微服务(第2版)

吴治辉 (作者)

微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术...

 

趣谈网络协议

刘超 (作者)

网络协议是每个程序员入门的必修课,但是完全掌握网络协议知识并进行实际应用却并非易事。在本书中,作者将结合自己从业多年的“泣血”经验,以通俗易懂、更加贴近日常生活...

¥108.00

大型系统应用架构实战:部署、容灾、性能优化

李彦超 郭东白 陈禹 谢松林 周志伟 桑植 (作者)

本书理论与实战相结合,以AliExpress 网站为基础,全面介绍大型系统的总体技术方案、全球区域化部署技术、全球网络调度技术、性能优化,以及SRE 在AliE...

 

Java微服务测试:基于Arquillian、Hoverfly、AssertJ、JUnit、Selenium与Mockito

Alex Soto Bueno, Jason Porter, Andy Gumbrecht (作者) 刘梦馨 (译者)

本书从实战出发,介绍微服务架构所带来的测试方面的挑战,以及如何利用新的技术来应对这些挑战。通过本书,读者可以学会如何编写微服务架构下的单元测试、组件测试、集成测...

¥89.00