首页 > 其他分享 >我与Vue.js 2.x 的七年之痒

我与Vue.js 2.x 的七年之痒

时间:2023-10-27 17:33:07浏览次数:33  
标签:七年之痒 Vue 然后 js 工作 源码 Vue2 时候 但是

——过去日子的回顾(这是个副标题)
    ——其实这是篇广告软文(这是个副副标题)


 

以下是一些牢骚和感悟,不感兴趣的可以滑倒最下面,嘻嘻。

  每每回忆起从前,就感觉时间飞逝,真切的感受到了那种课本中描述的白驹过隙。和很多人发生的,经历的很多事情,就好像昨天一样,但是仔细的思索一番,早已时隔多年,恍然如昨。

  我能走进这个行业,并在Web前端这个行业工作、学习至今,总结起来差不多也就四个字:大多数的运气、一点的的兴趣。还记得我15年毕业的时候,23、4岁的年纪,内心中充满了迷茫和慌张。回家之后无所事事,每天靠着老妈的50块零花过活,反正我也不用付房租,不用付饭钱,和朋友出去玩老妈还会多给50,所以这个额度还够用。那时候的日常就是,早晨老妈做好早饭叫我起床吃饭,吃完了我就继续睡,睡醒了就吃午饭,吃完了午饭就坐在桌子前打英雄联盟。嗯……就这样打了三个月,还是个白金都上不了的菜鸡,哈哈哈哈。

  印象最深刻的,就是那时候每天打游戏打的屁股疼,嗯……现在还能想起来那种屁股疼的感觉。

  然后有一次出去玩,和我朋友,也是我初中同学,到现在差不多有十几年了,是我不多的朋友中的一个。我们出去玩就两件事,要么网吧撸啊撸,要么去打台球,他打台球打的十分厉害,我就是个陪练,哈哈哈哈。

  巧合的是,他也没有工作,然后我俩一起去P2P公司去发传单,拉客户,那个时候,差不多是15年底,正是P2P走向末路的最后一段光景。工资是一个月2000块钱,噢对,还要交100块的什么捐款,到手1900。说是发传单,其实每天早晨去打个卡,开个晨会,跳个小苹果,我还是领舞呢~~哈哈哈。然后就直奔公司对面的网吧。那段日子,也真是算得上无忧无虑了。

  然后,有一次,我这个朋友说要去北京学习计算机,那时候我哪懂这些,学啥我都不知道,我就跟他说我也要去。其实我说这句话的时候我都没当回事,仅仅是凭着一点点兴趣表达了我也有意向而已。就好像人的一生中会有无数次类似的念起,但是真正能去执行的,可行的,到最后能有一二已是大幸。

  后来,到了那年的年底,因为一直拉不到客户开不了单,公司也不要我们了。我又没了收入来源,不过也没啥压力。过了年,就去人力市场找工作,找到了一个卖药的,哦不对,卖保健品给老年人的,听起来就好像有点“骗子”的味道。不过,这都不重要啦。

  就在我准备入职的前一天,破天荒的和我妈大吵了一架,也正是因为这一次吵架,让我确定了我要去北京学习的念头,本来第二天一早就应该去卖药公司上班的,结果第二天一早,我就打了电话说我不去了,然后我妈等我爸下夜班回来,和我爸商量我去北京这件事是否可行。

  嗯,结果是我来了北京,我爸走之前跟我说,这是你唯一一次机会,要是最后去北京没结果,那就回老家消停找份工作,老实待着。哈哈哈哈哈哈~~~

  更巧合地是,本来我那个朋友在我打电话的时候,按照原本的计划,他已经在去往北京的路上了。但是由于家里出了点变故,所以把机票推迟了一周,刚好,我巧之又巧的,赶上了这趟去往北京的飞机,也开启了我平行时空下的另一条生活轨迹。

四个月培训

  来到北京之后,在昌平的育新那块,找了个合租的地方住下,一共三个人,挤在一间小屋子里,本来计划上就没有我,所以我买了个床垫睡在地上。

  刚到学校的时候老师问我,你想学什么?啊?学啥?啥?我都不知道有什么可以学的。然后老师告诉我,可以学Android、IOS和Web,这三个你要学哪个?啊?啥?啥是Android,噢Android手机?我学啥?然后我就问老师这三个有什么区别?她说:“Android就是安卓手机系统开发软件,IOS就是苹果手机,Web呢就是两个都可以”。我一寻思,那我肯定选都可以的啊。

  然后我就跟着朋友一起去了他们的班级,但是由于我们来得晚,他们班级已经开了两周的课了,哎哟。。。那时候听课真的是,就是这种感觉:

   然后,又过了一周还是两周吧,我记得是16年的三月底的时候,有一个新班开课了,于是我就申请去新的班级了。

  时光荏苒,开始了我四个月的学习路程,说实话,那时候啥也没学会,就学会了一点基本的HTML、CSS,和jQuery,对没有JavaScript,虽然学了,但是啥也不会。偏偏啥也不会,却又感觉自己啥都会,现在回想起来,切实的感受到了那种自己无知者无畏的憨傻感。

  到了七月底,课程基本上都快结束了,然后老师让我们写简历,写假的项目,我从网上抄了几个项目,又随便到招聘网站上一投,真的就面过了一家公司。

  对于那时候的我来说,有人要,能赚钱,就真的很不错了,其它的连考虑都不知道要考虑什么。以现在的认知来看,这就是起点的差距吧。

  然后,我就在16年的8月1号,正式的走进了Web前端这个行业。哦对,我是我们班第一个找到工作的,现在想来,除了运气,我找不到任何合理的解释。

第一段工作

  第一段工作是一家西安的传媒公司,在北京创建了一个开发他们想要的网站的子公司。那时候写的第一个项目是一个移动端手机的网站,专业一点的词好像叫做WAP。这个项目呢,我只写页面就好了,数据是后端用php来搞。这个项目写完差不多用了六个月,六个月之后,我们又要开发一个后台管理系统。

  当时Vue大火,我记得那时候Vue最吸引我的就是中文文档和三大块写在一个文件里,上手容易,不像那时候的React和Angular,文档都是英文的,还不好写。于是呢,从网上找了一个VueAdmin的现成的项目,然后在上面改吖改,就成了一个业务项目。

  哦对,我当时印象十分深刻的是,写了一个类似选择图片到购物车的类似一个需求,就是点击按钮一个弹窗,然后选择弹窗中的图片到父级页面,嗯……这样一个东西我写了三天。印象十分深刻~~~想想我当时有多菜,哈哈哈哈哈。

  然后呢,这个公司有活干就按时给你发工资,没活干呢,就拖着你的工资。那时候也是初生牛犊不怕虎,感觉自己萌萌哒,就出去找工作了,然后也很快,就找到了第二家。当然,我得这种天真,也给我接下来的遭遇埋下了伏笔。

学习与Vue2

  进了新的公司,开发新的项目,理所应当的就用上了Vue2,做了好几个项目,这个时候在我现在的回忆里,算是比较浅淡的一段日子,每天上班,下班,学习,工作,写博客,没什么值得诉说和期待的。

  写到这里,我停下来,想要在我的记忆力搜索一些可以拿出来说说的场景,好像什么都没有,唯一不变的就是还是那种傻憨的样子,什么也不会,觉得自己天下第二,牛逼坏了。

  又过了一年,我裸辞了。好吧,牛逼坏了的人不惧裸辞,于是我开始开开心心的去找工作了。一天面试四家公司,大厂也有,小厂也去,来者不拒。第一周开开心心,第二周沮丧的心情就像坐火箭一样,一下子弥漫开来。

  好在,第二周找到了,于是开始了我难受的日子,那时候啥也不会,也没有什么职业规划,给钱就行。

  就这样一晃,我用Vue2开发已经七年了,期间也经历了很多,但是更多的是技术的提升和认知的改变。

我与Vue2的七年之痒

  我从工作到现在,用了Vue2差不多七年了,但是我觉得我还是什么都不会。是真的,不是谦虚。

  我刚开始工作的前两年,那时候我觉得自己好像很厉害,干活干的也不错,其实啥也不是,连最基本异步我都不知道。就这样一路工作,一路学习,刚开始认识到自己水平不行的时候,差不多已经工作三年有余了吧。虽然认识到了自己的不足,但是我完全不知道如何去弥补这种缺失,于是我只能盲目的学习。

  开始,我觉得是我基本的水平和能力不行,总觉得自己写的代码就是一坨大便,虽然到现在好像也没什么改变。

  但是基于想要赚更多钱的心里,我先后学了基本的CSS、CSS3、JavaScript的各种书籍,但是好像学了也记不住,记住了也不一定有使用的场景。于是我又去学浏览器原理,HTTP,计算机基本知识,我学完了之后感觉,似乎一如从前,毫无变化。

  再然后,我以为是我对框架用的不够熟练,对Vue2的原理毫不知情,于是我又去学Vue2的实现,看源码,写源码,但是我发现,虽然我知道了Vue2的响应式是咋回事,它的编译,模板渲染,模板解析,什么什么的,但是我写代码的时候还是那个叼样子,与我付出的学习的时间和带来的收益完全不成正比。

  然后,我深深的迷茫了,最后,我只能求助于设计模式和算法。

  但是算法这个东西,其实就是数学题,大多数场景,哪怕你要用到,百度一下,其实你就可以用的还不错。而设计模式,大多是依托于Java与面向对象来讲解,那时候我毫无选择,于是尝试是否可以在Vue2的框架下应用面向对象的设计思路去让代码更易读、减少代码的耦合和增加其可扩展性。好吧,其实就是很多编程思想所描述的那些。嗯……结果就是,还是写成了一坨大便。

  机缘巧合的,在一次和面试官的沟通中,了解到现代的Vue3、React16什么的,包括整个前端的未来可能性,都在向函数式靠近。于是,又去花了不少的时间学了函数式。

  确实,函数式解决了很多我工作中的问题和解决问题的思路,但是,还是改变不了我写成大便一样的代码的结果。

  再往后,我发现很多思路、模式、设计、实现,都需要时间去打磨,你不可能一次性写出一个完美的结果。就算是世界顶尖的计算机科学家,哦好吧,他们或许可能做到,但是我这个半路出身毛都不懂得伪技术人员,是根本无法做到的。

  先知自己无知,再去考虑要去如何做。

  所以,我就需要一个项目,可以一点一点的打磨我的思路,和应用那些有意义的模式,渐进的去提升自己的能力。我希望可以有一个试炼场一样的项目。这也是我在接下来的生活中要去做的事情

《手写Vue.js2.0源码》

  接下来是广告时间~~~还记得我前面写到,学了一段时间的Vue2源码。在我学习的过程中,恰巧北航出版社的杨编辑在博客园上找到我,希望我可以出一本技术类的书籍,于是我稍微犹豫了一下就接下了这份工作。

  算是我给用了这么久的Vue2的一个答卷。这本书写的还行,因为代码不是我的,哈哈哈哈,是我在珠峰架构学习Vue2源码的时候的代码。当然,我经过授权了噢。这一点源码我写了差不多有四五遍,把其中我自己再加上老师整合起来的感悟,思路,理解,都写在了里面。但是确实本人能力有限,书中存在谬误也在所难免。欢迎大家来找茬噢~~~

  欸?Vue3都这么久了你还写Vue2?搞siao~~~~~~~

  确实,Vue3已经很成熟了,但是说实话,其中很多的思路和模式都是类似的,无非实现有些区别,如果你现在公司的项目还在用Vue2,那么其实我是十分推荐你买来读一读的,因为我在写这本书之前也看了下市场上关于Vue2相关的一些书,我个人不成熟的感觉是,没啥有用的。

  所以,这本书的诞生源自于我的学习,源自于一点机遇,还有我希望你们可以少走一些弯路。

  最后,七年之痒,这是我给我过去的工作的、生活的、经历的一份答卷。

  哦对,大家去京东啥的网站搜这个书名就能搜到了,封面挺好看的,一眼就能看出来区别。哈哈哈哈哈~

  最后,谢谢大家,也谢谢那些给我点了关注的粉丝,那种被认可的感觉,很好。

标签:七年之痒,Vue,然后,js,工作,源码,Vue2,时候,但是
From: https://www.cnblogs.com/zaking/p/17517236.html

相关文章

  • Django和Vue.js是两种不同的框架,它们各自有自己的特点和用途¹。 **Django**¹: - Dja
    Django和Vue.js是两种不同的框架,它们各自有自己的特点和用途¹。**Django**¹:-Django是一个开放源代码的PythonWeb应用框架¹。-它采用了MTV(模型,视图,模板)的软件设计模式¹。-Django可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序¹。-Django还包含许多功能......
  • js rsa
    $0=undefined;varpy="0123456789abcdefghijklmnopqrstuvwxyz";functionv0(t){returnpy.charAt(t)}functionhy(t,e){returnt&e}functionvs(t,e){returnt|e}functionxc(t,e){returnt^e}functionwc(t,......
  • 不使用构建工具的vue组件书写方式
    将vue组件转换为普通的js文件(IIFE)先写个简单的,使用ESM方式组织的componentexportdefault{data(){return{count:0}},template:`<button@click="count++">Youclickedme{{count}}times.</button>`}我们把这个组件保存为mycomponent.js这个组件......
  • vue3+ts 禁止文本框自动填充内容
    如果`<input>`元素的`autocomplete`属性设置为`"off"`但并没有起作用,这可能是因为不同浏览器对此属性的实现方式存在一些差异。为了更可靠地禁用自动填充功能,你可以尝试以下解决方案之一:1.添加`autocomplete="new-password"`属性值:一些浏览器会将`"off"`视为默认值,但......
  • 移动端H5使用pdf.js预览
    1.下载pdf.js文件GettingStarted(mozilla.github.io) 2.将下载的文件放进uniapp项目中 3.创建预览页面 代码:<template>   <view>      <web-view:src="allUrl"></web-view>   </view></template><script>   importrequestfro......
  • Vue项目中大文件切片上传实现秒传、断点续传的详细实现教程
    一、考察点在Vue项目中,大图片和多数据Excel等大文件的上传是一个非常常见的需求。然而,由于文件大小较大,上传速度很慢,传输中断等问题也难以避免。因此,为了提高上传效率和成功率,我们需要使用切片上传的方式,实现文件秒传、断点续传、错误重试、控制并发等功能,并绘制进度条。在本文中,我......
  • graalvm 23.1.0 独立nodejs docker 镜像&简单试用
    graaljsdocker镜像很简单就是下载官方包,集成下,然后进行一些简单的配置DockerfileFROMdebian:bullseye-backportsLABELauthor="rongfengliang"LABELemail="[email protected]"WORKDIR/opt/RUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime\&&am......
  • FastAPI学习-14. JSONResponse 返回JSON内容
    当你创建一个 FastAPI 路径操作 时,你可以正常返回以下任意一种数据:dict,list,Pydantic模型,数据库模型等等。FastAPI 默认会使用 jsonable_encoder 将这些类型的返回值转换成JSON格式,默认情况下会以content-type:application/json格式返回在有些情况下,我们需要在路径操作......
  • FastAPI学习-15.JSON 编码器 jsonable_encoder
    前言在某些情况下,您可能需要将数据类型(如Pydantic模型)转换为与JSON兼容的数据类型(如dict、list等)。比如,如果您需要将其存储在数据库中。对于这种要求, FastAPI提供了jsonable_encoder()函数。使用jsonable_encoderjsonable_encoder在实际应用场景中,可能需要将数据类型(如:Pydanti......
  • Fabric.js 自定义控件
    本文简介带尬猴,我是德育处主任虽然Fabric.js提供的基础功能已经很丰富了,但有时难免需要定制一些需求。比如本文要讲的『自定义控件』。掌握创建自定义控件这个功能,能够创建更加精美和实用的图形应用程序,提高用户体验和用户满意度。尽管Fabric.js的文档很一般,但demo还挺......