2017总结&2018展望

2017回顾

  • 工作

作为一个2017届的应届生,我2月底就到公司开始实习了。早早的去实习的原因是我担心自己的android经验不够,因为校招时我更擅长的是Java后台。
于是只能一边工作一边自己看书、看博客学习咯。
工作上公司的框架很大也比较老,刚开始的时候存在很多很多老bug。不知道算是倒霉还是机会,听说17年项目突然受到重视,然后要求的比较严格,把很多前人挖的坑都测出来了,然后得由我们(应届生)去填。虽然很坑也很累,不过比较是在一个很大的项目进行,间接提高了看代码,改Bug的能力,对后面去看别人开源的项目也有帮助。
工作上的事情基本上就是在一个大框架上修修补补了,加新功能,改老功能。有时新的需求,写demo一个小时就搞定的东西,加在框架上面就比较麻烦,要考虑是否会影响到其他功能,兼容新老客户端,往后功能扩展等等。
1.和H5交互,深深感受到js也是需要学习的,起码要看懂,不然都不好直接甩锅给h5。而且客户端改东西就要重新打包,客户使用需要升级很麻烦,原生开发不能满足频繁的小需求改动,这时肯定是要结合h5的。
2.android除了ui,业务逻辑的模式设计,当然还需要对性能进行优化。
用traceView,直接或间接优化过卡顿、黑屏、应用启动慢等性能问题。heap分析工具查看内存泄漏,在平时编码时像handler防止泄漏等养成一种习惯。其实就是用的AS的profiler以及ddms来帮助分析。
3.学习了解rxJava风格编程、retrofit、区块链、刷leetCode等工作上没有接触到的东西。github上查看学习别人的奇淫技巧(卡卡西复制忍者,看懂了就是我的了)
4.还有一些也想不起来了,这一年蛮充实的。。。比如为了了解android的网络请求模块,用springBoot搭建后台,部署到vps上,给自己提供一些简单的接口。不过这个业余时间大概搞了不到一个月就没弄了,因为后面发现可以直接用别人开源项目里面的接口(嘿嘿嘿)。

  • 生活

基本上就是看看书,翻翻博客,写写代码。偶尔和同事(男)出去玩。天气不错的时候会去骑自行车。
特别喜欢在黄昏,太阳快要落下的时候出去转转,或是在城郊附件散步,或是在乡镇的小路上骑行。如果有人同行,就互相讨论着未来;如果一个人,就会静静的陷入思考。
看着昏黄的太阳,感叹时光流逝,后面的时光还需要更加努力。
当然,内心还是想要一个gf的。
在17年出了一个中兴跳楼事件,虽然才刚毕业也被深深敲了一个警钟,中年危机是每一个程序员不可避免的问题。对未来的恐惧和迷茫,瞎担心也没啥用,唯有不断学习提高竞争力,争当top型的程序员才能避免被时代淘汰。

  • 看过的书

大半年下来也看了几本书,确切的说是半年吧,前面的时间全部贡献给了公司。书和博客的区别是书比较系统全面,而博客比较针对单一点深入。
1.《第一行代码第二版》 (熟悉)
当时作为android入门书籍,经常看郭霖大神的博客,买了一本来支持。
2.《android群英传》(熟悉)
开始从源码分析,满足初学者的好奇心,由面向api编程向着面向源码编程转变。
3.《android艺术探索》(熟悉)
在看完群英传之后,接着看任玉刚大神写的书,可以进一步解惑。满足求知若渴的新手。
4.《android源码设计模式解析与实战》(了解)
结合设计模式,进一步接近sdk源码。比如弹窗都知道怎么用,但是怎么通过简化版的Builder模式一步步创建的可能不是所有人都了解。
我还没有看完,17年时间不够了,看完一遍应该还要再刷几次。
5.《深入理解JVM 第二版》(了解)
虽然android虚拟机是基于寄存器的,jvm基于栈。但是大部分是一样的,而且看下虚拟机,可以从另外一个角度学java以及理解Java的多线程(kotlin还没接触过!)。
6.《java多线程编程》(了解)
搞定多线程同步的问题,线程间通信。有效闪避死锁问题。
7.《人月神话》(翻过)
吃完晚饭在公司一楼挺尸的时候拿来翻过,是面向管理者的,处理人数和月数的关系。但是目前和我没多大关系,也没怎么仔细看,不过我觉得挺有道理的,如果以后我转管理了,会知道有这么一本书。

  • 总结

其实17年看着学了好多,但基本上都是皮毛。而且有的时间本可以好好利用,也浪费掉了。
人外有人,天外有天。学习之路,永无止境。
保持良好的心态 出发2018!

2018展望

17年感觉更像是铺垫打基础,学习一个点的时候会发现其他自己都不会的,然后又要花时间去看新搞出来的东西,然后又发现其他新的领域。。就像是广度遍历一样。
18年就该在这基础上开始深度遍历了,把一个个模块的知识整理成一个完整的知识网络。
立个FLAG 2019年再来看看些目标有没有完成

  • 学习h5 JS。
  • 深入了解设计模式 。
  • 接触frameWork。
  • 接触JNI NDK开发。
  • 坚持更新github,更新博客。跟进最新的热门技术。
  • 看至少12本技术书籍。
  • 英语能力
  • 后台开发 (if necessary)
  • Kotlin (if necessary)

你可能感兴趣的:(2017总结&2018展望)