




Via





|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
go version go1.7.1 linux/amd64
|
|
|
|
Hello, 世界
工作一年,有喜有忧,收获颇多,生活亦是如此。
上午半年主要还是项目上的事项,很多事不算完美,项目一直纠结在小细节上,导致整体项目上线不是很顺利。需求一方面不能确定,一方面客户也在调整,当然技术上也有缺陷,程序不够灵活。导致需求调整带来很大代价。
中询主要是书写平台文档,将平台现有产品文档化。主要涉及设计器、平台框架、技术开发API、常见问题等。其中接触了一套开源的问答系统(question2answer),觉得用来做收集平台常见问题很适合,有点类似Stack Overflow技术问答,可以将一个平台常见问题录入系统,然后遇到类似问题的同事就可以直接参考问答系统,可避免总是问重复问题。
下半年可以说是一个分水岭,结束一份工作五年的工作,进入一个对我来说全新的行业。离职对双方都是一个损失。离职前得注释一些代码,其实感觉没有必要说这个。但是很多代码是前任留下来的,很多没有注释,觉得这个很糟糕。这也是下半年主要是工作内容,基本上把整个平台代码翻新了一遍。以后在开发中应该保持注释代码的习惯。说说新的工作,十一月份入职后,算是比较快适应新工作。从一个非互联网跨界到互联网,感觉知识储备还是不够的,补缺不漏的东西还是挺多的。
首先,系统部署环境上,以前接触比较多的都是window service ,现在要开始学习Linux。对它的了解还不是很全面,很多东西得去积累,工欲善其事,必先利其器。还有Shell脚本语言得深入浅出,不然不能很好地使用Linux。
开始接触一些开源的应用,如容器引擎(Docker),让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
持续集成工具Jenkins,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目;监控外部调用执行的工作。
进入新环境后,首先是熟悉公司平台,花了一周多时间整理业务逻辑及数据结构;接下来是搭建java开发平台,主要用于平台接口业务开发,采用主流开源框架搭建,其中用到Spring、Hibernate,数据连接池使用durid,封装通用数据操作工具及平台常用工具类;确定接口以restful api方式实现,比较简洁、方便调用;接口采用dubbox实现分布式;平台缓存功能实现,采用redis为缓存宿主;通用接口日志记录,实现业务接口调用记录功能;开发业务接口,接口性能测试、接口API文档、实现业务数据转化功能,接口部署方案及文档化;实现字典数据、token管理等通用功能。两个月的时间,收获颇多,平台从零到一,学到很多知识,当然要学的东西还有很多。新工作展望:持续完善平台,使用平台理健壮,接受业务检阅;跟进平台分布式功能,以适应后期业务扩展;接口开发工作;探索新的部署方案,平台与Docker结合,从而实现持续集成、自动化部署;日志分析、数据报表、消息队列;Java团队建设。
坑一
由于前期没能考虑到接口的业务复杂度,开始数据查询没有统一查询,数据查询耗时过长,导致接口响应时间不理想。后面采用预处理方式,将用到的数据统一合并查询。中途数据计算使用Java8 Lambda表达式。