学习新技术 (1)如何快速掌握一门前端技术

Date
Created
Sep 25, 2024 12:49 AM
Descrption
学习不是为了卷,而是为了让自己更开心
Tags
学习方法
思考
自我管理
notion image

如何快速学习一门前端技术?

本方法适合一些已经工作3年及以上工作经验的人,对于新手,切不可求速度,而是应该事无巨细的了解每一个知识点,为之后的职业生涯打好基础; 作为一个有经验的开发者,且是一个前端开发,这里应该推而广之到移动端开发,桌面开发,Web开发,凡是有界面UI开发的一些技术栈其实都可以采用我总结的学习方法;这个方法就是输出倒逼输入; 在不讲任何原因和背景前提下,假如公司现在让你学习一门前端技术,你应该怎么学习,这里直接讲方法:

1.快速过一遍编程语言:

如果这门技术采用的开发语言是你未了解过的,那么你应该先花1~2天时间扫一下这门语言的一些编程规则,其实我还有一篇专门写如何快速学习一门开发语言的文章,不过在这里,你可以先快速的扫一遍语言的简明教程;网络上的这类简明教程比较多,但是原则就是,尽可能的精简,不要涉及到太深的语言底层和规则,一开始就学习这么底层的概念和范式,学习效率很低,而且大多数东西其实开发过程中也未必会使用到;但是你应该保留一份完整版的语言指南,这份指南一般是在语言的官网上有的;

2.确定一个可编写的demo:

绝大多数的编程教程会带着你做一遍demo,但是大部分都太过简单,涉及不了太广,那么你应该构思一个可以练习到很多方面知识的demo,比如:
  • 绘制控件
  • 路由处理
  • 状态更新
  • 生命周期
  • 数据存储
  • 网络请求
这几点可以算作一个前端技术栈的6大金刚,学完这几个点,基本上学完了这门技术栈的大概了;吗那么如何联系到这些技术点,其实绝大多数情况,一个对于移动端应用,一个ToDo List是比较够用来练手的;对于一个Web应用,那么一个类似推特的应用也是比较够的;如果你没有这样一个可以通吃的demo想法,那么就根据大多数教程里提供的例子走下去,中间你可以自己生出很多额外的想法,然后你额外的去开发这些东西;

3.遇到无法实现的点以及不理解的语言书写方式,去查询教程:

在编写demo的过程中,其实会遇到比较多卡壳的情况,那么这种学习法其实就是一个大浪淘沙的方法,一些比较简单的知识点都会被你的网过滤出去,留下的也是一些比较难的知识点,那么你需要做的就是针对性的学习这些难的知识点,同时在遇到难的知识点时,其实可以联想一下之前你会的技术栈里对于此种情况是怎么处理的,这样对比着学习;这样就会以最快的方式掌握一门新技术;结合第二步和第三步,这两步其实大概需要1周的时间; 当以上三个步骤完成时,你基本上已经入门了这个技术栈了,那么这时候你可能会遇到一些性能问题,一些bug,这就是因你的时间来决定是否要百尺竿头更进一步,因为绝大多数应用活不到需要做优化和做提升这一步,一个产品落地基本上走完了它90%的生命周期,如果你愿意,也不担心这个产品是否还能走更远,那么你可以继续深入研究一些性能优化的课题;但是你如果不愿意研究,你已经算一个可以进行你公司要求的技术栈的一名开发人员了;剩下的路就是在日常开发过程中遇到针对性问题,针对性解决了; 整体按照我自己的经验,这样学习下来一门语言需要的时间差不多是1周。并且当你掌握的技术栈越多,其实很多范式都可以在其他语言找到样板,这些新的技术栈也仅仅是为了解决默写问题而引入,无根本性的差异;