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框架的学习性价比是非常高的. 官 ...
随机推荐
- log4j入门
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...
- MyBatis全局配置文件MyBatis-config.xml代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- TCP 链接 存在大量 close_wait 等待
大量 close_wait 等待 调整linux下 /etc/sysctl.conf参数,里面设置参数: # net.ipv4.tcp_keepalive_time 然后执行 # sysctl -p
- Python3之网络爬虫<0>初级
由于Python3合并URLib与URLlib2统一为URLlib,Python3将urlopen方法放在了urllib.request对象下. 官方文档:https://docs.python.or ...
- Python 入门基础16 -- ATM + 购物车
ATM + 购物车 1.需求分析 2.设计程序以及程序的架构 设计程序的好处: - 扩展性强 - 逻辑清晰 3.分任务开发 4.测试 黑盒: 白盒: 对程序性能的测试 5.上线运行 # Tank -- ...
- 重新看halcon模板匹配
工业中模板匹配有很多需求. 代码如下: read_image (Image, 'J:/测试图片/test1/1.bmp') get_image_size (Image, Width, Height) ...
- VGG 参数分析 转
上面放了一个keras用vgg16训练测试的例子,我也试过用vgg16训练然后测试自己的例子,效果一般,这里我们来分析一下vgg16的网络结果 keras代码如下 def VGG_16(weights ...
- oracle建包,函数demo
create table BOOK ( BOOK_ID NUMBER(10), BOOK_NAME VARCHAR2(10) ); create or replace package chen_pac ...
- 【windows核心编程】注入DLL时BUG排除与调试
DLL注入排除bug的思路步骤. 1.在VS中监视输入err,hr检查DLL是否注入成功 2.OD断点loadlibraryW,loadlibraryA是否已经注入成功,eax是否有值. 3.检查路径 ...
- 【转】PyDev Eclipse使用技巧说明
PyDev Package Explorer 创建项目 在开展工作之前,需要创建一个新的项目.在 Eclipse 菜单栏中,选择 File > New > Project > Pyd ...