2017计划(2017-01-28--2018-02-15)

17年计划

重点是代码设计,java并发及网络基础知识的学习,操作系统和数据库学习可选。开源软件研究主要是kafka, redis可选。

时间估算与分配

粗略估计下工作之外的时间

工作日:每天早到,1.2 * 20 * 12 = 280个小时,用于书籍阅读

周末:4 * 4 * 12 = 190个小时,用于代码研究(%50)或写blog(%50)

备注:

学车占掉3月到5月的周末时间

车祸占掉20天左右时间

对象工作原因,早到时间只能保证每天半个小时。

标准

读书:

  1. 从头到尾翻过一遍

  2. 做了整本书的脑图,并真正能够将书的内容从树的根串联起来。

  3. 每一类的书都有对应的一篇或多篇blog,多以图的形式展示,多个人思考。

  4. 尽量与工作联系上,尽可能在工作中实践之(2017-10-10)

代码研究:

  1. what: 是什么,有什么使用场景,诞生的背景。

  2. how: 如何实现,可以通过阅读官方文档和源代码共同进行

  3. why: 理解了how,解释下why。对比其他软件,有什么独特设计,特色

  4. why not: 不足,缺陷。(尽力而为)

目标

读书

clean code

这几本书都有翻过,基本都在50%之上,但感觉还是差点劲。重在总结,串联知识,升华,结合已有经验再做归纳,生成blog。

时间: 2月7日-7月31日

书籍:

  1. 实现模式

  2. head first设计模式

  3. 设计模式

  4. 领域驱动设计 软件核心复杂性应对之道

  5. 实现领域驱动设计 (ps: 翻了一遍,工作中涉及的系统不是很契合,体会不是很深,完成约30%)

  6. effective java

  7. 重构(ps: 代码整洁之道读了部分、代码大全先不读了)

java并发

时间 8月1日 -9月31日

书籍:

  1. java高并发程序设计

  2. java并发编程实战

  3. java并发编程的艺术

  4. netty权威指南(optional)

除了2,其余三本买回来还没翻过呢,希望借此更加深入的学习java并发的相关知识。

网络

时间: 10月1日-11月31日

  1. 图解tcp/ip

  2. 图解http

  3. 图解网络硬件

  4. tcp/ip协议详解(卷一)

  5. wireshark 网络分析就这么简单

操作系统

时间: 12月1日- 1月30日

  1. 深入理解计算机系统(optional)

代码研究

时间: 2月7日-10月31日

kafka

能够回答这几个问题:

what:kafka是什么,有什么使用场景,诞生的背景是什么?

how: kafka的工作原理,文件系统的结构,如何接收请求,处理请求,如何rebalance,如何保证高可用等等。

why: kafka这样做有什么高明之处,相对于其他同类软件的特色。

why not: kafka有什么不足,是否可以有改进的地方。

redis(optional)