个人简介
- 有志成为一名全栈开发工程师甚至架构师,路漫漫,吾求索。
- 喜欢记录开发过程中遇到的一些痛点问题,并输出文章,增强理解。
- 对于框架,不满足于使用层面,在努力的向底层原理进阶。
- 系统性的进行学习, 目前在啃设计模式。
- 工作空余之时,学习别人优雅代码的设计思想、理解项目设计的架构等。
-
生活中通过健身释放压力,思考问题。目前keep已达21114分钟,共获勋章74枚,等级达到KG10。
月老牵线
我与前端的缘分始于研一。
那个炎热的夏天,我在电脑上跟“java”聊着天, “java大哥”孜孜不倦的跟我谈论着, 而我觉得这位“大哥”由浅入深的讲解着他所擅长的领域,我也跟着他一招一式的临摹着。当java大哥对我说, 你先把我讲的自己试着实现一下。
于是我关掉视频,好像已经练成九阳神功的一级,迫不及待要大展身手。飞快敲下 public static void main(String args[]) {},可还没来得及换行,指尖的力量便忽然消退,脑海一片空白。
我发现"java大哥"对于我来讲太过于神秘, 我只能了解到他帅气的外表,却无法感受到他有趣的灵魂。
后来,一位高人指点我说:既然想谈一场有趣的“恋爱”,我介绍“前端君”给你认识认识 。
于是我便加了“前端君”的微信。
初次见面,请多关照
我:你好,前端君,很高兴认识你。
Q: 你好,我是前端君。
我偷偷的翻看着前端君的朋友圈, 了解到一开始他喜欢玩“HTML、CSS、JavaScript”这个网游。他是一个喜欢设计(html),喜欢绘画(css)、喜欢运动(js)的阳光大男孩。
为了一点点的靠近他, 我也偷偷去学习怎么去玩这个网游, 这些角色都能干什么, 怎么样能玩的很棒。尽量去干跟他的兴趣爱好相契合的事情。
于是我打开电脑,打开“HTML、CSS、JavaScript”这个网游,用他们自己动手创建出一些漂亮的静态页面, 随手保存之后就呈现在我面前, 原来前端君玩的东西这么有趣呢。于是为了能跟前端君一起玩,每天课余之后, 我都迫不及待的想要去玩这个网游,就为了能跟他有共同交流的部分。
后来,我跟前端君在微信上说:
我:你经常玩的那个游戏, 我也会一点, 我们可以一起玩吗?
Q: 这个游戏你也会?很少有女生会玩这个呢。
我:最近刚学会玩,大神带我飞呀!
Q: 好的,你游戏账号是什么, 我加你。
我:xxx...
一直聊了很多, 我的内心小鹿乱撞, 像冬天的温泉水, 不停地冒泡却让人很温暖,这让我感觉我们的关系走近了一步。
从认识到喜欢
一直到毕业之前, 我也没有放弃要追求前端君的念头,在上课、写论文的期间,也一直在想念着他。中间也找了实习的工作,做的工作也是跟我们共同爱好相关的工作。
我了解到前端君, 在一家大型企业做着他喜欢的工作, 就是跟“HTML、CSS、JavaScript”网游相关的工作, 只不过是更高级别的玩法。
为了能跟上前端君的脚步,甚至想去到他的公司去跟他一起工作。这时我发现我有点喜欢前端君了。
还记得我写的第一个静态页面是PC端的一个官网, 那个时候什么也不懂, 就按照设计师的视觉稿去还原静态页面, 那个时候心理很忐忑, 因为之前没有这么紧张的写过, 工作毕竟不是学习, 还是要交差的。那个时候, 不懂我就去问同事, 记忆中还是很简单的问题,包括布局, 样式的实现有些都实现不出来。好在同事们都是热心善良的小可爱呀!没有嫌弃我这菜鸟中的菜鸟, 菜鸟群里垫底的那种!!!
有时候一个需求自己一个琢磨很长时间, 还是做不出来。心里着急的快哭了。没办法, 我又厚着脸皮去问同事了, 这个功能我该怎么实现呀, 同事真的耐心超级好, 超级暖的!!耐心的一行代码一行代码的教我写!!感动的想请同事吃饭, 单独请又不大好意思, 都请的话我口袋里又没钱呀!!!
再到后来我自己也能玩一些简单的游戏角色了,但还是要同事带着我玩!!太菜了!!下班之后自己也是在攻克游戏中的难关, 一不小心就玩到晚上十二点多甚至一点多。毕竟为了我喜欢的前端君, 辛苦一点也是值得的。
我:最近我又闯过了一关, 大神都快王者了呀!
Q: 哈哈, 还好还好, 玩的比较多。
....
就在我们聊得火热的时候, 我在想要不要向前端君表白。纠结很久之后....
我:我喜欢你,我们约会吧
Q: 好。
甜蜜的约会
于是, 我开始跟前端君约会了。
刚接触的时候, 大家都比较羞涩,前端君带我接触到vue框架相关的知识。做一些活动页面, 主要写了一些CSS3动画加上一些简单的交互。相对于我刚认识前端君的时候,我发现我了解他更多了,但前端君还是能给我很多惊喜。除了自己默默去了解前端君的喜好, 还会厚着脸皮去问同事关于前端君的一些经历。吃饭的时候也会跟同事交流, 平时都是怎么跟前端君交流的。就这样, 听来听去的, 了解到前端君的很多喜好,什么webpack、vue-cli、模块化等, 就这样, 我们的约会浪漫的开始了。(▽)
小程序餐厅约会
前端君听说新开了一家叫“小程序”的餐厅, 很多人都尝试过,评价不错, 便带着我来到了神秘的小程序餐厅。
来到这个餐厅,服务员给我们一份菜单, 里面有不同种类的菜品, 每个种类菜品的味道都是独一无二的。但是在吃到这些菜品之前, 我们需要先点单(注册开发者账号、安装开发者工具等一系列的准备工作)。
点好菜之后,我们就等着服务员上菜了。
这个餐厅果然很新颖,他们用wxml, wxss以及响应式交互的这些原材料竟然可以做出类似原生APP的菜品, 而且味道比传统爆炒H5的味道要爽口的多,并且上菜时间短, 基于组件化的厨艺让顾客等待的时间短, 体验较好。
这次约会,让我见到了前端君的另外一面, 品味不错。于是我也想按照那个餐厅的菜谱, 自己学着做一份成品菜给前端君尝尝,让前端君更加认可我。
我边学习边熟悉小程序相关开发的流程,一个月左右的时间, 我们上线了第一版本的小程序。我赶紧让前端君过来品尝,他觉得很棒。我后来也拿到了项目奖金, 心里非常开心!除了得到前端君的肯定,而且还拿到项目奖金的大红包, 未见过钱的我觉得红包好厚, 这辈子都没收到过这么厚的红包, 那么多钱,哈哈哈,简直开心到飞起呢!后边我们也开了一个小程序小餐厅,餐厅的日常维护就由我跟另外一个同事一起负责维护迭代的,也算是完完整整的感受到一个小程序项目餐厅的搭建、开发、上线流程。
小程序小餐厅启动后
这是我第一个从头到尾参与负责过的项目。所以印象很是深刻。而且这个项目是我自己主动要求参加的, 本来什么也不懂, 除了工作时间, 工作之外也在努力弥补缺陷,不停的翻看小程序菜谱(文档), 博客,也算是完美的把这个小程序餐厅开起来了。
到后面, 小程序菜谱基本没什么变动, 很是悠闲,过着朝九晚六的生活, 冬天还五点半下班呢。下班之后,一般先去健身一个多小时, 后边再回到公司学习一两个小时再回家。那个时候,刚进入职场不久, 又明知自己还有很多需要学习的地方,所以才会那么有动力的吧。
有时候, 人闲着不知道干什么的时候, 健身真的是一种特别好的选择。因为身体在运动的同时, 你还可以思考一些问题。不仅锻炼了身体, 还让你有时间去深度思考平时没有时间去思考的问题。
比如我自己在健身的时候有时候脑子里会想一下最近工作上的问题,有时候难题纠结久了确实还是做不出来, 出去健身一圈,脑海里一直想着这个问题的解决办法, 想象解决的办法, 貌似某种办法可行的时候,健身结束回去以后, 立马在电脑前动手试一试, 有时候还真的能解决, 当然有时候也是行不通。
相比于刚接触前端君的时候, 自己确实又了解到前端君的另外一面。工作上大部分需求自己还是可以独立开发出来的,接下来接的需求也没有觉得特别难以处理的地方, 每天上班开发简单需求, 下班看点学习视频也好, 看点娱乐视频也好, 这样好像确实挺适合女生的,没什么压力, 公司也是旅游公司, 周末还可以跟着公司的团出去转一转, 还能有补贴。但是这样进步很缓慢, 而且感觉很容易变废。人一旦过的太安逸,就容易懒惰, 懒惰就容易逃避问题, 逃避问题就是开始荒废的征兆,怕是这个道理吧?我边健身边在脑中思考着。
除了健身,空下来的时间, 会看一些前端相关的学习视频。那个时候学习,主要是增长知识的广度, 了解一些之前自己听到过的一些专业术语到底是什么, 最有效的学习地址就是B站了。这个网站在我研究生毕业之后才知道的,也是在知乎上看到别人推荐才知晓的, 后边发现, 上面有很多的基础入门视频,非常适合我这种涉(一)世(无)未(所)深(知)的菜鸟。
每天我跟前端君会一起玩一两个小时, 让我了解到前端君更多方面,比如vue全家桶的基本使用、react基本使用、webpack工具、nodejs等。后边自己也跟着他动手写了一些小demo, 运行起来玩玩。
差不多快一年的时候, 公司实在太悠闲了,想到以后没有什么需求可做, 进步的话可能会非常缓慢, 而且平时做的需求都是相似, 类似的, 基本粘贴复制差不多就可以完成。前端君也发现了我的状态,便跟我说, 我带你去另外一个地方。
说走就走, 跟着喜欢的人走到哪里都是惊喜!
所以我现在来到现在的公司:微医。
面试经历还历历在目, 来微医也快一年了。
前三个月, 前端君带我玩过社群小程序、weex开发会员项目、weex-ui建设等具有当地特色的项目。当然这其中也不是一帆风顺的。我有个习惯, 遇到的问题会在我的博客或者备忘录里记录下来, 加深印象或者下次遇到的时候有记录的地方可以查找, 避免重复采坑或者遗忘。
这样, 几个项目下来, 七七八八记录了很多问题, 也整理成一系列的采坑记录, 并且在我们前端分享会上进行了一次分享。
weex项目
公司为了提升APP端H5页面打开缓慢的问题, 决定采用weex开发一些流量比较大的h5页。
刚开始接触weex, 也是什么都不知道, 看一看文档页面也能做出来,但这中间的坑踩的实在有点多。光调试环境的问题, 我就琢磨了一两天。有点挑战, 但又不能丢掉不干。有问题就耐着性子去查问题,去请教同事, 最后都能完美解决。所以说, 身边的同事都是小可爱呀!
“你看,体验一番weex还是不错的吧”,前端君对我说道。
其他项目
再后来转正以后, 接触到其他的项目:
- 运营活动的项目;
- 基于Taro框架的小程序项目支持;
- 再就是最近疫情引起的抗疫专项项目(一直做到现在);
- 再到现在负责内部组件库, 集成了单元测试并实施,目前已经接近尾声;
- 基于目前抗疫门户首页的痛点, 开发新版本配置化后台的项目。
开发的项目很多, 之前未接触的东西, 通过自己的学习, 慢慢把项目开发出来, 这是目前我的状态。
其实, 这些都不算真正的去负责一个项目, 只是参与其中, 成长的点在于积累开发经验 ,只是积累的点非常的零散, 后续还需要进行深入的系统性的学习。
“这些知识让你先接触接触, 更好玩的还在后头呢。”, 前端君又对我说道。
平淡相处
跟前端君相处了一段时间之后, 回忆起我们走过的点点滴滴, 都是幸福的碎片。我想把这些记忆串连起来,这样以后我们可以按照时间块去回忆属于我们的青春岁月!
目前, 我们小组也正在执行这样的系统性学习的分享会, 每周周会会分享一个专题的一部分知识, 目前我们在做的是设计模式, 基本也都快结束了。这种分享就很有意义了, 在让我们接触到更多知识的同时, 如何更加体系化的去学习是非常重要的。
当然了, 光靠别人分享的那二十几分钟是远远不够的, 会下我每天抽空回找一些设计模式的博客看一看,在回忆别人讲的那些点的同时, 加深对设计模式的熟悉以及理解, 平时开发时也有意识的想一想我能不能用的上某些模式去改进我的代码, 增加代码的可维护性、拓展性。
系统性学习的过程可能会非常的漫长, 关键在于积累。
如何积累,个人觉得就很关键了。
相信很多开发者会在吃饭或者坐公交地铁等这些闲散的时间里, 会去看一些公众号或者博客。我之前也是这么干。
直到后来, 我发现, 我看过的那些文章随着时间推移, 已经忘的一干二净了。就像js里的垃圾自动回收机制一样, 过一段时间定时清理了内存。
所以系统性的学习就显得非常重要了,虽然一开始看某一个专题的公众号或者博客, 也是遗忘的很快, 但是在一段时间内, 一直在研究某一个系列的只是, 是不是比零散、杂乱无章、漫无目的的去看文章的效果, 要好的多呢?
下面是从网上保存的一张知识体系图
这些碎片整理起来还需要一定的时间,但我相信, 时间是打磨的利器, 一定会产出属于我和前端君最美好的经典岁月记忆!
思考
到这里, 相信你一定看完了我上面的小故事,谢谢小可爱的支持!
回想我的前端之路, 是不是跟你也有些相似呢?我想大部分人都是从一无所知慢慢到某个领域的专家, 都是慢慢积累, 不断学习, 不断进步的结果。只是, 在这条路上, 我们每个人都有自己学习进步的方法, 每个人都在寻找让自己快乐进步成长的方式。通用的方法不一定适合每一个人, 但是通用的方法是前辈们总结下来的经验, 有一定的指导作用。
对于我来说,我从样式都写不美丽到现在接触了很多的技术, 可以用这些不同的技术去开发不同的需求, 大部分时间可以自己独立完成一个又一个的需求,也算是在不断的进度当中。现在,还会去做一些架构优化的事情。除了工作经验的积累带来的提升之外,与自己工作之外的学习也是分不开的。
保持工作的热情很重要, 因为这决定你在碰到问题的时候处理问题的态度是怎样的。那如何保持工作的热情呢?
个人觉得首先保证个人的工位的风格, 你完全可以装饰成你自己喜欢的模式。换自己喜欢的电脑, 换自己喜欢的键盘、鼠标。桌上放你喜欢的花等等。下面是我的工位
坐在这样清爽、可爱的工位上工作, 难道不是享受工作嘛~
同时, 保证健康的身体,我们才有更强的抗压性,才能做更多有意义的事情。很多人说,程序员天天加班没个点, 哪有时间健身。我一直不认同以工作忙为理由的拒绝健身,那都是在为不想运动的懒惰找借口。 我最晚的运动时间是晚上十一点到十二点多, 人类最强大的武器就是豁出去的决心。只要决定干, 没有办不成的事。
鸡汤喝的差不多了, 这就是我与前端君的相处模式。听说点个赞会消耗10大卡热量哟
希望云端那头的你, 生活愉快, 工作顺利!