原文地址:All you need to know to really understand the Node.js Event Loop and its Metrics 原文作者:Daniel Khan Node.js 是一个基于事件的平台.这意味着在 Node 中发生的一切都是基于对事件的反应.通过 Node 的事件处理机制遍历一系列回调. 事件的回调,这一切都由一个名为 libuv 的库来处理,它提供了一种称为事件循环的机制. 这个事件循环可能是平台中最被误解的概念.当我们提及事件循环监测…
Node.js的第一个基本论点是I/O开销很大. 当前编程技术中等待I/O完成会浪费大量的时间.有几种方法可以处理这种性能上的影响: 同步:每次处理一个请求,依次处理.优点:简单:缺点:任何一个请求都可以阻塞所有其他的请求. Fork一个新进程:开一个新进程来处理每个请求.优点:容易:缺点:不能很好的扩展,成百上千个连接意味着成百上千个进程.fork()函数相当于Unix程序员的锤子,因为它很有用,每个问题看起来就像一个钉子,通常会被过度使用.(译者注:直译比较拗口,我理解的意思是,Unix程序…
介绍 在读这篇博客之前,我强列建议先阅读我的前两篇文章: Getting Started With Node.js Node.js - Modules 在这篇文章中,我们将学习 Node.js 中的事件循环(event loop).我们还将了解 Node.js 的代码执行过程.在我第一篇文章中我告诉大家 Node.js 是一个单线程的应用程序.因为 Node.js 运行的是 JavaScript,然而 JavaScript 是不支持多线程的,所以 Node.js 也不支持多线程.但是 Node.…
第一次接触Node.js时,就觉得他只不过是用javascript实现的服务端.但实际上他提供了许多浏览器端不具备的方法,比如EventEmitter类.我们在本文中来学习如何使用EventEmitter. EventEmitter是什么? 简单来说,使用EventEmitter,你可以监听一个事件,并且可以执行一个你绑定的回调函数.就像前端的javascript一样,你可以通过addEventListener来绑定用户的鼠标键盘交互事件,EventEmitter是基于发布订阅模式,因此我们可以…
原文 Node.js Interview Questions for 2017 什么是error-first callback? 如何避免无止境的callback? 什么是Promises? 用什么工具来保证代码的一致性风格? 为什么保持一致性风格很重要? When should you npm and when yarn? 什么是stub? 举个例子! 什么是test pyramid? 举个例子! 你喜欢哪个HTTP框架,为什么? 如何保护你的HTTP cookies 不遭受XSS攻击? 如何…
原文: http://mherman.org/blog/2015/09/10/testing-node-js-with-mocha-and-chai/#.ViO8oBArIlJ 为什么要测试? 在此之前了解为什么要测试非常重要. 通过下面的地址获取一个Node/Express的简单的CRUD应用: $ git clone https://github.com/mjhea0/node-mocha-chai-tutorial.git $ git checkout tags/v1 现在可以通过食用cu…
Node.js应用的持续部署 翻译前 翻译自:https://blog.risingstack.com/continuous-deployment-of-node-js-applications/ 正文 持续部署是... 不,让我们退一步来看持续集成.持续交付.持续部署的区别. 持续集成 持续集成是一天多次/持续地把开发的成果和主分支合并到一起的过程.有助于: 尽早捕获异常 防止「集成地狱」 大部分工作是靠自动测试完成的. 持续交付 持续交付是只将代码部署到一个可以被QA团队或者客户审查的环境.…
原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October 27, 2015 在此对作者表示感谢 Node.js作为一个基于JavaScript的开发平台,正变得越来越流行.许多开发人员都想构建通过JavaScript开发的程序和库(不论前台还是后台).令人欣喜的是,名为npm的node包管理工具,可提供超过10万个基于node.js的程序包.当我们在本地…
国庆后可能就要使用StrongLoop那套东西来做项目了 原文:http://www.javabeat.net/loopback-mysql/ Loopback是什么? Loopback是一个开源的Node.js API框架, 使用它你能很方便的创建REST API. 安装Loopback 可以直接使用npm安装Loopback 首先使用 npm install -g strongloop安装slc 命令行工具. slc命令行工具被用来创建. 接下来使用npm install -g loopba…
原文: https://blog.risingstack.com/node-js-best-practices-part-2/ 统一风格 在大团队开发JS应用, 创建一个风格指南是很有必要的. 推荐看看这个 Node.js Style Guide. JSCS是一个JS代码风格检查器. 安装命令如下: npm install jscs --save-dev 下一步在package.json文件中添加自定义脚本: scripts: { "jscs": "jscs index.js…