如何快速学习一门新技术

Daotin 2024-05-08 编辑
  1. 1 Purpose
  2. 2 What
  3. 3 How
  4. 4 Try
  5. 5 Summary
  6. 进阶
  7. 1 Read
  8. 2 Systematic learning
  9. 参考文章

二八定律,在技术中我们只要花少量的时间学会 20% 的技术,就可以开始项目开发,剩下的 80% 大部分都应该在项目实践中去学习的。

极限编程: 极限编程正是这样一种敏捷快速的开发方式,要求团队成员拥有很高的技术素养,在很短时间内就可以学会并且应用。

1 Purpose

学习目的或目标是什么?当前处于什么水平?

  • 工作任务驱动
    • 项目核心技术——需要全面掌握技术的各种使用场景及原理
    • 项目某个模块或功能涉及——在业务场景下使用某个技术点解决当前问题即可
  • 个人兴趣驱动
    • 学着玩儿,做技术储备——了解一般使用场景,能用来解决常见问题
    • 追根究底,体会技术背后的设计思想、原则——了解技术的来龙去脉,各种使用场景,实现原理
  • 大致判断当前所处的水平,列出要达成目标需要做哪些事情(具体的、可执行的,越详细越好)
    • 完全不懂——按照下面的步骤依次学习
    • 大致了解——看看网上教程,写 Demo 实践
    • 已经会用——浏览官方文档,构造不同业务场景进行实践

以下过程以nginx为例。

2 What

  • 术语定义(是什么)
  • 发展历史
    • nginx 是为了解决什么问题而诞生的
    • nginx 的发展历史
  • 使用场景
    • nginx 使用场景
  • 类比学习
    • nginx 区别
  • 优点与局限性
    • nginx 优点有哪些?
    • nginx 有哪些缺点或者局限性?

3 How

(优先级从高到低)

  • 询问ChatGPT
    • 给出一个 Nginx 的示例代码,并给出详细解释。
    • 推荐一些比较好的视频教程
  • 官方文档(如果看懂了,则不需要看视频
    • Get start
    • Usage
  • 视频教程(2.0x 速度看
    • Google/YouTube/B 站搜索:nginx 视频 教程(site:youtube.com)

4 Try

参考示例写 Demo

  • 自己模拟一个小 Demo
  • Google 搜索 Demo
    • nginx demo (site:github.com)
    • nginx practice
  • 在公司项目中尝试使用
    • 遇到问题如何快速解决?
      • nginx xxx site:stackoverflow.com
      • nginx xxx site:blog.csdn.net
      • nginx xxx site:cnblogs.com
      • nginx xxx site:zhihu.com
      • nginx xxx site:jianshu.com
      • nginx xxx site:segmentfault.com
      • nginx xxx site:juejin.im
      • nginx xxx site:github.com

5 Summary

费曼学习法:通过向别人清楚的解说某一件事,来确认自己是否真正弄懂了这件事。

  • 输出到 blog

进阶

1 Read

稍微读一读官方文档(选择有必要的部分尝试通读,大部分还是当做字典使用)

这个时候,你已经有了一些初步的印象,带着前面总结出来的几个要点问题,进入正式的理论学习,你便会很容易理解了。

2 Systematic learning

后续系统学习

  • 阅读经典书籍
  • 学习优秀的开源项目
  • 补充 blog

参考文章