在 Xcode 中直接预览应用 UI

在使用 Xcode 做 app 应用开发的时候,设计一下应用的 UI 界面是家常便饭,但是每次都要运行然后去模拟器里查看输出一件很麻烦的事情,尤其是当需要修改的元素很多、而且需要配适各种屏幕大小的时候——毕竟,现在 iPhone 的产品线不再那么单一了。

所以,一口气运行三四个模拟器这种事情恐怕也就只有你能干得出来了。

其实,Xcode 并不是没有给我们提供更方便的选择——在story[……]

点击跳转以继续阅读

什么是程序语言?

既然要学习编程,那么我们还是至少应该知道自己学习的是个什么东西才好吧?

说起编程,其实最早还是要追到我们的大神 艾伦图灵 小哥那里去。当时图灵发明出了图灵机——这东西很牛逼,不完全体就已经轻轻松松把二战缩短两年这里我们就不展开讲了,主要我们说,这个图灵机,基本上就是最早的电脑啦!

当然,教科书上不都说 冯诺伊曼 是电子计算机之父吗?嗯,我不会告诉你他俩搅基来着……当然,好吧也就是勾搭了[……]

点击跳转以继续阅读

Swift 常用数据类型浅析

现在大部分的高级编程语言,都是从经典的 C 语言演变而来,你在这些编程语言的语法当中,或多或少地都能找到几分 C 语言的影子,这也是为什么很多人依旧推荐,从 C语言来入这个编程语言的门。

可是,C 语言的确足够古老了,很多人都是冲着写一个 APP 来玩的目标学习编程的,你去学 C语言……抱歉,可能一整本书学完了,也不能写出一个美观漂亮的 UI 界面。

不过,话说回来,要学习 Swift[……]

点击跳转以继续阅读

豆瓣 FM 的歌曲列表获取问题

最近开始学习 Swift 了,就好像是“hello world”一样,似乎每一种语言总是有一个“编写豆瓣 FM”的项目教程😶

总之,我也开始用这个手把手教程来熟悉开发流程了,不过,昨天才做到显示播放列表并且显示歌曲封面,今天添加了播放功能就崩溃闪退了!

好吧,即使将新添加的代码注释掉,原来的代码也无法正常运行了。你看,出现了这样的万能报错:
[crayon-6743d[……]

点击跳转以继续阅读

如何在国内使用 gem

如果你想了解 Ruby,或者想在你的电脑上安装几个 Ruby 软件包,你可以很轻松的使用 RubyGems 来一键下载——就好像 Ubuntu 里的 apt-get、类似 redhat 里的 yum 等等。

所以,想要安装 Ruby 软件包,你就需要 gem。不过,除了安装 gem(如果你的电脑是 Linux 或者 osx,很可能已经自带,使用命令“gem -v”来验证)

但是版本可能[……]

点击跳转以继续阅读

Could not load the image referenced from a nib in the bundle running on device

在使用 xcode 做一个程序的时候,我们普遍会使用一些图片来代替掉按钮上生硬的文字,让界面更加美观。

不过,在添加图片的时候,我就遇到了编辑的时候 storyboard 可以显示,但是程序运行的时候却无法显示的问题。

查看记录发现报错:

国内关于 swift 开发的文档和问答实在是太少了,就连教程都是模棱两可——其[……]

点击跳转以继续阅读

严重虚拟机漏洞 Venom 大半云服务受到威胁!

今天下午,我正在敲代码,然后位于西海岸的一家 vps 发来邮件,说服务器要重启更新,而我正好有一个 vps 是在他那里的。一般来说除了硬件及的维护意外,云服务基本上都可以在线的——毕竟,“高可用”是云服务的主打科目。

不过,这次不同,就在今日,新的虚拟机漏洞面世,利用这个漏洞,可以让你分分钟突破虚拟机限制而获取到同一服务器中其他服务器的访问权限!然后利用其他服务器的信息,进而就可以继续深入渗[……]

点击跳转以继续阅读

在 ufw 上开启 nat 伪装和端口转发

可能一直到现在,你都一直不怎么熟练在 Linux 上怎么开启 nat 和端口转发——毕竟这种操作可能也就在部署服务器的时候需要一次。但它的操作实在是太繁琐了,尤其是当我们使用了 ufw 来编辑 iptables 之后,更不能直接编辑 iptables 了,这下到底该如何是好呢?

使用 ufw 来开启nat 伪装和端口转发,你可以先参考这篇文章Ubuntu 下更简单的防火墙 Uncompli[……]

点击跳转以继续阅读

阿里云 Ubuntu 更新镜像源

更新:由于一些原因,不再推荐阿里云的更新源了,给你这个页面,点击进去可以根据版本自动帮你生成中科大的镜像更新源。

为了方便自己做国内 vps 服务器更新配置,一般都需要更改 dns 和更新源,否则一辈子别想打补丁…………总之,以前常用网易源但最近老是抽筋,所以现在推荐阿里云

另,你可以在服务器的终端中输入“lsb_release -a”命令或者查看“/etc/issue”文件[……]

点击跳转以继续阅读