自学前端的正确姿势是...

news2024/11/16 19:57:06

师傅带进门,修行在个人。

在前端自学成才的道路上,有些人走的很快,有些人却举步维艰。

为什么会这样子呢?因为他们没有掌握自学前端的正确姿势。

在介绍应该要怎样自学前端之前,首先来看下,自学前端容易踩什么坑。

自学前端的误区

误区 1:碎片化学习

过去很多同学喜欢看文章和博客学习,现在全往短视频上学习了。

这些都是碎片化学习,零散的知识无法串联起来,形成体系,就无法理解某项技术的原理。

一直这样在浅层学习,一开始可能会有进步,但后面的成长速度会越来越慢,最终会碰到瓶颈,成长停滞不前,就会感到疑惑迷茫。

这样的学习看起来很广泛,也有一定的成长,但是不管再怎么量变,仍然需要有一次质变,才能整体提升自己的能力。

另一方面,碎片化学习就像刷短视频一样,会让自己被多巴胺提供的快乐绑架。

上瘾之后,自己就更加难以坚持投入到长期的严肃学习了。

误区 2:光看不练

这是很多同学都会有的误区。

平常他们非常努力,看文章、看博客、看课程、看视频、看专栏、看书…看各种各样的学习资料,就是不动手。

但是,如果这样光看不练,很多知识是难以真正吸收进去的,过不了几天,就会遗忘掉,等于白学了。

让我们来看看学习金字塔理论。

在这里插入图片描述

可以看到,上面讲到的学习方式全部集中在金字塔的前 3 层,这是学习最低效的 3 层。

而实践可以让我们的学习吸收效率达到 75%,这才是更加有效的学习方式。

误区 3:只学高大上

很多同学喜欢追求一些新技术、看起来很高大上、很前卫的技术,这样看起来很牛 B。

今天 Vue 出了新版本,我要学;

这边出了个新框架,我要学;

那边出了个新语言,性能更好,我要学;

这里出了个新工具,超级智能,我要学;

我想说,你学得完吗?

一直在学习新的东西,感觉自己学到了很多东西,但真得有实际意义和价值吗?

有学习到深层次的原理,能够做到举一反三吗?

能够落地到自己的工作场景中,为业务创造价值吗?

可以减少自己的 bug 率吗?

可以提升自己的工作效率吗?

误区 4:最底层就是最普适的

行,既然你说只学高大上是误区,要学习最通用的原理,那我就学最底层的知识总可以了吧?

高级语言最终都会编译成汇编语言,那我去学汇编吧。

确实,越底层就越普适,但往往我们的工作根本接触不到底层,所以这些底层技术根本没有用武之地。

最终的结果,要不是学了就忘,就是坚持不下去。

误区 5:必须要看源码

“网络大神”告诉我,学习就要深入学习原理,看源码钻研原理是最好的。

跟别人吹牛的时候,说我看过源码,多牛 B 呀。

面试的时候,我还能用源码去虐面试官,一举多得呀。

所以,很多同学喜欢碰到开源项目就直接看源码,一行一行地看,再画上各种流程图,做笔记。

说真的,我挺佩服他们的,真有毅力,但是这种低效的学习方式,我是不推荐的。

实际上,在开源项目中,大部分的源码都是不值得看的,只有最关键的核心模块的代码,有需要的时候才值得去仔细阅读学习。

如果一开始就一头钻到源码中,就会被庞大的代码绕晕,就更加难以抓住开源项目的精髓,反而没学到关键原理。

在这里插入图片描述

自学前端的正确姿势

在认识到自学前端的 5 大误区之后,那我们应该怎样自学前端呢?

1. 系统化学习

不能只有碎片化学习,我们应该把大部分的学习精力投入到系统化学习上。

只有系统化的学习,才能融会贯通,搞清楚各个知识点之间的关联,深入理解原理。

只有系统化的学习,才能循序渐进,更容易学得会、学得懂,最终才能学得进去。

就像我们过去在校园里面的学习一样,如果你在小学一年级的时候,老师让你学初一的知识,你能学会吗?

我们要保持系统化学习的习惯,同时尽量保证系统化学习的投入要大于碎片化的学习

常见的系统化学习方式是:

  • 看书
  • 课程视频
  • 专栏

2. 学练结合

学习一定要学练结合,知行合一。纸上得来终觉浅,绝知此事要躬行。

只有实践,才有可能犯错。

只有碰到问题,才会去分析和思考。

只有思考,才能真正理解知识,融会贯通,做到举一反三。

因此,我们要尽可能地去寻找并珍惜可以实践的机会,在实践中学习。

我建议,实践的投入跟学习的投入对比应该要 7:3。

3. 学跟工作相关的

在前面的误区中提到,我们不能只学高大上的,也不能学太底层的,那到底要学什么?

答案就是学习跟工作相关的知识和技能。

为什么呢?因为这些知识和技能学了就立刻能用上,也就是能立刻实践起来。

一方面,通过这些实践让自己学得更加牢固,更加深入。

另一方面,这些实践也能反哺工作,如果我们的实践还有了成果,这不是更好吗?

对自己的晋升,加薪都有帮助,即使实践最终没有好的结果,不能落地,但是你在实践过程中的思考和表现,都会被领导看到,留下良好的印象。

如果你说,现在工作相关的技术栈都已经学会了,还要学什么?

那就学习新技术,看是不是有优化技术栈的可能,但需要做到实事求是,而不是单纯为了追求新技术。

如果实在是找不到可以学习的点了,那你应该考虑跳槽了。

4. 主动寻求反馈

在学习的过程中,反馈是非常重要的。

在小时候的校园中,我们每一次考试的成绩,老师每一次的评语,父母每一次的打骂都是反馈。

本质上,我们从小到大,就是不断地通过现实世界给自己的反馈中学习和成长的。

没有反馈,我们无法判断自己做的事情是不是对的,是不是最好的。

没有反馈,我们无法判断自己的学习方向是不是正确的。

因此,我们需要主动寻求反馈。通过反馈来不断调整自己的学习,才能取得越来越高的学习成长效率。

反馈有很多种,

首先,最好的反馈就是我们的程序代码,这是最容易被忽视的。程序是不是有 bug,跑不跑得起来,跑得性能好不好,这些全部都是客观反馈,最真实,最直接。

其次,还可以主动寻求领导、导师、同事、专家等人给自己反馈,这也可以称为指导。

在这里插入图片描述

之道前端(戳此加入)是专属于前端的自学圈子,努力营造帮助大家用正确姿势自学前端的环境:

  1. 系统化学习。我们致力于打造前端自学的学习路线,让你可以有目标、有方向地循序渐进地自学。
  2. 学练结合。我们的核心产品就是我们的原创项目,而且是大量的原创项目,因为我们的核心理念就是实践比学习更重要。你缺少的实践在我们这里都能找得到。
  3. 学跟工作相关的。我们的内容绝对不追求大而全、形而上学。我们输出的内容致力于真实工作场景需要的知识、技能、项目经验
  4. 主动寻求反馈。之道前端致力于营造前端自学圈子,本质就是要营造一个前端自学反馈的环境,让你的自学不孤单,让你的成长更有成效。

欢迎加入之道前端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2159899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb--小白笔记07:servlet对表单数据的简单处理

这里的servlet对表单数据的处理是指使用IDEA创建web工程,再创建html和class文件进行连接,实现html创建一个表单网页,我们对网页中的表单进行填充,可以通过class文件得到网页我们填充的内容进行打印到控制台。 一登录系统页面---h…

[vulnhub] w1r3s.v1.0

https://www.vulnhub.com/entry/w1r3s-101,220/ 思路:红队笔记 主机发现端口扫描 使用nmap扫描网段类存活主机 因为靶机是我最后添加的,所以靶机IP是133 nmap -sP 192.168.75.0/24 // Starting Nmap 7.93 ( https://nmap.org ) at 2024-09-20 09:09 CST…

MySQL 数据库安装(详细教程)

文章目录 一、前言二、下载 MySQL2.1 安装包方式2.2 压缩包方式(推荐) 三、安装 MySQL3.1 解压 MySQL 文件3.2 配置环境变量3.3 初始化 data 目录3.4 安装 MySQL 服务3.5 开启 MySQL 服务3.6 修改 MySQL 密码 四、卸载 MySQL4.1 停止 MySQL 服务4.2 删除…

MySQL record 08 part

数据库连接池: Java DataBase Connectivity(Java语言连接数据库) 答: 使用连接池能解决此问题, 连接池,自动分配连接对象,并对闲置的连接进行回收。 常用的数据库连接池: 建立数…

【WRF运行第三期】服务器上运行WRF模型(官网案例-Hurricane Matthew)

【WRF运行第三期】运行WRF模型(官网案例-Hurricane Matthew) 官网案例-Hurricane Matthew介绍0 创建DATA文件夹1 WPS预处理1.1 解压GRIB数据(ungrib.exe)1.1.1 解压GRIB数据---GFS(Matthew案例研究数据)1.1…

Bytebase 2.22.3 - 一键回滚 PostgreSQL DML 变更

🚀 新功能 支持一键回滚 PostgreSQL DML 变更。 🎄 改进 优化 DML 事前备份和回滚体验: 引导用户创建 bbdataarchive 数据库。如果没有 bbdataarchive 数据库,无法开启备份功。用户现在可以在创建工单之后开启或关闭备份功能&a…

PyCharm远程连接AutoDL服务器实现程序调试

本文详细介绍了如何在Pycharm中配置SSH和SFTP,以便于在AOTUDL服务器上进行代码修改、调试。步骤包括新建工程、配置SFTP连接、设置Rootpath和Mapping,以及实现自动上传和下载文件的功能。远程服务器编辑调试只是试用于专业版本的pycharm,我的…

【LLM学习之路】9月22日 第九天 自然语言处理

【LLM学习之路】9月22日 第九天 直接看Transformer 第一章 自然语言处理 自然语言处理发展史 只要看的足够多,未必需要理解语言 统计语言模型发展史 统计语言模型: 判断一个句子是否合理,就计算这个句子会出现的概率 缺点是句子越长越…

微软推迟在MDM设备上启用OOBE强制更新 因为IT管理员反馈称缺乏控制

微软很久之前就计划在 Windows 10/11 OOBE 期间强制下载更新,即若检测到系统本身属于旧版本例如并未安装最新累积更新,则在 OOBE 期间强制下载最新累积更新并自动安装。这种更新方式已经在面向消费者的设备上启用,而上周微软则是在适用于企业…

盘点那些功能强大的思维导图在线工具,你用过几个

如果我们日常遇到比较繁杂的信息需要梳理,那我比较推荐使用思维导图在线工具进行梳理。这些工具可以通过图形化的方式展示各种信息之间的关系。这篇文章我将要介绍几款好用的思维导图工具帮我们更好的组织思维。 1.福晰思维导图 链接一下:https://www.…

GPIO与MIO控制LED——ZYNQ学习笔记2

一、GPIO简介 ZYNQ 分为 PS 和 PL 两部分,那么器件的引脚( Pin)资源同样也分成了两部分。 ZYNQ PS 中的外设可以通过 MIO( multiplexed I/O,多路复用 I/O)模块连接到 PS 端的引脚上,也可以通过 …

HTML讲解(三)通用部分

目录 1.空格标记 2.特殊文字的标记 3.注释语句 4.对文字字体的设置 5.修改文字形态 6.换行标记 7.居中标记 8.水平线标记 9.设置滚动弹幕 1.空格标记 在HTML中,我们想打印空格并不能直接敲一个空格键,因为如果是敲空格键,那无论你敲…

【JUC并发编程系列】深入理解Java并发机制:Volatile从底层原理解析到高级应用技巧(六、Volatile关键字、JMM、重排序、双重检验锁)

文章目录 【JUC并发编程系列】深入理解Java并发机制:Volatile从底层原理解析到高级应用技巧(六、Volatile关键字、JMM、重排序、双重检验锁)1. Volatile的特性2. Volatile的用法3. CPU多核硬件架构剖析4. JMM内存模型4.1 主要特性4.2 JMM 的工作原理4.3 实现机制 5.…

Leetcode面试经典150题-39.组合总数进阶:40.组合总和II

本题是扩展题,真实考过,看这个题之前先看一下39题 Leetcode面试经典150题-39.组合总数-CSDN博客 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数…

Docker:解决开发运维问题的开源容器化平台

云计算de小白 Docker是一个开源的容器化平台,可以将应用程序及其依赖的环境打包成轻量级、可移植的容器。 Docker为什么这么受欢迎呢?原因很简单:Docker可以解决不同环境一致运行的问题,而且占用资源少,速度快。 所以好的东西…

链式队列操作

文章目录 🍊自我介绍🍊概述🍊链式队列代码linkstack.clinkstack.hmain.c 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好&…

OmniPeek 空口抓包软件安装指导

OmniPeek 空口抓包软件安装指导 1 双击omnp75安装包---Unzip解压缩 生成install包 2 进入install文件夹点击setup开始进入安装界面 3 点击install Omnipeek 4 点击next,勾选手动安装

云原生虚拟化kubevirt安装

kubevirt 介绍 Kubevirt 是 Redhat 开源的一套以容器方式运行虚拟机的项目,通过 kubernetes 云原生方式来管理虚拟机生命周期。它通过使用自定义资源(CRD)和其它 Kubernetes 功能来无缝扩展现有的集群,以提供一组可用于管理虚拟机…

9.23作业

仿照string类&#xff0c;自己手动实现 My_string 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_H #include <iostream> #include <cstring>using namespace std;class My_string { private:char *ptr; //指向字符数组的指针int size; …

socket.io-client实现实前后端时通信功能

这里我使用的后端 基于node.js的koa框架 前端使用的是vite {"name": "hou","version": "1.0.0","description": "","main": "app.js","scripts": {"test": "echo …