我的笔记
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
shalom1995 ead82ed61f manage script 1 year ago
01_妥拉笔记 笔记迁移 1 year ago
02_Go语言笔记 笔记迁移 1 year ago
03_Java笔记 javase 1 year ago
05_Mysql笔记 manage script 1 year ago
06_Linux笔记 笔记迁移 1 year ago
07_fabric笔记 笔记迁移 1 year ago
08_IPFS笔记 笔记迁移 1 year ago
09_docker笔记 笔记迁移 1 year ago
10_DataStruct笔记 笔记迁移 1 year ago
11_C语言笔记 笔记迁移 1 year ago
18_IDEA笔记 笔记迁移 1 year ago
19_面试笔记 笔记迁移 1 year ago
20_公务员笔记 笔记迁移 1 year ago
21_管理笔记脚本 manage script 1 year ago
22_计算机基础笔记 笔记迁移 1 year ago
Bitcoin笔记 笔记迁移 1 year ago
ETH笔记 笔记迁移 1 year ago
GFS笔记 笔记迁移 1 year ago
Git笔记 笔记迁移 1 year ago
JS笔记 笔记迁移 1 year ago
Redis笔记 笔记迁移 1 year ago
Typra笔记 笔记迁移 1 year ago
VPN笔记 笔记迁移 1 year ago
dos命令笔记 笔记迁移 1 year ago
node笔记 笔记迁移 1 year ago
note of heartbeat 笔记迁移 1 year ago
shell笔记 笔记迁移 1 year ago
上海话 笔记迁移 1 year ago
分布式笔记 笔记迁移 1 year ago
名师 笔记迁移 1 year ago
微服务笔记 笔记迁移 1 year ago
服务端笔记 笔记迁移 1 year ago
测试笔记 笔记迁移 1 year ago
编程思想 笔记迁移 1 year ago
网络编程笔记 笔记迁移 1 year ago
读书圈/自控力笔记 笔记迁移 1 year ago
迪士尼笔记 笔记迁移 1 year ago
.gitmodules 笔记迁移 1 year ago
ASCII表.jpg 笔记迁移 1 year ago
README.md 笔记迁移 1 year ago

README.md

myNotes

我的笔记

学习方法论

  1. 将要学的知识拆解成一个一个的点

    • 找多本该领域综述性的教科书看它们的目录
  2. 针对每个点做刻意练习,变换多种方法练习该点

    • 对书里的章节进行精读
  3. 对多个点的排列组合,进行刻意练习

  4. 最后把知识点和现实工作中的情况(自己工作,或其他公司相关的工作)进行对照

这样就可以融会贯通建立对一个领域的理解

这样说可能有点抽象,拿我当年学习分布式存储的过程为例子,先结合自己的工作内容梳理出需要深入了解的知识点(例如,元信息组织,Meta Server设计和HA,副本组织和管理,Recovery,Rebalance,单机存储引擎,数据/元信息流,纠删码,一致性,多租户,存储介质,网络环境和IDC等等),同时看很多综述性的材料,梳理分布式存储的知识点(有网上各种整理的比较好的文章,也有从各种系统实现的paper里抽出),不断迭代构建分布式存储领域的知识点(寻找pattern,这是最难的一个过程);然后针对每一个知识点,找相关材料进行深度学习,例如,对于分布式一致性,需要阅读CAP理论,Paxos的论文,Raft的论文等等以及周边的很多材料(刻意练习);然后找各种系统实现的论文或文章,比如GFS,Dynamo,Aurora,OceanBase,Ceph,Spanner等等,看看和对比它们在一致性上是如何考虑和取舍的,当然,最重要的是结合自己工作中的反复实践和所学知识点进行比对(及时反馈)。这三个阶段并不是割裂的,而是周而复始的,经常会在刻意练习和及时反馈的学习过程中,发现自己遗漏的知识点,或者发现自己梳理的两个知识点其实是重合的。通过这种交叉比对,以及在实践中不断检验的方式建立的知识点是非常可落地的,而不会看了几篇论文以后就人云亦云。拿分布式存储的一致性举例子,如果不是反复对比、思考和反复实践,你不会发现GFS论文里最难的一段,多个Writer对一个文件进行append的逻辑,在实践中根本没用;你也不会发现看起来优雅而学术的CAP三选二的理论,实践中压根不是这么完美,很多时候只能三选一;你也不会发现Dynamo论文里的Vector Clock,网上有无数文章摇头晃脑的解读,但在Amazon的应用场景里是个典型的over design,Cassandra在这点就务实很多。

对于一个领域还未完全掌握的同学,深度是最重要的,不用想广度的事情,等掌握了一个领域之后,再去拓展广度就变得很容易了。

持续不断的review自己之前的代码