现在回想起来,我从5月份开始学 Swift 语言到现在断断续续也算有近六个月,从对程序一点感觉也没有,到现在的“开坛做法”,一路经历了很多。可能说对于工作多年的高手来说,这些都太肤浅了,一句“你还需要项目经验”就可以把我杀的血槽-1,不过对于大多和我一样的“小白”来讲,我觉得我这半年走来的路是可以复制的。
对于OOP(面向对象编程)的入门,我是从学习 Swift 开始的。目前为止,我还能记得所有[……]
自从 iPhone 更新 iOS 9以来,更新SDK也更新出了不少新的 API,以至于我们拥有了 Surge 这样强大的开发工具。
它能够截获你 iPhone 的所有流量,包括蜂窝网络和WiFi!所以,Surge 支持 iPhone 全局 http代理,https 代理,sock5代理。
至于用法,我懂,你也懂。它除了支持全局代理,还可以单独设定 DNS(使用和配置sniproxy不再依赖 A[……]
在进行开发的时候,你难免会用到随机数。还有更多的时候,我们需要随机数来生成一系列的数字串备用。不过好在各种编程语言里都提供了一个简单好用的伪随机数生成器供你使用,比如C#里的 Random。
不过,C#的 Random 默认是以系统时钟为种子的——这种方法简单粗暴,可惜一旦遇到短时间生成大量随机数的情况就捉襟见肘了——一堆相同的随机数就蹦出来了,不过正是因为随机,所以才会有相同的数字出现,但[……]
在Ubuntu15.04里,由于Debian的改变,Upstart也被systemd给取代了。
体现为 /lib/init/upstart-job 不存在。
不过,想要找回熟悉的upstart-job也不是那么困难的事情。
使用命令 sudo apt-get install upstart-sysv 来安装upstart即可,systemd就会被自动替换掉[……]
前段时间的appleID被盗事件闹的沸沸扬扬,我果断回到狱中升级了9.0.这下好了,Shadowsocks不能用了。这一点来讲我还是挺羡慕Android手机的……使用 Surge 让 iOS 走 Shadowsocks实现科学上网。
总之,我们还是来在iOS的VPN上下下功夫吧。如今的VPN已经被认证的差不多了,因为它们虽然加密安全,但禁不住特征检测——好吧,毕竟说这东西就不是为了隐匿而生的[……]
Swift 2 已经准备好面世了。你现在可以提交带有 Swift 2 最新特性的 app 。它让你的代码更加可读和给力,包括 guard ,新的错误控制模块以及可用性控制。
确保使用 Xcode7 来编译你的应用并且使用 OS X El Capitan 的 GM 版本,以及最终版本的 iOS9 和 watchOS2 。
在使用 brew 的时候,经常就会遇到各种奇奇怪怪的错误,比如更新时候常遇到的:
1 2 3 |
fatal: git-write-tree: error building trees Cannot save the current index state Error: Failure while executing: git stash save --include-untracked --quiet |
还有这个:
1 |
Error: Failure while executing: git pull --ff --no-rebase --quiet origin refs/heads/master:refs/remotes/origin/master |
遇到这些问题,八成是你的brew目录权限错误。
使用如下命令修复:
1 2 3 |
cd $(brew --prefix) git reset --hard HEAD brew update |
如果不行,就再安装如下命令[……]