编程高手解读什么是NodeJs? 首先在搞清楚什么NodeJs之前,我们先来聊聊JavaScript,只要做过开发的人都应该知道JavaScript是目前最为流行的前端(客户端)脚本语言,JavaScript在Web项目中的使用率可以说是99%以上,不夸张的举个例子:"现在你打开的100个网页中,有99个都使用了JavaScript"。那么为什么JavaScript这么火,其实原因非常非常的简单,JavaScript出现赋予网页新的生命力,从一开始它只为表单验证而生,到现在百万亿的网...
进程管理1.调用终端命令实现目录目录拷贝var child_procress = require(‘child_procress‘); var util = require(‘util‘);function copy(source, target, callback){ child_procress.exec(util.format(‘cp -r %s/* %s‘, source, target), callback); }copy(‘a‘, ‘b‘, function(err){ // ... });2.Process3.Child Procress4.Cluster进程管理有好多东西,但是却不是能写清楚的,具体需要什么...
NodeJS 最大的卖点——事件机制和异步 IO,对开发者并不是透明的。开发者需要按异步方式编写代码才用得上这个卖点,而这一点也遭到了一些 NodeJS 反对者的抨击。但不管怎样,异步编程确实是 NodeJS 最大的特点,没有掌握异步编程就不能说是真正学会了 NodeJS。本章将介绍与异步编程相关的各种知识。
在代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。我们首先可以看看以下代...
NodeJS 最大的卖点——事件机制和异步 IO,对开发者并不是透明的。开发者需要按异步方式编写代码才用得上这个卖点,而这一点也遭到了一些 NodeJS 反对者的抨击。但不管怎样,异步编程确实是 NodeJS 最大的特点,没有掌握异步编程就不能说是真正学会了 NodeJS。本章将介绍与异步编程相关的各种知识。
在代码中,异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。我们首先可以看看以下代...
简单的来说,node.js 是一个允许开发人员使用 JavaScript 语言编写服务器端代码的框架。也就是说编写的 JavaScript 代码可以直接运行在本地机器上,而不仅限于浏览器。从实现的角度来说,Jaxer 和 node.js 都使用了已有的 JavaScript 执行引擎。Jaxer 用的是 Mozilla Firefox 中使用的 JavaScript 引擎,而 node.js 用的则是 Google Chrome 中用的 V8 引擎。node.js 入门node.js 可以运行在 Linux、Windows 和 Macintosh 等主流的操...
Node提供丰富的网络编程模块Node模块协议netTCPdgramUDPhttpHTTPhttpsHTTPSTCP服务事件分为下面两类
(1)、服务器事件
对于通过net.createServer()创建的服务器而言,它是一个EventEmitter实例,自定义事件有以下几种:
listening :在调用listen()绑定端口或Domain Socket后触发,简写为server.listen(port, listener),通过第二个参数传入。
connection :每个客户端套接字连接到 服务器 时触发,简洁写法为通过net.createServer(...
在传统程编程模里,I/O操作就像一个普通的本地函数调用:在函数执行完之前程序被堵塞,无法继续运行。堵塞I/O起源于早先的时间片模型,这种模型下每个进程就像一个独立的人,目的是将每个人区分开,而且每个人在同一时刻通常只能做一件事,必须等待前面的事做完才能决定下一件事做什么。但是这种在计算机网络和Internet上被广泛使用的“一个用户,一个进程”的模型伸缩性很差。管理多个进程时,会耗费很多内存,上下文切换也会占用...
显示对象和显示列表
“显示对象”,准确的含义是可以在舞台上显示的对象。可以显示的对象,既包括可以直接看见的图形、文字、视频、图片等,也包括不能看见但真实存在的显示对象容器。
在Egret中,视觉图形都是由显示对象和显示对象容器组成的。如果我们要表达上图中的场景,我们应该如何通过树的方式来描述呢?
显示对象等级结构
在Egret中,显示对象被分为两大类:一种是可以包括其他显示对象的显示对象容器,简称为“容器”。另...
假设一个业务场景:
通过rss地址,获取rss并保存于文件,rss地址保存于文件中。
完成该场景的业务需要完成3个任务:
1.从文件中读取rss地址。
2.获取rss。
3.保存于文件。
最后将这三个任务进行整合。
准备:
存放rss地址的文件,address.txt。
http://programmer.csdn.net/rss_programmer.html
任务1:
读取rss地址文件的内容并通过callback返回。代码如下:
var getRssAddress = function(path, callback) {fs.readFile(path, {en...
目前需求中涉及到大量的异步操作,实际的页面越来越倾向于单页面应用。以后可以会使用backbone、angular、knockout等框架,但是关于异步编程的问题是首先需要面对的问题。随着node的兴起,异步编程成为一个非常热的话题。经过一段时间的学习和实践,对异步编程的一些细节进行总结。1.异步编程的分类解决异步问题方法大致包括:直接回调、pub/sub模式(事件模式)、异步库控制库(例如async、when)、promise、Generator等。
1.1 回调函...
前段日子看到一篇文章提到MEAN这个词,什么是MEAN?
其实MENA就是 MongoDB(非关系数据库) + Express(模板引擎) + AngularJS(MVC javascript库) + NodeJS(服务器脚本)的简称。
它们共同构造 基于 javascript 的 现代web应用全栈开发工具。
MongoDB:
是一种强大、灵活、可扩展的数据存储方式。
它扩展了关系型数据库的众多有用功能,如辅助索引、范围查询、和排序、它内置的对MapReduce式聚合的支持和对地理空间索引的支持。...
在以前的博文别说不可能,nodejs中实现sleep中,我向大家介绍了nodejs addon的用法。今天的主题还是addon,继续挖掘c/c++的能力,弥补nodejs的弱点。
我曾多次提到过nodejs的性能问题。其实就语言本身而言,nodejs的性能还是很高的,虽然不及大多部静态语言,但差距也并不大;相对其他动态语言而言,速度优势非常明显。但为什么我们常常说nodejs不能胜任CPU密集型场景呢?因为由于其单线程特性,对于CPU密集型场景,它并不能充分利...
Node.js 基于 JavaScript 引擎 v8,是单线程的。Node.js 采用了与通常 Web 上的 JavaScript 异步编程的方式来处理会造成阻塞的I/O操作。在 Node.js 中读取文件、访问数据库、网络请求等等都有可能是异步的。对于 Node.js 新人或者从其他语言背景迁移到 Node.js 上的开发者来说,异步编程是比较痛苦的一部分。本章将由浅入深为大家讲解 Node.js 异步编程的方方面面。从最基础的 callback 到 thunk、Promise、co 直到 ES7 计划的 asy...
静态网站很容易扩展。你只需要全部缓存,不需要考虑从不同服务器组合有状态的内容给用户。
可惜,大多数Web应用使用有状态的内容提供个性化体验。如果你的应用可以登录,就需要记住用户的Session。经典的处理方法是客户端设置包含随机唯一Session标识的Cookie,被标识的Session数据保存到服务端。扩展有状态服务
当扩展服务的时候,你肯定有三种选择:不同服务端同步Session数据 不同服务端连接单点中心(获取Session) 保证...
异步?我在很多地方都看到过异步(Asynchronous)这个词,但在我还不是很理解这个概念的时候,却发现自己常常会被当做“已经很清楚”(* ̄? ̄)。如果你也有类似的情况,没关系,搜索一下这个词,就可以得到大致的说明。在这里,我会对JavaScript的异步做一点额外解释。看一下这段代码:var start = new Date();
setTimeout(function(){var end = new Date();console.log("Time elapsed: ", end - start, "ms");
}, 500);
while (new D...