logo头像

学如逆水行舟

编程珠玑

iOS单元测试的那些事儿

iOS单元测试的那些事儿作为客户端开发,很多时候我们过多的关注于功能的测试,而忽略标准的单元测试。其实,单元测试是保障项目稳定性的最有效且成本最低的测试方式。越偏向底层服务的代码,越需要使用单元测试来对可靠性进行保障。一旦单元测试覆盖...

追根问底:Objective-C关联属性原理分析

追根问底:Objective-C关联属性原理分析一.引子Objective-C是一种动态性很强的语言,所谓动态能力,也可以理解为运行时能力。对于Objective-C开发者来说,动态性所带来的编程便利无处不在。例如通过Category...

Clang代码覆盖率检测(插桩技术)

Clang代码覆盖率检测(插桩技术)Clang的全称是C Language Family Frontend for LLVM,即基于LLVM的C系列语言的前端编译器。iOS应用的前端编译,即是采用Clang完成的。本篇文章,我们主要介...

iOS研习记——聊聊野指针与僵尸对象定位

[iOS研习记]——聊聊野指针与僵尸对象定位一、从一个异常说起在iOS项目开发中,或多或少的我们都会遇到一些Crash的情况,大部分Crash抛出的异常都是NSException层的,这类异常是OC层代码问题造成的,通常堆栈信息和异常...

iOS研习记——谈谈静态库与动态库

[iOS研习记]——谈谈静态库与动态库在iOS项目开发中,静态库和动态库我们时刻都在使用,离开了库的支持,我们将会举步维艰。比如,你要画界面,总离不开UIKit这个库吧,你要使用的各种基础数据结构,如NSString,NSArray等...

网络杂谈——聊聊NDS解析

网络杂谈——聊聊NDS解析一、引言在浏览器中输入一个地址,点击回车之后发生了什么?这是一个面试中常见的问题 ,这个看似常见简单的操作,其中却隐藏了大量复杂的互联网技术。本篇博客,我们就聊一聊网上冲浪的第一步:DNS解析。 DNS解析...

MD5加密原理解析及OC版原理实现

MD5加密原理解析及OC版原理实现一、MD5算法基础概念MD5算法是Hash算法的一种,叫做讯息摘要演算法。所谓摘要,从字面意思理解,是指内容的大概。在MD5算法中,这个摘要是指将任意数据映射成一个128位长的摘要信息。并且其是不可逆...

GCC编译过程记

GCC编译过程记一、引言 对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、G...

从一些简单的例子看算法时间复杂度

从一些简单的例子看算法时间复杂度在编程中,一段代码的执行效率实际上很难估算和预测,其主要受到如下几个方面的影响: 1.算法依据的数学基础。 2.编译器产生的代码质量和语言的执行效率。 3.问题的输入规模。 4.硬件的执行速度。 通常情...

挖一挖贝塞尔曲线那些事

挖一挖贝塞尔曲线那些事一、前世今生贝塞尔曲线的最初设计是服务于工业设计,尤其应用与汽车曲线设计。随着计算机画图的应用广泛,若想在计算机上画出平滑精准的曲线并不是一件容易的事,贝塞尔曲线解决了这样的问题,贝塞尔虚线通过起始点与结束点来确...