左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家,骨灰级程序员
立即订阅
40357 人已学习
课程目录
已完结 108 讲
0/6登录后,你可以任选6讲全文学习。
开篇词 | 洞悉技术的本质,享受科技的乐趣
免费
01 | 程序员如何用技术变现(上)
02 | 程序员如何用技术变现(下)
03 | Equifax信息泄露始末
04 | 从Equifax信息泄露看数据安全
05 | 何为技术领导力?
06 | 如何才能拥有技术领导力?
07 | 推荐阅读:每个程序员都该知道的知识
08 | Go语言,Docker和新技术
09 | 答疑解惑:渴望、热情和选择
10 | 如何成为一个大家愿意追随的Leader?
11 | 程序中的错误处理:错误返回码和异常捕捉
12 | 程序中的错误处理:异步编程以及我的最佳实践
13 | 魔数 0x5f3759df
14 | 推荐阅读:机器学习101
15 | 时间管理:同扭曲时间的事儿抗争
16 | 时间管理:如何利用好自己的时间?
17 | 故障处理最佳实践:应对故障
18 | 故障处理最佳实践:故障改进
19 | 答疑解惑:我们应该能够识别的表象和本质
20 | Git协同工作流,你该怎么选?
21 | 分布式系统架构的冰与火
22 | 从亚马逊的实践,谈分布式系统的难点
23 | 分布式系统的技术栈
24 | 分布式系统关键技术:全栈监控
25 | 分布式系统关键技术:服务调度
26 | 分布式系统关键技术:流量与数据调度
27 | 洞悉PaaS平台的本质
28 | 推荐阅读:分布式系统架构经典资料
29 | 推荐阅读:分布式数据调度相关论文
30 | 编程范式游记(1)- 起源
31 | 编程范式游记(2)- 泛型编程
32 | 编程范式游记(3) - 类型系统和泛型的本质
33 | 编程范式游记(4)- 函数式编程
34 | 编程范式游记(5)- 修饰器模式
35 | 编程范式游记(6)- 面向对象编程
36 | 编程范式游记(7)- 基于原型的编程范式
37 | 编程范式游记(8)- Go 语言的委托模式
38 | 编程范式游记(9)- 编程的本质
39 | 编程范式游记(10)- 逻辑编程范式
40 | 编程范式游记(11)- 程序世界里的编程范式
41 | 弹力设计篇之“认识故障和弹力设计”
42 | 弹力设计篇之“隔离设计”
43 | 弹力设计篇之“异步通讯设计”
44 | 弹力设计篇之“幂等性设计”
45 | 弹力设计篇之“服务的状态”
46 | 弹力设计篇之“补偿事务”
47 | 弹力设计篇之“重试设计”
48 | 弹力设计篇之“熔断设计”
49 | 弹力设计篇之“限流设计”
50 | 弹力设计篇之“降级设计”
51 | 弹力设计篇之“弹力设计总结”
52 | 管理设计篇之“分布式锁”
53 | 管理设计篇之“配置中心”
54 | 管理设计篇之“边车模式”
55 | 管理设计篇之“服务网格”
56 | 管理设计篇之“网关模式”
57 | 管理设计篇之“部署升级策略”
58 | 性能设计篇之“缓存”
59 | 性能设计篇之“异步处理”
60 | 性能设计篇之“数据库扩展”
61 | 性能设计篇之“秒杀”
62 | 性能设计篇之“边缘计算”
63 | 区块链技术的本质
64 | 区块链技术细节:哈希算法
65 | 区块链技术细节:加密和挖矿
66 | 区块链技术细节:去中心化的共识机制
67 | 区块链技术细节:智能合约
68 | 区块链技术 - 传统金融和虚拟货币
69 | 程序员练级攻略:开篇词
70 | 程序员练级攻略:零基础启蒙
71 | 程序员练级攻略:正式入门
72 | 程序员练级攻略:程序员修养
73 | 程序员练级攻略:编程语言
74 | 程序员练级攻略:理论学科
75 | 程序员练级攻略:系统知识
76 | 程序员练级攻略:软件设计
77 | 程序员练级攻略:Linux系统、内存和网络
78 | 程序员练级攻略:异步I/O模型和Lock-Free编程
79 | 程序员练级攻略:Java底层知识
80 | 程序员练级攻略:数据库
81 | 程序员练级攻略:分布式架构入门
82 | 程序员练级攻略:分布式架构经典图书和论文
83 | 程序员练级攻略:分布式架构工程设计
84 | 程序员练级攻略:微服务
85 | 程序员练级攻略:容器化和自动化运维
86 | 程序员练级攻略:机器学习和人工智能
87 | 程序员练级攻略:前端基础和底层原理
88 | 程序员练级攻略:前端性能优化和框架
89 | 程序员练级攻略:UI/UX设计
90 | 程序员练级攻略:技术资源集散地
91 | 程序员面试攻略:面试前的准备
92 | 程序员面试攻略:面试中的技巧
93 | 程序员面试攻略:面试风格
94 | 程序员面试攻略:实力才是王中王
95 | 高效学习:端正学习态度
96 | 高效学习:源头、原理和知识地图
97 | 高效学习:深度,归纳和坚持实践
98 | 高效学习:如何学习和阅读代码
99 | 高效学习:面对枯燥和量大的知识
左耳听风
登录|注册

97 | 高效学习:深度,归纳和坚持实践

陈皓 2018-09-04

系统地学习

在学习某个技术的时候,我除了会用到上篇文章中提到的知识图,还会问自己很多个为什么。于是,我形成了一个更高层的知识脑图。下面我把这这个方法分享出来。当然学习一门技术时,Go 语言也好,Docker 也好,我都有一个学习模板。只有把这个学习模板中的内容都填实了,我才罢休。这个模板如下。
这个技术出现的背景、初衷和要达到什么样的目标或是要解决什么样的问题。这个问题非常关键,也就是说,你在学习一个技术的时候,需要知道这个技术的成因和目标,也就是这个技术的灵魂。如果不知道这些的话,那么你会看不懂这个技术的一些设计理念。
这个技术的优势和劣势分别是什么,或者说,这个技术的 trade-off 是什么。任何技术都有其好坏,在解决一个问题的时候,也会带来新的问题。另外,一般来说,任何设计都有 trade-off(要什么和不要什么),所以,你要清楚这个技术的优势和劣势,以及带来的挑战。
这个技术适用的场景。任何技术都有其适用的场景,离开了这个场景,这个技术可能会有很多槽点,所以学习技术不但要知道这个技术是什么,还要知道其适用的场景。没有任何一个技术是普适的。注意,所谓场景一般分别两个,一个是业务场景,一个是技术场景。
技术的组成部分和关键点。这是技术的核心思想和核心组件了,也是这个技术的灵魂所在了。学习技术的核心部分是快速掌握的关键。
技术的底层原理和关键实现。任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其它技术的关键基础技术。所以,学习这些关键的基础底层技术,可以让你未来很快地掌握其它技术。可以参看我在 CoolShell 上写的 Docker 底层技术那一系列文章。
已有的实现和它之间的对比。一般来说,任何一个技术都会有不同的实现,不同的实现都会有不同的侧重。学习不同的实现,可以让你得到不同的想法和思路,对于开阔思维,深入细节是非常重要的。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《左耳听风》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(28)

  • 少年姜太公
    这篇文章太好了,让学习变的不太枯燥有趣了。

    按照6步模板会让一个认识更全面深入
    用这个模板举两个例子
    高铁产生的背景和成因

    高铁应用场景

    高铁组成部分

    高铁设计原理

    高铁优势和劣势

    高铁和火车对比


    孟子产生的背景

    孟子思想应用场景

    孟子思想组成部分

    孟子核心思想

    孟子思想值得赞同与否定的

    孟子和论语对比




    作者回复: 马上就用上了

    2018-09-04
    28
  • jon
    技术适用场景分2种:业务场景和技术场景,怎么区分这2者呢?
    2018-09-04
    6
  • 小薛薛
    说句。。 请大家保护好颈椎腰椎。。😄
    2018-09-04
    5
  • 墨梵
    这一期的内容应该是属于学习了一段时间某个领域或语言知识以后站在一个中级的角度对知识进行总结归纳,进而迈向高级的过程…初级入门的阶段还是需要先培养兴趣,有一本浅显的书上手,再来几个小的项目练手巩固。
    耗叔提到的国外优秀的学习视频网站除了YouTube,还有些什么别的可以推荐一下吗?

    作者回复: 初级学习的路不需要我来,每个人都可以自己来。这一系例的文章主要帮助大家突破学习的瓶颈。关于视频网站,YouTube 就好了,几乎所有的其它的教学视频都会放在那里。

    2018-09-04
    4
  • Seven_dong
    怎么进读者群呢?
    2018-09-08
    2
  • 昇、
    耗子哥,比如java,有没有哪些书您觉得一定得看英文版?因为我看英文书生词较多,看java core看了几天才看完第三章...所以想问问

    作者回复: 只有中文版翻译的很烂,或是没中文版,或是你想练英文,才看英文版

    2018-09-04
    2
  • 右耳朵猫咪
    耗子哥觉得在上海发展好还是北京好?想听听您的建议。

    作者回复: 北京

    2018-09-04
    2
  • caohuan
    耗子哥的系统学习 六步走的方法,总结的太到位了,我表示 会 执行 拿来主义的风格,初步取代我被动的学习,耗子哥 一开头来 六步 有点多,我打算分解下,先 从1-2步 买本书 入个门,然后 3-4步 做case 了解下基本轮廓,最后 继续5-6步 做深层次的理解和运用,看看耗子哥的激励话,想想几年后的自己 好激动。头顶耗子哥的九阴真经,然后自己脚踏实地的来修炼。

    耗子哥的读者群 在哪里,我也想去 分享 每周一次的算法、一个小技术、一个观点,二周一篇 读英文的心得。
    2018-10-22
    1
  • 小牛人
    这篇文章价值超高
    2018-09-12
    1
  • 0.618
    谢谢老师的分享,老师的文章是我看过的付费知识和书籍中最接地气的了😄足以见得老师的思考的深度!这种看过之后和作者产生共鸣的感觉真好😊只可惜曾经走了了好多弯路,要是这系列文章能早点看到,或许能帮助好多人节省好多时间,提高效率!在昆明这样的环境,总觉得好多公司都是为了快速赚取利润,而对软件的质量要求并不高,本着能用就行,从而也就有了各种速成版的培训机构……当然,也许是缺少那样的应用场景吧!好多企业都喜欢速成,但最终往往还是要为之付出代价的。
    2018-09-04
    1
  • 汤姆僧
    正在梳理《程序员练级攻略》,想根据攻略做出一个适合我自己的纲领,摒弃其它渠道的信息源,并据此在工作和学习中实践。我觉得攻略中的书籍和资料足够我认真的学习和研究了,就像耗子哥说的,其实关键的关键就是要坚持下去。
    2018-09-04
    1
  • shaohv
    tcp的那些事
    2019-08-16
  • 拯救地球好累
    用知识图谱来学习可以完善自我的知识树,保证知识的体系化。
    用问题来引导学习中不断思考。单纯的阅读和收听并不能有高的知识留存率,提出问题,解决问题是很好的一个方法。对于技术,要明白它解决的核心痛点是什么,trade-off是什么,核心模块是什么,底层原理是什么,和其他技术的对比等。
    联想能力其实是将知识串联的能力,也是完善自我知识树的能力。抽象能力在编程世界中对宏观问题的建模能力。自省能力是一种反馈能力。三种能力的锻炼需要刻意练习,下意识地多想多思考多总结多实践。
    总结和归纳应当在复习阶段做。对于知识,我们在不熟悉的情况下很难批判性地阅读,提出有价值的问题,但可以尝试用自己的话进行复述,可以的话调用联想能力进行拓展。总结归纳的内容也不应该是完全孤立的,应该放在自我的知识图谱中。最后的内容应当保证是高质量的,可输出的。
    不要看代码简单就不动手,细节是魔鬼,一定要实践!一定要实践!一定要实践!
    坚持自己选择的道路,日拱一卒,计日程功!
    2019-08-09
  • balance
    系统学习是基础,学完了才能总结归纳,然后才能举一反三,上面上方法,光有方法是不行的,更重要的是坚持实践
    2019-06-11
  • 蒋先生
    very good ,文中提到的“才会有斯科特·迈耶斯(Scott Meyers)那样的思维方式,这才是最宝贵的”, 希望皓哥,第二季分享下,技术方面好的思维方式,以及解决技术问题的一些好的方式方法。感觉长这么大周围都是讨论标准答案,很少谈论得到这个答案的方式方法,以及是如何思考的。
    2018-12-28
  • godtrue
    越看越觉得有信心了,有高人指点,相信转折点来了
    2018-12-27
  • Andrew陈海越
    这个技术场景是什么意思呢
    2018-11-16
  • caohuan
    耗子哥的系统学习,举一反三,归纳和总结,实践,坚持,摆事实讲理由,最后道出 效果--成为学习的佼佼者。耗子哥的高浓度的总结,我得细细的分解步骤,在践行中形成自己的学习套路,向耗子哥致敬,期待有一天 与你相遇时,我能向你道谢。
    2018-10-23
  • Abyssal
    对晧叔说的深有体会,只有从自己设计一个系统开始,到开发、维护,并且不断迭代整个系统的过程中,才能明白什么是好的设计,设计远远优先代码实现这些东西,只在文章上看到别人如何强调设计的重要性是远远不够的!
    2018-10-16
  • zart
    在系统中学习真是太牛了,就像武侠小说中,先掌握了内功精髓,然后无招胜有招!

    举一反三:联想,抽象,自省。这其实已经包括了后面的内容。总结归纳、实践出真知都是“抽象”能力。

    坚持不懈,用成就感将“坚持”变为“上瘾”

    最后再赞叹下耗哥,别人看的是一本书的内容,你看到的是作者的思维方式和精神。
    怪不得可以“站在制高点,降维打击”
    2018-10-02
收起评论
28
返回
顶部