基本信息
- 作者: (美)Alex R. Young(亚历克斯·荣) Marc Harter(马克·哈特)
- 译者: 承竹等
- 出版社:电子工业出版社
- ISBN:9787121304026
- 上架时间:2016-12-8
- 出版日期:2017 年1月
- 开本:16开
- 页码:486
- 版次:1-1
- 所属分类:计算机 > 计算机组织与体系结构 > 服务器
编辑推荐
一本让你真正学会|用好Node高级技术的进阶读物
本书精心组织115 个已通过测试的例子,并细致剖析保障这些Node应用良好运行的实用技术;采用提出问题/解决问题模式,囊括基于事件的编程、流、集成外部应用和发布等重要话题。
√ 从基础到进阶的常见使用例子
√ 设计和编写模块
√ 测试和调试 Node 应用
√ Node 和现有的系统集成
内容简介
计算机书籍
《Node.js 硬实战:115 个核心技巧》是一本面向实战的Node.js 开发进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的核心基础与高级技巧。《Node.js 硬实战:115 个核心技巧》总共有三部分内容,第一部分是Node.js 的基础核心,涉及Buffer、流、网络和进程等相关知识;第二部分是项目实践,涉及测试、Web 开发、调试,生产环境等重要话题;第三部分则完整创建了一个Node.js 模块。每部分涉及的技术都有详细讲解及注释详尽的示例代码,以帮助读者们更好地理解要点及其应用。
《Node.js 硬实战:115 个核心技巧》适合有一定JavaScript 基础,追求在Node.js 上更进一步的开发者。
作译者
承竹,前支付宝前端开发工程师,现唯品会高级开发工程师。爱折腾,对计算机世界充满好奇,喜欢 JavaScript 语言,致力于成为一个理想中的靠谱软件工程师。徐佶辉,花名慕陶,08年开始工作,现任蚂蚁金服前端开发。在翻译《Node.js硬实战》这本书的过程中学到了很多,也深深发现这是本介绍node不可多得的好书。 Marc Harter 致力于构建大型项目,包括高可用的实时应用、流式接口和其他数据密集型系统。__eol__Alex Young 是一位经验丰富的 JavaScript 开发者,定期在 DailyJS 博客发表文章。
目录
1 入门 2
1.1 Node 入门3
1.1.1 为什么使用Node 3
1.1.2 Node 的主要特性5
1.2 构建一个Node 应用7
1.2.1 创建一个新的Node 项目8
1.2.2 创建一个流的类9
1.2.3 使用流10
1.2.4 编写测试11
1.3 总结13
2 全局变量:Node 环境 . 15
2.1 模块16
技巧1 安装与加载模块16
技巧2 创建与管理模块17
技巧3 加载一组相关的模块20
技巧4 使用路径22
2.2 标准I/O 以及console 对象23
技巧5 标准I/O 流的读写24
技巧6 打印日志消息25
译者序
我很幸运地有这样一个机会接触到这本书,并且承担起翻译的任务。我第一次阅读原著时就感觉,它是一本可以胜任Node.js 导师这个角色的书籍。作者认真负责地介绍了Node.js 相关的方方面面,并且附带了相当详细的例子来帮助读者快速地理解其中的要点。我相信,对于想要学习Node.js 的开发者来说,本书会是一个相当好的选择。翻译书的过程,也是一个学习的过程,原谅我们水平有限,书中翻译内容难免有疏漏。
当这本书差不多翻译完成的时候,我发现已经用了好长的时间,Node.js 技术更新得相当快,我相信小部分内容的细节上和现在的应用可能会出现些许差异,还请读者们谅解。
最后,在此对支持本书翻译工作的所有人们表示感谢,尤其是耐心容忍我们一再推迟交稿的编辑,真的非常感谢。
衷心希望本书能够对您有所帮助,请享受Node.js 给您带来的一切,谢谢。
前言
在那个时候,Node 有很多变化,我们受困于它,但是在这个过程中也学习了很多东西。从一开始,Node 关注于一个小的、低级别的核心库,来为大量多样化并且增长的用户提供足够的功能。值得庆幸的是,因为早期的一些设计决定,今天大量多样化的用户空间还存在着。Node 现在更加稳定,并且在许多初创企业和已成功企业生产环境中使用。
当Manning 联系我们来编写一本中级的、关于Node 的书时,我们想到了在过去和常见陷阱做斗争时,以及在Node 社区中获得的经验教训。尽管我们非常喜欢那些提供给开发人员的大量真正优秀的第三方模块,但是,我们留意到越来越少的开发人员接触到Node 核心基础的教学。所以我们着手编写了《Node.js 硬实战》,来以一种深入和彻底的方式,探索Node 的根源和基础,并且解决很多我们个人遇见过的,或者看到他人处理过的问题。
序言
网络应用,是Node.js 光芒闪耀的地方。亲爱的读者,你可能已经很清楚这一点,我敢说,这就是你购买本书的原因!对于读了序的这少部分人,让我来告诉你们,这一切是如何开始的。
在一开始的时候,有一个C10K 的问题,这个问题是这样的:如果你要在现代的硬件中处理10000 个并发连接,你会怎么做?
你可以看到,操作系统处理大量的网络连接在持续很长一段时间里都是很糟糕的。硬件在很多方面很糟糕,软件在另外一些方面也很糟糕,当硬件和软件集成在一起的时候……语言学家暂时还没有合适的词语,单纯用糟糕来形容对这一切并不公平。幸运的是,技术是一个进步的故事,硬件越来越好,软件越来越智能。操作系统,如用户软件等,在管理大量的网络连接上有了很大的进步。
在很久以前,我们征服了C10K 问题,现在目标转移了,我们已经把眼光投向了C100K、C500K、C1M 问题。一旦我们轻松地跨越这些界限时,我完全相信,C10M 会是下一个问题。
Node.js 是这个并发性不断增长的故事的一部分,它的未来是光明的。我们生活在一个日益互联的世界,这个世界需要一个强大的工具来连接一切。我相信Node.js 会是那个强大的工具,我希望,在读完这本书时,你会有同样的感受。
Ben Noordhuis
Cofounder, StrongLoop, Inc.
致谢
我们要感谢很多人,没有他们的帮助和支持,这本书不可能完成。
感谢Manning Early Access Program(MEAP)的在作者在线论坛发布评论和纠正的读者们。
感谢那些在书的各个阶段提供了宝贵反馈意见的技术评审们:Alex Garrett、Brian Falk、Chris Joakim、Christoph Walcher、Daniel Bretoi、Dominic Pettifer、Dylan Scott、Fernando Monteiro Kobayashi、Gavin Whyte、Gregor Zurowski、Haytham Samad、JT Marshall、Kevin Baister、Luis Gutierrez、Michael Piscatello、Philippe Charrière、Rock Lee、Shiju Varghese和Todd Williams。
感谢帮助我们每一步的Manning 团队,尤其是我们的开发编辑Cynthia Kane、编辑Benjamin Berg、校对Katie Tennant,以及其他在幕后工作的人们。
特别感谢Ben Noordhuis 为本书写序,还有Valentin Crettaz 和Michael Levin 在书出版前仔细的技术校对。
Alex Young
如果没有DailyJS 社区的鼓励,我没法完成这样的一本书。感谢近几年来和我分享模块和类库的每一个人:没有你们就无法跟上Node.js 社区的脚步。同时也要感谢我的同事允许让我在生产环境中使用Node.js。最后,感谢Yuka 让我相信我自己可以从事创业和写书这些如此疯狂的事情。
Marc Harter
我要感谢Ben Noordhuis、Isaac Schlueter,还有Timothy Fontaine,为了他们关于Node 的各种IRC 讨论:你们了解底层系统,以一种深刻的方式支持和影响着Node,从你们身上我们获益匪浅。另外,我要感谢和我一起写书的Alex,似乎很难能有像我这样和Alex一起写书的机会,更加有趣的是他是一个在美国中西部的使用英语的人。最后我要感谢的是我的妻子,她让这一切变得可能,我由衷地说一句,你是如此可爱,谢谢你。
关于本书
《Node.js 硬实战》提供给读者来深入了解Node 的核心模块和包系统。我们相信这是成为一个多产和自信的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 旅程的书。在接下来看到的页面中,Alex Young和Mare Harter 会帮助你深刻地把握Node 的核心模块、网络应用等。
网络应用,是Node.js 光芒闪耀的地方。亲爱的读者,你可能已经很清楚这一点,我敢说,这就是你购买本书的原因!对于读了序的这少部分人,让我来告诉你们,这一切是如何开始的。
在一开始的时候,有一个C10K 的问题,这个问题是这样的:如果你要在现代的硬件中处理10000 个并发连接,你会怎么做?
你可以看到,操作系统处理大量的网络连接在持续很长一段时间里都是很糟糕的。硬件在很多方面很糟糕,软件在另外一些方面也很糟糕,当硬件和软件集成在一起的时候……语言学家暂时还没有合适的词语,单纯用糟糕来形容对这一切并不公平。幸运的是,技术是一个进步的故事,硬件越来越好,软件越来越智能。操作系统,如用户软件等,在管理大量的网络连接上有了很大的进步。
在很久以前,我们征服了C10K 问题,现在目标转移了,我们已经把眼光投向了C100K、C500K、C1M 问题。一旦我们轻松地跨越这些界限时,我完全相信,C10M 会是下一个问题。
Node.js 是这个并发性不断增长的故事的一部分,它的未来是光明的。我们生活在一个日益互联的世界,这个世界需要一个强大的工具来连接一切。我相信Node.js 会是那个强大的工具,我希望,在读完这本书时,你会有同样的感受。
Ben Noordhuis
Cofounder, StrongLoop, Inc.
致谢
我们要感谢很多人,没有他们的帮助和支持,这本书不可能完成。
感谢Manning Early Access Program(MEAP)的在作者在线论坛发布评论和纠正的读者们。
感谢那些在书的各个阶段提供了宝贵反馈意见的技术评审们:Alex Garrett、Brian Falk、Chris Joakim、Christoph Walcher、Daniel Bretoi、Dominic Pettifer、Dylan Scott、Fernando Monteiro Kobayashi、Gavin Whyte、Gregor Zurowski、Haytham Samad、JT Marshall、Kevin Baister、Luis Gutierrez、Michael Piscatello、Philippe Charrière、Rock Lee、Shiju Varghese和Todd Williams。
感谢帮助我们每一步的Manning 团队,尤其是我们的开发编辑Cynthia Kane、编辑Benjamin Berg、校对Katie Tennant,以及其他在幕后工作的人们。
书摘
插图: