摘要:
记录一些关于进一步突破的思考.
所要突破的范围:
一. 精力管理
这点似乎是不言而喻的, 但是却非常麻烦, 面临一些非常冲突的需求:
- 人的精力是有限的
- 晚上需要足够高质量的睡眠
- 如何分配精力
- 一天的精力是有限的, 这就必须要对有些事情做出取舍
- 哪些事情是要持久进行的
- 哪些事情是需要做, 但是不能浪费太多精力的
- 哪些事情是对长期的计划有损害的, 不能做的
- 一天的精力是有限的, 这就必须要对有些事情做出取舍
二. 技术突破管理
所谓思维是技术的精髓, 那么对于技术本身的思考 就是一种思维的过程, 而要思考哪些技术, 则是必须慎之又慎的, 有以下几点可以考虑
- linux文件系统
- 基本的设计思想, 必须每天都看, 要闭上眼睛都能知道这么东西的架构
- linux最基本的文件系统ext2的实现
- 理论和具体实现的区别就在于细节的多少, 必须在保证理解理论的基础上再开始进行解读具体的文件系统
- 解读ext2的目的在于更深的理解理论, 不能过度陷入细节, 要时刻记着行动的目的
- 用户态文件系统框架FUSE
- 作为一种使用广泛的用户态系统的框架, 是必须要深入理解的
- 一个用户态的文件系统的接口如何设计?
- 如何与内核交互?
- 如何与硬件驱动交互?
- 文件系统ceph
- ceph非常有名, 代码量也很大, 是突破的重点
- glusterfs
- 这个东西的设计简单点, 可以作为辅助
- 数据库postgres
- 这个值得重点说, mysql的代码量巨大, postgres少 了很多奇怪的设计
- 更重要的, postgres的设计理念, 可以直接看懂, 难得的入门关系型数据库的好东西
- 与redis的写法类似, 用纯c完成面向对象的设计, 读起来有思路