最近闲来无事,重新学习了一下算法,选用的教材则是大名鼎鼎的《算法导论》。不得不说算法导论真的是一本神书,只是当年自己过于年轻而不得其精髓。在看算法导论之前,自己对快排的理解只停留在实现和使用上,但是对里面的思想却一无所知。总的来说快排是分治思想的一种体现,而书中对快排优化时采用的随机算法和概率分析,让我不禁感慨理论才是指导实践的第一标准。
《漫谈分布式系统系列之:拜占庭将军问题》
学习分布式系统,Leslie Lamport 绝对是一个绕不开的大师(大爷)。当前分布式系统系中的大部分理论基本上都是这个大爷在上世纪7、80年代奠定的。而这个大爷也因为在分布式系统方面的贡献,获得ACM颁发的2013年度图灵奖。本系列的第一篇文章则选择谈一下其最早的理论:拜占庭将军问题 (The Byzantine Generals Problem)。
《漫谈LevelDB系列之:Env家族》
本文是漫谈LevelDB系列中的第二篇文章。主要是谈一谈我对LevelDB中核心数据工具类Env的理解。在我看来LevelDB中的Env家族,对底层细节做了非常好的封装使得LevelDB可以很轻松的跨平台运行。是一个非常好的c++学习以及软件设计的样本。
《漫谈LevelDB系列之:SkipList 》
本文是漫谈LevelDB系列中的第一篇文章。主要是谈一谈我对LevelDB中核心数据结构SkipList的理解。在我看来这个SkipList在实现上其实做了非常多的取舍,以及特殊设计,是一个非常好的c++学习以及软件设计的样本。
《时间的朋友:24岁生日感言》
既然不能战胜时间,不如和他成为朋友:写在24岁的边上。
《X86编码-指令格式与解析二》
x86指令集的ModRM寻址以及SIB补充寻址模式
《X86编码-指令格式与解析一》
x86指令集的一般格式,以及Prefix,Opcode的解析规则介绍。
《时间的朋友:23岁生日感言》
既然不能战胜时间,不如和他成为朋友:写在23岁的边上。
《CMU-15455-Project1-BufferPoolManager》
Project 1的主要目的是完成一个数据库的BufferPoolManager,并且将其分为了三小部分完成。首先是完成Extendible Hash Table。其实这部分内容在课程中讲的非常详细(为什么需要EHT,以及EHT的基本原理),并且实现部分只需要考虑扩容所以其实还算简单。
《Geo-Raft算法的简单描述》
这篇文章主要记录一下Geo-Raft算法协议部分的简单描述