"北上广大迁徙"前端开发心得

前阵子和好基友@licstar一起做了一个很蛋疼很好玩的数据可视化小品,叫做北上广大迁徙。使用了百度地图手机App的热力图数据,做成了动态的,并对其中的热点进行解读,来了解大城市中人群每天一个循环的“迁徙”。

整个开发用了几个小时的时间吧,我负责前端,他负责数据部分以及提供算法,这篇文章简单介绍一下其中前端部分在开发中的一些小心得。

JavaScript中定时器的精度

之前写了一篇文章介绍JS中的高精度计时,那么,与高精度相对的,低精度又是什么呢?或者说我们常接触到的精度是在什么水平?

这篇文章主要探讨一下JS里常用的定时器,看看它们能达到什么精度。由于结论我也不知道,所以基本上这篇文章算边做实验边写的吧,有问题希望各位看官能帮忙指出。文中的实验覆盖范围很小,而且方法也极度不严谨,大家先且一看吧,也许有时间我会再重新做实验。

聊聊我在用的一些付费会员

哈哈哈哈哈哈炫富帖来了!

身为互联网行业的一员,虽然我做的是纯纯纯免费的用户产品,但是为了攒点人品,防止未来有一天失业了,我还是会尝试各种付费会员,心理上就当给互联网行业做贡献了吧……

JavaScript中的高精度计时

HRT(High Resolution Timing, 高精度计时)在一些场合有很大的作用,比如游戏开发中,需要精确的计算两帧之间的时间差。

在JS中常常用(new Date()).getTime()来获取毫秒级的时间戳,虽然是毫秒级,但事实上它的真实精度只能达到大概16ms的级别。例如

1
2
3
while (true){
console.log((new Date()).getTime()); // 这样死循环浏览器会跪的,责任自负
}

会发现它事实上大概16ms才跳一次,也许是17ms、又或者15ms吧,反正实际精度是有限的——什么?你跟我说是1ms?我告诉你那是因为新的系统或者浏览器使用了更高精度——但这不影响这篇文章的内容……

这对于日常应用来说完全够用了,但是对于游戏这样的场合,高精度计时就有它不可取代的意义了。

Jim Plays <Eyes On Me>

听了10年的歌,能够自己弹出来,虽然节奏和力度各种不稳,但是还是很高兴。
中间有一个明显的换踏板失误,是录了MIDI后期修的。

视频+手机观看:优酷
MP3+高清下载:百度网盘

设备&&软件:
键盘:Casio PX135
音源:The Grand 2
摄像:SONY NEX-6 E50/1.8
编辑:SONY Vegas

“正则大挑战”心得

就是!!!这是昨天在微博上看到的“只要把这16个题做完,你就可以精通正则。”啧啧啧,好奇心驱使我点开了……

然后……真是太好玩了,这是一个正则表达式的游戏,其中有的题目简直丧心病狂,可以说是我做过最难的编程puzzle之一了。

这篇博客将会分享一下我的解答,后来@小雪-Joanna给我发了一个牛人答案(标准答案?)里面我看得懂的也分析一下。

在BAE上使用hexo搭建博客

之前的文章中,我介绍了如何使用hexo来编辑博客内容,以及它自带的发布到GitHub-Pages的功能。

但是我最后并没有把它部署到GitHub-Pages上,原因主要有:

  1. 在国内的访问速度比较一般;
  2. 提交代码后,要等好几分钟才能看到效果;
  3. 一个网站只能绑定一个域名。

作为熊掌社的一名码农,我自然想到了把博客部署到BAE上面去。

使用Solarized的ls配色

Solarized官方截图

Solarized是一个挺不错的配色方案,给常见的编辑器以及终端软件(木有SecureCRT)提供了配置文件,使用起来也挺方便的,这样在使用Terminal/iTerm/Vim等程序的时候就有不错的配色了。

但我经常需要在远程的机器上进行开发,这时候Vim配色比较好搞定,但是ls的配色就搞不定了,后来发现dircolors-solarized这个东西,可以解决这种问题。

使用hexo搭建静态博客

hexo是一个博客程序,拥有一个简单的服务器(可以用来当简单的动态博客使用),也有生成器,生成的静态文件可以一键部署到Github Pages上,也可以部署到任意静态文件服务器上面。

由于它相当简约,并且使用Markdown来编写文章,深得我心,于是我把博客迁移到hexo了,但是为了国内访问速度,我没有放在Github Pages上,而是选择了放在BAE上面。

下面一步一步地说怎么用hexo搞一个博客。

HTC One 半月谈

说买咱就买啊,你买我买全都买啊——跟着唱起来了有木有

消费真是好东西,心情好的时候可以,心情不好的时候也可以。趁着心情不好,买了一手机……

咳咳,言归正传。

8月16号HTC One到手,到今天整好两周,谈谈。