《Node Web开发》书评赠书活动,国内首本node书

生气的散人 发布于 2012/05/10 15:09
阅读 5K+
收藏 12

图灵教育&开源中国联合举办读样章赠图书活动,免费赠送《Node Web开发》10册!

本书核心:雅虎架构师精准解读最炙手可热的Web开发技术,用Node平台打造高性能Web应用

活动时间: 2012年5月10日~2012年5月20日
活动形式:跟贴,写不少于300字的书评
书评要求:必须是自己读过样章后的切身感受,切忌虚夸,内容力求对没有读过样章的朋友有帮助;书评人要想获奖,必须有头像;书评无其他特殊要求,只要是谈论本书内容、特色、阅读感受或者建议即可。 

奖品设置:《Node web开发》10册。

活动规则:此次活动结束后,会挑选10篇优秀书评,获奖者可以获赠《Node web开发》图书1册。(纯粹的顶帖或灌水帖将不作为有效书评进行评选)


书名:《Node web开发》

作者:David Herron

书号:978-7-115-27832-6

定价:35.00元 ­

出版社:人民邮电出版社图灵公司 ­

出版时间:2012年5月 ­  ­

样章试读:《Node web开发》.pdf,下载需要登录,请不要使用下载工具下载)

内容简介:作为服务器端的JavaScript解释器,Node是一个轻量高效的开发平台,用于构建响应快速、高度可扩展的Web应用。它使用事件驱动和非阻塞的I/O模型,非常适合开发数据密集、对实时响应要求高的分布式应用,在微软、eBay、LinkedIn、雅虎等世界知名公司均有成功的应用。   

本书是Node开发基础教程,通过大量示例介绍如何使用HTTP服务器和客户端对象、Connect和Express应用框架、异步执行算法,以及如何结合使用SQL和MongoDB数据库。另外,本书同时针对开发和部署环境给出了实用的Node安装建议,介绍了HTTP服务器和客户端应用的开发,阐述了很多Node使用方式,包括在应用中使用数据库存储引擎,以及在有无Connect/Express Web应用框架的情况下开发网站的方法。本书还介绍了Node的CommonJS模块系统,帮助开发人员实现一些重要的面向对象设计方案。
本书适合具有一定JavaScript和Web应用开发基础知识、打算使用服务器端JavaScript开发高性能Web应用的开发人员阅读。

本书内容包括:

  • 服务器端JavaScript对于Web应用开发的作用
  • 使用Node时,针对性能和吞吐量作出成熟的架构选择
  • 为开发和部署服务器端Web应用安装和使用Node
  • Connect和Express应用框架的使用
  • 在应用中设置SQL或MongoDB数据库系统
  • 区分并评估同步算法和异步算法

作者简介:David Herron  软件开发人员和软件质量工程师,在硅谷从业20多年,目前在雅虎担任质量工程小组的架构师,管控公司基于Node开发的Web应用平台的质量。

他曾为Sun公司主管工程师,并作为Java SE质量工程小组的架构师负责开发自动化测试工具(包括现在广泛用于GUI自动测试软件的AWT Robot类),期间参与了OpenJDK和JDK-Distros项目的启动,举办了世界性的Mustang Regressions大赛,让Java开发者社区寻找Java 1.6的bug。
任职Sun公司之前,他曾为VXtreme公司开发视频流处理工具(Windows Media Player的前身),在Wollongong集团从事电子邮件客户端和服务器软件的开发,加入了互联网工程任务组,负责改进与电子邮件相关的协议。

前  言

欢迎光临Node(也叫Node.js)开发的世界。Node是一种新兴的软件开发平台,它将JavaScript从Web浏览器移植到常规的服务器端。Node运行在Chrome的高速V8引擎上,并附带了一个快速、健壮的异步网络I/O组件库。Node主要用于构建高性能、高可扩展的服务器和客户端应用,以实现真正“实时的Web应用”。

在经过数年尝试用Ruby和其他语言实现Web服务器组件之后,Ryan Dahl在2009年开发了Node平台。这个探索使他从使用传统的、基于线程的并发模型转向使用事件驱动的异步系统,因为后者更简单(多线程系统以难于开发著称),系统开销更低(与对每个连接维护一个线程相比),因而能提高相应的速度。Node旨在提供一个“创建可扩展网络服务器的简单方式”。这个设计受到了Event Machine(Ruby)和Twisted框架(Python)的影响,并和它们有些类似。

本书致力于讲述如何用Node构建Web应用。我们会在书中介绍快速学习Node时一些必需的重要概念。本书会教你编写真正的应用,剖析其工作原理,并讨论如何在程序中应用这些理念。我们需要安装Node和npm,学习安装和开发npm包及Node模块。此外,我们还会开发一些应用,度量长时间运行的计算在Node的事件循环中的响应能力,介绍将高负载的工作分派到多个服务器的方法,并介绍Express框架。

本书内容
第1章“Node入门”,介绍了Node平台。这一章讲述了Node的用途、技术构架上的选择、Node的历史和服务器端JavaScript的历史,然后介绍为什么JavaScript仍将受困于浏览器。

第2章“安装并配置Node”,介绍如何配置Node开发环境,包括多种从源码编译和安装的场景,还会简单介绍在开发环境中如何部署Node。

第3章“Node模块”,解释了作为开发Node应用基本单位的模块。我们会全面介绍并开发Node模块。然后进一步介绍Node包管理器npm,给出一些使用npm管理已安装包的例子,还将涉及开发npm包并将其发布出来供他人使用。

第4章“几种典型的简单应用”,在读者已经有一些Node基础知识后,开始探索Node应用的开发。我们会分别使用Node、Connect中间件框架和Express应用框架开发一个简单的应用。虽然应用比较简单,但是我们可以通过其开发探索Node的事件循环,处理长时间的运算,了解异步和同步算法以及如何将繁重的计算交给后台服务器。

第5章“简单的Web服务器、EventEmitter和HTTP客户端”,介绍了Node里的HTTP客户端和服务器对象。我们会在开发HTTP服务器和客户端应用的同时全面深入介绍HTTP会话。

第6章“存取数据”,探讨大部分应用都需要的长期可靠的数据存储机制。我们会用SQL和MongoDB数据库引擎实现一个应用。在此期间,我们将用Express框架实现用户验证,更好地展示出错页面。

阅读要求
目前,我们一般会采用源码的方式安装Node,这种方式可以很好地用在类Unix和符合POSIX标准的系统上。当然,在接触Node之前,谦逊的心态是必需的,但最为重要的事情还是让大脑供血充足。

从源码安装的方式需要一个类Unix或类POSIX系统(比如Linux、Mac、FreeBSD、OpenSolaris等)、新的C/C++编译器、OpenSSL库和Python 2.4或更新版本。
Node程序可以用任何文本编辑器来写,不过一个能处理JavaScript、HTML、CSS等的文本编辑器会更有帮助。

尽管本书介绍的是Web应用开发,但你并不需要拥有一个Web服务器。Node有自己的Web服务器套件。

读者对象
本书写给所有想在一个新的软件平台上开拓新编程模式的软件工程师。
服务器端程序员或许能看到一些新奇的概念,对Web应用开发产生新的理解。JavaScript是一门强大的语言,Node的异步特性发挥了JavaScript的优势。
浏览器端JavaScript“攻城师”或许会觉得在Node中使用JavaScript和编写与DOM操作无关的JavaScript代码很有趣。(Node平台上没有浏览器,所以也没有DOM,除非你安装JSDom。)
虽然本书各章内容由浅入深,循序渐进,但到底如何阅读本书悉听尊便。
本书需要读者知道如何编写软件,并且对JavaScript等编程语言有所了解。

排版约定
在本书中,读者会发现不同的文本样式。下面是这些样式的示例和说明。
正文中的代码使用特殊字体:“http对象封装HTTP协议,它的http.createServer方法会创建一个完整的Web服务器,而.listen方法用于监听特定的端口。”
代码块是这样的:
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running athttp://127.0.0.1:8124/');
代码块中会加粗突出显示代码,这表示需要读者格外注意:
var util = require('util');
var A = "a different value A";
var B = "a different value B";
var m1 = require('./module1');
util.log('A='+A+' B='+B+' values='+util.inspect(m1.values()));
命令行的输入输出是这样的:
$ sudo /usr/sbin/update-rc.d node defaults
新术语及重要词汇都会加粗显示。你将在屏幕上看到的文字,比如菜单或对话框中的文字,会这样在正文中提到:“一个真正安全的系统至少会有用户名和密码输入框。不过,我们这里就直接让用户单击Login按钮了。”


读者反馈
我们始终欢迎来自读者的反馈意见。我们想知道读者对本书的看法,读者喜欢哪些内容或不喜欢哪些内容。读者真正深有感触的反馈,对于我们开发图书产品至关重要。
一般的反馈可以发邮件到feedback@packtpub.com,但请在邮件标题中注明相关书名。
如果有关于新书的建议,你可以登录www.packtpub.com,填写SUGGEST A TITLE表单或者向suggest@packtpub.com发送邮件。
如果你在某个领域积累了丰富的经验,想写一本书,或者愿意与人合著或审校某本书,请阅读www.packtpub.com/authors上的作者指南。
读者服务
现在你已是Packt引以为荣的读者了,因此我们特别要交待几件事,以保障你作为读者的最大权益。


下载示例代码
在www.packtpub.com通过自己的账号购买图书的读者,可以下载所有已购买图书的代码 。如果这本书是你在其他地方购买的,访问www.packtpub.com/support并注册,我们将通过电子邮件将相关文件发送给你。
勘误
虽然我们会全力确保本书内容的准确性,但错误仍在所难免。如果你发现了本书中的错误(包括文字和代码错误),而且愿意向我们提交这些错误,我们会十分感激。这样一来,不仅可以减少其他读者的疑虑,也有助于本书后续版本的改进。要提交错误,请访问www. packtpub.com/support,选择相关图书,单击errata submission form链接,然后输入勘误信息。经过验证后,你提交的勘误信息就会添加到已有的勘误列表中。要查看已有的勘误信息,请访问www.packtpub.com/support并选择相关图书。

《Node Web开发》.pdf

加载中
0
空指针
空指针
顶一下。
0
Google
Google
等你们的 HTML5程序设计 
0
生气的散人
生气的散人
@google 这本书还没入库
铂金小猪
铂金小猪
呀,你也在这里噶
0
maoxiaojian
maoxiaojian
期盼已久啊,呵呵。
0
梓州龙井
梓州龙井
一直在关注着nodejs 下载了   好好读读     我想知道书评直接在这儿评论就可以吗
0
生气的散人
生气的散人
@龙井来了 是的,看完样章后在此活动下方评论即可。
0
飞晏
飞晏

Node.js的http处理能力高于nginx这点就可怕了,它的一些不足比如不支持cookie、身份验证不是问题,完全可以结合使用其他服务去弥补。

之前一边学习一边开发过PHP+Node.js+Redis的消息推送功能,虽然只应用Node.js里面很小的一个功能,但是其强大还是改变了很多同事对javascript的认知,有同事已经开始使用Node.js和HTML5开发Web游戏,

看Node.js火热的程度大有超过nosql的趋势,加油!

0
fzxa
fzxa
读《Node Web开发》有感

我是个PHP开发者,但对前端非常感兴趣
越来越多的网站采用了nodejs开发网站
我有预感,未来web程序语言要被Javascript统一,呵呵
记得国内出第一本div+css,第一本html5的书我都买了,
今天偶然发现国内第一本nodejs书籍,心里一阵狂喜
第一时间拿到试读PDF,扫了一下各个章节,目录比较中规中矩,
前两章为入门,搭建环境,此处适合没有接触过nodejs的新手学习
我已经用过node一段时间了。所以略过了入门章节.

试读PDF中提供了第一章和第四章节
我个人习惯买书从后往前看
所以先看了第四章,这里很多可圈可点的地方,值得学习
书中有句话说的好 "我们会尽量保持应用足够简单"
读完之后觉得里面的言语的确浅显易懂,
完整的介绍了一个"Math Wizard"的例子
首先书中采取了两种方式实现
第一种用原生nodejs实现,第二种用connect框架实现
第一种方法实现的好处是了解nodejs的各函数功能
但是缺点是没有引入模板引擎,这样代码掺杂html,看起来会很乱
第二种采用了connect框架
好处是开发模式规范,代码结构清晰
缺点是初级开发者需要一段时间消化内容
现在大部分web开发都采用了ROR的开发思想
Node Connect框架也不例外,但需要前端开发人员事先了解这种开发模式
如果要学好nodejs还需要自己多下点功夫研究。

看完第四章再回来看第一章
印象比较深的是,讲述了NodeJS的优势
* 网线两端可能是相同的程序员;
* 代码能更容易地在服务器端和客户端间迁移;
* 服务器端和客户端使用相同的数据格式(JSON);
* 服务器端和客户端使用相同的开发工具;
* 服务器端和客户端使用相同的测试或质量评估工具;
* 当编写Web应用时,视图模板能在两端共享;
* 服务器端和客户端团队可使用相似的编程风格。
书中介绍Node的性能和效率可以非常的优秀
甚至超越了Apache,Nginx
这些使我对NodeJS未来的发展更加有信心,学Node应该没错。

总结
书中的知识重点都已经加粗显示,这样比较好,
使我们能重点关注一些作者认为比较有用的知识点
适合WEB开发人员阅读,对于有一定经验的后端工程师理解起来非常简单
前端工程师阅读起来相对来说有一定难度,不过问题不大
只要细读这本书,会领悟到书中的精髓所在。
对Node有无限的憧憬和期待
(完)
0
ObjNotFoun
ObjNotFoun
关注Node很久,终于看见了一本关于Node.js的书。花俩小时细细看完,写点自己的看法,大家轻拍 :)
一、翻译得很用心,读起来很舒服。
“把一本好书翻译成烂书是一种犯罪”,这本书原作是老美的,从这本书的字里行间很明显能感觉到图灵的译者在翻译上很用心,整体读起来很顺畅,很专业,不像之前度过的某些书(这里就不点名了:))那叫一个蹩脚。
二、内容很有料
本书主要以说清楚原理和应用为主,特点是“小而精”。大部分是叙述原理和应用,恰当地配上很精巧的小例子,读一小段基本上能弄清一个问题或者原理。而且原作者分块很清晰,把大的问题分成一个一个小块,依次描述,这点很赞!(ps:个人对国内某些作者在书中整篇整篇贴大量代码凑页数的方式深恶痛绝,很长一段时间对国内作者的书很是排斥,不知道各位有没有同样遭遇。)
三、排版很友好
排版上重点很突出。小标题、项目列表、代码加粗。读起来不会让人有眉头紧皱的压迫感~

个人认为是Node入门的好书,但只适合熟悉javascript,有一定编程基础的人读。读了这几个样章,基本上了解了Node的用途、优势、特点和应用范围。Node有很多优势,很看好它的发展前景。希望日后能细细研读全书,好好学习学习~
0
Sephiroth
Sephiroth
活动是要支持的。
返回顶部
顶部