Java基本功扎实,泛型、注解、反射、内部类都有在实际项目中实战过。喜爱Java8中新增函数式写法,熟悉常用设计模式,数据结构与算法。对并发与IO略有研究。喜欢探究框架语言内部实现原理,阅读过部分JDK、Mybatis、Spring等开源框架的部分源码。并将阅读所得的编程思想,套用在实际项目,以改善项目组织结构,提高代码扩展性、维护性。业余之时喜欢阅读各类技术相关经典著作和史书。
个人职责:编写设计文档,框架搭建,核心代码编写。帮助组员解决技术难点。
实时数据分析界面后台
负责用户对数据处理任务的增删改查。起初为兼容老系统,没有用流行框架。用Axis提供WebService接口。利用JDK动态代理技术,做了统一日志,异常处理。并封装了一套自动事务管理机制。后项目,迁移至SpringBoolt。
实时数据分析预处理
1.将获取的原始数据发送到Kafka中。
2.从Kafka中读取 实时数据处理引擎 分析后的结果写入到数据库中。写入成功后,给用户发送消息。
3.读取用户设置的数据处理任务,更新到Redids中供引擎使用。
通过Kafka实时读取,用户修改的任务,并更新Redis。
实时数据分析引擎
使用Storm做为数据流处理引擎。从Kafkak中读取实时数据,根据用户设置的数据处理任务,对数据流进行分析比对。将结果发送至Kafka。
1.通过模板模式,制定任务处理流程。
2.将不同的处理规则,封装成不同的处理策略。
通过简单工厂模式,根据任务规则ID自动选择对应的处理策略。
Java爬虫
根据客户提供的网址,爬取相关数据。然后利用客户提供的数据处理公式,对爬取的数据进行分析、存储。
1.利用HtmlUnit框架模拟浏览器访问。并执行页面js方法。
2.通过Jsoup获取页面数据。
利用Jdk8的并行流,做多线程并行爬取,以提高爬取速度。