记录一些Mac OS X技巧

标签:Mac OS X

用了几个月Mac OS X,发现很多东西不记录下来就会找不到,于是就有了这篇日志。

jQuery 1.6版发布,区分DOM的attributes和properties

标签:jQuery, JavaScript

今天jQuery 1.6版发布了。

新增的API和性能改进我就不提了,只提一个重要的改动:区分DOM的attributes和properties。
这2个词的中文翻译都是属性,有时候后者会被译为特性,不过我还是直接用英文吧。前者表示从文档中获取的状态信息,后者则表示文档的动态状态信息。更通俗地来说,HTML文档里是怎么样的状态,attributes就是怎样的;而JavaScript可以通过DOM API来更改DOM的状态,表单控件(如文本框)的状态也可以被用户使用键盘、鼠标等修改,这些被动态更改后的状态就由properties表示。

GAE SDK 1.5.0 Prerelease版发布

标签:Google App Engine

今天凌晨,GAE SDK 1.5.0 Prerelease版发布了。改动很多,但是由于没文档,不少东西我也不清楚,所以只翻译一些我感兴趣的:

  • 任务队列的参数大小增大。(超过后只能使用数据库来保存参数,所以这个改动很有意义。)
  • HTTP请求和响应大小增大为32MB。(做代理更方便了。)
  • 创建新应用时,High Replication Datastore将作为缺省设置,以取代Master/Slave Datastore。
  • 任务队列的执行速率增大到500/s。(貌似一般应用也有500QPS的限制。)
  • db.py新增异步操作:get_async()、put_async()、delete_async()和allocate_ids_async(),调用函数返回值的get_result会阻塞直到拿到数据。

其他的就等正式版发布再翻译吧~

记录Chrome使用状态

标签:Google Chrome

作为一个Chrome重度依赖者,我总想知道自己在Chrome上花了多少时间,访问过多少个网页。于是乎花了2天时间,捣鼓出了My Counter这个插件。

判断Chrome是否为当前窗口

标签:Google Chrome

最近在做一个记录Chrome使用时间的插件,遇到了一个小问题:我有事没事就开着Chrome,当它在后台运行时,也算入使用时间就显得不合理了。

翻了一下文档,没有找到这样的API,于是只能组合起来尝试了。最终发现先用chrome.windows.getLastFocused()获取最后被选中的窗口,然后判断它的focused属性,就能知道是否为当前窗口了。

同步Chrome标签页

标签:Google Chrome

自从又买了台电脑后,我一直对如何同步2台电脑的Chrome标签页感到苦恼,最终还是决定自己写个插件了。

统计代码行数有几种写法?

标签:UNIX, Shell

昨晚突然想统计一下项目的代码行数,不过IDE没有提供这个功能,于是只能自己实现了。

我最先想到的就是用Python了。方法很多,例如用os.walk()来遍历目录,然后过滤文件后缀名为源代码的(如py、html、js和css),再按行读取每个符合的文件,合计所有文件的行数。粗略看上去要2个循环和一个正则表达式。如果不按行读取,而是直接读完再查找'\n'的数目,则可以减少一个循环,不过当需求变更为不统计空行时,它就变得不够通用了。

但又想到自己在用Mac OS X,这种问题交给shell来解决不是更轻量级么?幸运的是,很快我就找到了遍历目录的find和统计行数的wc命令。

« 看看还有什么好玩意