去年年底,结束在ninebot为期半年的Android开发的实习,正式进入了实验室科研(搬砖)。实验室工作主要以机器学习为主,在工作之余也做了很多尝试,在这里做一下总结。比较杂乱,想哪写哪。
machine learning 的学习
年初和朋友系统学习了ml,看完了西瓜书监督学习的部分,花书半看半实验。为了验证成果组队打了talking data比赛,包括后来还参加了一个图像识别的比赛,成绩挺差。总的来说,初步了解了机器学习包括神经网络在内的一些思想,虽然不是我的方向,但是为我在实验室项目的顺利推进也打下了坚实的基础。
IPC&RPC原理
在上次实习的过程中,项目组大量采用了rpc的调用,封装了所有与机器人通信的接口模块。其总也涉及到了IPC的运用。所以有段时间主要研究了关于android ipc及rpc的实现方案。还写了个github的demo项目。
jsoup
应用jsoup,做了一个u17半成品客户端,说是半成品是因为只有查看热门排行榜和看漫画的功能,这里就不献丑了。。55
annotation
学习了java的annotation,深入阅读了butterknife源码,并实现了一个view的轻量级的注解框架Ophelia。
videoPlayer
实现了一个基于SurfaceView的简单的视频播放器,实现了视频的播放控制,音量亮度控制,横竖屏切换。Terese。
tensorflow lite
做了一个基于TensorflowLite的图像风格迁移项目,集成了前面说的自定义注解框架和IPC工具,通过多线程解决了在内存较差的手机上进行nn运算导致的OOM问题。
android源码初探
在看binder相关的时候,觉得接触到了android的核心了,深入了解了一波,记了一堆笔记。果然我还是更喜欢手写。
Hadoop MapReduce
学习了一波分布式计算框架,因为这是我的项目方向。后续的项目内容也主要以MapReduce为主了。
Perl
学习了perl脚本语言的重要用法,然后在项目中,主要应用在了数据库的操作上,我不确定自己是不是小才大用了,但是确实是体验很好的一个用法。
kotlin的学习
系统地学习了kotlin的语法,在我的几个练手项目中也或多或少用了kotlin,像之前的漫画app就是了,目前正在做的一个项目也是如此。感受很好!
flutter的学习
对flutter的学习比较浅,只停留在api调用方面,简单实践了一下官网上关于ui,io,通信相关的demo,对于这个方向,持乐观观望态度。
dagger2
应师姐的强烈推荐,我也开始全面上手了dagger2,果然是大杀器,dagger2+retrofit2+rxjava2开始变成我的项目标配了。原理上,主要跟annotation相关,code generate解决了大量手动注入。
LiveData+ViewModel
这一份属于框架上的变化,我从mvp的编程习惯逐渐转向了mvvm式。在这种架构中,原始mvp的view不再依赖presenter的回调,而是使用life recycler相关的liveData自动更新,切掉了presenter到view的强耦合。强烈推荐。
愿望清单
在攒够了未来几年的学费之后,算了算多余出来的,那这部分多出来的钱给自己买了台macbook pro,算是一个愿望达成吧。
博客迁移
由换笔记本引来的思考,加之原来的博客主题也该换了,于是在一拖再拖之后终于迁移了博客。原本的博文做了一些筛选,po照的,日记的,刷题灌水的都看不到了呵呵。
家人
奶奶病了。肺癌。这段时间基本就是天天down,确诊前几天天天打电话跟姐姐确认。
很难受,也有段时间在怀疑自己的人生目标,远方是否值得,子欲养而亲不待。无数次梦回乡下宅院。
旅游
去了一次京郊的红螺寺,我很喜欢深山古刹,小桥流水古镇这样的风景。给我凝结时光的梦幻感。
。。。。
最后,展望一下2019吧。
- 刷题
- 练手项目推进
- 实验室项目也要推进。。
- 冬天里,去银川旅游一次
- 夏天里去个古镇
- 找份实习
- 买个switch
- 。。。