即将迎来人生的第二十七个年头。
我想,不管过去多久,2019 ,都将是我人生中极其特殊的一年。
2019,我开始认真写博客了。
第一次写博客可以追溯到三四年前刚毕业那会,在 csdn 上瞎写,大概写了有五六篇就荒废了。今年认认真真写了 50+ 篇,除了几篇译文之外,全部都是原创技术文,所有文章我都同步到 这个仓库 了。博客内容涉及到:
JDK 源码解析系列
AOSP 源码解析系列
Android 反编译系列
Kotlin 系列
要说我能坚持写博客的原因是什么?其实很简单,写作是一个 正向反馈 的过程。自我学习,总结输出,得到读者反馈,反过来又会倒逼你去学习。还真有好几次读者本着打破砂锅问到底的精神,把我问懵了,我只得深入研究再去给出答复。
掘金 是我最活跃的博客平台,简单纯粹,正如它的 Slogan 一样,“一个帮助开发者成长的社区”。的确,掘金也陪伴了我这一年的成长。
![](https://i-blog.csdnimg.cn/blog_migrate/266485697238be129ab3a4ed4191fefc.png)
今年目标是十万阅读,还有半个月,努努力,应该就算完成目标了。
每一位开发者都应该养成写博客的好习惯。之前在群里看到有同学抱怨某某知识点看了没多久就忘记了,这我深有体会。以前阅读 AOSP 的一些文章,看过就忘,两礼拜一过没有任何印象。在我认认真真花了几个小时阅读相关源码并输出一篇文章之后,真的,想记不住都难。即使真的忘记了,掏出自己的文章来复习,我想肯定是事半功倍的。
2019,我开始做开源项目了。
今年,确切的说是下半年,认认真真的维护了三个仓库。分别是:
wanandroid
AndroidUtilCodeKTX
Box
![](https://i-blog.csdnimg.cn/blog_migrate/8657255130b393a09b0afefee86e4d0c.png)
wanandroid 是我的 Jetpack MVVM 试验品,会在上面做很多新鲜的尝试。目前的技术栈是这样的:
ViewModel + LiveData + Databinding 完成 Jetpack MVVM 基础框架
Kotlin Coroutines 负责异步任务
Koin 负责依赖注
这个项目还是比较受欢迎的,莫名的好几次在不同的群里被人认出来了(手动脸红),也因此认识了一些小伙伴,有学生,有老鸟,大家一起讨论技术的氛围我大概很久没有经历过了。
虽然有愧大佬这个称号,但每次看到这种评论心里还是很开心的。Android 本身作为一个开源操作系统,作为开发者也应该在适当的时候反哺社区。Wanandroid 也会基于 Jetpack 持续更新,欢迎大家关注。
AndroidUtilCodeKTX 是我在用 Blankj 的 AndroidUtilCode 时诞生的想法,Blankj 的库的确很好用,但是在 Kotlin 中照搬 Java 的用法实在有点不合适,所以着手写了这么一个库。
它并不是 AndroidUtilCode 的 Kotlin 翻译版本,我也从来没有把它定位于此,更多的还是要从 Kotlin 的角度去写,当然肯定少不了剽窃 Blankj 的代码,哈哈,在此向 Blankj 表示极大的感谢。目前已经积累了一些工具类,但个人进度还是很缓慢的,有兴趣的话,可以抛来 PR ,一起维护吧。
Box 的诞生源于 Trinea 的开发助手,不知道小伙伴们有没有使用过,对于里面的反编译功能我就特好奇是如何实现的,当然开发助手并不开源。最后发现直接把 jadx 搬过来就好了。
Box 的定位就是一些稀奇古怪的功能了,可能哪天看到了什么功能,就会想办法搬过来。最近看到了 MT 的修改 Apk 功能,就准备实现它,当然 MT 也是不开源的。关于修改 Apk 功能,其实已经有了大概的思路,距离完成还需要一段时间,到时候也会开源出来。
另外还想做一个抓包的功能,全局的,不是自己应用内的抓包。暂时只想到通过 Vpn 拦截所有 IP 包,具体的实现逻辑还有待思考,协议方面的知识也有所欠缺,希望 2020 年有机会把这个捣鼓出来。
还要特别感谢 issue 区的同学,给我挑毛病,提建议,给方案
要说写博客和做开源项目耗时间吗?答案是肯定的。我的业余时间基本都贡献给了技术输出和开源,而且我的两个孩子都在身边,时间并不富裕。最开始做这些事情,我的想法是树立个人品牌,说直白点,就是想红。然而大半年过来了,显然我并没有红。但是我坚持下来了,我体会到了开源带给我的乐趣。我想,余下的一生,我仍然会以此为乐趣。
无他,为热爱尔。
2019,我迎来了我的女儿。
虽然要求主题与技术相关,但是作为一个奶爸程序员,我不得不分(炫)享(耀)一下我的生活。
2019,我的小天使诞生了。
在这里首先要对老婆说一声,辛苦了!她的孕吐反应极其严重,九个月的孕期简直就是一种煎熬。不过幸运的是,最后是我们想要的结果。
都说女儿是爸爸上辈子的情人,和我那个恨不得每天揍他一顿的儿子相比,的确有很多不一样的情愫在里面。一个是哇哇的哭,另一个是嘤嘤的哭。一个动若脱兔,另一个静若处子。一个想培养成程序员,另一个肯定不想培养成程序媛。
每天看着自己的两个孩子,幸福感油然而生。作为自己生命的另一种存在,这种感觉,我想只有切身体会才能感同身受。
很期待他们上小学,上高中,甚至成人的样子,话说妈妈给你们的升学宴的酒都备好了。又想时间可以再慢一些,因为现在所经历的每一刻都是以后再也不会经历的了。
正如关注我的公众号自动回复里的那句话,“秉心识本源,于事少凝滞。” 希望两个孩子永远可以秉持内心做自己,爸爸妈妈永远是你们坚强的后盾。
立个 Flag ?
立 Flag 好像成了年终总结必备,其实我是很不情愿做这种事的。相比一整年的目标,我更喜欢分解出一个一个切实可行的阶段性目标。
最后还是来罗列一下我的 2020 小目标:
公众号关注数加个 0
每月至少输出一篇技术文章
持续维护开源项目以及添加新功能(编辑Apk 和全局抓包)
技术上还是以深度为主,广度为辅,持续学习
刷算法,刷算法,刷算法,重要的事情说三遍
……
大致先列这么多,2020 还有半个月,我可能还会回来更新(删除) flag 。
最后
感谢孩子,让我认识到做爸爸的责任。
感谢老婆,在背后默默的付出,无微不至的照顾一家人的生活。
感谢父母,一辈子都在为孩子操劳。
感谢所有和我发生交集的同学,朋友,家人,程序员们,我的每一点进步,也少不了你们。
最后分享一句话,努力的人运气一定不会差 !
2020,一起努力 !
文章同步微信公众号:
秉心说
, 专注 Java 、Kotlin、Android 原创知识分享。更多最新原创文章,扫码关注我吧!
![](https://i-blog.csdnimg.cn/blog_migrate/40faa6159c7ba97e582a88dc52dcfd9b.png)