个人实际开发心得感悟及学习方法

前言

我的学习路线应该和大多数人的学习路线差不多,快速的学习完html和css,很多东西都没有记住的情况下就进入了js的学习,js学的懵懵懂懂就进入了node.js的基础学习和webpack的了解式学习,然后就跨度到了vue和react框架的学习。

节奏很快,学习的基础也极其不扎实。正如同那句经典名言,会写vue就能上班了

等到工作之后,才开始磕磕绊绊的深入学习一些内容。

现在我认为,基础很重要。特别是js的基础知识,是后续进阶的所有基础。就好比你想当一名赛车手,你说你只会开车,不懂车的构造,那肯定是不行的。

如果你刚上班,每天curd,vue+element-ui式编程,可以理解。但是,这样的情况如果超过半年,工作技能稳定,那就需要好好的去重新学习一遍。

技术方面

html

大多情况下,我们是不需要写原生的html文件了,基本都是用现成的ui组件,但是还是需要去整体的了解一下html,就算不需要你从头到尾的去练习一遍,也得大概的去看一遍html的各种标签和作用。

比如html中iframe和input的所有类型,这些你至少需要去看一下,因为就算是element-ui或者antd等ui库,它们也都是在原始标签上封装的,很多方法都是原生标签上携带的方法。a标签有很多强大的功能,跳转,下载甚至电话拨号,想必好些人也是没了解过的。

总之,所有的标签都看一遍,还是有必要的。


css

玄学的东西。。。

开发业务,多多少少都得写css。但大多数人的重心也都不是放在css上面,基本上也就只用那些常用的属性。然后再面试前看看,圣杯双飞翼,垂直居中,cs3特性等面试题。甚至很多面试都不带问css的。

怎么说呢,我感觉css也是需要花一些时间去看的。至少很多属性,你都需要自己去尝试一下,里面很多属性其实我也记不住,其实也没必要死记硬背,浪费精力。

而且,实际开发时,调整样式很多时候都是打开开发者工具,在浏览器上直接调整属性和值,无疑是很方便的。

css还是需要去看一看和练一练的,至少开发中遇到比较纠结的,可以自己记录一下问题。


javascript

啥也不说了,js是所有的核心。

一定要认真地去学习一遍,如果你只是在b站上看了一些《js从入门到精通》等视频,那些是远远不够的。

js的学习一定要花时间,有耐心的去练一遍。遇到任何问题,都不要不懂装懂。

js基础中还是有很多经典面试题的,闭包,原型链,事件模型,class,promise等等,面试题无数,答案无数。你可以去背,但是更重要的是要自己去理解,一定要理解。

比如就拿闭包来说,很多人都知道函数嵌套函数,内部函数引用外部函数变量。但是很多人在开发过程中感觉自己也没碰到闭包啊,也用不到闭包思想。

不可否认,你要是只写curd,传统业务,确实用不到闭包思想。但是你但凡深入的学习一些东西,比如防抖节流,设计模式等等,你就不可避免的需要用到闭包了。

想学习好闭包,你就得学习好作用域链和函数本身的特性,如果你对作用域链和函数通透了,你对闭包的理解一定会更加通透的,那个时候你就不需要在每次面试前背八股文了,更重要的是,当你去学习设计模式或者学习一些源码的时候,你就不会因为闭包而头疼。

js是最重要的,要去看官方文档mdn,或者买一些书籍,《你所不知道的javascript》或者红宝书之类的。花大量精力去学习js本身,是绝对稳赚不赔的买卖。


nodejs

这个我就不多评价了,很多人也仅仅是用安装环境和使用npm的时候才会接触这个东西。

我个人是用express开发过服务端的,平时写一些demo,也都会自己去启动一些node服务。

学不学,看自己,可以不学的。


canvas

这个技术也是,学不学看自己。

但是如果你要深入可视化的方向,这个是必须要学习的。


webpack

webpack还是很有必要去学习的,就算你没有完整的学习一遍,你也应该在有机会的时候,去专门的学一学webpack基础。

如果你要独立负责一个工程,webpack方面的知识你绝对是需要去掌握的。不要说vite现在是新星,基于webpack构建的项目目前依然是最多的。

而且,最直接的来说,你要是面试高级开发,你要说你webpack只是处于最基本的学习过,那就没啥戏了。

还是要好好去看的,并且自己配置一套工程


vite

和webpack一样,卷吧,未来的主流构建工具


react

个人建议,还是要学一学的,当然,你也可以完全不学,不影响。

react算是手动挡汽车,比vue学习成本高一些,不过工资方面也是比vue会好一些。

要么不学,要么就认真系统的学习一遍。


vue

对于巨大多数前端码农,饭碗级别的东西。

一定要把vue官网以及官方的插件vuex,vue-router等学习一遍,一遍不行就几遍。

看视频,从github上拉优质项目去学习,总之,用尽所有方法,吃透vue,你工作的大部分问题都能解决了。

vue的源码也是需要学习滴,当然了,前提是你对js了解比较深入了,设计模式等知识也懂了,再开始,要么你就是一脸懵逼。

git

对于一些刚工作的人来说,git会是一种噩梦。

复杂的命令你不了解,但是最基本的你必须得会。你要是写不出业务代码,可以请教学习等等。

但是你要是git不会,唉,这就是原罪了。

菜,就是原罪。 -- 致敬git

开发注意

理解业务

拿到项目之后,你要去看看有没有项目的文档,或者让别人给你介绍一下业务。

不要感觉,啥业务对你来说不重要,你只是按照原型画页面,调接口,回显参数。这个项目是做什么的,每个模块是干啥的,使用群体是什么职业。一定要知道和了解,你可以不用过度深入了解里面的每一个名词代表什么。

比如这个项目是银行的项目,价值流,实体等等概念,你不懂,但是你也要大致去了解一下概念。

比如这个项目下一个阶段需要开发什么模块,这个模块需要一个可视化的流程图或者ide工具,你就需要提前了解到,然后去提前准备和调研,不要等需求砸到脑袋上了,你再去研究新技术,那就很被动了。

编码规范

很多项目应该都有一套自己的规范,变量命名,代码风格,注释规范,git提交规范等等,一定要养成好的习惯。

比如我以前开发中,有时候就会在各种地方输出console.log,完了也就提交上去了,虽然生产环境关闭了控制台输出,但是这终归不好。

写好注释,在关键点打印输出,组件拆分合理,变量命名规范,git提交commit说明准确。

都是很好的开发习惯,要坚持

注重优化

如果你工期很紧,优化可以放在其次。

但是每过一个阶段,还是需要把代码进行优化的。(!--大项目的教训)

原来有一个项目,最开始运行还挺快,就是因为多人开发,模块越来越多,小鸡仔养成了老母鸡,最后本地启动项目的时间都由不到20秒变成了2分钟左右。

后来还是花大力气进行优化,才让他压缩到40多秒。特别消耗精力和情绪的事情,还是要注重平时编码的优化。

少一些大文件,拆分公共方法,熟练掌握webpack等等,,,

注重自测

一定要注重自测,注重自测,注重自测。

技能前瞻

程序员最怕什么,答:对自己不会的东西不感兴趣。

一定要关注新技术,比如你一直感觉vue3+ts很麻烦,觉得自己目前没必要学。等你哪一天突然要换工作了,外面的项目都需要v3+ts,而你只会vue2+js,那你就很被动了。

深度是要有的,但是也要多少有一些广度,没办法,就是卷。

友好合作

和同事的友好合作,对于开发效率很重要。

谁都是从菜鸟经历过来的,你要是不会,赶紧就问,完成工作是第一。

也要学会感恩帮助过你的人,再不济,人家帮你解决一个问题,请他喝瓶饮料的钱总是有的吧。

善于总结

我想每个人都会遇到十分恶心,熬人的问题,记住,过了这关,一定要记住这个问题的解决方案\(^o^)

高手,就是从无数坑里爬出来的勇士。

如果遇到什么好用的第三方工具,插件,方法,记得要收纳起来。

积累多了,你就是技术的百事通。

结尾语

都是个人的一些心得,大佬不必看。

总之就一点,卷起来

用你打游戏和睡觉的时间去学习,你才能安心的打游戏和睡觉。

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

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

相关文章

模型复杂推理-思维链COT基础和进阶玩法

COT基础用法 Few-shot COT Chain of Thought Prompting Elicits Reasoning in Large Language Models 开篇自然是COT小王子的成名作,也是COT的开山之作,单看引用量已经是一骑绝尘。 论文的核心是通过Few-shot的方案,来引导模型生成中间推理过…

react中的类(有状态)组件,函数(无状态)组件·示例,对比及组件样式引用方案(附代码)

目录 react组件分类 函数组件 创建函数组件的注意点 代码示例 函数组件的优点 类组件 创建类组件的注意点 代码示例 类组件的优点 有状态和无状态组件的区别 组件样式 行内样式 外链样式 css in js解决方案 react组件分类 在React中,有三种主要类型的…

vue3全网最全教程-----(3)

目录 4. 路由 4.1. 【对路由的理解】 4.2. 【基本切换效果】 4.3. 【两个注意点】 4.4.【路由器工作模式】 4.5. 【to的两种写法】 4.6. 【命名路由】 4.7. 【嵌套路由】 4.8. 【路由传参】 query参数 params参数 4.9. 【路由的props配置】 4.10. 【 replace属性】…

Java基层医院信息化管理系统云HIS源码

医院信息系统(HIS)经历了从手工到单机再到局域网的两个阶段,随着云计算、大数据新技术迅猛发展,基于云计算的医院信息系统将逐步取代传统局域网HIS,以适应人们对医疗卫生服务越来越高的要求。 云HIS分系统功能 一、医疗业务子系统…

【操作系统】精选填空题

1.操作系统的4个基本特征( )( )( )( ) 2.设计操作系统要满足有效性的目标,有效性体现在提高系统( )和提高系统( )。 3. OS环境下的资源共享又称为资源复用,实现资源共享的方式包括( &#xff09…

Kasada p.js (x-kpsdk-cd、x-kpsdk-cd、integrity)

提供x-kpsdk-cd的API服务 详细请私信~ 可试用~ 一、简述 integrity是通过身份验证Kasada检测机器人流量后获得的一个检测结果(数据完整性) x-kpsdk-cd 是经过编码计算等等获得。当你得到正确的解决验证码值之后,解码会看到如下图 二、cook…

@RequestParam详解——获取QueryString格式参数

获取QueryString格式参数(RequestParam) QueryString(查询字符串)是指URL中?符号后面的参数部分。它通常用于在HTTP请求中传递参数给服务器。 比如:http://localhost:8080/test?qapple&categoryfruit 其中&…

JavaScript 中的提升是什么

JavaScript中的提升(Hoisting)是指在代码执行之前,变量和函数的声明都会被提升到作用域的顶部。换句话说,变量和函数可以在它们被声明之前就可以使用。 变量提升: 在JavaScript中,变量的声明可以在赋值语句之前。在变…

C/C++ BM4 合并两个排序的链表

文章目录 前言题目1. 解决方案一1.1 思路概述1.2 源码 2. 解决方案二2.1 思路阐述2.2 源码 总结 前言 这道题采用两种方式,一种是直接插入法,还有一种就是递归调用。 题目 输入两个递增的链表,单个链表的长度为n,合并这两个链表…

用IDEA创建/同步到gitee(码云)远程仓库(保姆级详细)

前言: 笔者最近在学习java,最开始在用很笨的方法:先克隆远程仓库到本地,再把自己练习的代码从本地仓库上传到远程仓库,很是繁琐。后发现可以IDEA只需要做些操作可以直接把代码上传到远程仓库,也在网上搜了些…

【linux】head的用法 输出文件开头的内容

在linux可以用find查找一个文件,可以用grep查找符合要求的文件内容,但是有的时候希望查看文件的前几行或者后几行(其实这种场景经常可以遇到,比如接触到日志分析的时候),那就应该使用head和tail这两个工具了…

Redis 数据库,忘记密码如何找回或重置

对于 Redis 数据库,如果忘记了密码,可以通过以下步骤进行密码重置: 找到 Redis 配置文件 redis.conf。通常情况下,该文件位于 Redis 安装目录下的 etc 或 conf 文件夹中。使用任意文本编辑器打开 redis.conf 文件。在文件中找到 …

Qt Creator可视化交互界面exe快速入门5

上一期介绍了加法计算器,本期介绍QObject定时器。 首先一样先建个工程,比如我这项目名为QObject 本期的任务就是制作图片在界面上显示,然后每秒定时切换,点击另一个暂停按钮,可以定格当前图片,即取消定时切换功能。 显示图片的我们可以使用显示里面的label 这个用于显示…

机场信息集成系统系列介绍(6):机场协同决策支持系统ACDM*续集

目录 1、A-CDM实施效果评估背景 2、评估核心指标项 (1)机位效率 (2)登机效率 (3)推出效率 (4)滑行效率 (5)协同效率 3、其他指标项 (1&a…

计算机基础--Linux详解

一概述 Linux是一种自由和开放源码的类UNIX操作系统。它是由林纳斯托瓦兹于1991年首次发布的,并从那时起在全球范围内得到了广泛的应用和开发。Linux具有强大的可定制性,可以运行在各种硬件平台上,包括x86、ARM、MIPS等。它不仅广泛应用于服…

在 Linux 中使用 cat 命令

cat 命令用于打印文本文件的文件内容。至少,大多数 Linux 用户都是这么做的,而且没有什么问题。 cat 实际上代表 “连接(concatenate)”,创建它是为了 合并文本文件。但只要有一个参数,它就会打印文件内容。因此,它是用…

R语言孟德尔随机化研究工具包(1)---friendly2MR

friendly2MR是孟德尔岁随机化研究中的一个重要补充工具,可以批量探索因素间的因果关系,以及快速填补缺失eaf的数据,但是存在细微差异需要注意。 remotes::install_github("xiechengyong123/friendly2MR") library(friendly2MR)lib…

工程(十七)——自己数据集跑R2live

博主创建了一个科研互助群Q:772356582,欢迎大家加入讨论。 r2live是比较早的算法,编译过程有很多问题,通过以下两个博客可以解决 编译R2LIVE问题&解决方法-CSDN博客 r2live process has died 问题解决了_required process …

[设计模式 Go实现] 创建型~单例模式

使用懒惰模式的单例模式,使用双重检查加锁保证线程安全 代码实现 package singletonimport "sync"// Singleton 是单例模式接口,导出的 // 通过该接口可以避免 GetInstance 返回一个包私有类型的指针 type Singleton interface {foo() }// s…

华为交换机生成树STP配置案例

企业内部网络怎么防止网络出现环路?学会STP生成树技术就可以解决啦。 STP简介 在二层交换网络中,一旦存在环路就会造成报文在环路内不断循环和增生,产生广播风暴,从而占用所有的有效带宽,使网络变得无法正常通信。 在…