2015

拖拖拖…终于在过完年,就要上班了的情况下,写了自己2015年的年终总结。- -

2015对于互联网行业是翻江倒海,成双成对的一年;

2015对于我是平稳过渡,平平淡淡的一年。

工作

2015年末支付宝的敬业福搞得大家很惆怅,咻了好长时间也没咻到一张敬业福,索性开始就聊一聊工作吧

两次英文版

翻看2015年的照片,在2015年1月的时候,我竟然在做qunar机票英文的第一版(据说第一张票的个朝鲜人买的从青岛飞往平壤的航班)。在2015年末的时候,我们又更新了一次英文版,虽然我并没有花费大量的时间在第二版上,但还是在此基础上进行了一次code review,收获还是很多的。

瘦身无极限

2015年我们客户端感觉全年都瘦身。- -

瘦身带来的好处:

  • 安装包小一点,让用户的下载和安装更快速,方便产品的推广;
  • 减少冗余代码,提高代码效率;
  • 产品做减法;

做了哪些尝试:

  • 资源优化;
    • 去除无用资源;
    • 资源压缩;
    • 不常用资源换为下载;
  • 编译优化;
    • 去除debug符号;
    • 开启编译优化;
    • 避免编译多个架构;
    • iOS9 App thinnig;
  • 可执行文件优化;
    • 去除无用代码;
    • 功能模块库占用/改为H5页面;
    • 重复代码减少;

成果还是比较显著的,但是革命尚未成功,同志仍需努力。我们希望新的一年,产品多做减法,同时也会采取web开发的一些技术来解决瘦身问题。

O2O大战,成双成对

2015年,去哪儿与携程合并,CC也离开了去哪儿,CC说:“Qunar的故事的结束了,托付于我的信任悉数交付了”,2015年的去哪儿真的如同过山车一般,但认为在线旅游行业的第一第二合并后,就真的天下太平了吗?未必。

学习

  • 书单
      《iOS开发进阶》
      《Objecttive-C高级编程》
      《设计模式-可复用面向对象软件的基础》
      《代码整洁之道》
      《App研发录》
      《高效程序员的45个习惯》
      《iOS应用安全攻防实战》
      《iOS逆向工程_第一版》
      《iOS网络高级编程》
      《玩转Swift》
      《Effective Objective-C 2.0:编写高质量iOS与OSX代码的52个有效方法》
    
  • 这些书并不是逐字逐句细细读的,基本上都是快速读了一遍,在写代码的过程中有所感悟,返回去再细细琢磨某些文章语句
  • 2015年清一色的技术书籍,新的一年,目标读更多的书,扩大书的种类。

笔记

  • 印象笔记总数近4000条,主要用于知识的记录和收集;
  • 发现这两年的年度总结,写起来不是很容易,很多事情还要靠自己回想和再次总结,所以想了个法子。在公司的时候,每周都要写周报,如果每次周报都到周五快下班才写,那周报质量就不高,而且好多做了的事情的细节没有体现在周报里,所以虽然公司没有要求写日报,但是自己还是会每天把当天做了什么,学到了什么写个日报,格式不限,只是记录。有了日报,写周报的时候就很简单,内容都有了,格式再规范一下,就可以发邮件了。所以年度总结也应该可以这么来。相信2016年的年度总结会比2015年的简单。

博客

2015年,我把博客里转载的文章都删除了,自己博客一共写了29篇,基本上保持了原创,但是觉得目前水准还不是很高,很多内容还只停留在tips的层级。2016年,我会减少博客的数量,增加博客的内容,这些需要自己技术方面深度和广度的更进一层。

技能

Objective-C

Objective-C这门iOS的基础编程语言,2015年我看了大概以下几块:

  1. Runtime,特别是方法交换和面向切片编程思想;
  2. Runloop,调用解耦,让Crash的App重启。配合公司的CrashLog,解决了测试无法第一时间告知开发崩溃原因的问题;
  3. OC的一些设计模式,不仅仅是系统封装好的哪些设计模式,如何把代码分散到类中;
  4. 适配iOS9;

Swift

2015年Swift我并没有过多的关注,但没有关注的才是最重要的。- -

参加了两场关于Swift的沙龙,iOS开发越来越向Swift靠近,很多新的项目都在用Swift编写。

2015年,Swift开源,引来的更多开发者的追逐,在githut编程语言排名中,增速依然是最快的。

Python

2015年,入门了一门新的编程语言Python。

学习思路值得以后学习,就是在学习新语言、新工具的时候,一定要用它做点东西,多动手去写一些程序,就会很快上手。

使用Python写了些算法,和数据库处理。在某些方面多语言的混合编程会带来意想不到的疗效。

JSPatch

2015年不得不说JavaSript越来越进化成为全栈工程师必备的编程语言。

JSPatch可以使用JavaSript来热发紧急修复一些线上的bug,而无需依赖AppStore发版。

iOS终于解决了不发版修复bug的问题。原来发现线上bug,要么后端修复,要么就只能等到新版本修复,现在终于多了一条途径。

由于之前花了点时间学习了JS,在学习JSPatch的过程中并没有遇到太多的问题,反而更加深刻的理解了Runtime方法替换的一些设计思想。

React-Native(JS和CSS)

2015年Facebook开源了React-Native,既拥有Native的用户体验、又保留Web的开发效率,使大量的前端开发人员可以进行Android和iOS移动开发。2015年末的时候对React-Native进行了学习,并没有实际开发项目,私下用React-Native写了若干demo,并参看了一些开源的React-Native项目,了解掌握了React-Native的运作原理和使用。而且各个公司都在对React-Native进行封装,以便更贴近自身的业务。相信2016年我们也会运用React-Native解决一些瘦身和热发的问题。

活动

  • 和美国留学的好基友在北京一起参加了场黑客马拉松,结果并不如意,但是过程学到了很多;
  • 参加了若干沙龙,跟Swift相关的参加了两场,移动安全的参加了一场,融资相关的参加了一场;

展望

  • 身体好、工作好、学习好、生活好;
  • 提高已有的能力。提高工作效率;
  • 学习一门新的不同风格的编程语言。PKSS、持续学习。坚持10000小时定律;
  • 减少咖啡因,各种饮料的摄入,多喝水,睡眠使自己更强大;
  • 尝试一项运动,和控制情绪,更好的调度自己的身体;
  • 按时提交每一个项目。尽早确定要做的,想做的事情;
  • 更多时间远离计算机;
  • 关注更多信息;(经济学)
  • 关注一些热门话题。增加自己的社交货币;
  • 尽可能的去使用英语;
  • 提高自己的不可替代性;
  • 不要只停留在计划;just do IT!