随笔分类 - Node.js
摘要:一.前言大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算。所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行。随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0版本,Nodej...
阅读全文
摘要:BigPipe 是 Facebook 开发的优化网页加载速度的技术。网上几乎没有用 node.js 实现的文章,实际上,不止于 node.js,BigPipe 用其他语言的实现在网上都很少见。以至于这技术出现很久以后,我还以为就是整个网页的框架先发送完毕后,用另一个或几个 ajax 请求再请求页面内...
阅读全文
摘要:上一节讲了安装Express,并且生成了一个"microblog"的工程,我们的目标是在工程下安装XTemplate:1.安装xtplnpm install xtpl xtemplate --save2.在views目录添加test.xtpl文件,其内容为this is {{title}}!3.可以...
阅读全文
摘要:1.首先肯定是要安装Node.JSnpm install -g expressnpm install -g express-generator 运行express -V输出 4.9.02.创建一个工程express -e microblog //即ejs,-j(即jade)cd microblogn...
阅读全文
摘要:XTemplate 是富逻辑的 KISSY 模板引擎,面向复杂的业务逻辑场景,同时保持高性能和丰富的配置方法,是易学易懂的模板语言。一个典型的XTemplate模板实例:Hello {{name}}You have just won ${{value}}!{{#if data}} {{#eac...
阅读全文
摘要:在确认已经安装了node之后(下载), 在你的机器上创建一个目录,让我们来开始你的第一个应用程序吧$ mkdir hello-world在这个目录中你首先得定义一下你的应用程序“包”文件,它和其它的node程序包是一样的。 你得在这个目录中创建一个package.json文件,在里面express作...
阅读全文
摘要:随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版...
阅读全文
摘要:1.下载npm源代码:https://github.com/isaacs/npm/tags2. npm源代码解压到D:\npmjs目录中。 在命令提示符窗口中执行下面的操作,完成npm的安装:D:\>cd npmjsD:\npmjs>node cli.js install -gf 另外:node c...
阅读全文
摘要:$lt、$lte、$gt、$gte和$ne$in、$nin、$or$mod、$not$exists条件句式内层文档的键,修改器是外层文档的键,一个键可以有多个条件,但是一个键不能对应多个更新修改器支持正则表达式,采用基于Perl(PCRE)库来匹配查询数组$all、$size、$slice内嵌文档针对其特定键值进行查询才是好做法,对于数组则采用$elemMatch利用JS查询$where游标用来返回find的执行结果,客户端可以对其结果进行处理得到想要的集合,实现的方法有hasNext、next、forEach,当调用find的时候,shell并不立即查询数据库,而是等待真正要求获得结果的时候
阅读全文
摘要:Netscape Navigator 在 90 在年代中期对 JavaScript 进行了集成,这让网页开发人员对 HTML 页面中诸如 form 、frame 和 image 之类的元素的访问变得非常容易。由此 JavaScript 很快成为了用于定制控件和添加动画的工具,到 90 年代后期的时候,大部分的 JavaScript 脚本仅仅完成像“根据用户的鼠标动作把一幅图换成另一幅图”这样简单的功能。随着最近 AJAX 技术的兴起,JavaScript 现在已经变成了实现基于 web 的应用程序(例如我们自己的 Gmail)的核心技术。JavaScript 程序从聊聊几行变成数百 KB 的代
阅读全文
摘要:如果已读过V8编程入门那你已经熟悉了如句柄(handle)、作用域(scope)和上下文(context)之类的关键概念,以及如何将V8引擎作为一个独立的虚拟机来使用。本文将进一步讨论这些概念,并介绍其他有关V8引擎嵌入C++应用程序的关键概念。V8引擎的API提供了编译执行脚本、访问C++方法和数据结构、处理错误、执行安全检查等功能。你的应用程序可以像使用其他C++库一样使用V8引擎。你可以通过在C++代码中包含头文件include/v8.h来访问V8引擎的API。在V8引擎设计理念这篇文章中提供的背景信息,可能会对您优化您的应用程序有所帮助。句柄和垃圾收集句柄是对保存在堆(heap)中的J
阅读全文
摘要:本文档介绍了V8引擎的一些关键概念,并提供了例子hello world指引你入门。Hello World让我们看一个Hello World的示例,它将一个字符串参数作为JavaScript语句,执行JavaScript代码,并将结果打印到控制台。view plaincopy to clipboardprint?intmain(intargc,char*argv[]){//CreateastringcontainingtheJavaScriptsourcecode.Stringsource=String::New("'Hello'+',World'&qu
阅读全文
摘要:准备工作(1)本机系统说明:本人机器为win7 64位,32位也可以。(2)软件安装: VISUAL C++ 2010 EXPRESS(Visual Studio 2010也可以); windows下安装NodeJS,可以从官网http://www.nodejs.org下载msi版进行快捷安装;(3)源码准备:从官网下载SourceCode版本node-v0.10.5.tar(笔者下载时的最新代码版本为v0.10.5),解压到windows任意目录下,如D:\node-v0.10.5。编写node的C/C++原生扩展[1]打开Windows命令行cmd.exe,进入D:\node-v0.1..
阅读全文
摘要:1.下载前期准备node.js下载地址http://nodejs.org/WebStrom5下载地址:http://download-ln.jetbrains.com/webide/WebStorm-5.0.4.exeWebStrom5注册机地址http://download.csdn.net/detail/youyudehexie/50284332.配置与安装网上有资源,我就不重复了http://www.tuicool.com/articles/UnmaAn3.创建一个简单的node.js工程3.1 安装node.js安装刚才从官网下载的node.js的安装包后,安装的时候请按照默认路径来安
阅读全文
摘要:Node.js是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写Node.JS扩展会是一个不错的注意。以下所有例子的源代码可在node扩展示例中找到 。编写Node.js C + +扩展很大程度上就像是写V8的扩展; N...
阅读全文
摘要:对象ECMAScript做为一个高度抽象的面向对象语言,是通过对象来交互的。即使ECMAScript里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。一个对象就是一个属性集合,并拥有一个独立的prototype(原型)对象。这个prototype可以是一个对象或者null。让我们看一个关于对象的基本例子。一个对象的prototype是以内部的[[Prototype]]属性来引用的。但是,在示意图里边我们将会使用____下划线标记来替代两个括号,对于prototype对象来说是:__proto__。对于以下代码:var foo = { x: 10, y: 20};我们拥有一个这样的..
阅读全文
摘要:JavaScript单线程的误解在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。诚然,在前端的浏览器中,由于前端的JavaScript与UI占据同一线程,执行JavaScript确实为UI响应造成了一定程度上的麻烦。但是,除非用到超大的循环语句执行JavaScript,或是用阻塞式的Ajax,或是太过频繁的定时器执行外,JavaScript并没有给前端应用带来明显的问题,所以也很少有朋友抱怨JavaScript是单线程而不能很好利用多核CPU的问题,因为
阅读全文
摘要:前言大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文Node.js at PayPal解释了为什么从Java迁移出来的原因: 开发效率提高一倍(2个人用更少的时间干了5个人的活), 性能提高一倍, 代码量减少33%, 文件减少40%,深层次原因是Java正在越来越走向封闭,而且变得越来越复杂而且oracle正在对Java收费,参见:Oracle计划发布收费版JVM, 这促使了越来越多的公司加入了去Java化的队伍,外面有很多人说PayPal正在迁移到node.js平台。我很高兴地在这里宣布,传言是真的,我们正在从Java迁移至node.j,由
阅读全文

浙公网安备 33010602011771号