CSS如何清除默认样式,前端开发实训

news2024/11/27 6:17:48

前端的现状

提到现状,必须先提到一个概念 大前端。由于近几年互联网的发展,尤其是移动互联网的发展,有的大前端概念将 Native 归入前端的范畴,有的大前端概念将 Node 甚至只渲染页面的 PHP 归入前端范畴,但不管怎么说,笔者认为 大前端 是未来的一个趋势,将最终目标(提升用户体验)一致的技术归类到一起,让开发者清楚自己的最终目标是什么,要怎么做。当然,也正因为这点,作为一个前端工程师,如果你想更好的发展,你应该有更广的知识面,包括移动端知识、服务端知识。这些知识结合你的前端技术,才能更好地实现优秀的用户体验。

抛开大前端,单谈前端,从前端架构层面谈,最近比较流行的有四个:老牌劲旅 jQuery、最近火得不能再火的 React、Google 精品 Angular 以及 MVVM 框架 Vue。现在几乎所有的项目都会在这四种架构方案中选择其一作为基础,进行业务开发。四种框架,四种不同的思想,简单来说:jQuery Dom 驱动的思想深入人心;React 则推崇组件化,万物皆组件;Angular 则把 MVC 在前端领域发扬光大;而 Vue 则是以数据驱动为核心的 MVVM 架构。作为一个前端新人,不可能很快就理解所有知识和思想,只能一步一步来,先把你在工作中所使用的框架理解透彻,再去思考和学习别的。说实话,会用和理解的差距很大。

在这里,可能会有个疑问,上述四个架构,都很火,但是哪里涉及到用户体验了?是的,这些架构都没有直接涉及到 UI。但是就像足球,没有勤奋的训练和优秀的战术,再好的11人也踢不出好的比赛一样,这些架构从开发成本和开发体验上,降低了开发者编码和维护的难度,让其在 UI 的用户体验上的付出,事半功倍。当然,框架在编码体积、运行效率等多个方面影响了最终的用户体验。

上面所说的是,当前前端的一大现状 —— 框架横行,现在很少有公司、有工程师用纯原始的方式撸代码了。而前端另一大现状就是 —— 移动为先。原因很简单,随着移动互联网用户的暴涨,各个公司的产品都是移动为先,技术跟随着产品的步伐,也必须移动为先。这时,为了解决多平台的问题,Hybrid 方案脱颖而出,包括传统的基于 WebView 的 Hybrid 方案(例如 Cordova)和 React-Native 等一系列技术方案。在这里我就不多说了,关于移动前端的内容最近充斥着各种技术论坛、交流群、公共号,具体的,大家可以自己亲身去了解。

最后,对于现状,我想大家可能最关心的其实是职业形势。由于前端的兴起,前端人才市场相当活跃,平均薪金水平也是名列前茅。与此同时,前端的技术入门比较容易,造成另一个极端情况:人员泛滥、人才稀缺。这种情况,一方面由于前端发展太快,很难短时间掌握全部知识;另一方面,高等院校并没有开设专门的前端专业,大家更多是自学,野路子很多。所谓乱世出英雄,这样的前端大环境或许对一个新入行的同学更有利。当然,在如此『乱世』中,一个好的职业规划,才能避免『误入歧途』,保证自身顺利地成长。

如何做一个职业规划

上面讲述了前端如何兴起和前端的现状,下面将基于上述两点,分几个方面为大家提供一些有关职业规划的观点,希望对大家有帮助。
确定方向
做职业规划的目的是避免迷茫,而避免迷茫最有效的方式就是确定明确的方向和目标。

对于任何一个技术岗位,都有固定的两个方向:技术专家(架构师)和 开发经理。前者偏重技术,需要你在当前领域钻研得很深;后者偏向管理,需要你在对技术有很深掌握的同时,可以带领团队完成项目的开发。当然,两者并不是鱼与熊掌的关系,你可以同时成为技术专家和开发经理。

对于技术专家和开发经理两个方向的选择,更多取决于你自身在工作中多巴胺的分泌情况。当你专研技术时,多巴胺分泌得更多,感到更兴奋,或许你会很容易成为技术专家;反之,当你跟团队一起做业务时,多巴胺分泌得更多,更有获得感,那么你可以尝试向开发经理方向发展。

当然,你也可能做什么都没有分泌太多的多巴胺,那么,你可以在尝试一段时间后,转型其他职业,例如产品经理。前端作为核心是用户体验,与用户最近的工程师,转型产品经理,阻碍会小一些。况且,文艺型前端布道人豆瓣前端负责人张克军认为,前端工程师正慢慢演变为产品工程师,前端和产品离得确实很近。

当你选择好一个方向后,你就要朝着这个方向一步一步进发。丹尼尔在《一万小时天才理论》提出一万小时定律,即要成为某个领域的专家,需要积累一万小时。当然这只是个概数,不过每天花更多的时间去学习和实践,肯定是最有效的。这里,成为技术专家和开发经理过程中,关注的点略有差别。成长为技术专家,要更多关注技术本身的实现,包括逻辑、架构、设计模式、方法论等;而成长为技术经理,则要更多关注技术开发的过程,考虑如何提高开发效率、降低开发成本、优化开发质量等等。不同的人,精力是有限的,选择性关注一些必要的方面,对自身快速的成长是很有必要的。

做业务还是做架构

做业务,时间要求比较紧,代码质量要求高,可参考的代码比较多,业务知识需要学习。做架构,时间稍微自由,对经验要求比较高,无可参考代码,专业基础知识需要深刻理解;最主要的,做架构的你既是开发,又是用户,还是 PM ,只有 80% – 90% 的明确目标,并在开发过程中不断微调最终的目标。
对于一个新人,其实不用纠结,做业务才是好的选择,而且做 技术含量高使用流行技术 的业务才是最好的。原因很简单,架构的最终的目的是解决业务当中的问题,你没做过业务,哪能知道业务的问题在哪,你都不知道要解决什么问题,如何做好架构。所以,从业务做起,是新人最好的选择,也是唯一可行的选择。而选择有技术含量、使用流行技术的业务的原因更多在于成长,这样你的成长可能会更快、成长道路可能会更直。当然,这只是『可能』,不同的人适合不同的业务,所以不要强求一定『技术含量高、使用流行技术』的业务,更多的而是改变自己,去 适应团队适应业务,这样才能 更快地成长

事实上,很多时候,你会遇到很业务工作很繁重没有额外时间学习的情况。而如何在这样环境中更快地成长呢?说白了就是『抄』,不不,是 参考。将学习融入到工作中,是最好的方法。做新项目,参考老项目代码;做新需求,参考老需求的代码;没有同类型的代码,参考别的业务的代码。参考前人的经验,在巨人的肩膀上,成长才会变得更快。同时,你的导师和你的伙伴,也会在业务中给你指点,帮你快速解决成长路上的问题。

在这里,总结一下,在繁重的业务环境下快速成长,你需要 很优秀的学习能力很持久的耐心 以及 很好的导师和伙伴,这样才能在技术成长的路上事半功倍。

技术的学习

说了半天,到了最核心的问题了,对于一个新人如何学习技术?笔者给的建议是:千万不要囫囵吞枣,先把当前使用的技术学透用熟,才是最重要的;千万不要在还没把当前使用的技术吃透之前,去学新的东西,不管新的东西有多火。就像上文所说,不同的框架,有不同的核心,有不同的思想。两个框架代码相似之处的思想不一定相似,例如 Angular 和 Vue 都有双向绑定,虽然效果相似,但是实现思想和内部实现方式是截然不同的。还在入门阶段的你,会被各种思想充斥头脑,反而会更不清楚。

一定的时间后,当你理解透一个架构体系后,你可以 类比地去看 更多的架构体系。这时候,你会发现不同架构很多东西都是殊途同归,理解得很快。

当然,理解透一个架构体系,有人需要一年,有人需要三年,还有人可能需要更长时间。为什么有这么大的区别呢?因为有些人在开发中,并不认为完成就可以了,会在开发中,追求代码的优美,会不断优化自己的代码,让自己的代码性能更好、可读性更高,并通过长时间的积累,达到 量变导致质变 的程度。即使一个特别聪明的人,没有『量』也不可能『质变』的,只不过他的量可能比其他人少而已。

要提醒的一点是,学技术,一定要结合你所在公司、团队的技术栈。例如,去哪儿前端应届生会在进入业务线前,进行3个月的脱产培训,2017年的前端培训课程内容中涉及的技术主要是 React 和 React Native,而去哪儿业务的技术栈也大多是 React,那么作为去哪儿的前端应届生,你优先学习 React 的技术体系是事半功倍的,既有前人可以问,又有项目可以实践。

当然,在学习架构的同时,不要忽略两样最基本的东西,一个是 技术基础,一个是 开发规范

技术基础是一切开发、架构的前提,没有一个好的基础,是无法让你自身的技术水平达到足够高的维度。例如你对于继承理解的并不透彻,你很难理解清晰 React 的内部实现。

对于开发规范,笔者在带应届生时特别注意让他们遵守。代码规范比比皆是,但是很少有人严格遵守。究其原因,多是在代码规范制定之前,已经有自己的一套代码习惯,很难短时间改变自己的习惯。而应届生,一般来说代码并不多,还没有形成自己的编码习惯。这时候,开始遵守一定的规范,会促使他们养成一个较好的编码习惯,为后续的成长打好基础。下面,列举一下开发规范的几点好处,让大家明白代码规范的重要性:
规范的代码可以促进团队合作。
规范的代码可以减少 Bug 处理。
规范的代码可以降低维护成本。
规范的代码有助于代码审查。
养成代码规范的习惯,有助于程序员自身的成长。
如果是自学web前端的话,给以下几点建议:

1、根据自己的情况,规划一个合理的学习计划,学习时长,学习内容,以及练习时间。

2、系统的web前端学习教程

3、多实操,多动手,多练习

4、一周要进行知识点回顾,如果不回顾,不去加深记忆,我保证你会不断的忘记之前的

5、找个专业的人指导,不要异想天开觉得自己可以无师自通,这不现实,也是对自己不负责任

6、坚持每天学习不能间断,准备好用半年的时间学前端,现在竞争大,技术学不好很难就业

7、跟比较明白的人请教一下学前端有哪些坑,避免走太多弯路,掌握好学习方法

最后

技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做

戳这里领取完整开源项目:【一线大厂前端面试题解析+核心总结学习笔记+Web真实项目实战+最新讲解视频】

面试题,复习巩固。


https://bbs.csdn.net/topics/618166371)

面试题,复习巩固。

[外链图片转存中…(img-AvMQJuAZ-1709657306097)]

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

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

相关文章

一文帮助快速入门Django

文章目录 创建django项目应用app配置pycharm虚拟环境打包依赖 路由传统路由include路由分发namenamespace 视图中间件orm关系对象映射操作表数据库配置model常见字段及参数orm基本操作 cookie和sessiondemo 创建django项目 指定版本安装django:pip install django3.…

部署DNS解析服务

一、安装软件,关闭防火墙,启动服务 1.yum install -y bind bind-utils bind-chroot 2.systemctl stop firewalld && setenforce 0 3.systemctl start named 二、工作目录 /var/named/chroot/etc #存放主配置文件 /var/named/chroot/var/n…

实施 ASPM 面临哪些挑战?

在保护组织的应用程序时,您可能听说过有关应用程序安全状态管理 (ASPM) 的热议。根据研究称,到 2026 年,超过 40% 的开发专有应用程序的组织将采用应用程序安全态势管理。您意识到它有可能彻底改变您的应用程序安全性。但你也明白&#xff0c…

html标签元素类型,web开发工具

面试题 HTML 1,html5有哪些新特性? 2,html5移除了那些元素? 3,如何处理HTML5新标签的浏览器兼容问题? 4,如何区分 HTML 和 HTML5? CSS 1,CSS 选择符有哪些&#xf…

解决前端性能问题:如何优化大量数据渲染和复杂交互?

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、分页加载数据 二、虚拟滚动 三、懒加载 四、数据缓存 五、减少重绘和回流 …

docker 安装rabbitmq并配置hyperf使用

这里我想完成的是 制作消息(多个协程制造)——》推送到rabbitmq——》订阅消息队列——》消费消息(ws协程客户端【一次消费多条】/ws前端) 利用 WebSocket 协议让客户端和服务器端保持有状态的长链接,保存链接上来的客…

Doris——纵腾集团流批一体数仓架构

目录 前言 一、早期架构 二、架构选型 三、新数据架构 3.1 数据中台 3.2 数仓建模 3.3 数据导入 四、实践经验 4.1 准备阶段 4.2 验证阶段 4.3 压测阶段 4.4 上线阶段 4.5 宣导阶段 4.6 运行阶段 4.6.1 Tablet规范问题 4.6.2 集群读写优化 五、总结收益 六…

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险 The Dance of Scala: The IDEA Adventure of Lin Haoran and Yang Lingyun 在那个阳光明媚的日子里,林浩然如同一位英勇的探险家,踏入了 Scala 的 IntelliJ IDEA 开发环境的奇妙领域,他带着…

返回两个数组中每个对应位置的两个元素的最小值np.fmin()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 返回两个数组中 每个对应位置的 两个元素的最小值 np.fmin() 选择题 以下代码输出的结果是? import numpy as np a1 [1,np.nan,3] a2 [3,2,1] print("【显示】a1",a1)…

Vue3:OptionsAPI 与 CompositionAPI的比较

1、Vue2 Vue2的API设计是Options(配置)风格的。 Options API 的弊端 Options类型的 API,数据、方法、计算属性等,是分散在:data、methods、computed中的,若想新增或者修改一个需求,就需要分别…

C#高级:Winform桌面开发中DataGridView的详解

一、每条数据增加一个按钮&#xff0c;点击输出对应实体 请先确保正确添加实体的名称和文本&#xff1a; private void button6_Click(object sender, EventArgs e) {//SQL查询到数据&#xff0c;存于list中List<InforMessage> list bll.QueryInforMessage();//含有字段…

OpenCV学习笔记(一)——Anaconda下载和OpenCV的下载

OpenCV是图象识别中有巨大的应用场景&#xff0c;本篇文章以Python为基础。当初学OpenCV的时候&#xff0c;推使用在Anaconda编写代码&#xff0c;原因比较方便&#xff0c;下面我们对于Anaconda的下载过程进行演示。 Anaconda的下载 首先打开官网www.anaconda.com/download找…

Linux开发板移植rz、sz指令实现串口传输文件

一、开发环境 实现开发板和电脑通过串口来收发互传文件。 开发板&#xff1a;NUC980开发板 环境&#xff1a;Ubuntu 22.04.3 LTS 64-bit lrzsz的源码包:例如 lrzsz-0.12.20.tar.gz&#xff0c;下载地址https://ohse.de/uwe/software/lrzsz.html 二、移植步骤 在开发板上移植…

RabbitMQ(SpringAMQP)

一.SpringAMQP Spring的官方基于RabbitMQ提供了一套消息收发的模板工具&#xff1a;SpringAMQP。并且基于SpringBoot对其实现了自动装配 SpringAMQP官方地址:SpringAMQP SpringAMQP提供的功能: 自动声明队列、交换机及其绑定关系 基于注解的监听器模式&#xff0c;异步接收…

UBOOT和LINUX 调试等级设置

比较好的网页 UBOOT LINUX 设置相关 方法1&#xff1a; echo 5 > /proc/sys/kernel/printk 缺点&#xff1a;方法1无法修改在内核启动时的输出信息 方法2&#xff1a; 通过uboot的环境变量bootargs传递打印级别的参数 set bootargs root/dev/nfs init/linuxrc nfsroot19…

TQTT X310 软件无线电设备的FLASH固件更新方法

TQTT X310 除了PCIE口全部兼容USRP 官方的X310&#xff0c;并配备两块UBX160射频子板以及GPSDO。TQTT X310可以直接使用官方的固件&#xff0c;但是不支持官方的固件升级命令。这篇BLOG提供烧写刷新FLASH的方法。 1&#xff0c;使用的是WINDOWS系统。首先给X310接入电源并开机…

MongoDB获评2023年Gartner®云数据库管理系统“领导者”

MongoDB 很荣幸在《2023 年 Gartner 云数据库管理系统 (CDBMS) 魔力象限》报告中被评为领导者。我们相信这一成就让 MongoDB 成为唯一一家连续两年斩获“领导者”称号的纯应用程序数据库服务提供商。 社区及开发者数据平台用户的需求一向是 MongoDB 关注的重点&#xff0c;而这…

音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(Android)

本文主要讲解的是音频基础概念、交叉编译原理和实践&#xff08;LAME的交叉编译&#xff09;&#xff0c;是基于Android平台&#xff0c;示例代码如下所示&#xff1a; AndroidAudioDemo 音频基础概念 在进行音频开发的之前&#xff0c;了解声学的基础还是很有必要的。 声音…

Redis之事务(详细解析)

请直接看原文:不能回滚的Redis事务还能用吗 - 知乎 (zhihu.com) ------------------------------------------------------------------------------------------------------------------------------ 1、Redis事务的概念&#xff1a; Redis 事务的本质是一组命令的集合。…