个人介绍
十年以上软件开发设计经验;善于沟通,有良好的团队精神,更有很强的自学能力;熟悉J2EE编程技术,了解Java常用设计模式;熟悉MVC开发模式,能熟练运用struts1/2、spring、dubbo、hibernate、iBatis/mybatis、 ajax、EJB3、Jbpm、JSTL/EL、WebService、jdbc、dom4j、log4j、JPA、OSCache、Velocity、SSI、Compass、Lucene、maven、mule、RESTful、jquery、 jquery-easyui、VUE、nodejs等技术。熟练应用Eclipse,Idea、svn,git等开发工具;熟练运用mysql、oracle、SqlServer等数据库。了解Hadoop、spark、Hive、sqoop、flume、Hbase等相关开源产品,并具map/reduce开发经验。能熟练使用Linux系统;会用Shell脚本语言;
工作经历
2019-09-27 -至今创湖科技电子有限公司高级软件工程师
应聘高级软件工程师,实则是外包,劳务派遣,派遣到某某银行研发中心做技术支持,目前已在银行工作三年有余。
教育经历
2005-09-01 - 2009-07-01北京科技经营管理学院计算机科学与技术 本科
北京科技经营管理学院 计算机科学与技术
技能
开发工具: eclipse+Rose项目描述: 是一套专门用于公务机运行管理的操作系统,该系统包含三个子系统,金鹿公务机运行控制系统OCS(日常飞行管理运行控制系统,包含航班的任务飞行调度,和日常数据维护)+金鹿公务机客户关系管理系统CRM(客户关系相关信息)+金鹿公务机成本控制管理系统ME(包含与成本相关的一些信息,如航材信息,维修信息等等)责任描述: 参与项目的需求分析,确定系统功能,参与系统设计以及功能模块的详细设计。项目编码阶段负责功能模块的实现。项目后期主要负责用户使用文档的编写。 项目经验与心得: 1>采用了阿里巴巴的webx作为web只要架构,该架构已经实现大部分的web功能,包括url过滤过来,提交的from表单特殊字符的参数过滤,url重定向等。后台的数据实现采用josn的方式,该方式简洁轻巧。前面界面使用jquery-easyui作为前端UI展示。页面的请求方式一律使用ajax的请求方向,不再是传统的url转向。该方式与用户的交互体验非常友好。且页面响应方式较传统方式要快很多。采用自定义权限标签,实现权限过滤,将没有该权限的一些按钮隐藏掉。 2>项目中涉及到了大量的WORD,EXCEL,PDF导出和各种报表导出。采用开源的Apache poi,在其API的基础上进行了进一步的封装,使其能更快,更好的快速导出。如EXCEL的导出,其可以实现相同的单元格进行合并。可以设置单双行颜色不同的背景色等等功能。还可以使用特定模板的方式进行导出。3>项目中需要用到了百度的ECharts作为图表展示,实现了柱状图,饼图和拆线图三种比较常用的JS图标。ECharts免费开源,且容易上手使用,界面风格也相对简洁美观。 3>使用mule作为该系统的服务总线。该总线包含有三个系统的各种服务。包含数据同步服务,定时任务服务,邮件服务等等。 4>这三个系统还实现了SSO单点登陆的功能。三个系统共用一个统一认证中心系统,用户只需要登陆一次,生成相应的令牌,根据该令牌即可在访问其它另外两个系统 5>项目中使用了maven作为jar管理,使用svn作为代码版本管理,使用hadson作为项目自动部署管理工具。 6>项目中开发了一套自己的代码机,该代码能快速生成某个表的增删改查的java代码和sql的xml文件和UI的JSP文件,开发人员只需要进行简单的修改即可,从而减少开发的编码时间,提高开发效率。
基于电网的结构,采用NEO4J(图数据库)来描述和存储复杂的拓扑关系,此数据库比传统关系型数据库更形容生动的表示出关系。此外对电网的生熟数据的存储进行不同的存储划分,对于静态的拓扑关系数据,将其存储到NEO4J。动态的数据分别存储到分布式内存系统Redis和分布式文件系统Hbase。责任描述:参与项目的需求分析,确定系统功能。负责项目基础架构搭建和相关模块实现 项目经验与心得: 1>由于采用NEO4J需要对其的API进行一个简单的数据封闭,基于HTTP的Restful风格实现了一套协议API,提供对拓扑数据的基本操作。 2> 该项目的一个重要数据来源是IDU的采集,所以基于NETTY协议实现104规约。Netty是基于NIO, 异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。3>从IDU采集过来的用采数据,将最新的存储到Redis。历史的存储到Hbase . 4>由于项目需要图表监控,所以采用开源的Grafana和InfluxDB,从IDU采集过来会会通过UDP协议存储进Inluxdb,通过配置grafana相应的dashboard,达到实时监控数据的采集波动情况。 5>采用Kubernetes+docker容器技术,使用部署的应用与应用之间无任何的关系。Kubernetes可以使Docker容器集群管理系统化,更易于管理。为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能
第四方支付系统开发 开发工具: idea + git软件环境:dubbo+springMVC+IBATIS+iView 项目描述:是一套基于第四方支付的交易系统,为平台上游提供支付服务。接口包括支付接口,支付查询接口,支付异步通知接口,代付接口,代付查询接口等。系统分为交易网关模块ky-gateway、交易模块ky-trade、平台服务模块ky-merchant、商户后台服务模块ky-merchantback和ky-merchant-html和ky-merchantback-html等模块。 责任描述:只要负责核心模块网关模块ky-gateway、交易模块ky-trade两大模块的代码编写。 项目经验与心得: 1>由于交易网关模块ky-gateway经常需要对接新的支付渠道,帮采用模板配置的形式来添加新渠道。这样无须重启服务就可以添加新的支付渠道。减轻运维压力。真正做到热部署添加。 2>项目里的定时任务用到了当当的elastic-job定时任务框架,比传统的Quartz框架更灵活且支持分布式。还有可视化界面可供操作,任务高度一目了然。 3>使用了阿里的dubbo服务,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用的灵活扩展,使前端应用能更快速的响应市场需求。 4>交易模块ky-trade使用了Redis作为支付链接池,因为支付都有一定的时效性,有规定时间内支付是有效的,超过则会超时导致支付失败。用redis能轻松地解决这种问题。