Node.js 学习笔记(一)
2012-07-30 16:03
651 查看
什么是Node.js
"Node.js 是服务器端的JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 采用V8 引擎,同样,Node.js 实现了类似Apache 和nginx 的web 服务,让你可以通过它来搭建基于JavaScript 的Web App。
图1-1:node.js主页http://nodejs.org/
下面我们解释下什么叫阻塞
上面的这段代码查询过程中进程往往是在等待查询的结束,然后将结果返回。这就造成了阻塞,这对于高迸发高密集的网络。一方面进程很长时间处于等待,一方面为了应付新的请求不断的增加新的进程,严重了服务器的性能也容易被慢链攻击(服务端故意不接收数据加长进程等待时间)
怎么解决阻塞
建立一种事件机制,当发送查询后将进程交出,当数据返回后触发事件后立即执行output;
为什么js适合解决阻塞
1.Js是函数式编程函数可以当参数直接调用,js还支持匿名函数。
2. js独特的生命周期 闭包
安装node.js
搭建第一个web
新建个hello的js
"Node.js 是服务器端的JavaScript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 采用V8 引擎,同样,Node.js 实现了类似Apache 和nginx 的web 服务,让你可以通过它来搭建基于JavaScript 的Web App。
图1-1:node.js主页http://nodejs.org/
下面我们解释下什么叫阻塞
//根据ID,在数据库中Persons表中查出Name var name = db.query("select name from persons where id=1"); //进程等待数据查询完毕,然后使用查询结果. output("name")
上面的这段代码查询过程中进程往往是在等待查询的结束,然后将结果返回。这就造成了阻塞,这对于高迸发高密集的网络。一方面进程很长时间处于等待,一方面为了应付新的请求不断的增加新的进程,严重了服务器的性能也容易被慢链攻击(服务端故意不接收数据加长进程等待时间)
怎么解决阻塞
建立一种事件机制,当发送查询后将进程交出,当数据返回后触发事件后立即执行output;
为什么js适合解决阻塞
1.Js是函数式编程函数可以当参数直接调用,js还支持匿名函数。
db.query("select name from persons where id=1",function(name){ output(name); });
2. js独特的生命周期 闭包
//异步写法: function main(){ var id = "1"; db.query("select name from persons where id=" + id,function(name){ output("person id:" + id + ", name:" + name);//n秒后数据返回后执行回调 }); } main();
安装node.js
搭建第一个web
新建个hello的js
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at ' target='_blank'>http://127.0.0.1:1337/');[/code]
在命令中输入
然后我们访问http://127.0.0.1:1337/
第一个web就搭建好了:)
相关文章推荐
- Node.js文档学习笔记(1)
- 2018年3月26日学习笔记node.js
- node.js 和 express 框架学习笔记(1)
- Node.js项目学习笔记
- node.js 基础学习笔记3 -http
- node.js学习笔记之Buffer类
- node.js学习笔记2
- Node.js学习笔记
- node.js在windows下的学习笔记(7)---express的app.js的详细配置说明
- node.js学习笔记之json数据转string
- Node.js学习笔记--简介
- node.js学习笔记——练习使用mysql
- Node.js学习笔记9——Express框架
- Node.js简介(学习笔记)(1)
- node.js+mysql学习笔记
- node.js在windows下的学习笔记(1)---安装node.js
- ES6 学习笔记 (2)-- Liunx环境安装Node.js 与 搭建 Node.js 开发环境
- node.js学习笔记之文件读写操作
- node.js学习笔记(3)_极客学院_服务器入门
- Thrift Server nodejs Client C# ---学习笔记