又到年末,2015年过的格外的快。

翻了翻今年寥寥无几的博客文章和最近三十几周的周报,细思收获颇丰。

一句话概括:技术上技能树十字发展,思考上成长不少,生活上多彩了许多,毛病还有不少,仍需努力。

  • 迈过了无数的舒适区,明白了许多不碰到就不会切身明白的事情。特别感谢大晚上不回家睡觉而是在公司传功的@rank 和@random
  • 今年可以愉悦吃辣了,团队除了我一个人都是各种辣不怕不怕辣,怕不辣…
  • 今年硬件剁手不停,新手机/6P/iPadx3/wintel Padx2/高性能新笔电/真的是若干其他硬件…
  • 今年游戏体验也不错,老滚V简单打了一个剧情,撸啊撸弟弟所在的区拖拖拉拉的满级了,暗黑3剧情完毕,入了炉石的深坑。
  • 最关键的是:和妹纸的见面频率高了不是一点半点,幸福指数飙升。

14年双十二结束后,对之前浅尝辄止的一些技术有了浓烈的兴趣。 和去年一样,惯例来篇流水账,缅怀下过去的三百多天时间。

1月

又折腾了一些服务器相关的基础,没想到这些折腾的东西,持续的用了一年。接下来的十个月左右,各种服务器安装部署、静态资源服务器搭建,都是在这些基础上成长起来的。

2月

纠结于相对完美和省心的开发环境和方案,做了一些思考和实践,暂时停止了,因为目前心里有个更好的计划。 纠结于这个问题,年内做了许多尝试,诸如下面的:

3月

异地恋是反人类的, 异地恋是反人类的。 异地恋是反人类的! 今年流行把重要的话说三遍。 三月的时候想明白一些事情,权且算上明白吧,毅然决定从杭州离职,回到北京,于是提了离职,原计划休假玩一圈,然而too young了,一个是未来老板希望早点来上班,另外一个是阿里人力这边需要呆一个月再走,于是只好呆着,但是已经没有实质工作了,于是请事假回家里赚了一圈,再回杭州办理人事手续的时候居然遇到了因为杭州天气原因,飞机迫降到西安的奇葩经历… 翻了翻照片,看到了和@申玉宝住的小屋的盆里都是结冰的(开放阳台 & 空调坏掉),以及打包至少了5、6箱的行李,蛮感慨的。

4月

坐着动车一路向北(天气原因,机票妥妥推掉),回到了久违的帝都,北京话和霾都还是老味道。 入职表上写着前两家公司为啥辞职(我居然真这么写了):

  • 新浪:换个环境,做纯粹的前端
  • 淘宝:做更好的玩的大前端 & 陪北京读书的妹纸

接我的是业界成名已久的Rank童鞋(此处团队还不大,不需要叫老板),因为互相不认识,他一直在门边等,我一直在屋子里等….(如同两个接口没有声明文档,不好通信一样…) 这里还有个小梗,本来是被推荐到其他的团队去的,但是离职前一段时间,他也到了美团,于是果断来他的团队。 刚开始团队只有4个人,老板Rank,席铭(当时还是实习生)还有我,@随机 童鞋入职第一天见过面,然后就消失了(一周…搬家)= = 当然,月底人数一下就翻倍了,因为加入了小美、禹霖、吕伟,还有老coder,现管理 @崔凯 这个月,工作上主要做了这些事情:

  • PM一起重新设计美团前端统计SDK
  • 搞了一个简单版本的脚手架工具,也就是上文提到的Generator Lazy雏形
  • 计划着和@随机(以后用专家来代指)开始搞基础建设,总结归纳业内已经存在的模块化工具,框架等等

感觉像是在魔兽世界的尘泥沼泽中缓慢前行,团队基础建设,周边技术沉淀都接近为0。 巧合的是,@王玉驰 也不约而同的离开了杭州的网易,回到了帝都,和他们小两口吃了顿饭,想想看,又好久没见了。

5月

跟随专家发现了一家超好吃的小店,之后不知道消费了多少次…见到了要离开北京的@朱达成,回想当年介绍他来老许团队做朗易思听的时候,不免唏嘘。 这个月陆续入职了夜雨带刀童鞋@陈益国,第一次看到这个ID是在不久前搞模块化loader的时候,看到了他的loader,短小精干,虽然我最后使用了FEX的loader,然后又简化了…细节的事情在这里

  • 黑客马拉松,第一次是在新浪第一届,杭州忘记有没有了,通宵写码其实挺多的,这一次在美团。
  • 统计脚本大概花了2周多完成了第一版,初版按照NPM package来设计的,提供多种模块支持(UMD),并且release了PC和Mobile两个版本,支持本地化储存,以最大程度避免数据丢失,使用POST发送消息,减少后端请求压力,以及杜绝页面带有各种统计参数。。。(不默广告了)但是,被老板指出了问题,不够minify,推荐了围观facebook在Victory上很早分享的内容,以及开始了第二版的重构。
  • 完成了脚手架第一个版本,还折腾了自动mock接口的一些功能,希望能无缝添加预发布仿真环境,来帮助开发调试(Pantimos前身)
  • 两周搞完了第一个版本的收银台,包含最初版本的UI自动化测试。谁知道项目这里暗藏杀机。

6月

我是要当上BUG王的男银。(请参考海贼王语调和动作。)看到周围童鞋毕业不免想到自己已经要毕业两周年了。

  • 真正接触到了NW.js和他的竞品electron,之前在阿里的时候用的ihosts就是用这个封装的,简单好用。
  • i版收银台又做了两周后,发现了后端无法封装接口提供前端使用了,因为依赖的数据接口是复用APP的,带有逻辑,返回不固定,且后面对接了至少3套系统,这个时候如果是Nodejs的话,妥妥的可以快速开发,但是强类型的Java如果要继续做,太麻烦了。做了一个慎重又冒险的决定,后端coder不再进行支持,前端直接和数据接口的RD对接,做一个WEB版本的IOS APP,加了一周班,搞定了新版本,然后测试了一周多。
  • Pantimos 初步成型。
  • 月末不太忙的时候做了一个内部通信工具的页面插件 大象表情包,实在不能忍受没表情…
  • 月底和吕伟还进行了一下小东西的pk,Generator Lazy 和他一直在维护的自己的toolkit,后来专家建议专注精力在某些事情上,于是当时我选择了当前业务,工具交给同伴来搞吧。
  • 嗯,月底可以提转正申请了,这个时间不知不觉就过去了啊。

7月

  • 大老板王兴拍板,统计SDK不太愁推广了,小产品线挺好进的,大产品遇到了难题,庆幸 @雷毅 雷老板好人,帮忙接入了,接下来其他的业务接受程度好多了,技术上NB,不见得事情好办,方式方法上和老板与专家学到的不要太多。
  • 收银台第一个周末终于发布上线,解决了一些典型的兼容性问题,最后兼顾性能、后续的模块复用以及维护,当时个人还是挺满意的。搞了一整套发布方案&静态资源,之前美团没有HTTPS相关的项目静态资源发布方案(都是在一起的)…这个后续迭代出了脱离项目的方案。月下旬带领新童鞋熟悉项目。
  • 重新书写了统计SDK,全部模块动态组合,不过没有做到最想要的程度,最满意的一件事是把之前HTTP不规范的接口使用给干掉了,并且添加了服务端统计接口的返回,之后可以做的事情就多了。
  • 这个月开始人变的多了,于是写了新人指北。

8月

这个月前半个月很平静,一半技术驱动业务,一半业务驱动技术。

  • 支付业务开始着手完全的前后端分离,以及设计和处理将会遇到的问题,月末开始准备交给来自UC的一位同事。
  • 统计业务继续完善,浏览器跨域POST有了相对完善的方案,在月末交接给了前新浪同事,现美团同事 @王强,强哥甚是好学,接手超快。

9月

老板亲自教授了非常多的事情,又学到了不少。分享了一篇易于构建的脚本时间略仓促,等有人遇到提问后再补充吧。

  • 统计终于接入了团购,了却了一块心病。
  • 支付开始处理静态化资源分离相关的事情,学习和思考到了许多事情,补充了一系列的测试仿真环境以及调试等。这个时候之前接手的童鞋离开了,于此同事还埋下了一个炸雷(可能是因为要离职,没有再盯着项目,某次之前的提交产生了线上故障)
  • 额外时间开始了解自动化测试相关的事情。

10月

个人今年的面试和招聘主要集中在这个月,有一两个童鞋没能来好遗憾。 这个月算是一个转折吧,尤其是引导我开始专注做测试相关的尝试(为什么开发要做测试呢,价值是什么,一个有趣的问题)。

  • 支付项目再次交接,这次交接给的是禹霖。但是很杯具的是,他很快又因为另外一次不谨慎的提交吃了雷(一半coder,一半QA)。于是我们下定决心,重新梳理项目:代码、权限、环境、测试。
  • 分离方案做完了,但是禹霖觉得和『简单可依赖』背离,于是把这套方案去掉了,(毕竟负责人要对项目负责的,我理解,也对当时的情绪对他抱歉)换上了简单的nginx代理。后续这套方案慢慢又长成了我之前设计的样子,但是有的事情就是这样,不能出现的过早,要出现的刚刚好。
  • 交接后连续出现两次问题,在对错误零容忍的业务上,必须要进行必要的思考。于是和@崔凯,@随机多次讨论,决定专注去研究和开发一套适用的测试&监控方案,来保障业务的稳定,支付、统计,都必须被保障。

11月

这个月是痛苦的一个月,计划被打乱,舒适区被迫提前离开。

  • 开始熟悉casperjs和phantomjs。之前在淘宝UED BLOG上围观过淘宝doodle的代码,也写过一些爬虫(ACM/D2,不好说的一些事情),并不算太陌生。
  • 跟随@禹霖的建议,考虑录制测试用例的方法,并进行调研,发现MS和IBM很早就使用过,决定趟趟水,没想到是深坑。
  • 在插件功能上卡了许久,小功能有开源参考,但是实际用在这个需求上,需要做的细节真心不少,比如:页面不刷新的情况下模拟操作,多数同类产品都是刷新,但是刷新会丧失当前页面状态;收集的用户数据在用户页面和插件页面的同步机制;展示模板(这里浪费不少时间);单独的服务端(自动跑用例生成结果等);插件重载后怎么继续使用等
  • 从0开始搞了一套编译构建,这中间尝试了几种其他方案,考虑到可扩展性,最后选择了使用gulp+webpack,这里小坑也不少。

12月

因为自动化插件的事情,重新调整了计划。主旋律就是踩坑。执着细节,让专家很痛苦。 目前还在继续,度过了11月痛苦的时间段,目标越来越清楚,遗憾的是,进度没有如预期。

  • 代码整理后git push了第一下,fox
  • 在经历了5周后,第一个测试版本终于发布到了chrome应用商店。
  • 开发了配套的服务端,可以本地运行,未来计划用NW这类运行环境封装下,还搞了一台DO的服务器做云端CI。
  • 完成了简单的用户注册和用例管理,更新了一些UI,目前还在继续搞中。
  • 发现了大量phantomjs & casperjs的bug和绕开方法…
  • debug.js 发布到npm,在npm管理的帮助下把之前的package归属变成了自己。

回顾今年的12个月,并没有太多辜负自己和亲友的地方,心安即福。并且成长曲线的斜率依旧保持不错的状态。苏洋童鞋,明年也要继续加油。