再见2015
时光匆匆,转眼2015年就要过去了.2015开年的事情仿佛刚过去没有多久,2016又要来了.今年是忙碌的一年,不管是在生活上还是在工作上都发生了很多的变化.本文将回顾一下作为程序猿的自己在今年的成长,做一个简单的总结.
博客
今年年中,自己在github.io上搭建了自己的个人博客,并且把以前的一些文章从evernote上迁移了过来.以前,从来没有写博客的习惯,一个是觉得写博客比较麻烦,因为可能不是自己一个人看,不能像在evernote上那样随便乱写.还有一个就是觉得东西有个地方保存就好了,没必要分享出来.不过,最后还是决定把博客搭建出来,既能锻炼自己的书写,也能强迫自己把东西记录的更规范更细致,最后也能分享给有需要的人.从事了5年的软件行业了,渐渐的开始理解开源人的心态了,也从各位开源的大神中得到了很多的好处,是时候把自己力所能及的东西分享出来了.
今年一共写了43篇博客,从数量上来说不算多.主要涉及的是JAVA研发体系
以及Swift
方面的内容.
对于明年,目标是60篇博客,内容上更有深度与广度.希望能够达成.
阅读
今年阅读的书不多,更大的变化是技术类的书从以前的只阅读实体书,到渐渐的开始接受电子书了.
书名 | 类型 | 完成度 |
---|---|---|
写给大忙人看的JAVA SE8 | 实体书 | 完成 |
Spark大数据处理 | 实体书 | 60% |
敏捷软件开发 原则,模式与实践 | 实体书 | 重读 |
The Swift Programming Language | 电子书 | 完成 |
SWIFTER 100个Swift必备Tips | 电子书 | 完成 |
Docker —— 从入门到实践 | 电子书 | 完成 |
快学Scala | PDF电子书 | 40% |
团队实践
今年由于公司新开项目的原因,能够有机会对团队的运作有较大的改变.
首先,终于把所有的代码都从SVN上迁移到了GIT上.这个过程看似简单,其实是比较麻烦的.当一个团队在SVN上都搞了5年了,然后更换了整个工作的流程,并不是想象中的这么容易的.要让十多号人都熟悉GIT的概念,熟悉基于分支的开发模式.终于彻底贯彻了我在2012年摘抄到evernote上<A successful Git branching model>这篇文章上所描述的工作模式.感觉到了GIT的强大与方便.
其次,尝试在项目中引入SCRUM敏捷开发,由于团队人数不多,需求比较灵活.因此,尝试了引入SCRUM敏捷开发,并且使用了Teambition作为管理工具,每天进行站立会议,阶段评审等等.就目前执行了3个多月的效果来看,一半的一半.一半的成功是坚持了站立会议,阶段任务制定,阶段成果评审等等,确实清晰了当前的项目状态.一半的失败是没有坚持下来使用Teambition工具,并且任务墙也没有坚持下来.除了让所有团队成员事无巨细的拆分任务和记录任务状态不容易外,自己对于Scrum的不熟悉也是一个原因.搞了这么多年的瀑布式开发,开发的习惯还没有更改过来.
希望明年会有进步,把任务墙的机制彻底的落实下来.
JAVA
今年在JAVA方面主要的进步是在于扩展了大数据方面的知识.以前搞了这么久的JAVA,一直停留在了JAVA语言本身,各种业务逻辑,J2EE,检索引擎这些上面.而今年开始有机会接触了Hadoop
,HBase
,HIVE
,Spark
这些东西,虽然还很基础.不过总算也是入门了.
明年的目标就是以项目作为机会深入的了解大数据,以及数据挖掘方面的东西.
互联网技术
今年还有一个显著的变化就是接触了大量的互联网的技术.公司的新项目是一个类似于互联网的项目,因此需要掌握一些以前接触比较少的互联网技术.比如:mongoDB
,Kafka
,Redis
,Zabbix
,ELK
,S3
,ceph
等等.相较于以前的项目,变化还是相当的大的.接触了很多新颖的东西,也趟了很多的坑.总的来说就是痛并快乐着.
互联网的趋势势必会席卷整个IT行业,你在哪一个垂直行业都是躲不了的.这也是件好事.就我个人而言,也比较高兴的,找到了以前学习软件的时候的那种兴奋感.勿忘初心,重新学习
一直作为我整个2015年写在QQ签名上的座右铭.
其他语言
2015年还有一个重大的变化就是我开始把眼界从JAVA的生态环境中跳出去.接触了更多的语言以及它们的一些思想.其实搞软件的不能只关注于自己的那一小块圈子,在其他语言中也有很多可以借鉴和启发你的东西,就算暂时没有,开拓开拓眼界也是好的,指不定哪天就会用上呢.
在年中,接触到Kafka
的时候了解到了它是使用scala
写的,和JRuby
,JPtyhon
这些类似,它是基于JVM上的一门新的语言.其实这门语言已经出来很久了,不过一直不算很广泛.这次在Kafka
和akka
中看到使用了scala
,于是就去了解了一下.然后就被它的语法所吸引了,它解决了JAVA很多以前很烦琐的东西.JAVA由于一直要兼容以前版本的东西,所以这几年变化一直不大.哪怕最新的JDK1.8新增了很多的东西,但是整个体系还是在那摆着的.比如闭包的实现,完全比不上其他的语言,要实现一个闭包还需要提前的定义一个接口.而scala
真是解决了这些的问题,它以简洁的语法漂亮的增加了我们的效率,并且还兼容了大部分的JAVA库,要知道这些JAVA库可是JAVA现在一直坐稳第一语言最大的依仗.C#语言本身其实经过这几年的发展已经比JAVA要优秀了,但是背后缺少了开源社区的支持,以及长年累月积累起来的各种库,始终在5 6名左右徘徊.因此,明年的目标就是继续学习scala
,争取能拿scala
写一些东西出来.
在年底,由于codis
和docker
的原因,近距离的接触到了golang
,这个被google誉为下一代开发语言的语言.也大致的了解了一下,它的一些思想确实比较先进,比如协程
,严格的书写格式
等等.不过由于时间和精力的原因并未有太深入,现在还停留在大致能看懂别人的源码的程度.明年的目标是系统的学习一下golang
.我对这门语言还是比较看好的,它从语言级别就支持多并发的特性,是比较适合于大数据高并发的系统的.
贯穿整年,得益于Apple对开源的态度,以及IOS9对IOS开发者真机调试的免费开放(是的,这个理由就是这么low,真的是被这个吸引了,可以自己给自己的手机开发APP了).我深入的学习了Swfit
,这是从2012年在公司项目上使用Objective-C
写过一个MacOS
上的工具外,时隔3年又一次投入Apple的怀抱,这次的感觉很好.由于从大学开始就一直学习的是JAVA
和Python
,对于自己手动的管理内存实在是头痛.因此,信仰没有抵过现实,把MacOS
上的工具开发完成后,就再没有接触过Objective-C
了.
但是,在2014年WWDC上看了Swift的演示,我一下就被吸引了.类似于动态语言的语法,静态语言的本质,各种语法糖以及现代语言的思想,无不吸引了我.再加上年底的开源,更是把Swfit推上了一个小高潮.
现在Swfit已经是我第二熟悉的语言了,又时甚至会想要是JAVA有 Swfit的这个特性就好了~
基于Swfit,今年断断续续的写了两个完整的应用以及几个框架或代码片段.也算是入了Swift的门了.第三个应用也在筹划的阶段.明年的目标就是更加的熟悉Swift以及IOS的开发,不指望以后靠IOS吃饭,自娱自乐写点有意思的应用还是不错的.
DevOps
以前在这方面接触的最多的就是 搭建了 Maven+Jenkins进行持续化集成,并且一直使用了3年.
今年开始涉及了云计算以及容器化技术.开始在各种云上实验各种东西.并且把Docker引入了今年公司的新项目中.Docker可以说是今年获得的最重要的技能之一.
开源
单独把这个写出来,也是想说明现在对于开源越来越有认同感.自己也在Git@oschina以及github.com上分享了几个东西.有Swift
的,也有JAVA
的.其中拿来练手而写的ZhiHuDaily-Swift更是拿到了git@OSC
上Swift
分类下最高的Star数以及收到了知乎官方的电邮(当然不是法律侵权这些),这让我非常的高兴,更加的坚定了开源的决心.
明年的目标是希望能参与一个他人的开源项目,或是协作,或是pull request
.现在Swift开源了,要是能在Swfit
上留下自己的印记,那可是很值得开心的,加油!
总结
总结今年的成长,比去年的多姿多彩,涉及了更多的方面.并且成功的进入了IOS Programmer的世界,也算是圆了资深脑残果粉的一个心愿.其他技术方面,很多东西都只能算是入了个门,更多的精彩和挑战还在后面.
期待2016!再见2015!