CSAPP-C1:计算机系统漫游 keynote

2016-12-26
阅读 3 分钟
2.6k
hello.c的表示方法说明了一个基本思想:系统中所有的信息-包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由比特流表示的。区分不同数据对象的唯一方法是我们读到这些数据的上下文。(因为不同的上下文中,一个通严格字节顺序可能表示一个整数、浮点数、字符串或者机器指令)

UML

2016-02-26
阅读 1 分钟
2k
UML是什么 UML(Unified Modeling Language)统一模型语言,是一种标准,在软件开发中是扮演工具的角色。 UML不同用法 草稿 主要目的是为了早期沟通 {代码...} 蓝图 程序语言 类别图 类图用来描述系统中组件类型(types),同时可以描绘组件之间的关系。类图中主要展示属性与操作。以及组件之间的链接限制。 属性 完整语...

iOS项目OC代码规范 -> 纯文本规范

2016-02-01
阅读 5 分钟
3.6k
目的是为了组内代码风格统一,加强代码的可读性以及方便维护。这里只做一些非技术方面的代码约束要求。这里大概是参照了AFNetworking以及FaceBook开源代码做了一些tip级别的约束。

React Native 流水账

2015-11-20
阅读 2 分钟
2.2k
流水账的重点在于简单介绍下React-Native(iOS)的根基文件 -> index.ios.js React基础 {代码...} 以上是应用中会用到的“组件列表”,既然是组件(component)那自然带了组件的特性: 模块化 复用性 可组合嵌套 其他常用的组件还有image、TextInput、ListView。 render函数 {代码...} 整个render函数的作用就是创建一个A...

iOS:ComponentKit 使用总结

2015-04-25
阅读 8 分钟
17.7k
好。。开始做下ComponentKit使用总结。。源码没有看,只看了一些概念以及API。本篇文章主要总结下使用心得以及ComponentKit的理念。一切的分析都基于使用层面上的。。大神请打脸或略过~

CoreData:被管理对象模型

2015-04-06
阅读 4 分钟
4k
被管理对象模型即(APP)数据模型结构。在使用CoreData的时候,我们只需把精力放在(被管理)对象上。至于叫它data model, object graph, schema, or data structure其实是一个意思~

MKNetworking浅析

2015-02-25
阅读 1 分钟
3.2k
MKNetworkingEngine负责管理与主机之间的通信。包含可达性检测,任务队列化,主机名以及缓存操作等等。Tip: 针对不同的主机通过继承MKNetworkingEngine来使用子类来进行控制为最佳实践

Swift:Generators 与 Sequences 浅析

2015-01-05
阅读 2 分钟
11.4k
提到数组我们就会想到遍历,一般的遍历可能都是从头到尾进行的。但是如果你有特殊的需求呢。你可能不想呆板的进行遍历。这时候Generators就可以派上用场了。

Swift函数式编程:Optional

2014-12-26
阅读 1 分钟
2.8k
{代码...} 前言 Swift中的可选类型用于表示该实例可能不存在值或者是该实例计算后可能导致错误的值。 例子:字典 {代码...} 在字典中,我们不能保证每次所检索的key对应的值都有效。 正确的取值方式应该为: 1) {代码...} 2)解包动作: {代码...} 合并1)与2) {代码...}

基本的图算法:Swift实现

2014-12-22
阅读 8 分钟
6.2k
预热 几个关键单词: 图 - Graph - G 顶点 - Vertex - V 一般用小写 u,v表示 边 - Edge - E 邻接表 - Adjacency list - Adj 源顶点 - Source - S - s 目的顶点 - Destination - v 前驱 - Parent - π (点属性) 后继 - Successor (点属性) 距离 - Distance - d (点属性) 几种结点状态: 结点未被发现 - whiteState 结点被...

Cocoa中的NSUndoManager

2014-12-19
阅读 4 分钟
5.1k
默认的话,每个应用窗口都有一个撤销管理者,并且在响应者链的任意对象可以管理一个自定义的撤销管理从而实现对本地各自视图撤销和重复操作。除了UITextField和UITextArea自动配有撤销功能之外,其余对苹果开发者都是一个待修的课题。

快排:Swift实现

2014-12-19
阅读 3 分钟
3.8k
将数组A[p..r]分割成子数组A[p..q-1]与A[q+1..r],满足A[p..q-1]中的元素都不大于A[q]且A[q+1..r]中的元素都不小于A[q]。(标兵q的选择后续在讨论)

Objetive-C中的方法调包(Method Swizzling)

2014-12-18
阅读 4 分钟
3.1k
方法调包(Method Swizzling)应用于改变某个SEL(该SEL已有实现)的方法实现。这个技术让OC中的方法调用在运行时通过改变SEL与类分发表中的函数映射关系从而来指定你真正想要调用的函数。

贪心:Swift实现

2014-12-17
阅读 3 分钟
3.8k
求解最优化问题得算法通常需要经过一系列得步骤,每个步骤都面临多种选择。在许多最优化问题上使用动态规划其实会有杀鸡用牛刀的感觉。贪心算法(greedy algorithm)保证每一步都作出当时看起来的最佳的选择,换句话说就是保证局部最优选。

动态规划:Swift实现

2014-12-16
阅读 7 分钟
3.8k
类似点在于都是通过组合子问题的解来求解原问题。 不同点在于分治方法将问题划分为互不相交的子问题,递归的求解子问题;而动态规划在于子问题重叠的情况,不同子问题的解是递归进行的,反复的求解公共子问题。

堆排序:Swift实现

2014-12-11
阅读 1 分钟
3.3k
概述 堆排序(heapsort)具有空间原址性,任何时候只需要常数个额外的元素空间存储临时数据。整个算法的时间复杂度是O(nlgn)。 堆性质 1)近似的完全二叉树 2) {代码...} 3)最大堆 A[PARENT(i)] >= A[i] 4)最小堆 A[PARENT(i)] <= A[i] 堆应用 最大堆常用于构造优先队列 堆的几个基本操作 MAX-HEAPIFY 时间复杂...

分治:Swift实现

2014-12-11
阅读 4 分钟
3k
中心思想 Divide 分解规模较小且问题形式相同的多个子问题 Conquer 子问题继续递归后能被求解 Combine 合并解组合 栗子:求最大子数组问题的分治思想 条件与返回值 输入源:数组A[low..high] 返回:A[i..j] 要求 A[i] + A[i+1].. + A[j] = MAX 分治模式 1.尽可能的将原数组分解为规模大致相同的两个子数组(Divide),找...

iOS/OSX 调试:跳舞吧!与LLDB共舞华尔兹

2014-12-09
阅读 13 分钟
9.3k
原文链接:[链接] {代码...} 前言 你是否呕心沥血的尝试去理解代码和打印出来的变量内容? {代码...} 或是漏过函数调用来就简化工程行为? {代码...} 或者短路的检查逻辑? {代码...} 亦或者是函数的伪实现? {代码...} 那是不是要不断的重编译,然后又开始新的轮回? 构建软件是复杂的而且BUG无处不藏。一个正常的修正...

iOS/OSX 调试:用例调研

2014-12-09
阅读 9 分钟
5.3k
代码世界也不存在圣人,所以调试也是我们大家所必备的良好技能。不是乱枪打鸟,我将会看看回归到UIKit中的BUG,并告诉你我以前理解,隔离,并最终解决问题的工作流程。

Watch​Kit (苹果表开发框架)

2014-12-04
阅读 4 分钟
4k
原文链接:[链接] 前言 Watch的出世让很多人都很激动,尤为程序猿。 最佳起航途径是什么呢?毫无疑问那就是官方说明Apple's WatchKit developer resources。 看“起步”视频 通读Human Interface Guidelines 细读WatchKit Programming Guide与WKInterfaceCatalog 示例代码Lister Sample App (吐槽略。。。) 本期为iOS开...

CMDevice​Motion (传感器框架)

2014-12-02
阅读 6 分钟
12.9k
原文链接:[链接] 前言 陀螺仪和加速器一般都难入我们法眼。 Core Motion framework使我们可以很容易驾驭这些传感器,让用户动动手指点划滑就可以完成相关的交互。 含M7或M8处理器中的动态处理器的设备还特别提供了获取已保存动态活动的功能,就比如走了多少步,爬楼梯,还有另外一些运动状态(走圈圈等)。 CM让开发者...

进程间通信 (OSX/iOS)

2014-12-02
阅读 10 分钟
59.5k
OS X是MacOS与NeXTSTEP的结合。OC是Smalltalk类面向对象编程与C的结合。iCloud则是苹果移动服务与云平台的结合。

Raw​Option​Set​Type

2014-12-01
阅读 4 分钟
3.1k
OC中用NS_ENUM & NS_OPTIONS用来标记C中的枚举值。 在Swift中,即使因为增加了许多特性让枚举显得比较费事比如原始值和关联值等,枚举仍然以第一类语言的身份与struct or class并驾齐驱成为基石。枚举完全的契合使用于封装一套关系相近的固定值集合,开发可以有很多机会来使用它们。

Swift中的系统版本确认

2014-12-01
阅读 2 分钟
5.1k
原文链接:[链接] 前言 C VS Swift C不安全 (这里主要指指针的使用) C中有未定义的行为 (只声明,不初始化) C中的预处理器解释功能缺陷 OC中的API检查主要是通过C预处理根据当前classs发送respondsToSelector:和 instancesRespondToSelector:来达成的: {代码...} Swift根据特定系统以及指令集架构对编译器做了完全...

Unix基础

2014-11-26
阅读 5 分钟
2.6k
In a strict sense, an operating system can be defined as the software that controls the hardware resources of the computer and provides an environment under which programs can run.

Ruby Tips

2014-11-24
阅读 3 分钟
3.6k
前言 本文是对Ruby一些语法特点的记录。。。 数组循环 对于数组的循环,Ruby提供了each方法: {代码...} 在do与end之间是block与swift的块概念相同,item则是迭代时候每个元素引用名。 符号 在散列中,为了更有效率的区分字符串是否相等,引入了概念符号。下面栗子为符号与字符串相转换。 {代码...} 散列 创建 {代码...}...

Swift函数式编程API

2014-11-20
阅读 3 分钟
4.7k
每每说到API设计,许多常用的模式以及很好实践总是在不断的发展进步。不说别的,我们还有很多很多的栗子从大苹果的Foundation,Cocoa,Cocoa Touch还有其他框架可以举起来。毋庸置疑,这里面还是不够清晰,一直还是有空间去讨论如何让一个API更理想化的契合一个使用案例。尽管如此,普遍的模式对OC开发者来说早已是家常...

善变的Swift函数

2014-11-20
阅读 15 分钟
6.2k
原文链接:[链接] 前言 尽管OC跟其他语言有些很奇形怪状的语法,但是一旦你找到窍门方法语法还是相当直截了当的。快速回顾下: {代码...} 对比下,Swift的语法看上去更像另外一种编程语言,可能比OC更复杂更容易混淆。 在我继续之前,我想澄清下Swift方法与函数的区别,因为我会通篇文章地使用它们。这里有个方法的定义...

UIPrint​Interaction​Controller

2014-11-19
阅读 8 分钟
5.1k
UIKit使用户设备直接打印变得方便起来,而且打印可以根据内容或者纸张大小进行自定义排版。这篇文章的意义在于让你明白在打印的时候如何格式化你的内容,详细阐述不同的方式来展示打印接口。

完全Core Data的应用

2014-11-18
阅读 11 分钟
4.1k
首先创建固化栈对象,提供CD数据模型和文件名,返回一个管理对象上下文。然后我们将会创建CD数据模型。接下来,我们将会创建简单的表格视图通过抓取结果控制器来展示根列表上的单件,然后一步一步添加交互,通过添加单件,导航到子单件详情,删除单件以及添加撤销的操作。