理解Node.js的事件循环(Event Loop)和线程池 Node的“事件循环”(Event Loop)是它能够处理大并发、高吞吐量的核心。这是最神奇的地方,据此Node.js基本上可以理解成“单线程”,同时还允许在后台处理任意的操作。这篇文章将阐明事件循环是如何工作的,你也可以感受到它的神奇。
理解事件循环,首先要理解事件驱动编程(Event Driven Programming)。它出现在1960年。如今,事件驱动编程在UI编程中大量使用。JavaScript的一个主要用途是与DOM交互,所以使用基于事件的API是很自然的。
RedMonk的语言排名:JavaScript,Java保持领先;Go未进前20 JavaScript在基于
Github 和
Stack Overflow 的排名统计中,均排名第一。
在RedMonk的这个月编程语言指数中:JavaScript,Java和PHP排名前三。这个指数基于Github 的语言代码行数和Stack Overflow上的语言标签数量。
“在狭隘的比较中,Java总是在排名中超过JavaScript,但二者的差异总是如此之远,以至于并不显著”,RedMonk首席分析师 Stephen O'Grady这样说。“最显著的特点是该语言经常被描述为将死,有时又被吹捧地上升几位”
从一行CSS调试代码中学到的JavaScript知识 现在到处都是JavaScript,每天都能知道点新东西。一旦你入了门,你总能从这里或是那里领悟到很多知识。
一旦我发现一些有意思的东西,我喜欢去感觉他们的源代码,看一看它是怎么办到的。
今天我想分享Addy Osmani的一行代码 ,这行代码对于你调试你的CSS是很有用的。为了可读性,我把它变成了3行。
[].forEach.call($$("*"),function(a){
a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
})
在Debian(Raspberry Pi)树莓派上安装NodeJS 在树莓派上运行NodeJS并不需要特别的配置,你只需要确保可以用openssh远程连接到你的树莓派。并不是所有最新版的NodeJS都能在树莓派上使用。因为有些没有正确地指定ARM的指令集。
注* 树莓派使用的是ARM v6指令集的CPU,但Chriumun V8最版JavaScript引擎,可能使用了一些ARM v7的功能,比如内存保护等。
使用NodeJS将XML解析成JSON及性能比较 并不是所有的API都是以JSON格式返回的。我们有时侯不得不处理一些XML。幸运的是有一个NodeJS模块
xml2js 可以帮你做这件事。
有人指出xml2js的速度过慢,有人做过性能测试,
htmlparser2 的性能可以提升大约5倍以上。
Node.JS开发者常犯的10个错误(一) Node.JS在过去几年有着长足的发展。越来越多的人采用基于Node的NPM来发布他们的模块,并且
远远超过了其它语言 。然而当你从其它语言转向Node时,需要一些时间才能适合它的哲学。
Callback Hell是node程序经常被抨击的一点,在NodeJS中回调嵌套是无法避免的,但是你可以使用一些工具保持你代码的优美和整洁
JavaScript中的$$(*)代表什么和$选择器的由来 当Firebug在2006年被创立的时侯。当时的JavaScript库Prototype.js使用$来表示getElementById()。这个语法糖很方便地抓取到了用户想要的元素。它节省了大量的时间,之后整个框架都使用采用了$语法糖。
在2006年初,jQuery发布了,然后使用基于CSS选择器的$()语法来选择任意元素。在之后的几天,Prototype也发布了自己的CSS选择器引擎,但是$已经在他们的库中被占用了。所以它们换成了$$()。称之为bling-bling 函数。
5个现在就该使用的数组Array方法: indexOf/filter/forEach/map/reduce详解 ECMAScript5标准发布于2009年12月3日,它带来了一些新的,改善现有的Array数组操作的方法。然而,这些新奇的数组方法并没有真正流行起来的,因为当时市场上缺乏支持ES5的浏览器。
但是,时代在变化。如果你看看Github上流行的开源JS项目,你会发现趋势正在转变。大家都想削减大量(第三方库)的依赖,仅用本地代码来实现。
中国互联网2014大事记 2014马上就要过去了,这一年的网络世界发生了很多事情,域名污染、东莞扫黄、马航370客机、快播被关、谷歌被封、字幕组被关、12306泄密……每个关键词都有一个生动的故事,下面,让我们整理一下思绪,一起回顾2014中国互联网上的大事记。