ES6中的Map与JSON的相互转化(序列和持久化) 当你需要存一些键值对数据时,然后你不知道key是哪些对象类型。你最好把他们存在Map中,这比存在Object中好些。
注* Map支持任意类型如Object作为key; 目前JSON.stringify和JSON.parse并不支持Map;
JavaScript正在变成Web界的C++ 从那以后,我觉得我一直在看着JavaScript慢慢变成C++,它成为了“kitchen sink”式的语言(注*来自二战时期的成语"everything but the kitchen sink", 指除了洗碗槽外各式各样的炮弹齐发,现在指有太多的东西)。因此,许多新的功能被添到
ES6的新规范上。从字面上统计这个规范已经是ES5规范长度的两倍。更糟糕的是,在ES6规范完成之前,已经有人预定了一箩筐的新功能要集成到ES7。他们都还没有完成ES6,就已经开始计划ES7了。有一些JavaScript语义不一致的地方需要修复,但新加入的ES6和ES7的新特性无助于解决这些问题,他们仅仅是增加了新功能(或者说:复杂性)到这个语言。
请停止将JavaScript类型化(建议不要使用class实现类继承) 作者注:每个人都有自己的编程风格,绝不应被迫服从他人的风格。但是,我认为,最好的风格应建立语言的特点上,要考虑语言的优势。如果您正在JS中使用经典的继承方式,我的意思并不是让你立即采用我建议的风格,我认为每个人都应该有用不同写法的权力。
有一件事让我很沉重,就是许多JavaScript开发人员一直试图将JavaScript变成经典的继承模式。
TypeScript和CoffeeScript就是这个问题的症状。
纽约时报使用Html5 WebRTC记录访问者IP地址 如果你要黑别人,至少做的干净点!
纽约时报使用WebRTC收集你的本地IP地址... Tsahi在自己的博客从非技术角度描述了这个问题。让我们看一下技术细节......
事实证明,使用的Javascript实现的代码很笨重,效率低下。
Node.js中的通用基础设计模式 谈到设计模式,你可能会想到 singletons, observers(观察者) 或 factories(工厂方法)。本文不并专门探讨他们。只是探讨Node.JS一些基础模式的实现,像依赖注入或中间件。
闪客时代开始被HTML5慢慢终结:Facebook首席安全官号召设定正式消灭Flash的期限 注* 你可以已经发现最新的Firefox和Chrome都开始默认禁用了Flash插件
Alex Stamos(Facebook首席安全官) 最近发布了一个
Twitter ,它号召为Flash设定一个最后支持日期。上周,间谍软件公司的黑客们窃取了400GB的Flash缓存文件,它允许黑客通过目标机器上的网页执行恶意代码。
在Debian/Ubuntu上面安装升级nginx到最新版 在Debian下面通过 apt-get 可以自动安装 nginx,不过版本一般比较老,如果想要使用nginx的最新特性就需要升级版本。
一般安装可以通过编绎源文件安装,但可能需要安装很多编绎工具,并且会编辑出一大堆中间文件。
Nginx官网提供了一些编辑绎好的安装包,只需先更新安装源,再通过 apt-get & install 就可安装了。
WowJS:在滚动页面时添加动画效果的简单实现 之前介绍过,通过Animate.css可以让
CSS动画添加起来像喝水一样容易不过这种动画效果却是没法控制的,通过
WOW.js ,可以在向下滚动的过程中逐渐释放这些动画效果。
默认情况下,当你向下滚动页面时,可以逐渐展示出 CSS 动画。它一般使用 animate.css 的动画效果。但是,您可以轻松设置成您喜欢的动画库。
LightGL轻量级的WebGL 3D渲染库 这个库可以更容易地快速创建WebGL应用程序原型。它比许多其它的WebGL库更底层,它不提供场景图(scene
graph),它重新实现了OpenGL的modelview/投影矩阵堆栈,并提供类似的功能。它还重新推出GLSL的一些内置服务(如
gl_Vertex和gl_ModelViewProjectionMatrix)和OpenGL的直接模式。