2017年年终总结-iOS程序员

2017年快过完了,2017是充实的一年也是忙碌的一年,相比2016年改变了很多,对于过去的一年做一下总结,也许未来有了娃,可以让娃看看TA老爸当年是怎么过的.

一) 关于工作:

2016 年,离开上个东家,离开是离愁,别有一番滋味在心头,在哪里工作了15个月,离职就像离开自己的娃一样很不舍,但是又必须得离开
来这个公司工作一年多了,良好的团队氛围真的很重要,有基础架构组的同事研究新技术对大家提升还蛮快,也学到了很多知识.

  • 负责的模块
    95% 以上的开发需求都是在比较复杂的模块内(可以理解为QQ或者微信的聊天页面),能比较准确的把控项目需求进度,并且能够给出合理的技术方案,参与了本业务线75% 以上的中等或者复杂需求。
  • 组件化(私有pod) 将项目中模块解耦。
    赶快组件化吧,组件化是好东西,第四季度所有的中大型需求都面向组件化开发, 创建了新的组件有10多个。
  • 持续集成,需要很多脚本,脚本会了这些自然上手就容易了!
  • 接入了bugly,为公司的项目实现了针对某个用户反馈的问题,快速定位出崩溃,使用过友盟崩溃收集,使用过Fabric,觉得bugly 是最好的优点如下:

bugly 支持脚本自动上传符号表,bugly支持设置标示,将用户的昵称设置为标示,具体参见文档,用户反馈崩溃了,你只需要知道用户昵称就可以查到什么崩溃,项目实现crash 弹出alert,提高识别崩溃的原因
以前的crash 需要手动解析,手动传符号表, 并且使用脚本实现符号表自动上传,实现crash自动解析,改变了查找开发阶段和线上崩溃的方式。bugly支持自定义错误上报,适合对一些疑难杂症的排查埋点。

  • 项目中使用了webp,开始怀着对webp美好的期待,希望可以减少ipa大小(ipa大小是boss非常关注的问题),到后来部分使用webp 部分使用png,最终全量使用png,不得不说是在webp使用过程中走过了一些弯路 webp缺点如下:

webp需要解码,解码的速度很慢,比较耗时,会造成卡顿,所以不建议大量使用
web 不支持asset,不能依靠asset对图片的压缩和加载优化特性,使用webp瘦身的方案不可取(去年解压微信的包 还没看到微信这样的公司使用webp 其他的亿级app待观察)

  • 学习了python的脚本
    简单的学习了python的脚本,能将python脚本应用到项目中,也写了几个脚本,后续有时间可能会开源(这些不涉及到公司机密)
  • 学习了shell
    阅读了一些shell的源码,为未来实战做准备,皮毛阶段,2018年希望能Shell在iOS中实战
  • 为公司搭建了c++消息mock工具
    解决了c++消息模拟的难点,在最近的项目开发中经常用到,开发了弹幕mock工具,mock在本业务线和其他线开发中广泛使用,并且做了培训分享,自从使用此工具之后,开发走向了面向c++文档开发之路,极大提升开发效率。
  • 自定义日志上报
    上班数据不能太大,否则超过百万 数据规模不是一般大,服务器成本还是要一些
  • 核心模块优化
    将核心模块的的viewWillAppear时间降低到原来的10% ,提升了进入核心模块的速度。
  • 自动化打点
    为自动化添加标示,将预计耗时2个月以上的工作量缩短到4天完成,自动添加标示技术是iOS自动化测试的基础工作,并且一年以来长期对自动化分之进行维护和迭代。使用runtime为每个控件增加标示,这个是自动化的基础!
  • 做过协议和UI变化很复杂的项目,其实处理思路还是可以分享的,20多种消息 80种UI,消息有先后如何显示 ,缕清楚了很简单,没想清楚蛮懵逼,总之是将复杂的问题转化为一个线性的,转化成功 800种状态都可以处理,在这个项目中也有机会去和大家协作 。也许做这个项目是最有收获的!
  • 也阅读了很多别人的代码 做一些code review ,有些代码写的好,有些需要继续提高吧。包括我自己也需要提高。
  • 项目中使用了Flex,Flex真的是一个调试机器,抓包看沙盒,调试UI推荐给大家 ,集成估计需要花4小时吧。
  • 练就了上万行代码中改个功能 脸部变色心不跳的良好素质。
  • 动了几行代码进直播间提速了
  • 开启了react native的学习历程,公司内部培训,毅然决然的报名了,通过报名来约束自己更好的学习吧,也许明年迈开了学习新知识向全栈工程师迈出了小小的一步,去年是玩github和写博客的一年,今年是开启新语言学习的一年,学习一门新的语言没有想象中的那么难
  • 天天游弋在万行控制器之中(业务太复杂),还没有线上故障 也是比较幸运和开心的事情。

二)关于健康

2017年打了很多次羽毛球,一直在加强锻炼,良好的身体才可以更好的工作,有些的小伙伴请病假次数略多,而我病假的次数为0,这也许是长期坚持锻炼的结果吧!希望明年继续保持,身体好了才能好好工作,好好加班!

三) 遗憾

没有去下远方旅游下,没有看一部电视剧,才看两场电影,没打游戏,那你会问你平时干嘛,除了忙于工作,睡觉,就是羽毛球,看看今日头条的新闻,看看技术博客,也许会被认为是多么无趣的生活啊。哎其实还好!习惯了就好。2018继续加油 ,每天都希望能有所目标

四) 立个flag(看2018 能完成多少)

react,Js学习


图标
fastlane

防crash技术和规范

逆向 ok 自动脚本砸壳

shell脚本调试技巧

ruby语言了解和调试 项目中的脚本弄懂

python 加强

研究50道iOS牛逼面试题提高自己

源码解析2篇

组件单元测试

设计模式

osx内存笔记 c++语法

作者开发经验总结的文章推荐,持续更新学习心得笔记

五星推荐 Runtime 10种用法(没有比这更全的了)
五星推荐 成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)
五星推荐 iOS逆向Reveal查看任意app 的界面
五星推荐手把手教你使用python自动打包上传应用分发
JSPatch (实时修复App Store bug)学习(一)
iOS 高级工程师是怎么进阶的(补充版20+点)
扩大按钮(UIButton)点击范围(随意方向扩展哦)
最简单的免证书真机调试(原创)
通过分析微信app,学学如何使用@2x,@3x图片
TableView之MVVM与MVC之对比
使用MVVM减少控制器代码实战(减少56%)
ReactiveCocoa添加cocoapods 配置图文教程及坑总结

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 128,698评论 19 550
  • 若说这世上谁最傻,十有八九会有人说是叶家嫡出丫头——叶清,若说这世上谁最痴情,故都上下皆知是武家公子——武罗; 定...
    白曦Arno阅读 53评论 0 2
  • 独爱陌上花,共享诗酒茶 ——初见寄语 各位新老朋友:大家好!我是晓黎。很高兴在新年伊始与诸位结缘,这是缘分的河流清...
    陌上桃源阅读 74评论 0 1
  • [cp]【中国最后一位压寨夫人仍健在”容貌惊艳世人“?记者求证:老人已去世3年】11月2日,网上盛传“中国最后一位...
    Andy姐姐的小屋阅读 431评论 0 0
  • 2018.7.13周五下午茶: 总是看到老公办事不顺利,是种下了什么坏种子? 是自己总是让别人失望不满,是自己陷入...
    我爱养生阅读 104评论 0 0