九天雁翎的博客
如果你想在软件业获得成功,就使用你知道的最强大的语言,用它解决你知道的最难的问题,并且等待竞争对手的经理做出自甘平庸的选择。 -- Paul Graham

HTML5 游戏的 loading 速度优化

据说以前的页游的 loading 时间一旦超过 5 秒, 就会流失大量用户, 现在的微信 H5 游戏既然也是页游, 既然也想很好的利用网页游戏不用安装, 即点即玩的好处, 对 loading 的要求应该也是一样的. 最近优化了一下我们的游戏, 用到了一些手段, 这里收集整理如下.

阅读全文....

发布一个自动为Markdown文章添加目录的工具

因为多次看到有人在博客上说Rust的好, 最近学习了下Rust, 作为练习, 照例是要找个东西来做, 碰巧想给我的博客文章都添加一下目录(英文缩写TOC, table of content) , 于是想到了用Rust来写这个, 虽然这种任务我以前肯定是用Ruby来做, Ruby作为动态类型语言也更适合做这种工作. 本文相当于是个发布通告和使用说明, 具体的可以在我的Github上找到源码和编译好的程序.

阅读全文....

添加4A,5A景区列表到Trello中, 顺面聊聊旅行

又是很久没写博客了, 貌似最近写博客都需要用这个开头…… 突然多了一个胜利日假期, 按最近的习惯, 我需要提前规划一下带孩子去哪玩, 作为一定程度的选择困难症患者, 我将所有的5A, 4A级景区用Checklist的形式添加到了Trello里面, 以方便规划, 下面是我抓回来的数据(从百度百科), 和添加到Trello里面的代码, 借由聊为什么选择路线困难, 顺面聊聊日常. 没兴趣看过程和日常的直接在github上能找到弄好的4A, 5A景区列表数据和将其添加到trello中的代码.

阅读全文....

从Wordpress中导入友言的评论

Github Page是静态网页, 本身是没有评论系统的, 国外的好像比较流行Disqus, 国外的模版一般都是接的Disqus, 我以前一直用的是友言, 正好也是类似的系统, 也能用, 但是碰到一个问题, 友言的评论是以URL为标识的, 而新改了Github Page以后所有博客文章的地址都变了, 所以虽然评论都还保留在友言的服务器上, 但是其实所有的评论都匹配不了新的文章, 等于都丢失了咨询了友言的客服, 没有解决办法, 但是好在友言还算是国内比较开放的企业, 有数据导入和导出功能, 所以感觉可以把评论数据都导出, 然后经过修改, 改成新博客需要的形式, 然后再导入, 实际检验, 这条路还是走通了, 所以如你所见, 原来的评论都还在, 只是貌似友言的数据导入导出有Bug, 把评论的登录信息都丢了. 本文记录的就是这个过程, 和相关的代码, 希望能对其他碰到类似情况的人有帮助.

阅读全文....

用Github Pages写博客

最近博客的确写的又少了很多, 也发生了很多事情, 生活的变化也挺大的, 一直忙的不可开交. 最近这段时间可能能逐渐的稍微舒缓一些, 趁这个机会也学习一下自己一直想学习的东西, 做一些自己一直想做的事情吧. 首先要做的, 是恢复博客的更新, 作为起点, 废除了原来架设于Linode上的Wordpress博客, 改为用Github Pages来写博客, 据说每个开始用Github Pages写博客的人都会写篇博客纪念, 我也不免俗吧, 也写一篇博客记录一下.

阅读全文....

拖拉一点也无妨

第一次听到结构化拖延法是看罗辑思维第36集的时候, 觉得很新鲜, 一直就想看看怎么样叫做拖拉一点也无妨. 因为我本身就是个有拖延症的人, 看这本书的时间也一拖再拖, 直到前几天我的kindle paperwhite2终于从美国寄到我手里, 才在亚马逊买了这本书来看. 书本身很薄(因为是看电子书, 其实也没法实际的感知书的厚薄了), 很有趣也很容易看完. 在这里跟大家分享一下.

阅读全文....

[译]儿时梦想成真: Spine背后的故事

Spine是一个2D的骨骼动画编辑器, 因为其良好的UI设计及完整的功能, 在kickstarter上发布以后立即收到追捧, 作为一个几乎只有游戏开发者才会使用的小众工具, 募集了远超目标5倍的资金, 共计6.7W多美元. 以前我写过博客介绍了一些Spine的基本用法. 官方的网站上有更详细的介绍, 还有一段特性介绍的视频. Spine的作者最近(2013-08-13)在自己的博客上写了一些关于Spine背后的故事, 我感觉很有意思, 在这里跟大家分享一下, 因为精力有限, 也不做全文的翻译, 主要翻译故事部分, 关于技术部分就不详细翻译, 只是写个概要了.

阅读全文....

Spine的使用(With Cocos2d-x)

Spine是一个2D的骨骼动画编辑器, 因为其良好的UI设计及完整的功能, 在kickstarter上发布以后立即收到追捧, 作为一个几乎只有游戏开发者才会使用的小众工具, 募集了远超目标5倍的资金, 共计6.7W多美元. 我在其项目发布后, 成为了Spine在kickstarter的早一批backer, 这是我在kickstarter上第一个, 也是目前唯一一个支持的项目. 随后, 通过不断收到的邮件见证了Spine逐步完善的过程, 直到其发出target完成的邮件. 又过了这么长时间了, 因为手头的项目一直不需要太复杂的2D骨骼动画, 拖着没有研究, 现在也是时候看看Spine了, 可惜的是, Spine的使用还有一系列的视频教学可以参考, 而Spine的Runtime使用完全没有文档, 只有一两个简单的例子. Spine团队的主要精力目前还是放在一些新功能的开发和Runtime的继续支持上, 写文档还排在Next up上.

阅读全文....

cocoslicer(cocos2d/cocos2d-x 打包后的资源分割器)

工具很简单, 就是将TexturePacker等工具打包好的图片给分解开, 相当于Texture Pack后资源的解包过程.
主要用于找回自己丢失原图片文件, 但是有打包后资源的情况, 请勿用于其他用途.

工具用Ruby完成, 利用了Imagemagick命令行工具而不是对应的Imagemagick Ruby库, 这个有些特殊, 也就是需要先安装Imagemagick后才能使用. 工具自己的安装非常方便, 因为已经作为Gem提交, 安装Ruby后, 按照普通的gem安装方式安装即可:

$ gem install cocoslicer

使用时:

$ cocoslicer packed.plist

目前工具不支持zwoptex打包的图片.

源代码地址: https://github.com/jtianling/cocoslicer

阅读全文....