”音乐“ Or "前端",踏上前端道路后一年半的经历与总结分享

1,862 阅读13分钟

弹吉他的CoderQ(1).png

「时光不负,创作不停,本文正在参加2021年终总结征文大赛

自我介绍

掘友们好呀,我是 弹吉他的CoderQ 是一个热爱技术,热爱音乐的前端程序员。在掘金里的一些朋友里他们都称呼我为"吉他哥",大家也可以这样的称呼我😁。我喜欢弹吉他,喜欢篮球,喜欢钻研感兴趣的任何技术。 当前的技术栈主要是ReactVue小程序NodeVite,当然还有咱们前端程序员最为熟悉的三要素:JavascriptHtmlCss

一、选择 “音乐” 还是 “前端”

大学经历

这里的缘由就要从大学的经历,开始娓娓道来了。我大学所读的专业是“计算机应用技术”。在大学的时间里,理应要在计算机领域里进行深造,但却因为兴趣使然,大一进入校园的时候,就被学校内吉他协会的氛围给迷住了。因为在忙碌的高中时期,我用挤海绵的时间来自学了吉他与尤克里里,从此也迷恋上了音乐带来的乐趣。所以我毫不犹豫的加入了吉他协会,在大学的时光里,我花费了大量的时间在吉他协会内,并且当上了协会的培训部部长,也因而吉他技术的越发精湛进入到了学校内部的蓝天乐队。

WechatIMG745.jpeg

未来迷茫

但是因为严重的"偏科",在2019年的7月份放假回家后的第一天那天晚上,我陷入了对未来的迷茫,当时我知道通过现今掌握的计算机技术去寻找一份可观的实习是不太可能的。当时我就萌生了一个想法:“当一名吉他培训老师”,当时的我还是很憧憬两种音乐职业,录音室乐手,以及演唱会乐手。我觉得可能这才比较符合我的兴趣和前景,也不会浪费我一直坚持的一门技能。但这个想法在第二天就被我扼杀掉了,理由很简单,非专业音乐科班出身的我这条路是无论如何努力都是走不远的,并且能成功的人也是屈指可数,所以此时我作出了一个可能会影响我一生的决定,继续走自己专业的领域。

踏上前端

为此我开始大量的查阅了许多相关资料,去调查程序员未来的方向,程序员的职业类型等等,我选择了当前许多人都推荐的方向Front end = 前端。当时我第一时间想到的就是去寻找相关的学习资料,我第一时间打开了我比较熟悉的优酷视频(因为当初自学吉他等相关音乐知识就是在优酷的一些高质量教学视频领悟到的)搜索与前端相关的讲解视频,但是很遗憾当时没有任何一个前端技术的视频是比较有学习价值的,所以我把目标投入到了另一个比较火热的视频网站哔哩哔哩。在这我敲开了学习前端的大门,没想到这里面有丰富的学习资料和视频。在短短两个月时间内我在B站学习了渡一教育的Javascript入门和Html+Css入门,这两门是我觉得比较良心和教学细致的免费视频课程 --课程地址。 当然还有我个人认为是当年许多前端小白,入门前端行业的口碑教学视频 -- 来自CoderWhy(王红元)老师的Vuejs从入门到精通 --课程地址

实习历练

锻炼2个月后的我,在广州白云的一家创业公司,找到了我的第一份实习的工作。当然因为从没做过任何企业的项目,对项目的一切流程都十分陌生,但好在,同事和领导的热心让我迅速的融入了公司的项目当中。进入公司的一两个星期的时间里通过测试,我了解了公司当前大致项目的功能和内容。也尚且记得第一次贡献代码是在公司对外接的一个官网的项目,而当时运用的技术还是我从未学习和使用过的技术栈:Nuxt:一个基于Vue.js的服务端渲染解决方案框架,为此我熬夜通宵了几个晚上去慢慢开始了解了这门技术。说来也是辛酸,当时对技术文档是一窍不通,完全依赖了一些相关的教学视频去掌握它,但有惊无险最后也是算磕磕碰碰的交付了这个项目。打此之后也开始慢慢逐渐上手了如何去开发一个完整的前端项目,也接触了mpvue: 一个使用vue2语法的小程序框架(当前已停止维护)uniapp: 一个使用vue语法的多端框架等前端相关框架。也接触了一些业务类型,如:Saas系统OA系统toB,toCtoG 等业务.为我当时还窄小的前端视野开拓了许多眼界。直到2020年的8月份离职这家公司时,也才算是一名刚刚入门的前端程序员。所以我挺感激这家公司给到我的历练,和经验,让我是拥有百分之百的信心找到下一份工作的前提下而裸辞的。

开启真正的前端之路

真正意义的融入前端

第一家正式入职的公司

2020年9月份我来到了现在就职的这家公司。哈哈这里稍微的证实了我的自信(在此之前已经拿了4家的offer了)。当前的这家公司的业务并不是十分紧张,而且面向的群体也从甲方客户变成了公司内部实验室,而我们开发部门负责的则是一些工具的研发和一些方便实验展开的实验便捷的系统研发。因为项目有着充裕的时间,所以在以往忙碌的开发下往往不注意的细节,在当前的项目中都开始变的注重了起来,例如,性能的优化,页面交互的流畅性,代码的规范性,提交的规范性,代码的组织等等。每个项目所存在肉眼可见的代码都利用闲暇的时间去了解内部的原理和应用的场景。所以在深刻的了解之后也对前端这个方向越来有兴趣,越来越保持热爱。

并且在入职至今我做过了许多可能某些和我同等级前端都很难接触到的事情,比如:与黑客的斗志斗勇,因为在3月份的时候我们一个十分古老的书网项目服务器被黑了,并且被在代码里编写了强制跳转的恶意代码,导致我们期初一直认为域名被劫持,但是也因为这个旧项目的包袱太过沉重,代码都是以前的模板化代码,项目大小足足10个g,所以对于某些代码的排查十分的困难,当时也是因为我使用抓包跳转,定位到了恶意的跳转。使用Python的Request库爬取采集我们网站存留在百度的一些死链生成一份表格来上报给百度去做清除。在公司物理服务器的乌班图系统中,清除恶意的挖矿病毒。使用Spring Boot跑起WPS提供的在线协同文档功能。当然这理应看起来并不像是一个身为前端的我应该要做的事情,但是我们当前公司的技术人员职位比较模糊,所以一般都是上头找了谁, 谁就要去负责这件事。

而且我也遇到了许多勤奋的同事,他们都是有着一个颗热爱技术的热心,为此我们一起把公司以往项目研发的流程做了改善,为缺乏规范的前端,后端定制规范,为项目添加流程化限制。把公司的代码仓库进行分割 。并且我们前端都一致推崇使用Typescript来覆盖往后的项目,为了前端的效率,我们还利用leran + Koa 研发了适合我们公司场景的mock服务。为了自动化部署,自行搭建了spug(一个轻量级别的运维工具)来完成项目的CI/CD。我们也一直保持技术的前沿,一直鼓励推动新技术的落地

学会定制计划

WechatIMG743.jpeg

2021年1月1日的晚上我深思熟虑之后,开始有目的性的定制学习计划,来提高自身技术,我研究再三后列举了今年比较有必要完成的技术计划和目标:

  • 掌握React技术栈
  • 掌握Typescript
  • 开始刷leetCode
  • 掌握常用设计模式
  • 掌握vue3
  • 掌握java开发
  • 在哔哩哔哩上传一首指弹曲目 所以对于今年的完成度还是挺满意的😃,这里我也要分享一个任务清单管理软件滴答清单。在我后期定制任务的时候我尝试了许多任务管理工具来计划我的学习任务,这个软件的好处就是功能丰富,但是上手特别的快对于使用者没有太强的学习成本,并且在多端也均能使用。

当笔记使用:

image.png

每日计划:

image.png

image.png


在学习的过程中也尝试过许多不同的学习模式方法,才找到现在比较高效适合自己的任务。

  1. 通过寻找对应的技术视频进行学习,刚开始总是一边听,一边跟着写,学习进度比较磕磕碰碰,而且这个方法遗忘率对我来说比较高,因此后面我再次改善了一下节奏,从边听边写,到先看完一个功能点在模仿着写。这个节奏确实让印象更为深刻了,但是依旧比较碎片,也没有很好的形成稳固的记忆点,因此再次改良,独立看完一个大节后,并且理解后,再独立实现出来,如果依旧实现不了,就再次刷一遍这个大节直到能得心应手才算完成。

image.png 2. 先刷一遍技术文档,或者相关技术文章,并且独立实现对应的Example,这一点很重要,因为只有看到对应的效果或者带来的现象才能形成一种记忆点。这种就类似于一些背单词软件的对应单词图片场景来增强记忆点的道理是一样的。

image.png

3。 直接研究相应技术的源码,通过源码的意思来理解当前技术的解决的问题场景和特性。这里也能分享一个我常用的技巧来观看源码,在github寻找到对应的开源,在域名地址github后面添加多一个1s之后,回车可以进入到一个只读模式的vscode并且打开了当前的开源项目,通过vscode的查询我们很方便的能查询到一些关键词去阅读当前的上下文。当然如果要深究某个技术,还是建议把源码下载下来慢慢调试的去看。

image.png

image.png

image.png

  1. 阅读技术书籍,因为优秀的技术书籍里一般都会有记录到技当前术一些比较细节的部分,技术书籍其实我比较偏向于电子PDF书籍,因为实物技术书籍一般内容太多,书都比较重,所以就不太方便。比较推荐使用ipad,或者电子阅读器来保存去使用。

WechatIMG748.jpeg

认识稀土掘金,认识优秀的程序员们

这个说来真的比较惭愧,我是在2019年11月19日注册稀土掘金的账号,当时是一次偶然的机会在百度寻找某个小程序Bug的解决方案而进入到稀土掘金。但是直到写这篇文章也才是我的第一篇文章而已。稀土掘金的运营模式确实解决了一些技术博客的一些弊端,这里就不过多叙述了。在此期间我也在掘金看过的文章也达到了4000多篇吧,并且质量都十分不错。并且在掘金我认识了真的许许多多优秀的程序员,他们的文章和技术观点都让我收益匪浅。比如同在广州的快跑啊小卢_Sunshine_Lin,也有我十分欣赏的ssh_晨曦时梦见兮Fly荣顶zxg_神说要有光大帅老猿阿宝哥我不是外星人当然掘金社区的大牛和团队都是十分优秀的。并且也在一些技术大牛的技术分享群里也有学习到他们的各种经验,他们写文章的心得,他们的职业生活等等。

对技术的态度

我个人对技术其实是从来没有任何的歧义之分。在实习期间,我的技术总监就告诉过我一句话:"语言其实也是一种工具而已,只是看需求的使用场景"。我个人的技术理念也很简单,我不会认为我的技术只局限于前端的相关技术,多学各端的技术其实往往也能为了遇到某些需求能合理借鉴。例如:Rust为前端工具的性能赋能, Golang也为Esbuild底层提升优势。所以每当一些地方看到类似“React如何好,Vue如何不好”等这种技术争论,我一般都不会去理会,因为我相信技术的诞生都是有他需要解决问题的地方,选择技术当然是要以理解技术的弊端和优点后才能做出抉择。对于快速发展的技术,其实我是很喜闻乐见的,因为这也意味着对应解决的问题会有好的体验和提升。在此我也要感谢现在公司的技术小伙伴们,他们的一些观点和严谨改变了以前对技术看法的我,也改变了我对代码的强壮性的看重

对未来一年的规划

技术目标

  • 保持github,gitee有一年百分之80的提交率,也意味着我会持续的完成我想要写的一些自制项目。
  • 掌握一定的英语口语能力
  • 算法题刷满200道
  • 继续保持对新技术敏感
  • 掌握React18
  • 掌握svelte
  • 开发属于自己的博客与自身风格的UI库
  • 每个月至少一篇质量技术文章发表到掘金

生活

  • 注重自身健康
  • 注重体重
  • 保持间隙的音乐学习,持续增强自身的吉他技术能力
  • 间隙的保持UI的学习

结尾

正如我掘金的个人介绍所说的:把自己负责的项目当成艺术品,去打磨它,它发光的那天就是自己的“艺术”“被肯定的那天。我希望我做的东西有天会被越来也多的人认可,就是身为程序员的我体现自身价值最好的证明🌈🎸😁。