算不上什么工作总结和技术总结,只是大致回顾这1年记忆中的事情。
一 项目经验
算了不多写了。。没啥可说的。。
一个伪终端管理的项目和反人类的手机控制软件。。
二 读过的书
1 《重构 改善既有代码的设计》
公司借阅的书,阅读率百分之80 吸收率百分之50
前半部分看的很认真,在实践中也是有不少的应用,代码质量有了一定提高,后半部分看的有点恍惚。
经典书籍,值得一看,在有1年实际编码经验之后,看此书必有收获,值得入手实体书作为参考。
2 《分布式java》
入手实体书,阅读率百分之80 吸收率百分之50
看看开阔眼见挺不错的。
3 《深入理解java虚拟机》
入手实体书,阅读率百分之50 吸收率百分之80
这本书让人看的很兴奋啊,国内的书写到这种程度算是很不错了的吧,很容易让人读懂,也能有不少收获。 之前做一个自动生成字节码的工具并期望能动态生效的工具就是看了书中讲类加载器的地方才找到灵感。
非常值得一看的书,强力推荐。无论能读懂多少,都会对java有更好的理解。等把这本书消化了可以试一试那本国外经典的《深入java虚拟机》
4 《spring技术内幕》
入手实体书,阅读率百分之20 吸收率百分之80 这本书基本可以算是浪费了。以后也没心情看了。。不过还在ssh阵营的朋友我想应该把这书好好读读。
5 《7周7语言》
同事推荐的书,很有意思,所以开始玩clojure,进入lisp的世界。
是一本非常好的课外读物,如果你只会java语言,那么强烈推荐,了解不一样的语言,不一样的编程范式
6 《黑客与画家》
同事推荐的书,看了后半部分关于lisp以及编程语言的论述。
7《 Effective Java》
入手实体书,反复看了好几遍了,不同的时候有不同的体会,经典书籍,适合有1年经验实际编码经验的人看。
技术发展
1 放弃了流行的ssh及类似架构,在第一年工作中主要采用jhi生成器来生成基础crud已经部分基础模块代码,如权限等。目前采用jfinal作为底层核心,再在上层做扩展,在基础框架上尽最大努力解决了重复代码。但是依然有很多重复的工作,甚至在做查询密集型和权限复杂的企业应用适有很多工作量需要做,这用jhi 这样的平台是可以生成和配置的。在上半年我甚至想过采用jhi 的设计器来生成jfinal代码,因为jhi本身是支持模块自定义的,当然很可惜这部分功能没有开源了。这个项目的开源版本已经停滞了。虽然采用反编译插件筛选有用代码,已经做出一个可用自定义模版的版本。但是本身元数据过于复杂,而且波总提供了更好的设计思路,所以这个我也不再进一步做了,而去做另一个更简单的生成器项目,今年有时间便会投入这个开源项目中。
2 在实际项目中尝试了groovy.由于一天天的对java的语法忍耐度降低,对更加自由的编程的渴望,终于选择了这个和java最容易配合的语言在实际项目中用了。
目前的体会是如果仅仅是提高语法糖真没必要,反而会让代码变得有点恶心。。目前来说可以引入op4j或者是lamdaj来提升一些数据处理的能力,java8快点把。。如果还是必须用java,那么java8一发布正式版必须果断的用上!
3 开始用linux作为日常开发环境. 受同事影响,终于装上了linux,用了1个月后果然的在也不想用win做开发了。如果有条件以后都希望在server的开发团队里面统一用linux作为开发环境,一是可以督促大家学习,而且linux对于server开发者来说有太多好用的东西了。。目前正一点点学习使用emacs中,用纯文本的格式来管理项目文档,做pdf,slides等太方便了,比word什么的方便无数倍。。
4 开始尝试clojure
无论用不用lisp开发,学学lisp的思想肯定是有帮助的。
blog搬家
年初从csdn搬到blogjava,年中又搬到osc了。目前觉得osc挺舒服的让人感觉,好久不去csdn等地方了。。
吐嘈java
语法,框架以及整个社区的文化,臃肿而过度设计。oo重要的价值就是根据数据类型的不同调用到不同的方法。而这样的方法分派在oo中需要很高层次的抽象,层层继承去填充可变数据。。类层次不扁平可读性太差。。
数据驱动编程
可变的都变成数据吧。。