应用层长链接协议设计

本文的内容如题,在客户端场景下,自定义一款“通用”的应用层长链接。而对于协议要想要做到极致,一定要着眼业务,用户的网络状况、应用的使用模式等等都是要考虑的因素。自然也就不存在“通用”协议,本文目的在于分解协议,阐述其中可被抽象出来的部分。鉴于笔者场景和阅历的有限,如果有偏颇之处,还望指出。     阅读全文
mrriddler's avatar
mrriddler 10月 08, 2018

TCPIP协议族基础

TCP/IP是互联网的基础协议族,它包括大大小小几十个协议。本篇文章主要涉及到就是HTTP、TCP、IP、TLS协议。TCP/IP代表的是现代网络通信模型,即协议分层或协议栈,书本上的网络模型一般是七层或者五层,完全可以对其简化,认知为四层。     阅读全文
mrriddler's avatar
mrriddler 10月 08, 2018

浅谈客户端业务架构

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