Nodo学习手记

node学习网站推荐:

https://nodejs.org
https://www.npmjs.com/
https://github.com
http://stackoverflow.com/

http协议的知识大学时候就没搞清楚,上课在瞎混,以前浪费的时间还是要补回来的。这篇“从输入 URL 到页面加载完成的过程中都发生了什么事情?”很棒。学而时习之。
http://fex.baidu.com/blog/2014/05/what-happen/

Node.js优点:
1、采用事件驱动、异步编程,为网络服务而设计。
其实Javascript的匿名函数和闭包特性非常适合事件驱动、异步编程。
而且JavaScript也简单易学,很多前端设计人员可以很快上手做后端设计。
2、Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高性能与出众的负载能力,非常适合用作依赖其它IO资源的中间层服务。
3、Node.js轻量高效,可以认为是数据密集型分布式部署环境下的实时应用系统的完美解决方案。
Node非常适合如下情况:在响应客户端之前,您预计可能有很高的流量,但所需的服务器端逻辑和处理不一定很多。
Node.js缺点:
1、可靠性低
2、单进程,单线程,只支持单核CPU,不能充分的利用多核CPU服务器。
一旦这个进程崩掉,那么整个web服务就崩掉了。
不过以上缺点可以可以通过代码的健壮性来弥补。

NODE的应用:
本博客:hexo 就是基于node.js的一个module。

除了博客,在工作过程中还用到了node的两个重要模块:express和webpack。
前者是“是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。”
后者“可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等”。