zoukankan      html  css  js  c++  java
  • 链式学习法:提升技术深度

    链式的方式

    知识的锁链不是胡乱连接的,环环相扣的方式很有讲究。常见的方式有两种:

    • 第一种是自顶向下、层层关联,打通一项技术的领域分层。
    • 第二种是由表及里、层层深入,打通一项技术的细节分层。

    领域分层案例

    以 Netty 网络编程为例,相关领域一共可以分为 6 层,
    要么上层依赖下层,比如 Netty 依赖 Java 网络编程,Java 网络编程在 Linux 上又依赖 Linux 提供的网络编程接口;
    要么下层是上层的应用和实现,比如 TCP/IP 是原理,而 Linux 网络调优和工具是 TCP/IP 的具体应用。
    它的领域分层图如下所示:

    注:

    1. 以上图示仅为示例,你需要根据自己的实际工作情况来分析。如果你是在 Windows 平台上做开发,那么上图“操作系统”这一层就要改为“Windows 网络编程”,“工具 & 配置”这一层就要改为“Wireshark”之类的。
    2. 具体分层关系并没有业界统一的标准,比如“工具 & 配置”这一层,如果你认为应该放在“计算机网络”那一层的上面,其实也是可以的。

    细节分层案例

    以 Netty 网络编程为例,技术细节可以分为 4 层,它的细节分层图如下所示:

    链式学习法的步骤

    明确一项技术的深度可以分为哪些层

    画出“领域分层图”和“细节分层图”。尝试画图本身就是一个梳理结构、强化认知的过程。

    明确你自己要学到哪一层

    学得太浅,达不到提升深度的目的;学得太深,又会耗费太多的时间和精力。

    明确每一层应该怎么学

    1. 在领域分层图中,越往上越偏应用,实际工作中用得越多,越往下越偏原理(包括相关的工具和配置),实际工作中用得越少。所以总的原则是,在上层投入更多时间,更关注细节和熟练使用,在下层投入相对少的时间,更加关注原理和简单应用。
    2. 在细节分层图中,你需要详细地学习每一层。要注意的是,对于“实现源码”这一层,你不需要去掌握每一行源码,只要掌握关键源码就行了,也就是和设计原理以及设计方案相关的源码。

    两个优点

    1. 促使我们主动提升

    采用链式学习法,你就会意识到,使用一项技术完成了工作,并不意味着你就完全掌握了这项技术。你还需要把刚刚自己用到的技术作为切入点,画出完整的领域分层图和细节分层图,然后逐一攻破,这样才能提升深度,达到精通水平。

    2. 将知识和技能系统化

    明确知识和技能点之间的关联关系,有助于更好的理解和应用这些知识和技能。
    只有使用链式学习法,你才能系统地了解到这些关联的知识和技能,以及如何将它们串起来。

  • 相关阅读:
    LeetCode-62. Unique Paths
    南大算法设计与分析课程课后习题(3)
    linux-2.6.18源码分析笔记---信号
    南大算法设计与分析课程复习笔记(4)L4
    南大算法设计与分析课程复习笔记(3)L3
    南大算法设计与分析课程复习笔记(2)L2
    南大算法设计与分析课程OJ答案代码(2)最大子序列和问题、所有的逆序对
    【zz】史上最全设计模式导学目录(完整版)
    gtest学习
    全文检索及ElasticSearch框架学习
  • 原文地址:https://www.cnblogs.com/samniu/p/14541059.html
Copyright © 2011-2022 走看看