大家好,今天给大家分享的是编程导航知识星球的 NaiGeLan 同学的前端学习之路:
星球原文链接:https://t.zsxq.com/0aPuSbdwC
我与前端的初次邂逅
说起来也很巧,也就是去年的这个时候,我开始学习前端,那时候加入了学校的 N+ 工作室(一个软件开发工作室),其实我不知道我当时为什么会做出这个选择,因为我当时的专业和前端毫无关系,而且之前也没接触过这方面的东西,也许这一切都是冥冥之中的缘分,没怎么多考虑,觉得有意思,就加入了,我和前端的故事就从这里开始了
我还记得我做的第一个小 demo,模仿 QQ 登录页面,现在看来就是简单的 flex 布局和 HTML 基本元素的使用,当时可是挑灯夜读 看B站黑马程序员的入门视频 还有阮一峰老师的文档 对我帮助很多。
终于,保质保量的完成了这个小项目(这个小项目一直被我用到了现在,拿来给团队中刚入门的同学们做) 就这样,我在我的大一寒假期间入门了前端基础三件套,就这样,我开始了我漫长的前端学习之路
兴趣变成事业
大一下学期开学之后,我才真正的进入到了我前端技术进步的高峰期,开学之后那段时间我遇到了前端路上的第一个难点————脚手架,当时工作室有个考核任务需要用 vue-cli 脚手架开发,这可难到了当时的我,在这之前我可是连命令行都没打开过啊,网上的教程也全是我看不懂的名词,什么 Node 啦,cli 啊, webpack 啊,看的我眼花缭乱。
当时脚手架,打包工具,Node 什么的根本不知道是什么,也不分不清。只能照着大佬的文章傻做,但是大家都知道,前端的东西升级很快,网上的教程很多都是好几年以前的,按照之前的方法去操作是行不通的,就这样我处处碰壁,最后还是在学长手把手的教导之下,完成了这个困扰了我一周的问题(抱头痛哭)。
之后我就开始了 vue 的学习,当时学 vue 的第一反应(看黑马程序员 月薪过万):好简单,这不比操作 Dom 简单多了嘛! 又看了几集:这怎么指令这么多,这我咋记得住,啊!!
到了实际做项目:妈耶,这代码红的,像极了我手里的康师傅牛肉面~~,就这样跌跌撞撞的,待在工作室,吃着康师傅泡面,看着满屏的红色,终于完成了自己的第一个 Vue 小项目(其实就是个Demo),说起来这个,我到现在还是回忆满满,工作室有个小项目想拿来给我们练手,一个简单的公寓党建模块(就是一个简单的数据查询功能,最上面有个级联搜索宿舍楼,下面有个列表来展示该公寓的领导们),当时还是个比较急的 ddl,就两天时间,不行,我后悔了,这我哪会啊?我 ajax 还不知道是啥,axios 还没玩明白啊 救命!!
果然到了 ddl 最后一天的晚上,我只是写出了 HTML CSS 部分,数据那块一点没写出来,感谢工作室的学长! 在这时候帮了可怜的我,他站在我后面,我在他前面战战兢兢的,手放在键盘,老老实实,就怕被嫌弃笨 结果是虽然我很笨,但是学长没嫌弃,一行一行的教我,最后在晚上十二点多把这个小模块上线了(依稀还记得那天老板过生日,我还蹭了蛋糕吃哈哈哈)然后接下来,我就自己个儿琢磨,终于能够自己独立完成一个小模块了,谁知道更吓人的活还在后头呢,哎。
那时候我们工作室的几个主力学长有的要去准备考研,有的要准备保研。我从一个有人要的孩子,变成了无家可归的流浪汉。写出 bug 没人给兜底了,哎,学长走就走吧,还给我留下了几个半截子项目,当时更是一瓶子不满半瓶子晃荡的我,即将就要接手这摊子了,哎。
然后我就开始了“魔鬼训练”,因为那些项目有的很急,所以当时我每天几乎一天十个小时的肝项目,除了开发新功能之外,我还得改之前的 Bug(大家都知道改 bug 比写新代码恶心多了),这段时间,vue2 算是给我玩明白了(可不是我玩 vue2,是 vue2 玩我...),我还记得当时的两个困扰我好久的问题,一个是vue2 的响应式,数据绑定,当时死活搞不明白为什么这个数据渲染不上去,后来才知道 Vue2 的 defineObject 不能监听数组变化。。还有一个是 v-for 的时候没加key,导致了组件不更新(具体内容记不清了)等等等等,一堆的 bug 锻炼出来我优秀的改 bug 能力,以至于我现在是工作室的改疑难杂 bug 专业户,孩子命苦啊~~
在这段时间中还有一些印象比较深刻比较有意思的事情,比如说我在这段时间内充当了一段时间的项目经理(项目经理姐姐忙毕业论文去了),我负责了给前后端,产品经理安排任务,调控进度,组织会议,还跟着去和客户喝酒了(那是我第一次去这么正式的酒局),在那里学会了一些徐州的酒文化哈哈哈,受益匪浅
正是这段经历,让我决定了,我要转专业,我决定之后要靠这个吃饭!我大一是机器人工程专业,刚开始学前端时候我的想法是把前端当成副业,主业还是想学机器人(那时候还学了 Stm32、C51 单片机之类的嵌入式),但是经历了这段之后,我发现了我对软件开发的喜爱(焊板子可坚持不了一天八个小时 但是写代码能),所以我选择了转专业,但是我学习成绩不太好,算法能力一般,转入计算机学院有些困难,然后我突然发现了我们学校的电子商务专业,学开发学的比计算机学院还多(但是不学底层原理),那就这个了!
转专业面试那天,我拿着我的简历(别人拿成绩单,我可不敢)到了几位老师面前,一人发了一张,本来这个面试是不让看稿子的,可是老师都在低着头看我简历,那我可高兴了,我逮着我简历一顿念, 因为有着在同龄人中不错的开发能力,几段不错的创业比赛经历,还有真实的企业级项目经历,我可算是被电子商务专业收留啦!从这之后,前端成了我的主业!
拥抱新技术
因为工作室的项目版本老旧,经常会有一些找不到源头的问题,所以决定————要给项目来个技术升级!而我,在经历了前面的大风大浪之后(工作室实在没人了)成为了前端组组长,这个前端技术大升级的任务自然就落到了我的身上。
经过一番讨论,最后决定了这么一套技术栈————最新的 Vue3.2 为框架,TypeScipt 来替代之前的 Js,Vite 作为打包工具,UnoCss 原子化样式库,animate.css 动画库,VueUse 工具库。哇,这短短的一两行文字,当时耗费了我多少时间,去把这些技术挨个学习,为了搭起一套全新的 H5 模板(其实大多还得靠学长),在这同时,为了确保我在工作室的领导地位(bushi),我还去学习了 Java Springboot 框架,MySql、MongoDB 数据库,MyBatisPlus ORM 工具,当时我学 SpringBoot 的时候我就感觉,这玩意,咋和 TS 那么像啊。
凭借着我强大的肝,在大一暑假时候,不仅学会了那些新鲜的前端技术,还学会了 Java SpringBoot 框架的 CURD 开发
开学没多长时间,欸嘿,小洋人来了,我们被关在宿舍里上网课(我就一个人躲在工作室里 coding),这时候我盯上了 Node 服务端技术,我当时就想哈,会 Java 的人太多了,何况我还是个前端,我这得掌握一下现在最流行的 Node 开发服务端啊,然后我就去学习了最轻量级的 Koa,上网课这段时间里面,我用 Koa 和 Vue3 写了一套管理信息系统的通用模板(后来因为线下了就烂尾了哎),我就想着,反复的玩 Vue 也没意思啊,而且很多大厂都要 React,那我为啥不学个 React 呢,好巧不巧,小洋人又又又又来了,我们又开始上网课了,虽然不幸,但是这对我可是个好机会啊,在这次的网课时间里,我基本掌握了 React 的开发,并且用 Next 框架 SSR 渲染开发了一个博客系统嘿嘿。
在我大二上学期的最后一个月里面,我看了好多好多新的技术,比如 Antfu 大佬的 Vitest 等等(Antfu 大佬是我的神)还有 React 的各种库,但是我发现我越看越蒙,越看越浮躁,我意识到了我自己的问题————基础不扎实。
不做API调用师
当我意识到自己的问题之后,我决定在这个寒假猛补计算机基础,到刚放假到现在为止,我学习了计算机网络,Node 核心原理,V8引擎,数据结构与算法,设计模式。把之前模棱两可的概念过了一遍,但这还不够!
之前用了那么久的 Vue,React 我对他们的认识只是停留在调用 Api,而不知道具体是怎么实现的,所以说我现在正在试图学习 React 的源码,而且参加了字节的青训营活动,并且选择做 React 的组件库,希望在这次活动中收获满满!
对未来的畅想
从我选择进入工作室,选择前端,我的大学生活就变得与众不同了,别人在刷高数题,我在改 bug,别人在教室里上课,我在工作室学习前端,别人在课余出去玩,我却游走在各个会议之间...
累,但是真的充实,为了前端,我放弃了正常的大学生活,放弃了好好学习冲击保研的资格,但我收获的这段经历,这段记忆,在我认为是更加珍贵的。
感谢编程导航知识星球,让我有机会和朋友们一起学习交流、互相分享知识、共同进步。最后我想立一些2023年的Flag————
一定找到大厂的实习!!
拥有自己的开源项目!!
实现财富自由!!
加入星球
更多内容加入星球可见,欢迎大家: