自学前端的正确姿势是...
师傅带进门,修行在个人。
在前端自学成才的道路上,有些人走的很快,有些人却举步维艰。
为什么会这样子呢?因为他们没有掌握自学前端的正确姿势。
在介绍应该要怎样自学前端之前,首先来看下,自学前端容易踩什么坑。
自学前端的误区
误区 1:碎片化学习
过去很多同学喜欢看文章和博客学习,现在全往短视频上学习了。
这些都是碎片化学习,零散的知识无法串联起来,形成体系,就无法理解某项技术的原理。
一直这样在浅层学习,一开始可能会有进步,但后面的成长速度会越来越慢,最终会碰到瓶颈,成长停滞不前,就会感到疑惑迷茫。
这样的学习看起来很广泛,也有一定的成长,但是不管再怎么量变,仍然需要有一次质变,才能整体提升自己的能力。
另一方面,碎片化学习就像刷短视频一样,会让自己被多巴胺提供的快乐绑架。
上瘾之后,自己就更加难以坚持投入到长期的严肃学习了。
误区 2:光看不练
这是很多同学都会有的误区。
平常他们非常努力,看文章、看博客、看课程、看视频、看专栏、看书…看各种各样的学习资料,就是不动手。
但是,如果这样光看不练,很多知识是难以真正吸收进去的,过不了几天,就会遗忘掉,等于白学了。
让我们来看看学习金字塔理论。

可以看到,上面讲到的学习方式全部集中在金字塔的前 3 层,这是学习最低效的 3 层。
而实践可以让我们的学习吸收效率达到 75%,这才是更加有效的学习方式。
误区 3:只学高大上
很多同学喜欢追求一些新技术、看起来很高大上、很前卫的技术,这样看起来很牛 B。
今天 Vue 出了新版本,我要学;
这边出了个新框架,我要学;
那边出了个新语言,性能更好,我要学;
这里出了个新工具,超级智能,我要学;
我想说,你学得完吗?
一直在学习新的东西,感觉自己学到了很多东西,但真得有实际意义和价值吗?
有学习到深层次的原理,能够做到举一反三吗?
能够落地到自己的工作场景中,为业务创造价值吗?
可以减少自己的 bug 率吗?
可以提升自己的工作效率吗?
误区 4:最底层就是最普适的
行,既然你说只学高大上是误区,要学习最通用的原理,那我就学最底层的知识总可以了吧?
高级语言最终都会编译成汇编语言,那我去学汇编吧。
确实,越底层就越普适,但往往我们的工作根本接触不到底层,所以这些底层技术根本没有用武之地。
最终的结果,要不是学了就忘,就是坚持不下去。
误区 5:必须要看源码
“网络大神”告诉我,学习就要深入学习原理,看源码钻研原理是最好的。
跟别人吹牛的时候,说我看过源码,多牛 B 呀。
面试的时候,我还能用源码去虐面试官,一举多得呀。
所以,很多同学喜欢碰到开源项目就直接看源码,一行一行地看,再画上各种流程图,做笔记。
说真的,我挺佩服他们的,真有毅力,但是这种低效的学习方式,我是不推荐的。
实际上,在开源项目中,大部分的源码都是不值得看的,只有最关键的核心模块的代码,有需要的时候才值得去仔细阅读学习。
如果一开始就一头钻到源码中,就会被庞大的代码绕晕,就更加难以抓住开源项目的精髓,反而没学到关键原理。

自学前端的正确姿势
在认识到自学前端的 5 大误区之后,那我们应该怎样自学前端呢?
1. 系统化学习
不能只有碎片化学习,我们应该把大部分的学习精力投入到系统化学习上。
只有系统化的学习,才能融会贯通,搞清楚各个知识点之间的关联,深入理解原理。
只有系统化的学习,才能循序渐进,更容易学得会、学得懂,最终才能学得进去。
就像我们过去在校园里面的学习一样,如果你在小学一年级的时候,老师让你学初一的知识,你能学会吗?
我们要保持系统化学习的习惯,同时尽量保证系统化学习的投入要大于碎片化的学习。
常见的系统化学习方式是:
- 看书
- 课程视频
- 专栏
2. 学练结合
学习一定要学练结合,知行合一。纸上得来终觉浅,绝知此事要躬行。
只有实践,才有可能犯错。
只有碰到问题,才会去分析和思考。
只有思考,才能真正理解知识,融会贯通,做到举一反三。
因此,我们要尽可能地去寻找并珍惜可以实践的机会,在实践中学习。
我建议,实践的投入跟学习的投入对比应该要 7:3。
3. 学跟工作相关的
在前面的误区中提到,我们不能只学高大上的,也不能学太底层的,那到底要学什么?
答案就是学习跟工作相关的知识和技能。
为什么呢?因为这些知识和技能学了就立刻能用上,也就是能立刻实践起来。
一方面,通过这些实践让自己学得更加牢固,更加深入。
另一方面,这些实践也能反哺工作,如果我们的实践还有了成果,这不是更好吗?
对自己的晋升,加薪都有帮助,即使实践最终没有好的结果,不能落地,但是你在实践过程中的思考和表现,都会被领导看到,留下良好的印象。
如果你说,现在工作相关的技术栈都已经学会了,还要学什么?
那就学习新技术,看是不是有优化技术栈的可能,但需要做到实事求是,而不是单纯为了追求新技术。
如果实在是找不到可以学习的点了,那你应该考虑跳槽了。
4. 主动寻求反馈
在学习的过程中,反馈是非常重要的。
在小时候的校园中,我们每一次考试的成绩,老师每一次的评语,父母每一次的打骂都是反馈。
本质上,我们从小到大,就是不断地通过现实世界给自己的反馈中学习和成长的。
没有反馈,我们无法判断自己做的事情是不是对的,是不是最好的。
没有反馈,我们无法判断自己的学习方向是不是正确的。
因此,我们需要主动寻求反馈。通过反馈来不断调整自己的学习,才能取得越来越高的学习成长效率。
反馈有很多种,
首先,最好的反馈就是我们的程序代码,这是最容易被忽视的。程序是不是有 bug,跑不跑得起来,跑得性能好不好,这些全部都是客观反馈,最真实,最直接。
其次,还可以主动寻求领导、导师、同事、专家等人给自己反馈,这也可以称为指导。

之道前端(戳此加入)是专属于前端的自学圈子,努力营造帮助大家用正确姿势自学前端的环境:
- 系统化学习。我们致力于打造前端自学的学习路线,让你可以有目标、有方向地循序渐进地自学。
- 学练结合。我们的核心产品就是我们的原创项目,而且是大量的原创项目,因为我们的核心理念就是实践比学习更重要。你缺少的实践在我们这里都能找得到。
- 学跟工作相关的。我们的内容绝对不追求大而全、形而上学。我们输出的内容致力于真实工作场景需要的知识、技能、项目经验。
- 主动寻求反馈。之道前端致力于营造前端自学圈子,本质就是要营造一个前端自学反馈的环境,让你的自学不孤单,让你的成长更有成效。
欢迎加入之道前端。
相关文章:
自学前端的正确姿势是...
师傅带进门,修行在个人。 在前端自学成才的道路上,有些人走的很快,有些人却举步维艰。 为什么会这样子呢?因为他们没有掌握自学前端的正确姿势。 在介绍应该要怎样自学前端之前,首先来看下,自学前端容易…...
C/C++语言基础--C++构造函数、析构函数、深拷贝与浅拷贝等等相关知识讲解
本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 周末休息了,没有更新,请大家见谅哈;构造函数、析构函数可以说便随着C每一个程序,故学构造函数、析构函数是必要的;C语言后面也会继续更新知识点&am…...
json格式互相转换
您提供的字符串已经是一个JSON格式的字符串,但是JSON标准要求键名必须用双引号括起来,而不是单引号。因此,您需要将字符串中的单引号替换为双引号。以下是转换后的JSON字符串: {"图片描述": "高速公路上发生了严重…...
Linux下共享内存详解
共享内存是Linux中一种高效的进程间通信(IPC)方式,它允许多个进程共享同一段内存,从而实现数据的快速传递。共享内存通常比其他IPC机制(如管道或消息队列)更快,因为数据直接存储在内存中&#x…...
MySQL篇(管理工具)
目录 一、系统数据库 二、常用工具 1. mysql 2. mysqladmin 3. mysqlbinlog 4. mysqlshow 5. mysqldump 6. mysqlimport/source 6.1 mysqlimport 6.2 source 一、系统数据库 MySQL数据库安装完成后,自带了一下四个数据库,具体作用如下…...
redis学习笔记(六)
redis每种数据结构的应用场景 1. 字符串 (String) 应用场景 : 缓存:存储频繁访问的数据,如网页缓存、会话信息等。计数器:实现统计和计数功能,如访问计数、统计数据等。键值存储:简单的键值对存储…...
spring与springmvc整合
文章目录 spring与springmvc整合重复创建bean容器关系获取spring容器上下文 spring与springmvc整合 在项目中使用springmvc的时候,由于spring和springmvc是同源的,有时候大家会把所有的配置都扔到springmvc的配置文件中,而不去区分spring和s…...
如何使用Optuna在PyTorch中进行超参数优化
所有神经网络在训练过程中都需要选择超参数,而这些超参数对收敛速度和最终性能有着非常显著的影响。 这些超参数需要特别调整,以充分发挥模型的潜力。超参数调优过程是神经网络训练中不可或缺的一部分,某种程度上,它是一个主要基于梯度优化问题中的“无梯度”部分。 在这…...
2.Spring-容器-注入
注册:将组件放入容器中; 注入:让容器按需进行操作; 一、Autowired:自动注入组件 原理:Spring调用容器的getBean 二、Qualifier 精确指定 精确指定:如果容器中组件存在多个,则使用…...
在uboot中添加自定义命令
有时候为了方便测试,我们需要在Uboot中添加自己的命令,这时可以通过下面的步骤实现: 1、在common目录下添加自己的命令文件“cmd_命令名.c”,如cmd_test.c,内容如下(参考模版): …...
AngularJS 模块
AngularJS 模块 AngularJS,作为一个强大且灵活的前端框架,其核心特性之一就是模块化。模块在AngularJS中扮演着至关重要的角色,它们是组织代码的主要方式,使得开发者能够创建可复用、可维护且易于测试的代码结构。本文将深入探讨AngularJS模块的概念、用途、创建方式以及最…...
[yotroy.cool] MGT 388 - Finance for Engineers - notes 笔记
个人博客https://www.yotroy.cool/,感谢关注~ 图片资源可能显示不全,请前往博客查看哦! ============================================================ Lecture 1 What is Accounting? The process of identifying, measuring and communicating economic informati…...
2024年9月python二级易错题和难题大全(附详细解析)(三)
2024年9月python二级易错题和难题大全(附详细解析)(三) 第1题第2题第3题第4题第5题第6题第7题第8题第9题第10题第11题第12题第13题第14题第15题第16题第17题第18题第19题第20题第1题 1、以下程序的输出结果是() L1 = [4, 5, 6, 8].reverse() print(L1)A、[8, 6, 5, 4]&…...
【LLM多模态】Animatediff文生视频大模型
note AnimateDiff框架:核心是一个可插拔的运动模块,它可以从真实世界视频中学习通用的运动先验,并与任何基于相同基础T2I的个性化模型集成,以生成动画。训练策略:AnimateDiff的训练包括三个阶段: 领域适配…...
PDB数据库中蛋白质结构文件数据格式
在PDB(Protein Data Bank)数据库中,蛋白质结构文件通常以两种主要格式存储:.pdb(PDB格式)和 .cif(CIF格式,Crystallographic Information File)。这两种文件格式记录了蛋白质的三维结构坐标信息以及实验数据,但它们的表达方式和用途有所不同。 1. PDB数据库中的结构…...
C++自动驾驶面试核心问题整理
应用开发 概述:比较基础,没啥壁垒,主要有linux开发经验即可 问题:基础八股,如计算机网络、操作系统、c11等基础三件套;中等难度算法题1-2道。 中间件开发(性能优化) 概述&am…...
2024寻找那些能精准修改PDF内容的工具
如今,我们使用 PDF 文档的频率不断攀升,很多时候收到的表格等资料都是 PDF 格式。若先进行格式转换后编辑,再转换回 PDF 格式,着实有些麻烦。那么,pdf怎么编辑修改内容呢?在这篇文章中,我将为大…...
POI操作EXCEL增加下拉框
文章目录 POI操作EXCEL增加下拉框 POI操作EXCEL增加下拉框 有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择 采用隐藏sheet页的方式来进行操作 String sheetName "supplier_hidden_s…...
新手教学系列——基于统一页面的管理后台设计(二)集成篇
在现代企业级应用中,后台管理系统不仅是业务运营的核心,还承担着数据管理、用户权限控制等重要功能。随着业务规模的不断扩大,系统架构逐渐向微服务转变,多个后端服务模块协同工作,如何高效地集成这些模块,确保系统的稳定性和可维护性,成为开发者亟需解决的问题。在《新…...
计算机毕业设计之:基于微信小程序的疫苗预约系统的设计与实现(源码+文档+讲解)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
