当前位置: 首页 > news >正文

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

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

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

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

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

自学前端的误区

误区 1:碎片化学习

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

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

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

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

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

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

误区 2:光看不练

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

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

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

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

在这里插入图片描述

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

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

误区 3:只学高大上

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

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

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

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

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

我想说,你学得完吗?

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

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

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

可以减少自己的 bug 率吗?

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

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

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

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

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

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

误区 5:必须要看源码

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

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

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

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

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

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

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

在这里插入图片描述

自学前端的正确姿势

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

1. 系统化学习

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

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

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

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

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

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

  • 看书
  • 课程视频
  • 专栏

2. 学练结合

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

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

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

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

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

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

3. 学跟工作相关的

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

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

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

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

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

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

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

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

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

4. 主动寻求反馈

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

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

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

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

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

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

反馈有很多种,

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

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

在这里插入图片描述

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

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

欢迎加入之道前端。

相关文章:

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

师傅带进门,修行在个人。 在前端自学成才的道路上,有些人走的很快,有些人却举步维艰。 为什么会这样子呢?因为他们没有掌握自学前端的正确姿势。 在介绍应该要怎样自学前端之前,首先来看下,自学前端容易…...

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数据库安装完成后,自带了一下四个数据库,具体作用如下&#xf…...

redis学习笔记(六)

redis每种数据结构的应用场景 1. 字符串 (String) 应用场景 : 缓存:存储频繁访问的数据,如网页缓存、会话信息等。计数器:实现统计和计数功能,如访问计数、统计数据等。键值存储:简单的键值对存储&#xf…...

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等平台…...

Redis事务总结

1.事务介绍 Redis 事务是一个用于将多个命令打包在一起执行的功能,它可以确保这些命令按照顺序执行,并且具有原子性。这意味着事务中的命令要么全部执行,要么全部不执行,这有助于保持数据的一致性。 Redis 事务本质:…...

1.4 MySql配置文件

既然我们开始学习数据库,就不能像大学里边讲数据库课程那样简单讲一下,增删改查,然后介绍一下怎么去创建索引,怎么提交和回滚事务。我们学习数据库要明白怎么用,怎么配置,学懂学透彻了。当然MySql的配置参数…...

前后端分离集成CAS单点登录

修改nginx worker_processes 1; events {worker_connections 1024; } http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location /api/ {proxy_pass htt…...

全栈开发(四):使用springBoot3+mybatis-plus+mysql开发restful的增删改查接口

1.创建user文件夹 作为增删改查的根包 路径 src/main/java/com.example.demo/user 2.文件夹里文件作用介绍 1.User(实体类) package com.example.demo.user; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.IdType; impo…...

计算机组成原理==初识二进制运算

计算机组成原理 计算机算术概要 计算机算术是计算机组成原理中的一个重要部分,它涉及在计算机硬件中执行基本数学运算的方法和技术。计算机算术不仅包括简单的加减乘除运算,还包括更复杂的操作如浮点运算、位运算等。 1. 基本概念 数制:计…...

【machine learning-十-grading descent梯度下降实现】

grading descent 梯度下降参数更新方法 --导数和学习率 从导数项直观理解梯度下降 grading descent 算法就是更新参数,今天来学习下如何更新w和b 梯度下降 还是以线性回归的均方差损失函数如下为例: 损失函数的可视化图如下 : 横轴和纵轴分…...

python网络游戏

import socket import threading 客户端处理函数 def handle_client(client_socket, client_address): print(“[INFO] New connection from: {}”.format(client_address)) # 接收客户端消息并回复 while True:data client_socket.recv(1024).decode(utf-8)if not data:br…...

使用Charles抓包Android App数据

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 抓包环境准备 1. 下载安装charles charles下载地址:https://www.charlesproxy.com/latest-release/download.do 2. SSL代理设置 3. http代理和…...

通信工程学习:什么是VM虚拟机

VM:虚拟机 VM虚拟机(Virtual Machine)是一种通过软件模拟的计算机系统,它能够在物理计算机上模拟并运行多个独立的虚拟计算机系统。以下是关于VM虚拟机的详细解释: 一、VM虚拟机的定义与原理 定义: VM虚拟…...

C#环境搭建和入门教程--vs2022之下

目录 1.环境搭建 2.先让程序跑起来 3.C#代码结构 4.变量,输入输出介绍 5.内容输入和类型转换 1.环境搭建 我们的这个c#基础学习主要就是在这个vs2022上面进行的,我们的这个c/c使用的都是这个平台 我们首先检查一下我们的这个环境是不是完全的配置了…...