node.js 和其他服务器端语言相比优势在哪?
node.js 是一个服务器端运行JavaScript脚本的环境,这个环境下保持了客户端JavaScript的api一致,并且强制使用单进程单线程模式下工作的方式也与运行在浏览器宿主下的javascript保持一致,看似没有其他服务器端语言的任何优势,错了,上面提到的单进程单线程模式其实就是它的一大优点.
node.js 是一个服务器端运行JavaScript脚本的环境,这个环境下保持了客户端JavaScript的api一致,并且强制使用单进程单线程模式下工作的方式也与运行在浏览器宿主下的javascript保持一致,看似没有其他服务器端语言的任何优势,错了,上面提到的单进程单线程模式其实就是它的一大优点.
npm 是node.js 环境下的包管理器,非常强大智能.
npm 是node.js 环境下的包管理器,非常强大智能.
canvas 模块是npm提供的一个第三方包,国内环境安装慢的话请给npm换国内源,点击查看,用来生成图片.在本博客的应用场景是生成验证码.
如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0
学习mongoskin时发现获取db对象时应用了单体模式,顺便温习一下.
针对前后几次blog不稳定
先来温习下基础知识.
以其高性能,异步IO著称,当然node.js 在 stream 上的异步也非常到位. 我们一般理解的异步请求是这样的: 同时处理多件件事件 A,B,C,D,E,F,G .... 如果用.net语言去处理这些事情可能有2钟情况 (1) A,B ..... G 按照顺序一件一件处理,最后得到返回值. (2)开启多线程去同时执行多个事件. 而node是单线程处理语言,天生就不是富二代,资源还有限......上帝造物的时候是公平,当你发现关上一扇门的话,同时肯定会为你开一扇窗.所以node 有了异步回调. 所以node.js下的处理可能是这样的: A,B ...... G 依然是按照这个顺序处理,但是得到的返回值可能是先返回 G 然后得到 A 的.
这还要从node.js 本身的特性说起,这是一门服务器端脚本语言,其特性是单线程异步非阻塞基于事件驱动的脚本语言.