入手15'rMBP

之前的老air已经用了两个年头了,各种方面都还满意,一点不卡,电池也满满的续航。 可唯一的硬伤是,只有一个Thunderbolt口,也就是不考虑8000+RMB的Apple Thunderbolt Display的话,最多只能接一个外接显示器,所以当初直接买了27寸的U2713HM。 可渐渐的27寸也不够用了,谁叫前端开发这么烦呢,一个屏幕浏览器,一个屏幕写代码,一个屏幕开终端,一个屏幕看接口文档,一个屏幕看产品原型,有时还得一个屏幕看SourceTree,一个屏幕看QQ,一个屏幕找资料。。。。把显示器分成4份都不够用。 必须换! 必须得带的了起码两个显示器的,最好支持4K 60HZ的,还是OSX环境的,对于买不起垃圾桶的人来说只能上独显 Macbook Pro了。 托朋友帮忙带的港版,一周多的时间就到手了。接下来迁移可是个麻烦事,10.9的备份不能直接恢复到10.10的系统里。尝试了迁移助手可是还是遇到各种问题,最后只得人肉Sync重要程序以及配置。也好,旧的东西就让他随风去吧。 BTW:用过retina的屏幕再看air的渣屏,真是惨不忍睹。 ... read more

Ghost 自定义文章默认永久连接

换了新版ghost 0.7 结果中文标题的转换较0.4发生了变化,导致根据url来区分文章的多说评论全丢了。。。 为了防止再次发生,只能把所有文章链接改成id了。。。 首先, sqlite3 your_ghost_path/content/data/ghost.db 进到sqlite里改掉原有的(原来的是/:slug/) update settings set value = '/:id/' where key='permalinks'; 在sqlite里执行 .exit回车退出。 重启ghost。 Done! UPDATE: 发现个问题,以前单独自定义过的文章或者page连接也失效了 只能改ghost代码了,编辑 /core/server/controllers/frontend.js 在300行左右找到 params = match;,在其下插入以下代码并保存重启ghost if( params. ... read more

CasperJS 奇葩的相对路径

目录: folderA:[a.js], b.js, config.json a.js: require('../b.js'); b.js: require('fs').read('./config.json') 在folderA里执行casperjs a.js 抛错说找不到./config.json,写成../config.json才对。。。 但是b里require其他模块又是根据自己位置来的。 不得已为之的解决方案是把b放在顶层目录,写一个方法递归找文件,找不到就在上一层找,直到找到顶层。。。 ... read more

Docker笔记

//镜像 docker images //镜像删除 docker rmi GROUP/IMAGE_ID //容器向镜像提交 docker commit CONTAINER_ID GROUP/NEW_IMAGE_ID:TAG -m "message" -a "Person" //列出容器 docker ps -a 查看所有 //启动容器 docker run -PARAM IMAGE:TAG —name //名字 -t -i /bin/bash //进入bash -d //daemon -v LOCAL_FILE_PATH:CONTAINER_FILE_PATH ... read more

坦克大战

上周发现了个好玩的小游戏,用JS写坦克大战的AI与线上玩家PVP,玩上瘾了。正好碰上官方组织比赛,稀里糊涂拿了个第一哈哈哈。 代码在此。 奖品有Sketch,SublimeText,Dash三选一。。。。。 终于用上正版SublimeText了。 ... read more