2018,不普通的一年

生活

2018对我个人来说是很重要的一年

在4月份, 我辞去了一份965的工作

跟着前同事去了一家9:30 - 8:00 大小周的创业公司

过去,我学到了什么

记得我是2015年开始入门前端,当时我掌握的只有java那一套MVC

后来一次偶然机会接到了朋友的一次外包,担任前端开发,虽然项目中途腰斩,但是让我正式走上了前端的道路。

那么2015-2017我有哪些成长?

2015

当时我从一本《JavaScript DOM 编程艺术》入门,到入职上一家公司(A),成为实习生。

这一年,我掌握的只是普通的javascript /html/ css

还记得当时第一次做项目就被缓存给坑了

那时候大概只是一个页面仔

2016

那时我正拿着jQuery 写代码写的风生水起

但是那时我并不知道gulp 怎么用、不知道browserify这个东西原来可以打包代码。

仿佛就像那位老大爷一样,jQuery一把梭。

到了年底,有机会接触新项目,我毅然选择了vue@1.x

自从写vue,才知道了什么叫spa,仿佛打开了新的大门。

2017

2017可以说全年都在写vue

从用ElementUI到自己的一套UI框架,也能说熟练的使用vue

但是我不敢说精通,现在回想起,也觉得当时写的都是小儿科东西。

这套不怎么样UI中,在当时也是能让我引以为傲。

毕竟当时写出了自我感觉良好的一个Table组件。

不过现在看起来的确不怎么样,毕竟github上面大神太多了。

15年到17年这段时期,我觉得我就像是从一个门外汉逐步走到了门前,并且跨步走了进去。

当初选择vue真的是一个很重要的决定。

写过一篇vue总结,虽说不是什么干货,但对我日后开发还是有一定帮助。

如果没有这样做,我可能会一直都跟jquerydjango打交道。(是的,有段时间我还专门写后端代码。)

2018,我学到了什么

2018年后回来,同时随着手头上那个关键的项目逐步完成,我就提了辞职。

还记得后一个月,leader还让我们组执行996,弄得很忙的样子给领导看。

现在看起来还真的有点可笑。

刚到新公司,技术只有两个,我负责前端,我领导负责后端以及运维。

我可以为所欲为,因为我来的目的就是像搞些新的东西。

小程序

的确,刚到的任务便是写小程序,一个崭新的东西。

这东西不难,上手简单。

后面mpvue出来了,我也去尝了下鲜,直到现在还在维护,但是如果再给我选,我会选择原生。

虽然原生有点啰嗦,但其实配一个gulp构建流程,开发起来还是挺顺手的,而且不会有莫名的坑,可知道mpvue目前还有几个issues 始终还未得到解决。

到后面更多的小程序框架出来了

比如:

等等,真的很多。

但目前我看好的是taro,也许以后有机会,我会选择使用。

React

不错,今年我进入了React阵营。

刚开始写的时候,其实我也很烦,

总是觉得明明在vue上很简单的东西,到了react怎么就这么绕。

就比如v-model,在react上面先要写一个state,然后写一个onChange

写了几个项目,逐步上手后,发自内心的一句:真香~。

的确,写react就像在写原生javascript

在开发期间,逐步使用自己的组件替换掉antd(的确是一个优秀的UI框架),

许多组件也是参考antd源码,自己推敲出来的。

当然,我也把自己的几个自我感觉良好的放在了github上面

其实在开发着三个库的时候,我学到的更多是怎么去发布和管理一个开源库

Typescript

对于ts,一开始我跟朋友闲聊我都是说ts很啰嗦,每次都要写一堆类型。

后面等我自己用了后,又从内心发出一句:真香~。

后面我把手上的项目全部用ts重构了一遍。

他真的太好用了。

技术栈外东西

技术栈外的东西,便是写了些工具库,插件等等。

可以用来掌握日常工作中用不到的技能。

Acyort

acyort是一位前同事开发的基于githus issues的博客系统,本博客也是用它来搭建。

最近发布了acyort@3.x,属于一个breaking,旧的构建流程已经不适用。

新的版本是基于插件以及构建流程来完成建站,不单单限于github issues,可以说更强大了。

于是我便在旧版的基础上,为新版本编写插件。

acyort-donob-plugins

  • Acyort-plugin-fetch-issues: 用于拉取issues插件,提供数据来源

  • Acyort-donob-renderer: 一个预处理以及渲染插件,用于处理数据

  • Acyort-plugin-rss: rss 插件,生成rss

  • Acyort-templates-donob-plus: 主题目标,在原有基础上加了些东西。

  • Acyort-plugin-gh-pages: 用于发布到gh-pages插件。

  • Acyort-plugin-remark: 即将开发,使用remark来提供markdown支持

开发这一系列插件,对我个人来说也是有不少提升。

其实在很早之前我便想找机会写下node,因此这次便是一次很好的练手机会。

练手之余还能为自己的博客做贡献,还是挺满足的~。

这个项目也刚好能用上lerna,也是一个很了不起的工具。

Picgo

picgo是一个用来管理图床的electron 应用。

内置提供多个Uploader,比如: github, sm.sm, 七牛等。

早些时间,七牛云关掉了测试域名,可以说导致不少人的图库都挂掉了,我也不例外。

刚好发现picgo,但他仅支持上传,不支持同步删除等管理。

于是便写了picgo-plugin-github-plus,用来提供图片的删除以及在线同步等。

这能让我写博客更加方便。

Docker

不错,就是docker,这是一个很了不起的工具。

至于为什么我会接触到,单纯是因为刚开始时候业务不多,我便跟着 Leader 搞搞docker的东西。

写过一篇小文,使用docker+fabric来部署项目。

其实是可以直接用CI部署。

More...

其实在开发一个库过程中,免不了遇到些自己想不清楚的东西。

这时候我会选择参考一些已有的库,看他们的源码。

并不需要完整的阅读一遍,有时候我更多的是看他们用了哪些依赖,用来做了些什么。

这能让我知道茫茫轮子中,有多少可以为我所用,哪些轮子可以解决哪些问题。

日后当我遇到了问题,可以从容的知道有哪些方法解决。

当遇到一些新奇而且代码简单的库,不妨深入阅读,这也是提升自己水平的一个好方法。

比如:

  • 除了eslint外,其实xo这个库可以更高效的为我们完成语法检测。
  • 除了jest,mocha,karma外, ava这个测试框架也是不错的选择。
  • 除了自己搭webpack,其实poibili能更快为我们完成打包。
  • SAO.js可以有效制作自己熟悉的开发项目模板, sao-rc-rs-scaffold这是我的组件项目模板。
  • rrelease-it, auto,np这些可以有效地为我们管理项目版本
  • cz-cli可以为我们规范我们的git commit message, 同时配合cz-conventional-changelog也能更好的为我们生成changelog
  • ...

有时候业务都是三点一线,来来去去都是那些东西,不妨多去了解下业务外的东西,也许收获更多。

技术外的

一年365天,也不可能说每天都在码字,总会一些让自己记忆深刻的事情。

驾照

今年年初拿了驾照,甚是开心。

Switch

今年入手了一台Switch,玩过了2017年度游戏塞尔达传说。这的确是一个很棒的游戏,以至于现在跟别人说起来也是津津有味。

猛禽1060显卡

2017年618配了台电脑,但是当时遇到了矿潮,显卡价格被炒高,一直空着显卡,知道今年2月份才在咸鱼入了一张ROG1060信仰显卡。是真的贵,不过不贵就不叫信仰了。

烘焙

17年双11买了台烤箱,算是入了烘焙的门。

其实烘焙这个活,不好干,费时费心。

制作一个钟,烘烤一个钟,享受五分钟。

但是出炉那一刻真是满满的成就感。

嗯,2018做了戚风蛋糕,做了蛋挞,做了芒果班戟,更多的是做吐司,饼干等。

希望2019能做更多想做的东西。

电视剧

平常只看港剧的我,在2018竟然追了延禧攻略,不过看起来还是挺爽。

今年1月份看了琅琊榜,发现更好看,现在二刷中。

动画

2018看了进击的巨人和东京搜查官,中规中矩,还行。

总结

总的来说,这一年我算是进了一大步。

2019,我要怎么过

工作

如无意外,今年是准备再跳一次,只是有点舍不得领导。

虽然他不搞前端,但是在其他方面,的确教会我很多东西。

谈技术,谈生活。

好像有什么不懂得跟他说,他都会能回答上些什么。

技术

技术方面,今年希望更致力于开源项目,接触更多方面的东西。

比如:

  • electron
  • node
  • Native
  • Server

今年听说vue会发布3.0版本,我是很期待这一版本,希望它能更好。

生活

  • 重拾跑步吧,当年可是一周会跑好几趟,现在年纪大了,更加应该多些运动。

  • 在烘焙路上跟进一步。

  • 继续在保证技术深度情况下扩展自己的技术广度,从前端到后端,从执行到思考,从做技术到做管理。

希望2019也是不普通的一年