从第一篇分析LevelDB的文章到现在,差不多一年的时间了,期间共写了10篇有关LevelDB的博客。产出很少(工作、带娃,只能抽早晨早起或者周末的时间),并且现在看以前写的文章,总会觉得不够好。这也是以往对LevelDB理解还太浅薄的原因吧。 不管怎样,以前写的文章也不会大改了,一来是因为写LevelDB的博客主要是为了学习先进的设计思路及coding艺术,二来文章的受众也很少,博客也很少有人关注,所以可以冠冕堂皇的用“自己能看懂就行”作为偷懒的借口了。
纸上觉来终觉浅,觉知此事须躬行,在分析LevelDB代码的时候,我采用的是最笨的方法:抄代码。先了解大致思路,然后开始抄代码,一遍不行抄两遍,两遍不行抄三遍。抄着抄着,也就其义自见了。阅读代码是一个好的代码分析工具可以让人事半功倍, 推荐使用“scitools Understand”。
之所以要做LevelDB系列,跟自己的方向有很大关系。 目前从事后端服务开发,涉及到服务架构及检索相关。后端关于单机技术的方方面面,LevelDB基本上可以全都涵盖。后端服务开发还涉及到网络及分布式相关技术。 在网络技术方面以前学习过陈硕的muduo网络库, 略有小悟,只是当时没有写成博客的形式总结。分布式方面是后面想要学习的重点。 无论AI技术现在多火,后端总是离不开大数据的,即离不开分布式存储、分布式计算等一系列基础组件。 所以想要多些分布式方面的积累,以期有机会能够转型到分布式 存储及计算的领域。
coding是生活中不可或缺的,但生活中不应该只有coding。在工作之外,给自己定的目标就是“修身”,再详细点说就是“修止”。知止而后有定,定而后能安,静而后能安,安而后能虑,虑而后能得。期望通过修身,让自己成为一个真正的正人君子。
有了女儿之后,世界都变得不一样了。想起女儿天真的笑容,心儿就会融化。好好努力吧,为人父止于慈,为人谋而忠,与友交而信。