JavaScript 的多线程,Worker 和 SharedWorker
随着业务的发展,前端脚本处理大量数据的情况已经变的越来越常见了。但是,当我们尝试用前端脚本处理大量数据的时候,会发现这样的计算可能占用过多资源导致页面前端UI线程的假死。在这背景下,为了让页面有更好的体验,W3C在HTML5的规范中提出了Web Worker的概念,允许浏览器通过后台线程来执行复杂的事物或者逻辑。 1. 大量计算导致的页面假死 先让我们看一下什么情况下会导致页面假
使用 gulp,webpack,es6,sass,react 等开发复杂单页面项目
自从开始放肆的使用es6之后就变得一发不可收拾,经手的很多项目也逐渐变成了基于react.js的单页面项目。中间走了不少弯路,尤其是在各种工具之间的选型和使用上,折腾大半年之后,稍稍记录一下这个过程中使用到的一些东西以及遇到的一些坑。 0. 初始化项目(npm相关) 开始之前先简单的介绍一下npm的相关知识,由于现代的项目依赖于各种工具插件,因此一个项目需要一个包管理工具
Viewport 单位: vw, vh, vmin, vmax
随着CSS3的普及,大家对 Viewport 一定不会陌生,尤其是在移动设备上,今天向大家介绍一种Viewport单位,这个单位看起来不是很起眼,但是用起来绝对要爽到爆。他们就是 vm, vh, vmin, vmax。 要它做什么?? 前端界这么多新的熊孩子,这家伙又是干嘛的呢?我为什么要去学习它呢? 卖个关子,先让我们看一下Demo ![Demo](
用ToString生成验证码、字母序列
想要以更优的算法生成 "1d3ade","9ded19" 之类的验证码么? 想要快速生成"ABCDEFGHIJKL"之类的字母序列么? 通过 toString 的一些"trick",你可以以极简的算法复杂度实现上面的需求。 什么是toString? 其实不想用过多的笔墨介绍toString , 但是如果你真的还不知道什么是toString,那么你可能需要梳理一下你的前端知
黄山的黄,黄山的山
 很长一段时间,我把"身体与灵魂,必须有一个在路上"用作自己的各种签名,最初也仅仅是因为它看起来逼格比较高罢了。 一年又一年,我去过了很多地方:和同事一起跃起在敦煌的沙丘上,带着老娘踏上了人间仙境九寨沟,牵着妹纸的手在普吉岛上留下一串串脚印。
ES6 Module
相对比起Python,PHP等其他语言,JavaScript 在设计上视乎缺失了模块管理的部分,不过好消息是这些问题很快就会得到解决,在下一代JavaScript ECMASCRIPT 6中,这个问题被很好的解决了。 ES6 Module 特性 Module 特性是在14年的7月被完全确认的,这就意味着到目前为止,语法相对比较稳定。 Module 包
Nodejs实现可训练的中文分词实践
前段时间在研究 TF-IDF、杰卡德相似系数计算文本的相似度的时候(目前我的博客中部分文章底部的“猜你喜欢”推荐的文章就是用这种算法计算出来的),用到了中文分词的一些东西,由于当时精力有限,直接用了python的“结巴分词”来实现。 恰巧听说老东家最近出了个算法大赛,题目就是就是对小说《三体》进行中文分词!闲下来简单的动手写了一个Node版的算法,100行代码,虽然还是很初级的,但是还是想写
JavaScript 对象转换,toString,valueOf
开始这个话题之前,我们先看一下下面的几个例子: parseInt(0.0000004) 4 ![]==[] true ['x','y'] == 'x,y' true alert({name:'mofei'}) "[object Object]" 结果有时候会让我大吃一惊,这是为什么呢?今天就和大家讨论一下JavaScript的对象转换。
Window.postMessage() HTML5 跨域解决方案
Hey,everybody~ 又是倒霉的跨域 T T , 有多少人死在了“说出你知道的跨域解决方案,越多越好?”这个面试问题上。 今天和大家说说,HTML5提供的一个跨域解决方案,Window.postMessage , 它足够易学好用,会让你眼前一亮。但是往往大多数情况下,都不会让人一直笑下去,俗话说道高一尺魔高一丈,这个方法同样也会被HTTP的一些协议所限制着,比如X-Frame
使用缓冲区以及GLSL变量 - webGL 学习手记 | webGL 教程 (三)
前两篇的文章我们介绍了如何使用webGL进行简单的绘制,今天我们简单说一下如何使用缓冲区。 * DEMO预览 * [http:zmofei.github.ioyes-webgldemodrawpoint.html](http:zmofei.github.io
webGL 学习手记 | webGL 教程 (二)
上一篇的文章 《webGL 学习手记 webGL 教程 (一)》 说到如何获取webGL的上下文 , 这是webGL的第一步,就好比上画家拿到了绘画的纸。接下来,在拿到webGL的上下文之后,我们就可以愉快的和webGL玩耍了。 * [DEMO预览](http:zmo
webGL 学习手记 | webGL 教程 (一)
闲扯淡 若干年前(那时候还不知道雾霾是什么),一个偶然的机会了解到了WebGL。当时出于好奇便找了些资料,想深入研究,但是由于各种原因放弃了。若干年后,来到了充满“黑暗雾霾故事“的帝都追随梦想,由于工作的原因,再次对webGL充满了浓厚额兴趣,为了不让自己的意志被时间消磨,我决定把webGL的过程写成文章,一是用来鞭励自己,二是坚持互联网的开源分享精神,给后面赶路的童鞋们提供些便利(其实