Fork me on GitHub

楚权的世界

Seek the wonder of life.

概述

Objective-C 本质上是一种基于 C 语言的领域特定语言。Objective-C 通过一个用 C 语言和汇编实现的 runtime,在 C 语言的基础上实现了面向对象的功能。在 runtime 中,对象用结构体表示,方法用函数表示。

阅读全文 »

Event Loop

通常,一个线程一次只能执行一个任务,任务完成后线程就会退出。但是在很多系统或框架中,需要实现一种这样机制:线程能够随时处理事件或消息,并且不会在执行完成后退出。这种机制称为 Event Loop,其一般逻辑吐下所示:

阅读全文 »

现代软件系统中,除了进程,线程也是一个非常重要的概念。随着CPU频率增长开始出现停滞,处理器逐渐开始想多核方向发展。多线程,作为实现软件并发执行的重要方法之一,也开始被重视。

阅读全文 »

前文结尾说到编译器编译源代码后生成的文件叫做目标文件,而目标文件经过编译器链接之后得到的就是可执行文件。那么目标文件到底是什么?它和可执行文件又有什么区别?链接到底又做了什么呢?接下来,我们将探索一下目标文件的本质。

阅读全文 »

最近在看《程序员的自我修养——链接、装载与库》一书,这本书以前看过一部分,由于难啃,当时没有坚持下去。现在工作了,每天接触的都是业务开发,对底层的一些东西感觉越来越陌生。于是,又把此书翻了出来拜读。为了加深阅读的印象,打算对书中的一些有价值的内容进行整理,也方便后续回顾。

阅读全文 »

在iOS开发中苹果定义了一套MVC的软件架构。前几天,同事们聊起了MVC、MVP、MVVM等架构的区别。今天,我也来对此给出一些自己的理解。

阅读全文 »

几个月前,在脉脉上订阅了一个付费的音频课程——《徐彬说投资》。课程每天更新(工作日),共48节。虽然课程内容的连贯性不是非常强,但是对于非专业人士来说,这是一个非常好的理财入门课程。以下内容是我在听完该课程后做的一些笔记和总结。原始笔记在这里

阅读全文 »

这些天在考虑选择什么主题在即将来临的公司技术分享会上进行分享。思来想去,也没找到什么比较好的主题。逆向?已经有人分享过了...框架?不是针对特定需求的框架,介绍起来感觉也没有太大的意义...

阅读全文 »

Git场景

在基于Git版本控制的团队协作开发中,当同伴先于自己将新的提交push到远程分支上时,如果要想将自己新的提交push的远程分支,则需要先执行git pull来获取同伴的提交,如果有冲突则先处理完冲突,然后才能将自己的提交push到远程分支。这种情形是非常常见的。

阅读全文 »
0%