学,无止境

终身学习,学海无涯苦作舟。

语言学习

想学好外语,就要先把脑子给「清空」,不要残留关于母语的一切习惯;想学好外语,就要将它融会贯通到骨子、血液里,不要像个「翻译机」一样在脑中建立两张「映射表」(一张从实物映射到母语,另一张从母语映射到外语),然后进行转译;想学好外语,在有一定基础后就去跟那门外语的母语持有者一起学习。

上面是我某工作日早晨乘公交时的感悟,具体请看《「归零法」学习外语》。

技术学习

学习一个技术,基本就是要做到掌握它的下面几个方面,可以用「2W1H」概括:

  1. 概念,要学习的是个什么东西——What
  2. 背景,为什么而存在,为解决什么问题而被创造——Why
  3. 原理,运作机制是什么,是怎么解决问题的——How

如何学习并掌握一个库/框架?

大致步骤:

  1. 决定要掌握的库/框架——找到目标;
  2. 仔细阅读官方文档并整理出脑图——对目标进行初步分析、建模;
  3. 研读源码并整理出脑图、架构图等——深入了解目标的实现及背后思想;
    1. 将官方 Git 仓库 fork 一份
    2. 以某次发版(例如最新的 tag)为基础了解项目信息,在脑中初步建立软件架构相关的模型
      1. 查看开发相关说明文档
      2. 了解目录结构及相应的作用,实际是了解模块划分
    3. 根据库/框架的初始化、执行流程开始阅读源码(也可以按照自己感兴趣的顺序)
  4. 与以往的知识和经验做结合以进一步抽象——完善思维模型和知识体系。

学习总结

以下为按照上述步骤实践之后的产物:

目录