浅谈客户端业务架构

这一篇文章中,笔者带着自己有限的经验,会从一些经典架构出发,结合客户端业务复杂度特点,针对一些常见问题,提出一些建议和看法。文中有很多个人观点,鉴于笔者才疏学浅,难免有失偏颇,望各位看官指点一二。架构这个话题很广,又没有明确定义,本文就不以体系的角度,仅以业务开发上的架构为题探讨。     阅读全文
mrriddler's avatar
mrriddler 9月 09, 2018

dyld_startup

dyld是苹果出品的动态链接器,是MacOS和iOS平台计算机体系的核心,它负责计算机体系中的装载和链接,本篇文章探索dyld在启动程序这一过程中的角色。这一过程中涉及到了dyld、libsystem、libdispatch、objc中的代码,文章中将相关代码简化后的伪代码贴出来,可读性非常高,降低了门槛,抓大放小,主旨在了解其原理。     阅读全文
mrriddler's avatar
mrriddler 8月 26, 2018

dyld_link&load

dyld是苹果出品的动态链接器,是MacOS和iOS平台计算机体系的核心,它负责计算机体系中的装载和链接,本篇文章探索链接、装载在其源码中的奥秘。文章中贴了大量的经过简化的伪代码,可读性非常高,其深意跃然屏上。     阅读全文
mrriddler's avatar
mrriddler 8月 25, 2018

计算机体系-链接与装载

本文章的主角是链接与装载,链接和装载是一段隐藏的很深的咒语,大部分程序员不会直接接触到,听到的也只是计算机的窃窃私语,但是其相关内容,却是计算机体系的核心。     阅读全文
mrriddler's avatar
mrriddler 8月 24, 2018

计算机体系-垃圾收集器

本文章的主角是垃圾收集器,文章简洁、明确的指出引用计数和跟踪式的异同,并以和垃圾收集器走红的jvm阐述。     阅读全文
mrriddler's avatar
mrriddler 5月 01, 2017

计算机体系-栈与堆

本文章的主角是栈与堆,而文章还会将栈和堆相关联的calling convention、堆级别内存管理、ABI等核心要点,以及技巧阐述清楚。     阅读全文
mrriddler's avatar
mrriddler 5月 01, 2017

计算机体系-进程与虚拟存储器

本文章的主角是进程与虚拟存储器,其他联合主演有装载、虚拟地址、物理地址、页等。这些计算机元素互相协作构成一个完整的体系。     阅读全文
mrriddler's avatar
mrriddler 5月 01, 2017

LSM-Tree与RocksDB

冥冥之中,接触到了不同于关系数据库的NoSQL Key-Value存储引擎RocksDB,懵懵懂懂、充满好奇,google一点,满眼皆是LSM-Tree,头晕眼花、若即若离,便有了这篇文章,一起与大家分享这趟探险之旅。     阅读全文
mrriddler's avatar
mrriddler 2月 28, 2017

Clang Plugin--Sherlock

本篇文章就介绍一下如何做一个Clang Plugin和我提供的面向Objective-C的开源方案Sherlock。对于Swift已有开源方案SwiftLint。     阅读全文
mrriddler's avatar
mrriddler 2月 24, 2017

数据结构

本篇文章并不关注数据结构的实现,更加关注数据结构有趣的性质。 线性数据结构表达元素的顺序关系。 树状数据结构表达元素的层级关系。 图状数据结构表达元素之间更广泛的关系。     阅读全文
mrriddler's avatar
mrriddler 11月 14, 2016