二八定律,在技术中我们只要花少量的时间学会 20% 的技术,就可以开始项目开发,剩下的 80% 大部分都应该在项目实践中去学习的。
极限编程: 极限编程正是这样一种敏捷快速的开发方式,要求团队成员拥有很高的技术素养,在很短时间内就可以学会并且应用。
1 Purpose
学习目的或目标是什么?当前处于什么水平?
- 工作任务驱动
- 项目核心技术——需要全面掌握技术的各种使用场景及原理
- 项目某个模块或功能涉及——在业务场景下使用某个技术点解决当前问题即可
- 个人兴趣驱动
- 学着玩儿,做技术储备——了解一般使用场景,能用来解决常见问题
- 追根究底,体会技术背后的设计思想、原则——了解技术的来龙去脉,各种使用场景,实现原理
- 大致判断当前所处的水平,列出要达成目标需要做哪些事情(具体的、可执行的,越详细越好)
- 完全不懂——按照下面的步骤依次学习
- 大致了解——看看网上教程,写 Demo 实践
- 已经会用——浏览官方文档,构造不同业务场景进行实践
以下过程以
nginx
为例。
2 What
- 术语定义(是什么)
- 询问
ChatGPT
- 官方文档定义:https://nginx.org/en/
- 百度百科/维基百科:https://baike.baidu.com/item/nginx/3817705
- 询问
- 发展历史
- 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