学习技巧

  1. 如果某些东西需要深入学习最好先切成块自己拼装起来,就像flask一样,不要一上来就是一大堆现成的,但是如果只需要会用的话那么就可以搞个现成的,因为你不需要了解其实现,根据不同的要求来
  2. 重构不仅仅是简化函数,核心还是要看哪些东西能够抽象复用,或者有可能需要抽象复用,把这部分提取出来,不要一直写一次性代码
  3. 知识地图是画不出来的,用多维模型才能解释知识地图,二维的知识地图只能算是一个乞丐版,不能完全描述真正的知识地图,在这种情况下可能还是使用互相交叉的概念模型图会比较好(就是我自己总结的概念模型)
  4. python语言的学习可以分为语法的学习和工具的学习,两者需要结合起来,标准库就是python语言工具的学习,标准库的学习过程(特别是内置类型)相当于就是在复习python语言工具了,之后python语法的复习要和fluent python的复习放在一起
  5. 阅读文档的时候先想想这个文档实现了什么,当中有可能怎么实现,会有哪些方法,带着问题去读才能提高效率

知识学习方法论

对于新知识的学习,无论是什么,都分为这几个步骤

一,框架搭建

即搭建自己学习框架,知道你要学习的这块知识当中有哪些内容,其中的知识地图(知识的脉络与联结)又是怎么样的,这块知识在上一层级的知识地图当中又占据什么位置

二,学习路径选择

学习路径选择的目标是 最高的学习效率 ,而 学习效率 = 学习效果 / 学习时间 因此决定学习路径选择的主要有这几个点:

  1. 难易程度,一般来说,与已有知识点连接数越多,连接越紧密的越容易
  2. 巩固机会,平时越容易用到的巩固机会越多,当然也可以人为地去创造巩固机会
  3. 重要性,高重要性一般提现在两个方面,其一是该知识点是其他知识点的底层机制,其二是该知识点连接了其他众多知识点,两者的区别在于前者需要更多的巩固机会,也就是你需要更频繁地去复习它(解决方式可以是在思考过程当中就带上它)

所以根据这几个条件,学习路径的选择有两种方式

就像下围棋那样:

  1. 跳跃:这种方式意味着这块知识点有极高的战略意义(亦即重要性),通过它你进可以延伸到其他更多知识点,退可以与原有的知识块联结(和玩群星很像啊)
  2. 延伸:这种方式要求你尽量找与已学知识点联系最紧密的知识点进行学习,这样效率高,而且能形式体系,增强所有知识点的掌握牢固性

三,具体知识的学习

第二条更多说的是宏观层面的大块知识的学习路径,而这条要说的是细节方面的小知识点的学习,其唯一的指标还是效率

从静态的效率角度来说,在恰当的路径下选择最合适的学习曲线是最优解,而在动态的效率角度来说,则要考虑到陡峭曲线的学习可以加强人本身对于陡峭曲线的适应能力,所以从长远的角度上来说,更合适的方案是选择稍微陡峭的学习曲线,不要让自己太舒服(虽然最合适的学习曲线已经不太舒服了)

四,复习巩固

所有知识的本质是理解和记忆,所谓向底层的下沉应该是理解和记忆到overflow的程度后发生的质变(也不能完全等同这样的模型)。

复习巩固可以分为两个层面:

  1. 细节巩固
  2. 体系巩固