如何快速学好一门新技术?
无论学习任何编程技术,都可以遵循以下步骤:
学习步骤
1)基本了解
首先了解这个技术是做什么的?有什么优点和缺点?适用于什么场景?建议通过网上的经验分享来对怎么学习这个技术有个大致的认识,比如这个视频:https://www.bilibili.com/video/BV1za411p7Ny/,不感兴趣或者和目标无关的技术可先不学我现在学任何新技术都先去网上搜一下别人的经验或这个技术的大纲,一般至少要看3-5 篇经验吧,然后心里稍微有点数知道要学啥、要掌握啥了,就上网看别人的完整视频/书籍教程,或者官方文档、别人的技术文童等等来进行系统学习。
2)快速上手
跟着教程或官方文档(Get started)快速跑通这个技术的 Demo,先把这个技术用起来,而不是看了一堆理论后再写代码。
比如学习 Vue 的时候,先快速跟着 Vue 的官方文档搭建一个初始化项目,自己看一下项目里有哪些文件之类的可以多探索一下,会对之后的学习有帮助。
3)系统学习
跟着教程或官方文档完整学习,并能够 被动 使用这个技术来完成项目或解决问题。这里的被动是指别人让你用这个技术(比如网上现成的项目或教程视频)
除了以视频/书籍教程学习为主线外,多写代码、多写 Bug、多利用搜索引擎白主解决 Bug、多看别人的经验和技术文童,持续积累和写笔记总结,也是非常重要的,印象会更深刻。
4)主动运用
在能够使用技术完成项目后。如果这门技术和你的岗位目标相关(比如SpringBoot 对Java 后端开发很重要)那么可以进一步了解该技术的特性,并做到熟练运用,主动 用该技术去解决对应的问题。可以通过阅读官方文档、进阶书籍等进行学习。
建议多自己思考、发挥想象来用该技术做一些有意思的项目。
5)了解原理
以上帝视角来了解该技术的核心思想、架构设计、关键模块、各模块的联系和作用等,可以通过百度、阅读官方文档、技术文章、进阶书籍等进行学习。
6)深入源码
阅读该技术的源码,由整体到局部逐渐深入。对于初学者,不建议自己去啃源码。可以利用开源仓库或进阶教程进行学习,掘金小册或极客时间都是不错的。
如果我们还没有学完基本的开发框架、还没有独立完成过项目,那么不建议这个时候去看源码,性价比不高。你的编程经验越丰富,一般读源码就越轻松,是需要时间来积累的。
7)修改源码
能够在该技术源码的基础上修复一些 Bug、修改部分源码、或者定制开发新功能。可以多和原作者、项目的issues 区讨论交流,最好能给该项目贡献代码,写在 GitHub 上也是很加分的经历。给知名项目贡献代码可能比自己做一个完整项目还要抓眼。
8)推陈出新
在把一门技术(框架)吃透后,你可以尝试自己实现类似的技术框架,比如弥补原技术的缺点,使得你自己的东西也能拥有一席之地。
该学到哪一步?
建议大家给自己每门技术的学习定一个计划,比如每天学多少、多少天学完等。有了计划后更容易执行和坚持。
要注意整体学习时间的把控,不要在一门技术上停留太久。
如果为了找实习或一般的工作,前2个步骤完成即可,企业中大多数的工作其实就是复制粘贴,只要进入公司-般不会遇到工作不能完成的问题。
如果想进大厂,建议要有部分技术(至少1个)能够完成前4个步骤,能做到第4步之后当然更好了。
在做项目时我们如果需要用到某个没学过的技术,也是建议先百度,去搜一下这个技术怎么最快使用起来?怎么最快满足我们的需求?而不是任何新技术我们都要看完整教程去学习。有了灯塔,小船才知道该往哪儿划。