《很高兴我没有猝死》- 前端新人的 2016 年总结和感悟

2016-12-31 22:12:41 +08:00
 longhao

现在是 2016 年 12 月 31 日晚,很高兴我没有猝死

想弥补耽搁的几年,过去一年里,我几乎一直坚持着 9117 (周一至周五每天 9 点半至 11 点半,周六、日 12 点 至 24 点)。

开始前端之旅

2015 年 8 月 1 日,刚入职南通一家船舶制造国企的第三天,我就决定做改行的准备,开始前端学习之旅。每晚下班后学习两个小时,用了一个月,把最基础的 HTML, CSS, JavaScript ,到 Git, Gulp, Less, Node(Express) 过了一遍。 9 月初投了 5 份简历试试水,很幸运的得到了两个面试机会并拿到了 offer 。

入行一年

晃荡了一个月之后, 2015 年 10 月 27 日,正式入职

试用期早已计划好疯狂学习一个月。主动坚持着 9117 。这段时间里,除了熟悉业务,我补充了一些基础知识,学习了 Angular 。

试用期过后,觉得自己有限的知识,应付工作仍然吃力,于是又自觉地坚持 9117 两个月。春节后我参与了一个全新的项目,使用 Vue + PostCSS + Webpack 。作为一位初学者,我非常珍惜这次机会。

3, 4 月,尝试着写一个监测属性变化的库和一个简单的 MVVM 框架。这段时间我找到了造轮子的快乐,于是决定 9117 制度延长至一年。

5 月,参与了另一个使用 Vue 的项目。业余时间,我开始学习 Vue 的源码,主要是响应系统。为了方便单独学习和使用,我把 Vue 的响应系统剥离了出来(地址: ob.js)。

6 月,开始学习 Virtual-DOM ,并希望尝试结合 JavaScript 表达式JsonML ,实现跨平台渲染(地址: eJsonML)。幸运的是,这个项目很快收到了 JsonML 作者 Stephen McKamey 的 star 。

好景不长,8 月初,因工作需要,我负责独立开发一款 Android 扫码软件。之前并没有 Android 或 Java 基础,于是中断了 eJsonMLVexil 的开发。拿出全部精力,学了 1 天的 Java , 2 天的 Kotlin , 3 天的 Android ,一周的 RxJava, Dagger2, Firebase 等,做了个在线记事本的 Demo ,第三周开始开发,第五周上线,成就感瞬间爆棚。

9 月和 10 月,做着修修补补的工作,休了个假,过了个十一。

2016 年 10 月 26 日工作刚好满一年,决定不再续签

目前

原本计划疯狂的玩耍半个月,然后再开始找工作。但没有工作时,才发现根本无心玩耍,于是开始疯狂的投简历。

阿里二面被淘汰,虽有些难过,但对未来仍充满信心,毕竟前端之旅我才开始一年。

目前在一家做性能加速、监控的公司做数据可视化方面的前端开发,偶尔写写服务端。

感悟

感悟太多,随便挑几条吧

入行要学好 Git

工作中 Git 真的很重要。就在前几日,一刚入行的博士生同事在转正报告中,阐述了他没有解决好冲突就上线的悲剧,并总结了一句话,“ Git 不学好,上线上到老”。 Git 不难学,网上教程也很多。建议本地建个专门学习 Git 的 repo ,针对教程多多练习。工作中如果遇到拿不准的场景,也可以用来模拟一下。在熟悉之后,建议设置一套适合自己的 alias 。

初学者要珍惜参与全新项目的机会

参与新项目可以直面很多问题,拿 CSS 来说,垂直居中、封闭浮动、高度根据宽度等比例自适应、多行文本尾部自动省略……这些问题网上有很多介绍,但真正遇到并亲自解决掉时,会有着更加深刻的体会。

如果只是直接参与项目的维护,这些问题可能都已经被解决好了,对于初学者,看着别人写好的解决方案,可能就不会有那么多的感触了。

用好 Webpack ,以及 Babel 和 PostCSS 等

Webpack 是一个神器,但是“官方文档是一坨屎”(注:引用来源找不到了)。初学者可以多看看国内的教程,多研究研究 Github 上的 Demo 。此外,对只有 JavaScript 的项目,也可以试试 Rollup

Babel 重要性不用多说,使用 Chrome 最新浏览器开发时,可以裸 Babel 运行,这意味什么……?

我真的非常喜欢 PostCSS 搭配 CSSNext,配置好插件,就可以使用自定义变量、自定义属性集、自动加前缀等等,喜欢上标准,会让你从心底放弃 SASS , LESS 。

Vue

Vue 的官方教程很 nice ,入门首选。

工作中建议多思考:如何划分 Vue 组件(提取公用组件、确定组件层级)、提取组件的共享状态( vuex )和业务逻辑(使用纯 JS )、 Vue 组件 和 CSS 模块如何搭配等问题。

当前 MVVM 框架核心是“绑定”,做的事情主要是监测变化和响应变化,在 Vue 中它们分别对应着响应系统(学习推荐 ob.js)和 Virtual-DOM ,相信业余时间学习一下会很有收获。

我的 2017 年

原文:https://segmentfault.com/a/1190000007979219

9163 次点击
所在节点    程序员
86 条回复
DebugFuture
2017-01-01 20:50:48 +08:00
2017 ,与楼主共勉
longhao
2017-01-01 20:54:52 +08:00
@zhenghuiy 谢谢,当时学 Android 有人指点就好了
pigsinthesky
2017-01-01 20:58:20 +08:00
绳命在于运动,与楼主共勉。
longhao
2017-01-01 21:00:35 +08:00
lwbjing
2017-01-01 21:01:56 +08:00
上个月住院了我才感觉到,我应该好好休息,或者挺好的。
longhao
2017-01-01 21:05:13 +08:00
@lwbjing 😟健康第一,劳逸结合,共勉!
longxboy
2017-01-01 21:09:07 +08:00
带我啊。我的龙
longhao
2017-01-01 21:11:52 +08:00
@longxboy 后面要学 go ,还要向你请教呢
2zH
2017-01-02 18:04:10 +08:00
感觉楼主工作量不饱和呀 哈哈
工作时间可以疯狂学习研究自己的东西,老板没说你?(我就被说了……)
longhao
2017-01-02 18:29:49 +08:00
@2zH 哈哈,其实我也是以工作为重,任务紧的时候,自己的事情也是全部放下的。幸运的是,其实老板也写代码,很支持我的,真心感谢他~
wobuhuicode
2017-01-02 21:03:34 +08:00
入门容易,精通难
longhao
2017-01-02 21:58:47 +08:00
@wobuhuicode 需要沉淀一两年吧
dothis
2017-01-03 09:19:50 +08:00
第一次留言!同南通、楼主还在南通工作么?感觉现在工作环境太安逸了、没有之前在杭州互联网公司工作的那股劲了。。。希望能留个联系方式、以后一起学习、身边就缺少一个标杆了。
zlawliet
2017-01-03 10:49:34 +08:00
总结的很好,不过你说的这些技术包括社区里提到的很多我都没听过 我只知道 java SSH 、 C# MVC entity framework code first 、 jquery 这些主流的东西! 你们学的那些东西 在我大庄公司估计很少用。 我觉得 技术这种东西掌握一门核心即可! 懂得多真的容易混淆迷失自己的方向 给开发带来难度
CruelMoon
2017-01-03 11:30:51 +08:00
楼主这精力。。干造船一样不会差
renyijiu
2017-01-03 13:09:26 +08:00
真是佩服这么强的学习能力
holy_sin
2017-01-03 14:50:40 +08:00
纳闷为啥一致要学新东西,为啥不去撩妹呢
AmazeUI
2017-01-03 16:09:33 +08:00
加油!
crabRunning
2017-01-03 20:24:19 +08:00
哈哈我也是干船舶的,只是我大二的时候就转行了~。当年我刚毕业的时候和楼主一样有干劲,晚上回来自己折腾,周末去图书馆写代码,现在不行了,自己写的小程序碰到 bug 都懒得去思考。吐槽一下,前端真是乱,花了点时间学了 vue 和 react ,真不比学一门语言简单到哪去。
longhao
2017-01-03 22:26:33 +08:00
@dothis 不在南通。联系方式就不留了,建议定一两个有挑战的目标

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331506

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX