Say Bye 2017

所以
那些曾经欠下的账
终究
是要还的

元旦前就该写了的 2017 年终总结一直没写,马上就要过年了,现在来还账。。。
2016 年离开了校园踏上了职场,2017 年在职,算上实习期(2016.01始)截止到现在已经工作满两年了,时间还真是飞快。

工作

17 年真的是基本所有时间都在工作了,敲的代码也都是工作上的。本来的我感觉到年底了一年过的很快,一整年也没干什么工作,直到前段时间老板要找员工单独开会聊一聊年终总结、18年规划和涨薪的事情,虽然感觉自己没做什么工作,但既然涉及到涨薪还是要郑重的做一下年终总结和新年规划的。直到认真总结下来才发现原来这一年做了这么多工作:

1、iPad-MVVM 重构版的上线(3月底)16年开始的重构,17年3月底4月初上线
这份重构计划在去年的年终总结 – Say Bye 2016 里也提到过,只不过后期新增了很多新功能再加上经过测试组很多轮次的测试,所以大概一直到3月底才正式上线,这也是 2016 的主要工作内容。
至于后边三个月的时间,我想给我更多的仍然是 DEBUG 能力的提升,包括这一年来对 ipad 版本不断的迭代和维护工作。而且随着后期版本的迭代和功能的维护才发现有很多地方是当初重构时没想到的内容,一部分是架构上的设计,一部分是某些功能模块的设计。
在今年的主要项目 – iTouch 重构,更加意识到关于架构设计的重要性,好的架构真的可以节省太多开发时间,提高效率,而且在那种结构清晰的框架中新增和维护功能也变的轻松加愉快。

2、iPad 版本、iTouch 版本上线 App Store(5月份)
因为公司产品是提供给餐厅人员使用的,对于产品发布地点并没有特别高的要求,所以之前一直通过苹果企业开发者账号发布在 fir.im 网站上的,但这毕竟不是苹果官方的发布方式,就会出现一些不可预料的问题。
比如,发布到该网站上的包的发布有效时间只有一年,如果在一年内没有下载新发布的包,过期后是不能使用的。
所以,最终决定还是将 App Store 作为产品的正式发布地点。而当遇到紧急 bug 需要修复时可以用 fir.im 作为临时版的发布地点。

3、DJLService 网络请求库的重构,并替换了 iPad 的网络请求库为 DJLService(6月份)
这个网络请库是我来公司第二天上班就开始的工作,第一版也是我写的,但因为一些历史原因当时采用的 json 解析框架是 ObjectMapper,用法很简单,代码量很少,但同时它也有很多缺陷:
3.1、MRC 的框架
3.2、对一些数据结构的解析不支持
3.3、解析速度慢。
所以在重构之前也考虑过很多解析框架如:JsonModelMJExtensionMantle,但最终因为代码侵入性等原因没有选择JsonModelMantle 这些框架,我们最终选择了 YY 大神YYModel

4、iTouch 的重构,包括架构、界面的大改版,同时在 iTouch 端启用了 DJLService 网络请求库,至此,iPad 和iTouch 两端共用了同一份网络请求库(12月中旬)
这应该是17年比较主要的工作内容了,新开了一个工程按照老版本及 ipad 版本的业务逻辑重写了一份新的工程,包括架构、界面的大改版。架构上采用了 MVVM 的设计模式,使工程的代码结构清晰了很多。界面上很多常见页面比如弹框提醒等参照市面上最常见的方式重写,与老版本有很大的不同。
关于网络请求库,之前的项目采用的网络请求框架是 RestKit,个人感觉写起来还是相当痛苦的,所以在重构版我们复用了 DJLService 网络请求库。

5、iPad、iTouch 跟进餐厅端每个版本的开发
这也是17年主要的工作内容了,这一年餐厅端发布了有将近有十个版本,每个版本都有新功能增加、功能修改和 bug 修复,而且每次要和云平台团队、餐厅端团队配合开发新版本,可以说是一份非常耗时的操作了,尤其中间存在 iTouch 的重构工作时还是感觉时间很捉急的。
所以在每一次新版本开发轮次内,我都是前一半时间专心做 iTouch 重构等别的工作,等后一半时间的时候,Android 团队的小伙伴已经和后台联调过了,在他们已经确保接口稳定并且数据准确的情况下我再开始开发就可以省下很多时间了哈哈哈

6、最近做的:前端的学习、H5版项目的学习、现在正在做的微信小程序的开发
这是在 iTouch 重构版正式发布后做的事情,向前端圈转移,看了一些 js、css、html 的东西,公司里也有 H5 版的项目,也读过一段时间的代码。后来公司要开一个微信小程序的项目,所以在尝试做微信小程序开发。

2017总结:尽量保证所提交代码的质量,降低 bug 出现几率;并且在代码实现和交互细节上尽量表现优秀
交给老板的总结,对自己提交过的代码还是很满意的,而且感觉自己写出来的代码就是自己的作品,努力的让产品表现优秀。

2018规划:跟进餐厅端各版本 iOS 端的开发,并进行前端的开发,包括目前阶段的微信小程序开发,和 H5 等项目的参与
交给老板的18年规划,因为公司里的 iOS 产品已经稳定,而且更多的客户在使用 Android 的产品所以要转岗到前端写代码了。但对我个人而言还是比较喜欢做 iOS 开发,所以工作上可能会往前端转移,但自己一定写一款自己的软件,不出意料应该是工具类的 APP。

读书

技术类
1、《Effective Objective-C 2.0(编写高质量iOS与OS X代码的52个有效方法)》还写了一篇读书笔记做了总结:Effective Objective-C 2.0 读书笔记
2、《剑指Offer:名企面试官精讲典型编程题(纪念版)》(未读完)
3、《Objective-C高级编程:iOS与OS X多线程和内存管理》(未读完)

其他
1、解忧杂货店(东野圭吾)
2、白夜行(东野圭吾)
3、嫌疑人X的献身(东野圭吾)
4、恶意(东野圭吾)
5、月下清荷檐下猫(季羡林)
6、活着(余华)
7、不能承受的生命之轻(米兰·昆德拉)
8、百年孤独(加西亚•马尔克斯)
9、追风筝的人(卡勒德·胡赛尼)
10、孩子你慢慢来(龙应台)
11、亲爱的安德烈(龙应台)
12、目送(龙应台)
13、野火集(龙应台)
14、谁动了我的奶酪?(斯宾塞•约翰逊)
15、我们仨(杨绛)
16、围城(钱钟书)
17、摆渡人(克莱儿·麦克福尔)
18、红楼梦(曹雪芹/高鹗)

《红楼梦》小的时候家里有一本一直没读过,貌似是我爸读的,一直到高中才读了前七回,现在终于从头全读过了一遍,和想象中不一样的是一直以为《红楼梦》的结局是悲惨的,但读完之后才发现并非如此,贾府经过败落之后开始了慢慢的复兴。包括《围城》也是,之前一直听那句“婚姻就像围城,城外的人想进去,城里的人想出来”,读完之后发现全书也并没有这样浓重的色彩。
算一算17年还读了不少书呢,而且还有《红楼梦》这样的长篇,希望18年也多读些书吧。

旅行

完成的:
1、成都:六月份公司组织旅行,“走到玉林路的尽头,坐在小酒馆的门口”
2、九寨沟:和成都一起的公司旅行,我们回来不久九寨沟就发生了地震,很多景色都不在了,真是感叹世事无常
3、青海湖:计划了很久的环青海湖骑行,三天半,三百六十公里
4、茶卡盐湖:青海湖骑行中间去的茶卡,中国的天空之镜
5、泰山:为了青海湖骑行请了一周的假,结果提前完成了环湖骑行,所以剩下的时间飞济南去了趟泰山,大学念了四年的爬泰山竟然是在毕业后完成了
6、厦门:元旦期间去了厦门,吃了海鲜,鼓浪屿,一座可以用脚步丈量的小岛

未完成的:
1、西藏:16年说的要去的西藏因为太远没去成
2、一直说的黄山竟然因为总没时间也没去成

念头

从大学最后一学期开始隐约不间断的考虑以后要做的事情,今年也一直在脑海萦绕,但愈感无力,两年多以来苦于没有目标,或者说是 idea,但即使现在想到了依旧无能为力,势单力薄的我并不知道该如何去实现。
曾经因没有想法而苦恼,如今因无力实现而苦恼,不知道该如何是好,再聊,再聊吧。

计划

真是计划赶不上变化,去年的计划还不是这么直接、实际呢,当然也比去年少了许多迷茫,被社会磨的没了棱角。

  • 旅行:
    (或)1、五月份去趟西安,2、十一骑行海南岛,3、找时间去趟黄山吧,4、有机会去趟国外
  • 读书:
    1、技术类的,2、其他类
  • 技术:
    1、更新技术博客,2、写一款工具类 App

虽然不像去年的总结斗志昂扬,也许这正是长大的模样。
请依旧相信,对于你,全是未来!