标签:
国庆一直惦记着要找本书看看,假期之前去了趟图书馆,因为假期会有很多事,估计能看书的时间也就很短,充其量回去的车上可以看看,然后回来时候如果堵车也可以拿出来看看,而且要携带方便,所以最后选中了这本很薄的书【Node.js开发指南】
Node.js能做什么
Node.js为网络而生,使用Node.js能做的远不止开发一个网站那么简单,使用Node.js你可以轻松的开发:
1:具有复杂逻辑的网站
2:基于社交网络的大规模Web应用
3:Web Socket服务器
4:TCP/UDP套接字应用程序
5:命令行工具
6:交互终端程序
7:带有图形用户界面的本地应用程序
8:单元测试工具
9:客户端javascript编译器
Node.js的好处
Node.js内建了HTTP服务器,使我们可以轻而易举的实现一个网站和服务器的组合。这个服务器不仅可以用来调试代码,而且它本身可以部署到生产环境,它的性能足以满足要求。 Node.js还可以部署到网络环境下,比如一个命令行工具,还可以调用C++代码,这样可以充分利用已有的函数库,也可以将性能要求非常高的一部分用C++来实现。
异步式I/O与事件驱动
Node.js最大的特点是采用异步I/O与事件驱动的架构设计。对于高并发的解决方法,传统的架构是多线程模型,也就是为每一个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式I/O调用时的时间开销。Node.js是单线程模型,对于所有I/O都采用异步的请求方式,为了避免频繁的上下文切换,Node.js在执行过程中会维护一个事件队列,程序在进入事件循环等下下一个事件到来,每隔异步I/O请求完成后会被推送到事件队列,等待程序进程进行处理。
传统模式
res = db.query(‘ select * from table ‘);
res.output();
这种模式在第一步query查询的时候会造成线程阻塞,等待数据库返回,然后才能执行下一步。
使用Node.js实现
db.query(‘select * from table‘,function(res){
res.output();
})
这组代码中, db.query的第二个参数是一个函数,我们称为回调函数,不会等待查询结果返回,而是继续执行下一个方法,直到进入事件循环,当数据库结果返回时候会将事件发送到事件队列。
安装配置
出于学习的目的,直接下载一个客户端,你只需要访问 http://nodejs.org然后选在windows Installer就Ok了。然后就是直接下一步下一步了。
第一个Hello Node.js
按 ctrl+c 退出当前编辑
标签:
原文地址:http://www.cnblogs.com/LIANQQ/p/4856900.html