程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

python(0)

标签  

暂无标签

日期归档  

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

发布于2019-09-06 13:01     阅读(1252)     评论(0)     点赞(11)     收藏(1)


图灵教育&开源中国联合举办读样章赠图书活动,免费赠送《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



所属网站分类: 技术文章 > 博客

作者:gg

链接:https://www.pythonheidong.com/blog/article/99011/48ceca3e37a5efa47afe/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)