node.js认识及学习资料
2011年阿里就已经开始在生产环境中使用nodejs.
阿里的技术栈中,Java是最核心的,Nodejs扮演怎样的一个角色?
1、 基础设施大部分采用Java实现,变化较少,有事务要求的Business Services通常使用Java.
2、而Node.js则替代过去PHP/Java Web的场景,用在需要快速迭代,需求变化非常快的用户侧。
3、很多内部的工程化支撑系统也逐渐基于Nodel.js了。
一、nodejs是什么
nodejs是采用google chrome浏览器v8引擎,由c++编写的,本质上是以JavaScript运行环境。

不仅解析代码,也没有浏览器端的各种安全性限制,还提供系统级的API,比如文件读写,进程管理,网络通信等。
2、nodejs有多火?
npmjs上数据
20170327数据

github中搜索node相关的结果将近30万

3、 借助nodejs完成的项目
- Node-Webkit 使用web技术开发跨平台的桌面应用程序,能兼容Mac,Linux或者Windows
 - appjs和Node-Webkit相似
 - musicquiz
 - jade和nodejs组合使用,非常高效的开发和管理后台html模板
 - ghost 强大而且用户体验超好的开源博客程序。
 - Yamr
 - grunt :javascript跑各种任务的运行工具。通过集成各种插件来完成,比如样式编译、语法检查、脚本压缩合并,自动化测试,shell脚本运行,文档生成,甚至图片处理等等任务。
 - express.js
 - gulp:针对grunt的复杂配置,有了更简洁高效的组织方式。
 - nodecast:在pc上运行它,启动移动设备,选中一支持chromecast的应用程序,然后就可以把移动广播上的内容映射到电脑上。等于把电脑当做流媒体来使用。
 - log.io 在浏览器里面可以实时监控项目日志。
 - hyro
 - pdfkit 生成pdf文档。
 - haroopad, linux上的markdown编辑器。
 - noduinoWeb,硬件黑客希望通过noduinoWeb页面就能控制他们的开源硬件noduino,从而将软件和硬件很好的结合起来。
 - Filsh
 - Forever
 - NodeOS 基于nodejs开发的友好的操作系统。
 - Imdex
 
4、通过4个网站关注nodejs
- 官网:https://nodejs.org/en/ 看看版本升级,新特性的加入,重要bug的修复,包括最新的API变化,发展历史。
 - npmjs模块社区 :https://www.npmjs.com/ 开发新项目,编写新模块时,搜索一下相关模块,看看源代码,看看别人代码是如果组织的,解决项目中的问题,省时省力。
 - github代码托管平台:https://github.com/ 在这里有大量和nodejs有关的代码,阅读源码是一种很快的提供学习速度的方法,fork或者follow nodejs代码,看到它的变化和社区的变化。
 - stackoverflow技术问答社区:http://stackoverflow.com/ 环境配置出了问题,跑服务的时候报了异常 基本都能解决。
 
5、nodejs版本

稳定版本有bug修复,非稳定版本中API的修改。
6、nodejs模块与commonjs规范
nodejs中不需要有命名空间,不用担心变量污染和方法定义隔离。

每个模块中有三个部分:模块的定义,模块的标识,模块的引用。比如Nodejs/Couchdb都是实现了CommonJs规范,并反馈推动CommonJs。
命名空间:jquery
CommonJs规范:包括了模块,包,二进制,控制台编码,套接字,单元测试等来约定JavaScript应该怎么去组织,怎么去编写。

7、Node.js 入门相关资料
《汇智网 Node.js 课程》
《快速搭建 Node.js 开发环境以及加速 npm》
http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html
《Node.js 包教不包会》
https://github.com/alsotang/node-lessons
《最快的 js 编写方式》
https://github.com/alsotang/fast-js
《七天学会NodeJS》
https://github.com/nqdeng/7-days-nodejs
《Node入门-一本全面的Node.js教程》
http://www.nodebeginner.org/index-zh-cn.html
Node.js 资源
《node weekly》
《node123-node.js中文资料导航》
https://github.com/youyudehexie/node123
《A curated list of delightful Node.js packages and resources》
https://github.com/sindresorhus/awesome-nodejs
《Node.js Books》
https://github.com/pana/node-books
Node.js 名人
《名人堂》
https://github.com/cnodejs/nodeclub/wiki/%E5%90%8D%E4%BA%BA%E5%A0%82
Node.js 服务器
新手搭建 Node.js 服务器,推荐使用无需备案的 Linode(https://www.linode.com) 或 DigitalOcean(https://www.digitalocean.com/)
nodejs菜鸟教程
http://www.runoob.com/nodejs/nodejs-tutorial.html
nodejs API文档
英文api文档
本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4973500.html有问题欢迎与我讨论,共同进步。
node.js认识及学习资料的更多相关文章
- Node.js Express 框架学习
		
转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...
 - Node.js系列基础学习-----回调函数,异步
		
Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...
 - Node.js系列基础学习----安装,实现Hello World, REPL
		
Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...
 - Node.js实战项目学习系列(1) 初识Node.js
		
前言 一直想好好学习node.js都是半途而废的状态,这次沉下心来,想好好的学习下node.js.打算写一个系列的文章大概10几篇文章,会一直以实际案例作为贯穿的学习. 什么是node Node.js ...
 - Node.js实战项目学习系列(2) 开发环境和调试工具
		
前言 上一节让我们对Node.js有一个初步的了解,那么现在可以开始正式学习下Node.js的开发了,但是任何一门语言要设计到开发,就必须先学习开发环境以及调试.本文将主要讲解这些内容. 本文涉及到的 ...
 - Node.js实战项目学习系列(4) node 对象(global、process进程、debug调试)
		
前言 在之前的课程我们学习了Node的模块化规则,接下来我们将学习下 Node的几个新特性:global ,process进程,debug调试 global 跟在浏览器中的window一样都是全局变量 ...
 - node.js和MongoDB学习网址
		
回想我写的node.js和MongoDB的博客,都是菜鸟教程那里的知识,所以我打算不写了,那些都是基础,在项目开发中,我发现单单有那些基础不行,这些基础可以尽快学好,然后学习项目开发过程 下面是两个教 ...
 - Node.js权威指南学习记录
		
学习nodeJS权威指南的学习记录 导航: 1.console模块 2.全局变量 3.Buffer对象 4.事件对象 5.网络请求 6.文件操作对象 一. COMMON.js的学习.(commonJS ...
 - Node.js Koa框架学习笔记
		
Koa 基本介绍 Koa是Node.js中非常出名的一款WEB框架,其特点是短小精悍性能强. 它由Express原版人马打造,同时也是Egg框架的设计蓝图,可以说Koa框架的学习性价比是非常高的. 官 ...
 
随机推荐
- C语言指针详解(经典,非常详细)
			
前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其 ...
 - 【转载】Etcd+Confd实现Nginx配置文件自动管理
			
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lizhenliang.blog.51cto.com/7876557/191015 ...
 - java中数据字典的使用:
			
数据字典:数据库中一个字段下存在多个值的情况(type:1:肉类 2:素菜类 3:服装类): 分析: 1:这种情况下往往需要新建一张表来对应type下面的字段,通常以---表名--字段名---字段 ...
 - FastReport使用List的方法
			
public class User { string username; string password; public User(string username, string password) ...
 - tarjan,树剖,倍增求lca
			
1.tarjan求lca 思想: void tarjan(int u,int f){ for(int i=---){//枚举边 if(v==f) continue; dfs(v); //继续搜 uni ...
 - luogu 4401 矿工配餐 多维dp
			
五维dp,记忆化搜索会MLE超内存,所以用滚动数组,十分经典 五维dp #include <bits/stdc++.h> using namespace std; ; ][][][],la ...
 - Hadop 基础
			
HDFS 体系结构 mapreduce 体系结构和算法 haddop 集群 zookeeper 操作:HBase 体系结构Hive /Sqoop 体系结构和基本操作: mapreduce 逻辑处理数据 ...
 - springboot项目使用idea开启远程调试
			
远程调试是调试服务器的有效手段,远程服务器运行的应用可以在本地代码中打断点调试,能让开发人员准确定位服务器上的问题. 一.开启远程调试前提:本地代码与服务器代码一致, 二.开启远程调试步骤 1.开发工 ...
 - POJ1113 Wall【凸包】
			
题意: 求把城堡围起来需要的最小墙壁周长. 思路: 围墙周长为=n条平行于凸包的线段+n条圆弧的长度=凸包周长+围墙离城堡距离L为半径的圆周长. 代码: ...还是看大佬写的,自己做个记录方便日后复习 ...
 - 【BUG】websphere找不到类或jar包冲突
			
来自:http://liuwei1578.blog.163.com/blog/static/49580364200991572642653/ Jar包冲突问题是在大型Java软件开发中经常遇到的问题, ...