• 链式学习法:提升技术深度


    链式的方式

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

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

    领域分层案例

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

    注:

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

    细节分层案例

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

    链式学习法的步骤

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

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

    明确你自己要学到哪一层

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

    明确每一层应该怎么学

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

    两个优点

    1. 促使我们主动提升

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

    2. 将知识和技能系统化

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

  • 相关阅读:
    不要在linux上启用net.ipv4.tcp_tw_recycle参数
    Linux如何用查看域名解析
    APP请求超时问题-ios超时-android超时
    写给正在入坑linux系统的伙伴
    产品经理必看书单
    Mysql遍历大表(Mysql大量数据读取内存溢出的解决方法)
    产品上线标准
    测试时间的评估【搬运】
    如何估算测试工作量(一)常规的估算测试工作量的方法
    测试工作量的评估方法
  • 原文地址:https://www.cnblogs.com/samniu/p/14541059.html
Copyright © 2020-2023  润新知