学习极客时间-左耳听风专栏的个人学习记录。
高效学习
端正学习态度
打破天生的惰性
学习是一件逆人性的事,大部分人容易沉迷于低成本的快速学习,不愿意去主动思考、进一步深挖。
被动学习和主动学习
- 被动学习:听音频、书籍、演讲、演示等
- 主动学习:总结、自己的思考、实践、给别人传授等
被动学习的学习吸收率远低于主动学习。
“假装学习”:低质量的刷知识,只有很小部分内容真正被自己学习收获到。盲目追求知识的数量,忽视知识的质量。勤奋的表象,低质的获取。警惕这类知识获取方式。
主动学习:思考,总结,和人讨论,践行,输出,才能真正掌握
浅度学习和深度学习
“快餐文化”:只是追求快和浅,无脑看别人的讲解视频、听音频、看公众号获取知识,越简单得到的越是廉价的,最终除了获得短暂的满足感,几乎无法转换为自己的认知。
深度学习:
- 知识采集:好的信息源,一手的
- 知识缝合:梳理、推理
- 知识转换:举一反三、实践、传授
学习为了什么?
- 为了找到方法。学习不是为了找到答案,真正需要学习的是“方法”。这样,才能举一反三,真正有用解决问题的本质。
- 为了找到原理。不只是为了知道这件事,真正有价值的是底层的原理。抓到本质,会使很多事简单的多
- 为了了解自己。学的越多,可以拓宽未知的边界。进而发现自己的不足,去成长/
- 为了改变自己。在学习过程中,不仅是为了获取知识本身,也是在精进自己。改变自己的思考、思维方式,改变自己的低效算法,习得与天性相悖的好习惯等。
源头、原理和知识地图
知识/信息源
好的信息源(头)的特点:
- 一手的
- 有数据,引用过的,实践过的
- 加入自己经验,思考的
基础、原理
底层 → 框架 学习基础原理很枯燥,会感觉不实用。但其实, 为了未来学得快、学得多。就像拉弓蓄力一样。
使用知识图
主干 → 细节 避免死记硬背,遇到知识往知识树上挂,系统全面的学习
深度、归纳和坚持实践
系统地学习某技术
可参考这个模版:
- 此技术出现的背景、目的、要解决的问题
- 优劣势
- 适用场景(业务和技术)
- 组成部分,关键点
- 底层关键实现
- 和已有实现的对比
举一反三
使用到的基本能力:
- 联想
- 抽象
- 自省 (思辨)
实践:
- 一个场景→引出不同问题
- 一个问题→可以有不同解
- 一个解→不同测试案例
现在这些实践可借助AI更好完成!
总结归纳
总结归纳的节点:一般是理解更深入时,而不是开始阶段就急于下结论,保持开放状态
方式:
- 写博客
- 讲给别人听(更)
- 等
精髓:
- 抓重点
- 化繁为简
实践出真知
痛苦→改进(反思)→学习→进步
坚持不懈
就【坚持】这个事,能做下来就超过 90%的人
如何学习和阅读代码
代码vs文档
首先要知道,代码告诉我们HOW,文档或书籍告诉我们WHY
两者各有偏重:
- 代码:细节 - 感性认识 - 新手偏向于感性,也就是从code入手,“先做出来个东西”
- 文档:思想、原理 - 理性认识 - 感性认识的基础上,会去向往更深更好的,探索WHY
阅读源代码
前提准备
- 基础知识
- 了解软件功能:用户手册,跑起来
- 相关文档: anything, ReadMe, Release Notes, wiki 等
- 代码组织结构:目录、文档功能、框架
关于代码组织结构需要关注的
反过来,这些也是我们自己写代码时需要关注的
- 接口抽象定义 理清这些需要处理的结构和实体以及之间的关系
- 模块粘合层: 也就是粘合代码的代码,如中间件.Promises、回调Callback、依赖注入、 才能看懂通过这些粘合层分裂开的代码
- 业务流程, 程序流程图,时序图等,辅助理解
- 具体实现
- 代码逻辑(业务和技术逻辑)
- 出错外理 代码一般含20%正常逻辑+80%出错处理,有时候不看这80%逻辑会更加明了
- 数据处理 DTO.DAO.JSON.XML等,有些数据格式之间的无用倒腾,可忽略不重要
- 重要算法 难懂,但有技术含量,有价值
- 底层交互。 与操作系统或jvm的交互
- 运行中调试 跑起来。铺助debug或日志调试
总结
- 从上到下,抽象到具体
- 画图 流程图、模块组织图等
- 代码逻辑归类,消除杂音
- debug 跟踪、代码执行
- 好的IDE
面对枯燥和大量的知识
如何面对枯燥的知识
枯燥 ← 不知道这个知识可以用在哪 因此,可找应用场景,学更实用的,再反过来学理论(带着问题学效果更好)
如何面对大量的知识
- 坚持,一步步学,积累的力量
- 学到本质, 表面会变,本质不会变,学习是投资
- 带着问题/挑战/困难去学,获得成就/满足感
- 分享, 动力
认真阅读文档
很多答案都在官方文档里
实用技巧
- 不同方法学同一个东西:看书、听课、博客、脑图
- 不要被频繁打断,警惕分心
- 压缩信息, 大量知识总结成表格、脑图(提取关键信息)
- 未知关联到已知,联想
- 不要记忆知识,要获取方法
- 以教授给别人的方式去学习,教授会使知识学得更全面
- 学以致用, 用起来效果plus
- 不要怕犯错, 犯过错体会更深