攒一台用来做开发的 黑苹果 hackintosh

给 iPhone 等平台开发应用,总是需要用到一台苹果电脑的,或者 iMac 或者 rmbp,就算是 mac mini 也行。不过,当开发的项目比较大了,需要的东西多了,比如我吧,虽然做一个小小的输入法,但跑词库跑算法什么的,一趟下来就得一天,搞不好还崩溃重来。每当 Xcode 不争气动不动就白板的时候,我就想——来一台 mac pro 多好。

不过,这个价格有点呵呵。

终于,在 Cy[……]

点击跳转以继续阅读

OS X 开启 RamDisk 来为 Safari 和 Xcode 加速

随着 Xcode 的版本升级,速度越来越慢,尤其一言不合就“白板”的问题相信大家都会有遇到。

这是非常影响开发效率的事情。如果有可能,那么我们将 Xcode 的缓存文件放到内存,速度应该快很多。(虽然现在 rmbp 的 ssd 已经十分的快速了,但比起内存,还是差的很远——对于机械硬盘的老机器来说,提速就会更加明显了。

——还记得 Windows 的那个 RamDisk 吗?其实[……]

点击跳转以继续阅读

UITableViewCell 动态高度 配置

UITableViewController 是iOS开发中相当常用的一个空间了,它的 cell 很早就可以支持自适应高度,或者说是 动态高度。在开发中,如果cell里布局了复杂的内容——比如连图带字的一条微博。那么这个时候动态的自动的高度就显得很有用了——总不用你自己去计算。

不少人其实还不会用这个动态高度,有的人甚至在使用的时候自己初始化一个新的cell,然后写入[……]

点击跳转以继续阅读

方便快捷 自用 搭建 TimeMachine 方案

终于换了一个相对稳定的工作环境,现在,我的桌面是这样的:

好了,总之,用移动硬盘定期备份不是长久之计,所以,身为穷逼,我们要给自己寻找一个合适、方便的备份方案了。

俗话说的好:

备份不做,十恶不赦。

那么,我们就来说说我的设计方案。

设计

首先,作为一个穷逼,设计备份方案的第一要素是经济……?‍♂️知乎里流行的什么 J1900 之流太贵了,思前想后还是pass掉了,毕竟[……]

点击跳转以继续阅读

在 mac 中写入 iso 光盘镜像

装系统是个很常见的事情,想想看这么多年以来我已经给自己无形之中省下了多少钱 XD

总之,在windows上写如光盘镜像会比较容易(实际上是更困难),因为我长年以来总会备用一些常用的工具,而在mac上,就比较悲剧了,甚至没有一款真的可以100%好用的光盘镜像写入工具。

其实,macos 是类 unix,不需要第三方的工具也能搞定,使用著名的 dd 即可。这一招在linux下同样适用。[……]

点击跳转以继续阅读

“重要通知: 多说即将关闭”

还记得刚做博客的时候,我也尝试过中国的各个第三方的社会化评论系统,甚至还写了一篇文章来分析对比它们之间的优劣:WordPress常用社会化评论插件简评,当然了,在尝试的一遍,并选择了其中之一用了一段时间之后,最终我还是用回了wp自带的评论系统,后来我还写了一篇文章来说明这件事情:我还是没有用第三方评论系统,一年半后的现在来看,我的选择是多么的明智!

?你们用多说的,自己想办法导出多年的文章评[……]

点击跳转以继续阅读

Xcode 自动版本号

做开发者肯定有过这样的烦恼:版本号提交错了!

编译和测试的版本多了,难免提交的时候才发现版本号搞错了。要不就是后台版本号正确,前台的版本号忘记更改。其实,可以让前台自动获取后台的版本号数据,比如这样:

But

后台的版本号还是要自己手动写啊!大版本号也就罢了,不同的程序有自己不同的风格,有的甚至不是数字这就略过了,那么构[……]

点击跳转以继续阅读

一个自动排序的 Swift 栈

一年前,我在 git 上发布了一个用 Swift 实现的栈,一共有两个版本。因为 Swift 自身并没有实现这个东西——尽管官方的教程中泛型的部分就是用这个栈举的例子。

也许是人家觉得这个太简单了吧

总之,这次我又来玩这个东西了,因为 HMM 的 Viterbi 算法需要做修剪,不然路径太多无谓地增加计算量——毕竟,我们都关心第一名,谁会去注意第二名呢?

所以,这个栈也是基于原生 Arr[……]

点击跳转以继续阅读