-
利用Vutrl搭建ShadowSocks科学上网
前几天谷歌翻译APP更新了5.8.0版本,并说明对中国优化,手机上终于可以不用挂VPN使用了。但是Google搜索服务目前还是不能使用,我之前是购买的云梯VPN服务,但是觉得不是很好使,有时链接不上,这又刚好到期了,于是就想着自己搭建一个VPS,科学上网。在这里记录一下。VPS介绍 简介:VPS 是 Virtual private server(虚拟专用服务器)的缩写,指通过虚拟化技术在独立服务器中运行的专用服务器。每个使用VPS技术的虚拟独立服务器拥有各自独立的公网IP地址...…
-
关于 iOS “[App] if we're in the real....
错误描述 iOS “[App] if we’re in the real pre-commit handler we can’t actually add any new fences due最近运行APP,发现了这个问题,本着宁可错看,不可放过的原则,上stackoverFlow学习了一下:----- “[App] if we're in the real pre-commit handler we can't actually add any new fences due ”翻译:-...…
-
纯代码sizeclass使用
叫兽又回来了,之前我们讲到了sizeclass在storeboard和xib中的使用,现在大家应该也都会用了。有的人问了sizeclass只能与Interface Builder一起使用吗?答案当然是不是喽。Apple公司在iOS8引入新的类专门用于纯代码使用sizeclass而准备的,这个类叫 UITraitCollection,可以使用一下几个方法进行初始化:1)+ (UITraitCollection *)traitCollectionWithHorizontalSizeClass:...…
-
关于 iOS8 Size Classes的理解与使用
Size Classes是什么iOS 8在应用界面的可视化设计上添加了一个新的特性-Size Classes,对于任何设备来说,界面的宽度和高度都只分为两种描述:正常和紧凑。这样开发者便可以无视设备具体的尺寸,而是对这两类和它们的组合进行适配。这样不论在设计时还是代码上,我们都可以不再受限于具体的尺寸,而是变成遵循尺寸的视觉感官来进行适配。在Xcode中的具体体现如下图:但是我们看到图中的宽度和高度都是Any,Any是什么意思呢?如果weight设为Any,height设置为Regular...…
-
iOS 8 AutoLayout与Size Class自悟
前言 iOS8和iPhone6发布已经过去蛮久了,广大的果粉终于迎来了大屏iPhone,再也不用纠结为大屏买三星舍苹果了,但是对于iOS开发人员来说,迎来了和Android开发开发一样的问题—>各种屏幕的适配(是不是可以要求加工资的节奏)。对于适配,网传各种有关Size Class的论点,前段时间太忙,一直没去研究,套用+总的话,苹果在适配方面提供的方法做的比安卓好太多了。自己实测之后,确实很方便(不过,还是想说,适配的核心始终是AutoLayout)。概念初探iOS8之前,公司在...…
-
关于 Swift Error 的分类
在去年我应 IBM 编辑的邀请写过一篇关于 Swift 2 中 throws 的文章。现在回头看,Swift 2 其实是 Swift 语言发展的一个挺重要的节点:如果说 Swift 1 是一个更偏向于验证阶段的产品的话,Swift 2 中加入的特性为这门语言的基石进行了补足。在那篇文章里我们主要深入探索了新的 throw 关键字背后的事情,而同一时期其实 Swift 官方有过一次关于错误处理的讨论。随着 Swift 3 的开源,这些原始文档也被一同公开,展示了 Swift 设计的过程和轨迹...…
-
你不知道的的 iOS 多线程
程序员用有限的生命去追求无限的知识。有言在先首先我不是故意要做标题党的,也不是我要炒冷饭,我只是想换个姿势看多线程,本文大部分内容在分析如何造死锁,奈何功力尚浅,然而再浅,也需要走出第一步。打开你的 Xcode 来验证这些死锁吧。多线程小知识以下是实现多线程的三种方式: NSThread GCD NSOperationQueue关于具体使用的方法不再具体介绍,让我们来看看他们不为人知的一面1. 锁的背后NSLock是基于 POSIX threads 实现的,而 POSIX thr...…
-
据说这是程序员被黑得最惨的一次 - SSL/TLS协议原理解析
本文系作者学习后巩固知识点,错误之处烦请点出,本文从叙述一个小故事的视角来介绍 SSL/TLS 的原理,希望对读者有所启发。背景程序员小明想给隔壁小红写信表白,但是又不想让信件内容被其他人看见,希望只有小红才能看见信件内容,迫不及待的小明的大脑飞快运转起来。预备基础知识 对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。缺点是交易双方都使用同样钥匙,安全性得不到保证。 ...…
-
单向数据流动的函数式 View Controller
View Controller 向来是 MVC (Model-View-View Controller) 中最让人头疼的一环,MVC 架构本身并不复杂,但开发者很容易将大量代码扔到用于协调 View 和 Model 的 Controller 中。你不能说这是一种错误,因为 View Controller 所承担的本来就是胶水代码和业务逻辑的部分。但是,持续这样做必定将导致 Model View Controller 变成 Massive View Controller,代码也就一天天烂下去...…
-
包教包会-贝塞尔曲线的绘制原理与应用
说来话长,这一切都得从PhotoShop中的钢笔工具开始说起…声明:本文不含复杂数学公式,学渣放心阅读吧😂(我仿佛看到了学渣们留下了激动的泪水)背景贝塞尔曲线(Bézier curve)是应用于二维图形应用程序的数学曲线,贝塞尔曲线基于多个点构成。它的应用非常广泛,比如说PS中的钢笔工具所绘画的曲线就是贝塞尔曲线,绘制动画的运动轨迹等等,而最近一次想用到贝塞尔曲线是想做一个 路径动画 。简介在iOS开发中一般通过UIBezierPath来实现贝塞尔曲线的绘制,平时一般使用绘制二阶和三阶...…