微软,IBM,ARM等大公司先后加入对Node.js/io.js的支持 微软不久前宣布 ,将联同其他团体共同创建Node.js基金会,一个独立的治理小组来监督Node.js这一流行的开源JavaScript框架的发展。
在此基础上,微软将联合Fidelity,IBM,PayPal,Linux基金会和Joyent,共同管理Node.js开源项目。
之后不久芯片设计公司ARM表示,将在ARMv8中提供对io.js的支持。
用原生HTML5控件实现输入框自动提示(下拉列表补全)功能 本文介绍如何使用HTML5的输入列表属性和datalist元素,你可以轻松地设置了一个自动提示的输入框,不需要依赖jQuery或JavaScript。
实现非常简单,添加 list 属性到input字段,然后创建一个datalist元素。 id值与list属性对应即可。
让我们写快速的JavaScript,JS性能优化小窍门
不过,说实话,即使它这么疯狂流行,它的性能还没有达到它的极限。是的,它在改进,但是等到它在各个方面赶上本地应用之前,在做一个HYBIRD混合应用时,你还不得不使用一些伎俩来优化它的性能。
通过Web Audio API可视化输出MP3音乐频率波形 Web Audio API(网络音频API)过去几年中已经改进很多,通过网页播放声音和音乐已经成为了可能。但这还不够,不同浏览器的行为方式还有不同。但至少已经实现了.在这篇文章中,我们将通过DOM和Web Audio API创建一个可视化音频的例子。 注* 形状会波形而变化.
用页面可见性(Page Visibility)API创建用户体验良好的网站 我们都有过这样的经验:启动浏览器后,会重新加载所有的tab页,声音和视频混合嘈杂。虽然你可以很容易对这方面进行控制,像MuteTab等,对于大多数人来说这是一种令人失望的用户体验。作为开发人员和设计师,我们应该让页面更加友好,而不能喧宾夺主。
理解Node.js的事件循环(Event Loop)和线程池 Node的“事件循环”(Event Loop)是它能够处理大并发、高吞吐量的核心。这是最神奇的地方,据此Node.js基本上可以理解成“单线程”,同时还允许在后台处理任意的操作。这篇文章将阐明事件循环是如何工作的,你也可以感受到它的神奇。
理解事件循环,首先要理解事件驱动编程(Event Driven Programming)。它出现在1960年。如今,事件驱动编程在UI编程中大量使用。JavaScript的一个主要用途是与DOM交互,所以使用基于事件的API是很自然的。
从一行CSS调试代码中学到的JavaScript知识 现在到处都是JavaScript,每天都能知道点新东西。一旦你入了门,你总能从这里或是那里领悟到很多知识。
一旦我发现一些有意思的东西,我喜欢去感觉他们的源代码,看一看它是怎么办到的。
今天我想分享Addy Osmani的一行代码 ,这行代码对于你调试你的CSS是很有用的。为了可读性,我把它变成了3行。
[].forEach.call($$("*"),function(a){
a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
})
在nodejs中使用Redis缓存和查询数据及Session持久化(Express) 使用数据库来集中管理session,存放Session内容,并在各个子域名跨域共享Cookies
(SessionID),即可实现为每一个子域分配一个独立的node.js
Web服务器,各个服务程序均可依据sessionid从数据库中寻找到同一Session,从而实现不同Web
Server中的会话同步,从而实现一定程度上的负载均衡。
要想实现完全意义的负载均衡还需要将Web服务做到完全状态无关,不仅仅是Session,所有的中间缓存数据都要转移到与服务器无关的缓存层中,这正是Redis最善长的地方。
在ExpressJS(NodeJS)中设置二级域名跨域共享Cookie 注* 使用数据库mongostore来集中管理session,并在各个子域名跨域共享Cookies/SessionID, 即可实现为每一个子域分配一个独立的node.js Web服务器,可以实现一定程度上的负载均衡。
解决方案: 这样设置即可。
app.use(express.session({
secret: conf.secret,
cookie: { domain:'.yourdomain.com'},
store: new MongoStore(conf.sessiondb)
}));
在Debian(Raspberry Pi)树莓派上安装NodeJS 在树莓派上运行NodeJS并不需要特别的配置,你只需要确保可以用openssh远程连接到你的树莓派。并不是所有最新版的NodeJS都能在树莓派上使用。因为有些没有正确地指定ARM的指令集。
注* 树莓派使用的是ARM v6指令集的CPU,但Chriumun V8最版JavaScript引擎,可能使用了一些ARM v7的功能,比如内存保护等。