2017 self review

春去秋来,花谢花开,2017已过,2018已来。

2017年,待过两个项目,OTR 和xx通。 2017年,待过三个城市,北京、成都和深圳。2017年,接收的新知识不多,基本都是老知识的灵活运用,沉淀总结的也不多,看看blog,也就才2篇。

两个项目

两个项目都是国内项目,所以节奏相较来说都比较紧张,闲暇时间不多,大多都用来歇息了。所以,就主要说说这两个项目吧。

OTR

这个项目是出道为止,待得最久的一个项目,几乎从项目启动开始,一年的时间里,经历了项目的紧张期、蜜月期、平稳期,在这些时期里,作为Dev最直观的体验可能就是每日commit的数量和code review的时间了。

OTR项目,就前端来说,覆盖了Web、iOS和Android三个平台,Web主要作为管理员端,Mobile则主要服务于客户公司的销售人员。Mobile端选用了ReactNative,Web端选用了Angular,从技术上来说,这两种框架都是当时根据team现状以及适用程度选用的比较理想的框架。ReactNative,虽然team成员实际应用的不多,但是大多数都待过React的项目,team成员上手的很快。Angular,选择了当时最新的Angular 2.0,虽说还是处于alpha版本,但由于我待过两个成功Angular交付项目,所以还是力推了Angular,因其在form表单和开发效率上来说,都表现不俗。经过时间的证明,team成员都十分优秀,各种技术栈都能玩得转,而这两套技术选型,在后续的业务表现中,也都能满足各种业务需求,拿下赫赫战功。

我主要精力还是放在Web端,主要说说Web端吧。Web的项目是从一个starter启动的,内置了结构目录和一些script,基本满足启动需求。在开发了一段时间之后,随着Angular项目的迭代,官方也推出了2.0的正式版,不过当时项目也没有跟风立马升级,因为一个项目重要的是稳定性。后来,推动Angular升级的是打包。当时打包的体积很大,好像4M+,作为一个Single Page Application,这个大小着实太大了,已经影响了客户体验,我便着手开始减少打包的体积,尝试了一些解决方案,AOT(Ahead of time)、Tree Shaking等方案都有尝试,但是集成不是特别好。后来发现了Angular官方的CLI,发现它对项目结构和script都做了极大地精简,技术和业务的隔离,使得开发者能够将更多的精力放到业务上。不过从starter迁移到CLI还是会有一些坑的,比如CLI没有暴露webpack loader,那么相应的一些自定义loader就不能使用得重新找方案了,比如新增了NgModule这个概念,需要对之前的结构进行调整等等。虽然过程痛苦,但结果是喜人的,经过迁移后的打包体积缩小到了500k之内,极大的减少了首页加载时间。再之后,直到我roll off,对于项目结构上就没再有大动作了。值得一提的是,这期间,遇到了两个有意思的需求,一个是做了一个Web端简易版的Xmind,用到了一个jsmind的组件库,不过由于项目需要,我将其改成typescript并个性化了一些新的功能新开了一个repo mind-map。另一个是做了一个Web端固定表头、固定列的大表单,虽然自己也实现了相应的功能,不过最后根据IE的性能评比,还是选择了ag-grid这样的老牌库,它在性能上的优化确实是要好一些的。

xx通

刚rebase回成都一周,我就被assign到了这个项目,而且这个项目是深圳的出差项目,意味着我刚到成都,就又得出差了,不过深圳这个城市对我的吸引力还是挺大的,虽说是去救火,但是也挺兴奋的。

因为觉得自己出差过去,成本比较高,想要尽快有所产出,所以就很快的独立搭建环境,将代码给跑了起来。虽说是很快,但是之前还没这么慢过,坑太多了.. 两天时间吧,跑起来前端环境,相比于他们之前一周时间,还需要找teach lead帮助的情况下,是相对很快了。个中艰辛也就不一一详说,个人觉得,在那里,浪费了一周时间吧,没什么特别的产出。

客户现场,两个多月的时间,做了咨询详情、收藏列表、埋点等需求,推动了team code review的成型,输出了自己在OTR的所得,感觉自己能成为一个知识载体,并将其传播。

项目上的收获虽然不多,项目之外的却不少。深圳的天气、空气以及便利的交通给我留下的良好的印象,而且借着出差的机会,也顺道带家人体验了这边的风土人情,算是意外之喜。

小结

有比较才有差别。这两个项目差别还是挺大的,以至于我初到xx通还有些诧异。这里就不细说哪个项目怎么样了,只说个人感悟。

  1. 人员配置齐备并工作在一起的team,工作产出效率会高很多,还能够增加团队的向心力。我司一个项目的标准人员配置:Dev,QA,BA,UX,PM。当然,一人可身兼多职,但也需根据个人能力,否则不仅会把个人搞的手忙脚乱,甚至可能会拖累整个team。敏捷团队最具优势的便是能够随时就疑问或是分歧进行沟通,所以,如果team成员不工作在一起,无疑会增加沟通成本,甚至让沟通失真。
  2. 项目架构影响深远。一个好的项目架构能够帮助开发团队聚焦在业务,方便拓展维护,提前预防一些设计风险,提高了开发效率。若是一个项目初始架构便只是仅仅满足启动,对于当前业务都有些勉强,这无疑会是一个巨大的风险,不仅会增加后续新功能开发难度,增加维护成本,甚至变得难以维护和拓展。
  3. 人很重要。启动项目那批人的能力,极大的影响了后续项目开发的难易程度。相处的难易程度,极大的影响了你的幸福感。最后,各个项目都类似,做到后面,这个项目还有没有意思,很大程度上就得看共处的人有没有趣了。

区块链

2017,开始接触了数字货币。得知了什么是“挖矿”,知道了矿卡的来源,了解到这个世界上,还有很多东西只能通过BTC来交易。

一开始,是从币市入坑的。当时国内各种交易平台,各种数字货币,百家争鸣。领略到了币市的疯狂,也跟着疯了一把。后来开始了解区块链,理解这个概念,并且跟着公司的同事,做了一轮workshop,实际操作了一把智能合约,更近距离的体验了一下区块链的魅力。区块链,顾名思义,就是一个一个区块链接起来的产物。最大的特点便是去中心化,每个client都有一个完整的账本,记录着区块中的数据流向,保证了数据的不可篡改性。那么挖矿呢?挖矿就是有那么一群人,整合了很多显卡,显卡便意味着算力,有足够的算力,便能够在区块中占据先机,抢得数字货币奖励,这些奖励就是矿工的报酬,奖励也就是数字货币。由币市入币圈,币圈,是一群搞区块链的人组成的圈子,这里面的人大多都一心钻研区块链技术,寻找各种能够运用区块链技术的领域,投资未来。2017下半年,国内出了政策,很多交易所相继关闭,导致币市大跌,我也跟着退出了币市,几月之后,风云变幻,如今,币市已经翻天覆地,翻了几倍十几倍的数字货币比比皆是,2018,区块链注定又是浓墨重彩的一笔。那么对于技术而言,投资区块链倒也是个不错的选择。

展望2018

一眨眼本命年就过完了,来到了狗年。既然是狗年,那么2018 一定要旺旺旺。

2018多些沉淀。阅读,写作,男人需要有些内涵。

2018多些思考。逻辑,哲学,男人需要有些睿智。

2018多些技能。机器学习,区块链,男人需要有些本事。

2018年,changelog应该比较多吧,我们blog见。

Share Comments