2019年终总结,一位本命年程序猿的年终总结

  今天是2019年的最后一天,看到朋友圈很多人都在晒网易云音乐的年度报告,我也要晒一晒,不过我和他们不同,我是在博客里面晒(哈哈),主要也是因为这个才想起我还没写年终总结。

网易云音乐年度报告

本命年的一年

  今年是我的本命年,尽管有大多数人都不信本命年会遭遇厄运,认为是迷信、传说,但是身为一个潮汕人,从小就成长在充满了对神明信仰的氛围中,对于本命年这一说法,自然也是相信的。所以在年初的时候就已经做好了祛邪、避灾、祈福的准备,特别是年初的时候,请多了几天假,过完了元宵才回去上班的。因为我们那里是正月十二左右才开始热闹起来,“游神”、“逛花灯”、“跳火堆”等等活动都是在那段时间才开始,好久没有体验到这般热闹。还有就是“拜老爷”,乞求今年可以事事顺利。经过一年劳累工作的我,在春节期间狠狠地充满了电。

辞职原公司,就职新公司

  四月份的时候,我从公司离职了,来到了大学同学就职的公司。离职的原因是3月份的时候,公司已经决定缩小业务规模,而且说可能不需要移动端开发了。另外两名安卓同事相继被裁员,仅剩下我一人负责安卓端的开发,IOS端的也只留下一名同事。本来裁员是件很正常的事,但是令我心寒的事,裁员的时候并没有提前一个月通知他们,哪怕是一个星期也可以,而是发完工资的那天,我的那些同事们就被无情地裁员,而且只给了三千块左右的赔偿。看着老同事一个个被裁员,心中难免会有种失落感,毕竟很多同事都是相处了近一年半的时间,感情很深,顿时感觉工作没了那种氛围。恰巧那时大学同学问了我关于安卓的问题,顺带问了一下近况,我便跟他说了自己有打算辞职的准备,他说刚好他就职的公司还在招聘安卓开发,而且福利也相当不错,让我试下投简历,投完简历后,在后面几天,分别经历了一面、二面、人事面后,拿到了offer,我和新公司约定好4月1号入职。

  后面就忙着交接的事情,还有就是找房子。因为我在公司这一年半都是住在宿舍,和另外几个同事一起住,所以要准备搬出去。要找到一个心仪的房子还真是不容易,后来在3月份最后一个周末的时候,找了距离新公司最近的一个地铁口附近的房子,租金1750元,2017年在深圳龙岗的时候,租过一次房子,两房一厅1200,这边宝安一个单间就已经是1750元了,住房方面的花销还是有点大,不过这边价格普遍就是这样,也就接受了。

新的行业,新的尝试

接手新工作

  记得我在写 精仿今日头条 这篇博客的时候,曾说过我一直想尝试自己还未接触过的某类APP,而来到新公司的时候,刚好可以尝试到直播行业的APP。这是一个2016年开始写的项目,到现在已经开发和维护了近3年了,拉到代码的那一刻,我有些惊讶,项目的module多达20个,和交接的同事向我说明这样分module的好处,主要是为了打SDK的时候可以选择哪些模块一起打进去,另外就是这些module大多都是两两配对,分别是接口和实现分开,比如location-api和location-impl。项目目前仅仅只是将功能模块化,并非业务模块化。

项目改进

适配Android 8.0 9.0

  由于应用市场要求后续时间上架app的targetSdkVersion要不小于28(Android 9.0),但是目前项目的targetSdkVersion是25(Android 7.1.1),这意味着我要做Android 8.0 和 9.0的适配,在做Android8.0 Service适配的时候,我封装成了一个框架叫做 AndroidOServiceCompat,这是一个针对安卓8.0对后台服务的限制,对Service做出了兼容的框架,使用AndroidOServiceCompat框架,可以让你的项目的Service更快更方便地兼容安卓8.0。相关的介绍和使用我也写了一篇博客Android8.0 Service的适配框架

升级gradle 部署jenkins自动打包

  项目原先使用的gradle版本是3.5,gradle插件2.2.3,由于项目module实在是多,所以编译起来很慢,尽管我刚进公司第一天就忍受不了这么慢的编译速度,想着之前有过gradle插件升级到3.x的经验,迫不及待地尝试了更新,但是由于项目的module太多,报了一大堆没有遇到过的问题,而且那时忙着对接和做新迭代的需求,一直没有时间做,7月份的时候才抽了时间升级了gradle版本到4.10.2,插件版本3.3.1,编译速度提高了差不多一倍;另外也抽了时间部署了jenkins自动打包、加固、打渠道包,然后打包完发送钉钉消息通知,直接把安装包在服务器的地址发给渠道的同事,由他们直接上传到市场,不需要像之前一样手工加固然后压缩发钉钉,可以说是只需要一键点击Jenkins打包,就可以实现“一条龙”打包加固的过程了。

集成ReactNative

  12月份的时候,公司要求移动端学习并落地RN,在原有的项目中集成RN,方便实现一些频繁更改页面的开发和维护,由于之前学习过Flutter,所以学习RN的时候对于其思想很容易就接受了,集成RN遇到了不少坑,因为是在已有项目中集成RN,所以项目的目录结构和直接用RN构建的项目结构不同,之前不知道要在gradle中声明react配置,配置RN根目录地址,导致打release包的时候一直抱错,在度娘和谷歌上都找不到相关的内容,后面是通过在react.gradle中println出相关属性的值,才发现原来是RN根目录路径错了, 耗费了6个小时左右,而且还是在周六加班到很晚才搞定。

总结

  今年是个忙碌而又不是很顺利的一年,毕竟是本命年,其中许多酸甜苦辣,只有自己知道。今年写的博客比较少,加上这篇总结,也就9篇,主要也是因为忙,入职新公司后,每天都有事情做,很少有空闲时间进行总结和对自己框架的维护,还有就是不想为写博客而写博客,而是当遇到一些别人还没有遇过的难题或者没有封装的东西,自己踩过坑后总结出来,并写博客分享给别人,这是我最想要做的。

对于2020年的寄望

  即将告别本命年,相信否极泰来,明天会更美好,学会热爱生活,拥有命运给我惊喜。 准备入门Objective-C,启程IOS之路,开发IOS应用。

推荐阅读更多精彩内容