Brain Fuck, 在此译为烧脑。So, Why?
长久以来,一直处于舒适区,作为一名 IT 民工,再不锻炼估计真的就废掉了 :D 。所以,为了挑战自己,离开自己的舒适区,因此就有了这个 Brain Fuck Plan 系列(简称BFP)。

介绍

BFP 是一个浩大的工程,主要目的是梳理和巩固 CS 的基础知识。会涉及到以下 7 个方面:

  • 1 操作系统
  • 2 编译原理
  • 3 计算机网络
  • 4 数据库系统
  • 5 软件测试
  • 6 设计模式
  • 7 算法

个人认为,如果掌握前四个,就已经非常厉害了。所谓以不变应万变,一招制敌。目前众多的语言、或者框架等都无法逃脱以上基础。之所以把软件测试列进来是因为,软件测试确实非常重要!!!设计模式和算法也同样很重要,这些知识有时候并不是孤立的,比如在研究数据库系统的时候,算法就显得很重要,同样也需要对操作系统和计算机网络有深入的了解。

交付物

针对以上七个方面,标志 BFP 完成的交付物如下:

  • 1 操作系统:实现一个 OS,
  • 2 编译原理:实现一个 lua 解释器和虚拟机。并尝试移植到自己实现的 OS 上。
  • 3 计算机网络:实现几个常见的网络协议。
  • 4 数据库系统:剖析 SQLite 的实现。
  • 5 软件测试:实现一个自动化测试框架。
  • 6 设计模式:梳理20余个设计模式,并比较多个语言的实现以及支持程度。
  • 7 算法:梳理算法结构,然后刷一波 Leetcode 等 OJ。

其实最重要的交付物还是自己能真正有所成长。但是为了能督促真正有所收获,还是要有产出物(就像学习需要考试来检验)。

以上若涉及到代码等会托管到Github上。

计划

择日不如今日,BFP 从今日(2016.11.06)开始。
时间跨度安排:

  • 阶段1(1个月)主要内容是看资料,梳理。
  • 阶段1(预计6个月)主要工作:复习 + 学习 + 整理 + 一系列博客分享
  • 阶段2(不限时)完成交付物,分享等。

    注:头脑发热后,第二天重新估算了一下时间,每天只能抽出3个小时左右来做这些事情。但是每天的工作量平均预估18个小时。所以时间跨度*6了。虽然Brain Fuck,但还要尊重科学。不过奇迹总会有的~ 既然时间跨度拉长了,那么研究的就会更细致一点!

宣誓?

宣誓?实在想不到更好的标题了,这篇文章主要是说明自己的立场(这个词貌似也不合适)。

想要获得必然要付出或者放弃一些东西。接下来一段时间,尽量降低外界干扰,充分利用业余时间,会从一些 SNS 上消失一下。但是消息,邮件之类的会正常收取,但频率会变慢,票圈这种东西就戒了。

结伴

BFP 更多资料会逐步放出,具体实施计划表以及学习资料在此不会陈述(因人而异,重点还是 Brain Fuck,所以很多东西也没有那么重要),如果读者感兴趣,那就一同加入 BFP 吧,欢迎邮件或者留言。