NodeJs菜鸟初始
添加时间:2013-6-21 点击量:
我们先来懂得下什么是nodejs
一、nodejs具有事务驱动、异步编程的特点。
事务驱动这个词并不陌生,在某些传统说话的收集编程中,我们会用到回调函数,比如当socket资料达到某种状况时,注册的回调函数就会履行。Node.js的设计思惟中以事务驱动为核心,它供给的绝大多半API都是基于事务的、异步的风格。以Net模块为例,此中的net.Socket对象就有以下事务:connect、data、end、timeout、drain、error、close等,应用Node.js的开辟人员须要按照本身的营业逻辑注册响应的回调函数。这些回调函数都是异步履行的,这意味着固然在代码布局中,这些函数看似是依次注册的,然则它们并不依附于自身呈现的次序,而是守候响应的事务触发。事务驱动、异步编程的设计,首要的上风在于,充沛哄骗了体系资料,履行代码无须梗阻守候某种操纵完成,有限的资料可以用于其他的任务。此类设计很是合适于后端的收集办事编程,Node.js的目标也在于此。在办事器开辟中,并发的恳求处理惩罚是个大题目,梗阻式的函数会导致资料浪费和时候延迟。经由过程事务注册、异步函数,开辟人员可以进步资料的哄骗率,机能也会改良。从Node.js供给的支撑模块中,我们可以看到包含文件操纵在内的很多函数都是异步履行的,这和传统说话存在差别,并且为了方燕办事器开辟,Node.js的收集模块希罕多,包含HTTP、DNS、NET、UDP、HTTPS、TLS等,开辟人员可以在此根蒂根基上快速构建Web办事器。
二、nodejs的机能解析
Node.js的机能不错。遵守开创人Ryan Dahl的说法,机能是Node.js推敲的首要身分,选择C++和V8而不是Ruby或者其他的虚拟机也是基于机能的目标。Node.js在设计上也是斗劲大胆,它以单过程、单线程模式运行(很吃惊,对吧?这和Javascript的运行体式格式一致),事务驱动机制是Node.js经由过程内部单线程高效力地保护事务轮回队列来实现的,没有多线程的资料占用和高低文切换,这意味着面对大范围的http恳求,Node.js凭借事务驱动搞定一切,习惯了传统说话的收集办事开辟人员可能对多线程并发和协作很是熟悉,然则面对Node.js,我们须要接管和懂得它的特点。由此我们是否可以揣摩出如许的设计会导致负载的压力集中在CPU而不是内存。既然Node.js采取单过程、单线程模式,那么在如今多核硬件风行的景象中,单核机能超卓的Node.js如何哄骗多核CPU呢?开创人Ryan Dahl建议,运行多个Node.js过程,哄骗某些通信机制来调和各项任务。今朝,已经有不少第三方的Node.js多过程支撑模块公布
起首我们要安装在ubuntu下安装一些nodejs的根蒂根基安装包
apt-get install nodejs
apt-get install npm
建议安装之后看下nodejs的版本是几许,因为一些ubuntu自带的nodejs版本斗劲老,由此导致npm install不了一些node模块组件
针对斗劲老的版本,建议从头安装一下nodejs
wget http://nodejs.org/dist/v0.10.12/node-v0.10.12.tar.gz
tar zxvf node-v0.10.12.tar.gz
cd node-v0.10.12
./configure
make && make install
以上就是nodejs的所须要的安装包
下面就让大师来熟悉下nodejs的一些根蒂根基
建议大师去看看这篇(http://wenku.baidu.com/view/22a03f6d011ca300a6c39092.html):小我感触感染对于有些js根蒂根基的童鞋还是很有帮助的,可以或许让你简单的入门。
看完上方这篇文章我信赖大师对nodejs有了初步的懂得了,因为本人也在初学阶段,所以懂得的就这么多啦,顺带一些大师看完上方的可以懂得一些nodejs的框架express。
后续的等博主持续尽力后在将一些材料收拾给大师哈
彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
我们先来懂得下什么是nodejs
一、nodejs具有事务驱动、异步编程的特点。
事务驱动这个词并不陌生,在某些传统说话的收集编程中,我们会用到回调函数,比如当socket资料达到某种状况时,注册的回调函数就会履行。Node.js的设计思惟中以事务驱动为核心,它供给的绝大多半API都是基于事务的、异步的风格。以Net模块为例,此中的net.Socket对象就有以下事务:connect、data、end、timeout、drain、error、close等,应用Node.js的开辟人员须要按照本身的营业逻辑注册响应的回调函数。这些回调函数都是异步履行的,这意味着固然在代码布局中,这些函数看似是依次注册的,然则它们并不依附于自身呈现的次序,而是守候响应的事务触发。事务驱动、异步编程的设计,首要的上风在于,充沛哄骗了体系资料,履行代码无须梗阻守候某种操纵完成,有限的资料可以用于其他的任务。此类设计很是合适于后端的收集办事编程,Node.js的目标也在于此。在办事器开辟中,并发的恳求处理惩罚是个大题目,梗阻式的函数会导致资料浪费和时候延迟。经由过程事务注册、异步函数,开辟人员可以进步资料的哄骗率,机能也会改良。从Node.js供给的支撑模块中,我们可以看到包含文件操纵在内的很多函数都是异步履行的,这和传统说话存在差别,并且为了方燕办事器开辟,Node.js的收集模块希罕多,包含HTTP、DNS、NET、UDP、HTTPS、TLS等,开辟人员可以在此根蒂根基上快速构建Web办事器。
二、nodejs的机能解析
Node.js的机能不错。遵守开创人Ryan Dahl的说法,机能是Node.js推敲的首要身分,选择C++和V8而不是Ruby或者其他的虚拟机也是基于机能的目标。Node.js在设计上也是斗劲大胆,它以单过程、单线程模式运行(很吃惊,对吧?这和Javascript的运行体式格式一致),事务驱动机制是Node.js经由过程内部单线程高效力地保护事务轮回队列来实现的,没有多线程的资料占用和高低文切换,这意味着面对大范围的http恳求,Node.js凭借事务驱动搞定一切,习惯了传统说话的收集办事开辟人员可能对多线程并发和协作很是熟悉,然则面对Node.js,我们须要接管和懂得它的特点。由此我们是否可以揣摩出如许的设计会导致负载的压力集中在CPU而不是内存。既然Node.js采取单过程、单线程模式,那么在如今多核硬件风行的景象中,单核机能超卓的Node.js如何哄骗多核CPU呢?开创人Ryan Dahl建议,运行多个Node.js过程,哄骗某些通信机制来调和各项任务。今朝,已经有不少第三方的Node.js多过程支撑模块公布