第一章 nodejs入门一.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nodejs学习笔记 felayman制作 1.nodejs的简介(摘自百度百科) Node.js 是一个基于ChromeJavaScript 运行时建立的一个平台, 用来方便地搭建快速 的 ,易于扩展的网络应用· Node.js 借助事件驱动 ,非阻塞 I/O 模型变得轻量和高效 ,非 常适合 runacross distributeddevices 的 data-intensive 的实时应用·Node.js是一个 可以快速构建网络服务及应用的平 [2]。该平台的构建是基于Chromes JavaScript runtime,也就是说 ,实际上它是对GoogleV8引擎 (应用于GoogleChrome浏览器)进 行了封装。[2] V8引擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化, 提供了替代的API ,使得V8在非浏览器环境下运行得更好。[3] 例如 ,在服务器环境中 ,处理二进制数据通常是必不可少的 ,但Javascript对此支持不足 , 因此,V8.Node增加了 Buffer类 ,方便并且高效地处理二进制数据。因此,Node不仅仅 简单地使用了V8 ,还对其进行了优化,使其在各环境下更加给力。 2009年2月,RyanDahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提 供一套库。 2009年5月 ,RyanDahl在GitHub上发布了最初版本的部分Node.js包 ,随后几个月里 , 有人开始使用 Node.js开发应用。 2009年11月和2010年4月,两届JSConf大会都安排了 Node.js的讲座。 2010年年底,Node.js获得云计算服务商Joyent资助,创始人 Ryan Dahl加入Joyent 全职负责 Node.js的发展。 2011年7月,Node.js在微软的支持下发布Windows版本。[4]V8引擎本身使用了一些 最新的编译技术。这使得用Javascript这类脚本语言编写出来的代码运行速度获得了极大 提升,却节省了开发成本。对性能的苛求是 Node的一个关键因素。 Javascript是一个事 件驱动语言 ,Node利用了这个优点 ,编写出可扩展性高的服务器。Node采用了一个称为 “事件循环(eventloop)”的架构 ,使得编写可扩展性高的服务器变得既容易又安全。提高 服务器性能的技巧有多种多样。Node选择了一种既能提高性能 ,又能减低开发复杂度的架 构。这是一个非常重要的特性。并发编程通常很复杂且布满地雷。Node绕过了这些 ,但仍 提供很好的性能。 Node采用一系列 “非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之 类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘 准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问 ,直 观,易懂。尤其是对于熟悉onmouseover、onclick等 DOM事件的用户,更有一种似曾 相识的感觉。 虽然让Javascript运行于服务器端不是 Node的独特之处,但却是其一强大功能。不得不 承认 ,浏览器环境限制了我们选择编程语言的自由。任何服务器与日益复杂的浏览器客户端 应用程序间共享代码的愿望只能通过 Javascript 来实现。虽然还存在其他一些支持 Javascript在服务器端 运行的平台,但因为上述特性,Node发展迅猛,成为事实上的平 台。 在 Node启动的很短时间内 ,社区就已经贡献了大量的扩展库 (模块)。其中很多是连接数 据库或是其他软件的驱动,但还有很多是凭他们的实力制作出来的非常有用的软件。 最后,不得不提到的是 Node社区。虽然 Node项目还非常年轻,但很少看到对一个项目 如此狂热的社区。不管是新手,还是专家,大家都围绕着项目,使用并贡献自己的能力 ,致 力于打造一个探索、支持、分享、听取建议的乐土。nodejs作为一个新兴的后台语言,有 很多吸引人的地方: RESTfulAPI 单线程 Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js 是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利 用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。 非阻塞IO V8虚拟机 事件驱动 2012年12月22 日,Luvit0.

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档