这么快又到了年底,仿佛上次写年终总结还是没多久之前的事情。
总感觉这一年过得特别快,也许是今年没有发生大事吧,更多的是在重复同样的事情,所以对时间的感知也变淡了。我想这起码不是坏事吧,就像我们总是生病了才来感慨健康的可贵,能意识到自己正处于平凡健康的状态并享受其中,这样的意境也不是人人都能做到的。
我的 2018
最想说的还是工作。这一年的角色不再是学生、实习生了,而是完全的职场人士了。需求没少做,从去年的些许慌乱,到今年的驾轻就熟,不会再因为需求的复杂绞尽脑汁而无所得了,得益于自己工作之中工作之外不断学习不断积累。能静下心来,拆解复杂的需求,理清依赖,并逐个完成,最后连成一线,这样的方式不仅让我能出色的完成任务,甚至有点享受其中。相比完成同样需求的其他同事,自己的速度比较快,测试时反馈的 bug 也比较少,看着自己写的代码规整、高效且正确地运行着,充当着庞大项目中的一员,这是工作带给我极强的正反馈。
年初用了近两个月钻研底层的 Clang,这段学习经历对我来说很重要,过程中对着十几篇文章试验下来都没办法正确运行 ,不停的失败,不停的自我怀疑,心里憋着一口气,真的不想放弃,很想要一窥这庞然大物的真面目。到终于运行成功了,还得对着枯燥庞大的 Clang 源码苦苦查找关键代码,最后终于完美实现了自己的需求,现在都还能记得那种欢心雀跃,回首望去,才长舒一口气,原来答案竟然是这么的简单,大道至简,事情的本质往往都是及其简单的。我想,这段学习经历能让我记很久。
年中用了四个月时间做了两个个人 APP,虽然第一个 APP 因为各种原因没办法上线,但是这两个多月的时间并没有白费,自己不仅学到了音视频处理的知识,还收获了一整套做个人 APP 的经验和节奏,这也是第二个 APP 能做的这么快的原因。在做个人 APP 的过程中,自己把产品、设计、服务端、客户端、测试各个角色都体验了一遍,相当的有挑战性。由于是个人项目,所以不再有明确的 deadline 催促着自己推进,完全靠自觉。在这四个月的时间里,基本上每个周六都会去公司做项目,甚至有时候连周日也会抽出几个小时接着写代码,希望这种专注的劲头自己能一直坚持下去。在这几种角色中,感觉自己服务端和测试还是比较薄弱,服务端用的是 LeanCloud 这种后端云,测试部分只能不断的进行功能测试,对项目的保障力度远远不够,明年要学习 Laravel 和单元测试,把这两个弱项补起来。我觉得自己最喜欢的还是客户端的部分,明年依然是深入钻研 iOS,同时拓展足够用的服务端的技能。
到现在年底了自己正在从基础的 runtime、runloop、多线程看起,平时做业务时对很多知识都是一知半解、不求甚解,以结果为导向,完成了需求就觉得万事大吉,对看起来正确运行的代码中的隐患一无所知,这样的状态时常让我觉得不安。自己现在的知识都是零散的,全是一个个的知识孤岛,这样记住的知识很容易就被遗忘,在短短一个多星期的复习中,已经能体会到其实很多技术之间都是有关联的,需要将它们串联起来,同时要主动创造这些底层技术的使用场景,在实践中用到的技术才能记得久。另一方面,感觉自己在当前所处的环境中还能学到的技术有限,通过自学或者自己做项目的确能提高能力,但是未必都适合用到工作中,我想应该是时候换个环境了,安逸的太久了容易产生惰性,丧失自己的竞争力。
由于去年体检时体重接近爆表了,所以今年花了几个月时间减肥,天天晚上水煮青菜,时不时出去跑步,一口气减了 10 几斤,减到自己高中时候的体重了🤣。不过这两个月公司开始加班制度,晚上不能回去自己弄水煮青菜吃了,跑步也没坚持下去,体重当然反弹了一点,所幸自己现在坚持每天上下班都走路,反弹的不是很多。明年还是得坚持跑跑步,感觉时不时运动精神头各方面都好一点。
上一年定下的目标
- 写 6 篇技术文章,并更多的在社区中互动(完成):《iOS 表情键盘的完整实现》、《Source Editor Extension — Xcode 格式化 Import 的插件》、《[翻译]用 LLDB 调试 Swift 代码》、《Clang 之旅–使用 Xcode 开发 Clang 插件》、《Clang 之旅—[翻译]添加自定义的 attribute》、《Clang 之旅–实现一个自定义检查规范的 Clang 插件》、《iOS 截图的那些事儿》
- 开发一个独立 APP(完成):《BBC NOW》、《打卡圈》
- Clang、图像处理、逆向工程(完成度 66%)
- 看 12 本书(基本没完成):《价值平均策略:获得高投资收益的安全简便方法》、《指数基金投资指南》、《Getting Started with LLVM Core Libraries》
- 争取能做到 Github 的 contributions 亮起来一半(基本没完成)
- UI 设计(完成)
我想要的 2019
- 写 6 篇技术文章,并更多的在社区中互动:好习惯,继续坚持!
- 研究 Runtime、Runloop 等底层技术,并探索实际应用场景
- 维护个人 APP
- 服务端 Laravel