软件开发内功提升计划

看金庸的小说里, 那些武功高手之所以能成为高手, 无一不都是所谓的『内功深厚』. 那么在软件开发领域, 我认为所谓的内功深厚, 就是应该对计算机的基础和底层有一个非常深刻和扎实的『自底向上』的知识结构, 而不仅仅是停留在 code just run
的现象层面. 从这一点思考出发, 就发现自己的 内功
并不是很扎实, 为此,准备使用半年的时间回顾学习底层的基础知识, 制定了一个学习清单 并且也在在此列出, 更好的量化和督促自己.

根据目前的业界软件开发领域, 列出了所依赖的几大基础领域, 其实也是 我们大学计算机系的几大基础课程清单吧. 列表如下:

  • 操作系统
  • 数据库
  • Java虚拟机
  • 计算机网络
  • 分布式系统

然后各个系列根据各自领域相关人士的推荐, 和豆瓣/亚马逊/goodreas等推荐网站的搜索. 列出了主要的学习资料和内容, 具体如下:

操作系统主题的相关学习

学习材料

  • 深入理解计算机系统
  • 程序员的自我修养
  • Linux内核解析
  • 现代操作系统
  • Linux常用命令行总结

实验和项目操作

数据库主题

  • mysql必知必会: 很薄,可以很快读完。
    *《MySQL性能调优和架构设计》,很薄,可以很快读完。
  • 官方文档中:MySQL Server System Variables,MySQL Server System Status。
  • 通读并测试mysql、mysqldump、mysqladmin命令行工具的参数。
    《鸟哥的Linux私房菜》
    《高性能MySQL(第三版)》,阿里的几个DBA翻译的,非常经典,值得耐心阅读;开发人员可以阅读这一本即可应对大部分问题。
    《MySQL技术内幕:InnoDB存储引擎(第2版)》,通过这个可以了解到很多Innodb运行的内部原理。
    《MySQL技术内幕:SQL编程》。
    《O’Reilly:高可用MySQL:构建健壮的数据中心》,通过这个可以了解到很多replication的细节。
    《Understanding MySQL Internals》,可以为进一步的阅读源码打下基础。
  • MySQL官方文档,官方文档历来是杀人越货居家必备,解决问题可以第一时间查阅官方文档,得到很权威的解释。

JVM主题学习

  • JVM重要论文阅读和学习
  • JVM调优实践
  • 常用JVM的工具命令行掌握和学习一遍
  • 线上问题排查演练

未完待续…………….

  • 版权声明: 本文源自互联网, 于3个月前,由整理发表,共 919字。
  • 原文链接:点此查看原文