个人介绍
我是程序员客栈的一名程序员,从业Java后端研发工作7年,有着丰富的开发经验,参与过大大小小的项目研发,也对这一行爱的深沉。也曾想在业余时间有额外的价值,开辟一下生存的空间。
我熟练使用当下前沿的Springboot、Springcloud、shiro、springsecurity、mybatis-plus等技术,开发工具常用idea、navicat,数据库常用mysql、postgresql等,版本库管理常使用git。
工作经历
2021-09-10 -至今北京神讯宁夏分公司研发
公司主要服务公安业务,项目也是驻场开发,我负责公司警务超市、建模工具、太湖隧道、项目申报等多个项目的后端研发工作
2021-04-16 -2021-09-01宁夏浅银互联网有限公司研发
公司是做 信贷业务的,我负责公司借贷产品的审批流程项目,项目采用的Springcloud微服务架构,我负责后端产品的开发
2018-03-15 -2021-04-01北京南天软件开发
公司业务主要为银行业务,当时容器大火,我进公司主要负责k8s和docker容器产品的研发,调研api,对产品功能进行实现。
2015-11-01 -2018-03-01北京航天理想有限公司开发
公司主要业务为公安业务,主要产品为v3产品(模型推演) 我负责驻场各个公安市局开发项目工作,主要负责后端开发
教育经历
2010-09-01 - 2014-07-01北京卓达经济计算机科学与技术本科
技能
一、模块简介 该项目主要是针对在太湖隧道里面的过往车辆,进行摄像头拍摄,进行监控的功能 1.系统管理:是系统用户角色权限的控制 2.隧道事件:是对于隧道内车辆发生交通事件,所获取的数据 3.车辆信息:是隧道内车辆过往信息车牌号等信息 4.交通事件:对于车辆车牌信息的监控,以及超速、变道、缓行等事件的监控; 5.大屏实时展示:对于不同车辆以及车牌号信息进行统计的页面 二、我实现的功能 该项目后端采用的springboot+mybatis-plus, shiro权限框架,redis作为会话管理 1.系统管理:我负责后端从头到尾的用户角色权限开发,使用的shiro作为权限框架实现 2.隧道事件、车辆信息:采用udp接收服务发送者的车辆信息,采用clickhouse用来存储这些大数据, 实现的数据列表 3.交通事件:负责后端交通事件图片列表展示 4.大屏实时展示:负责后端车辆信息统计功能 三、难点 1.对于车辆大信息的存储数据非常大,采用传统mysql存储,进行分页查询时非常慢的,遂采用clickhouse 高性能查询解决此问题 2.对于shiro权限的初次使用,也是进行了大量的学习和摸索才完成了完整的权限功能
一、模块简介 该网站主要是针对留学生,为其提供学习资料的平台 1.用户管理模块,有用户登录,用户注册返币,*验证 2.上传文档:用户可以上传文档 3.审批文档:管理员可以进行审批文档,如果审批通过,可以返币给上传的用户 4.推荐列表:对于访客可以看到的文档列表 5.支付功能:对接*、支付宝支付功能 二、我实现的功能 该项目采用的springboot+mybatis-plus, shiro权限框架,redis作为会话管理; 1.文档上传模块:文件存储采用腾讯的cos,实现文档上传,文档预览等; 2.推荐列表:实现访客可以查看文档的列表 3.支付模块:接入*、支付宝支付接口,实现购买文档功能 三、难点 1.初次使用腾讯的oss,需要花费一定的时间学习其api,实现文档预览、下载、上传等api 2.第一次对接支付,花了一定时间学习*、支付宝等api,完成支付模块的功能
一、模块 1.系统管理:该模块实现了用户角色权限管理功能 2.项目申报:实现了六类项目申报功能 3.专家申请:实现专家申请功能 3.审批功能:实现专家评审和管理员审批项目流程功能 4.短信提醒:实现各个流程结转需要发送的短信功能 二、我实现的功能 1.我负责后端的项目申报、流程审批以及短信提醒功能; 2.使用的是SpringCloud分布式微服务架构,Nacos作为服务发现、服务注册, seata解决分布式事务,redis作为会话管理; 3.具体业务实现上使用了阿里OSS对象存储技术(上传、下载等api), 还使用了freemarker生成word文档,以及html生成pdf、pdf合并等技术。 三、难点 1.对于分布式事务一直是痛点,最终采用seata作为分布式事务解决方案; 2.对于word生成pdf格式问题出现了很多,尝试为服务器安装字体,但仍然在Linux服务器下有问题, 之后想过使用商业版的aspose.words,但价格昂贵,最终考虑使用html生成pdf解决; 3.流程结转,权限控制有一定的难度,但还是一一克服。