一个前端菜鸟的生长记

一个前端菜鸟的生长记

如今才总结好像有点晚,但聊胜于无,纪录一下我的2016,毕业的第一年,关于人生意义严峻的一年。

我的求职之路

打从进入了大四以后,便深深的熟习到了就业的压力,并一向在做着迈向社会的准备。从2015年9月最先,便最先投简历(手艺类的雇用平常都比较早),天天8点出8点归,总算没有孤负辛苦了两个月的本身,斩下一些不好不坏的offer。

11月开初,手艺类的雇用已基础完毕了。不甘于闲赋在学校的我又最先了本身的练习之路。
说起来也是忸捏,在这练习时期,我竟辗转了三家公司举行练习。

4399练习

在4399练习时期,磨炼了我异常多的东西。谢谢勇哥、新哥,赋予我时机去做更多的尝试。

在4399中,我有幸进入到UED部门,在设想组中担负前端工程师。

在这时期,我头一回面向多项目编程,在这时期积聚了异常多的实战履历,也最先有了本身誊写HTML、CSS、JS的范例。同时,在此时期本身蚍蜉撼树地尝试起了前端代码构建东西——gulp,以本身的明白写了一篇粗俗的gulp引见——Gulp Introduction

研讨完gulp以后,本身探索着将gulp运用到现实的开辟事变当中,在勇哥的指导下,最先跳出项目外去思索,尝试运用东西解放双手,向模块化迈进,写出文章——在项目中运用gulp

在4399的这段珍贵的练习阅历中,让我对大前端、“手艺选型”、“构建东西”、“脚手架”有了一个更加深入的熟习,让夙昔仅会随意写一下简朴页面的菜鸟跳出一切都已准备好的温馨区,从无到有的进修、创作、提高。

UC练习

过完春节,在滨豪的引荐、熏风姐的帮助下,有幸进入到UC举行练习,再次最先一个全新的路程。

在UC中,我就任于外洋营业组,基于NodeJS举行爬虫的开辟。

在此之前,虽对NodeJS已有一个开端的熟习,也曾从书本上进修过。但我始终认为,在前端、以致手艺的进修中,假如没有项目驱动(无论是事变营业照样本身制造的需求),都是很难真正的学会的。

从一入职,我所做的第一件事就是进修项目组里面的编码范例,包含定名范例、代码缩进、编写作风、解释范例等,我才深深的感受到一个优良的范例关于一个团队的优越运转,是何等重要的事变。

在以后的爬虫开辟当中,我更加的感受到编码范例、代码可读性、code review等关于团队的重要性。之前一向认为这些东西都是很虚的,但当团队日趋庞大,营业日趋沉重时,假如不能保证代码的可读性,是会严峻的拖慢团队进度的。同时,严厉的code review,可以提防于已然,躲避许多往后意想不到的题目发作。从来没想过,本身写的代码本来挺烂的…

在爬虫开辟中,愈来愈觉得NodeJS关于“前端”的反动是那末的庞大。它让“前端”不再局限于所谓的“切图”当中,仅仅几十行代码,一个爬虫就可以写出来了,而且运转优越,足以支持庞大的营业。同时,NodeJS的涌现,也让前后端没有了编程言语上的沟通停滞,可以更好的合作。

而我,也在此次练习中打仗进修并熟习了许多必备的妙技:正则表达式、Promise、命令行操纵等。

现店主

在一系列的机缘巧合之下,我来到了现店主,从入职到如今事变了8个月的时刻,在其中饱尝悲欢离合,手艺得到了奔腾的提高。

谢谢老大,没有他当时的点头就没有如今的我,无尽感谢感动~(虽然到如今我也不知道为何当时他会看中我…)

怎样入职暂且不表,但这段阅历关于我来讲,是一个相对严峻的人生转折点,它让我开启了一个全新的职业生涯,也让我对创业有了更深、更全的认知。

对的,我就是进入到了一家远景异常可期的创业公司!

在这里,我是最早期的团队中的一员,在老大的指引下,一步步从无到有的在前端这条路上越走越远。

我们团队是“JavaScript 全栈开辟团队”,在此打个小广告,迎接同舟共济的你。入职以来,我的title是“客户端开辟工程师”,重要开辟我们的APP。对的,你猜到了,用的就是REACT NATIVE

在老大给我搭好了开辟所需的初始框架以后,我便最先投入到事变当中。但是,我要怎样最先呢?!当时的我几度懵逼,咬咬牙便最先探索起来。

那时刻我但是一个连github.com都不怎样会用的人呀,所以只能从文档、老大给的starter-kit入手,一步步地啃并着手进修。

从搭建开辟环境最先,我便陷入了深深的蛋疼当中…怎样让windows中跑起starter-kit,我足足研讨了两天,折腾了一大堆,厥后总结起来,呕出了Windows下装置React Native的安卓环境这篇文章。

说实话,搭建RN环境,挺累的…

开辟环境搭好以后,就抓紧进修RN的写法了。RN用的是一套全新的XML标签,与一套全新的CSS语法,虽然看样子花样照样那种花样,但背地却有差别的进修本钱。在探索完以后,我便最先以我之前积聚下来的挪动端网页开辟履历,最先探索着开辟挪动端的页面了。对着设想稿,探索这RN中运用了REM、百分比、flex,以打造一个可以多屏幕适配的页面。

还记得当时开辟第一个页面的时刻,打一行代码须要重写三遍,一个页面基础做完,又推倒重做,用2天时刻,终究弄出了一个与设想稿大致类似的页面。看到效果时,觉得没白熬。

以后固然就是连续不断的爬坑啦。总之,在这段日子里,我摸出了:

  1. github插件挑选(star,issue),找RN的插件的话,js.coach/react-native/是个不错的挑选

  2. npm版本掌握很重要

  3. 手艺选型

  4. 代码构造的艺术

  5. 项目架构的前瞻性、拓展才能

  6. 深挖营业需求,凡事多想一想,防止对代码打上“往后肯定重写”的tag

APP开辟到了肯定水平,就遇到了JS所不能解决的瓶颈——原生SDK的接入。由于当时的营业需求,已到了第三方插件没法满足需求的时刻了。为了完成功用,必需进入到android和ios中去写RN可以用的插件。当时看到客户端原生代码(java, Objective-C)的时刻真的是一脸懵逼,尤其是Objective-C,全新的写法让我必不得已思索了一天的人生。

没办法,只得抄着现有的第三方插件库,半抄半写。途中已然忘记在多少个QQ群中问人,也记不起找过量少个朋侪,多少个群友去问题目了,只记得同事们都对我说:“骏马眼前无沟壑”…

终究,我对RN的熟习度愈来愈高,开辟起来也没那末费劲了。固然爬坑是少不了的,但已然没有那末痛楚。趁着在营业不是那末多的时刻,我赶忙买了几本android、ios的入门书本啃起来。觉得回到了刚最先学前端的时刻,啃“JavaScript高等程序设想”那段日子…

在项目开辟到肯定体量的时刻,之前写得很烂的代码、不太适宜项目的架构,已严峻的拖了后腿了,让项目开辟变得难以高效敏捷。在深图远虑事后,我决议来一次项目代码重构。

此次重构,确实准备了很久了。我把日常平凡写营业代码时遇到的一些不爽的点都网络起来,然后天天放工回家就在想要怎样做才可以更好的在满足营业需求的前提下,高效敏捷的开辟。这一次代码重构重要针对下面几点:

  1. 将异常通用的组件(入Toaster, Confirm, Picker等),从以xml的花样运用,转变为函数挪用。比方我之前须要在页面中引入毛病提醒Toaster这个组件,是要在render中加上<Toaster />这个标签的。而如今,只须要在须要的时刻,协商Toaster.error(new Error('毛病提醒'));,即可完成挪用。这个肯定水平上防止了react + reduxif-else嵌套过量的题目;

  2. 重整项目中store冗余,不够邃密的题目。现在以页面为维度,来举行store的构造,同时补充一些全局通用的store

  3. 重整页面代码的构造构造,将其调解为一个较为通用、范例的构造构造。

革本身的老命,可不是开顽笑的…

其他杀青

浏览:

已读但不限于:

<猖獗Android课本>
<Javascript言语精炼>
<Javascript函数式编程>
<Javascript设想形式>
<你不知道的javascript(上卷)>
<深入浅出NodeJS>
<CSS威望指南>

三场手艺分享:

<第二届FEDay前端年会>
<腾讯IMWeb>
<第三届CSS大会>

在此特别谢谢裕波大大与前端圈可爱的事变人员们,为我们广州群众带来了这两场隆重的高质量前端手艺分享集会。

多列入手艺集会,能极大的开辟本身的手艺视野哦!

2017年瞻望

在手艺上,不懂的照样太多了。2017年,愿望本身可以再接再砺,向当一位优异的前端工程师这个妄想继承勤奋。

多读(15本书),多写,多总结(15篇分享)。

同时,愿望本身可以多多打仗除手艺之外的事物,勤奋拓展、拓宽本身的视野,外交!

    原文作者:PAMPANG
    原文地址: https://segmentfault.com/a/1190000008275625
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞