proginn1502579921
全职 · 300/日  ·  6525/月
工作时间: 工作日16:00-08:00、周末09:00-20:30工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

我是程序员客栈的梁条人,一名后端Java开发工程师;

我毕业于吕梁学院,担任过上海数慧的Java开发工程师兼技术经理;

负责过村庄规划,知识库,系统评定的开发;

熟练使用SpringCloud,SpringBoot,Dubbo,MYSQL,Docker,各种消息中间件RabbitMQ,Redis、tomcat等;

如果我能帮上您的忙,请点击“立即预约”或“发布需求”!

工作经历

  • 2020-05-07 -至今上海数慧Java开发工程师

    1.参与Web应用的设计、开发和测试,完成相关模块的编码和调试工作,保证项目的高效、稳定运行。 2.负责后台接口的设计和开发,数据模型的设计、API的开发和测试,并优化接口响应时间和稳定性。 3.针对项目需求和开发进度,协助团队成员进行模块拆分和优化,保证项目质量和进度。 4.与其他开发人员、测试人员和项目经理紧密合作,参与项目的需求分析、方案设计和技术评审等工作。 5.研究新的开发技术和工具,并将其应用于项目中,不断提升自己的技术水平和团队的开发效率。 6.负责项目文档的编写和维护,包括需求文档、设计文档、API文档等。 7.负责项目的部署和维护,包括代码的版本控制、构建工具的使用、服务器的配置等。 8.参与团队内部培训和分享会议,与团队成员一起学习和成长。

教育经历

  • 2016-09-01 - 2020-07-03吕梁学院软件工程本科

    优秀毕业生、参与多次程序设计比赛。

技能

MySQL
Oracle
MongoDB
0
1
2
3
4
5
0
1
2
3
4
5
作品
村庄规划

职责描述:在这个项目中,我主要担任了后端开发工作,负责实现村庄规划、一张图系统、合规性审查、运维系统等核心功能模块。以下是我在其中一次迭代中的一个具体任务。 任务描述:村庄规划是对地方市县材料收集的一个平台窗口,涉及到流程、表单、附件以及任务之间的继承以及校验等。 行动: 1.首先和需求人员进行沟通,业务需求和开发理解上的偏差进行讨论,流程的技术选型以及落实具体内容到需求文档。 2.接下来,参考Spring框架提供的RESTful API规范,设计了评定相关的API接口,并编写了对应的Controller类,实现了基础表单的增删改查等操作。 3. 在实现村庄规划需求时,我采用了Spring Boot框架和Dubbo框架,通过JPA与PostgreSQL数据库进行交互,利用Redis缓存技术提高访问性能和响应速度。 4.为了确保系统的稳定性,代码进行了单元测试,并采用JMeter压力测试工具进行了压力测试,确保系统能够支持大量用户同时访问和推荐。 5.最后,为了方便团队成员的使用和维护,我编写了评定相关的API文档和测试文档,供后续的开发和测试人员参考。 问题:在使用@OneToMany注解的任务关联各个子表单的过程中,service层传递序列化对象到controller层出现问题,本地demo测试Apache的dubbo版本结合@OneToMany注解传递实体对象的时候,子任务条数超过7条会出现报错,应该是dubbo底层传输时候的bug,解决方案也很简单,一是对象的转换DTO返回Controller层,二是对象转为字符串,然后在controller层进行对象的转换。

0
2023-05-09 15:20
知识库

职责描述: 在这个项目中,我主要担任了技术经理兼后台开发工作,负责实现知识库、三维沙盘、智慧选址及领导驾驶舱等核心功能模块。以下是我在知识库开发中的一个具体任务: 任务描述: 知识库模块是客户的类似文件管理系统,管理端对文件的上传、删除、分类等操作,客户端可以获取上传的附件、支持预览、下载等。 行动: 1.首先和前端同事进行沟通,对需求的拆分,如文件上传的方式,下载的方式,以及目录树的存储等。 2.接下来,参考Spring框架提供的RESTful API规范,设计了评定相关的API接口,并编写了对应的Controller类,实现了基础表单的增删改查等操作。 3.上传文件采用的是分片上传,解决大文件上传超时,入库MongoDB,结合MongoDB底层存储的原理,优化分片实现逻辑,提高效率,实现断点续传,文件秒传等。 4.最后,为了方便团队成员的使用和维护,我编写了评定相关的API文档和测试文档,供后续的开发和测试人员参考。 问题: 1.优化大文件的下载逻辑,也采用分片下载,减少浏览器和服务器压力。 2.预览大文件响应慢,页面黑屏,iframe监听dom元素,完成页面刷新,本身kkfile预览效率低,后续考虑使用docker部署OnlyOffice提高预览效率。 3.使用MongoDB作为数据库存储,有点黑盒效应,没有可视化的界面展示,后续系统迁移及磁盘扩容麻烦,后续考虑使用云oss或云MongoDB。

0
2023-05-09 15:17
流程审批填报系统

1、项目骨架主要是由SpringBoot+Dubbo+zookeeper来搭建,分业务分模块独立开发,实现各模块之间的高内聚低耦合,A模块断开,不完全影响B模块的正常使用,SpringBoot在企业中所占比重越来越大,简化了spring项目在项目搭建中的复杂和配置的,注解加yml的配置,不用在项目搭建上占用太多的时间,Dubbo作为轻量级的开源RPC框架,区别传统的http方式调用,使用面向接口的远程方法调用,内部负载均衡很简单的配置处理,结合zookeeper完成服务自动注册和发现。 2、数据库方面,使用SpringDataJpa完全对数据库的操作,核心使用的数据库有Oracle,PostgreSQL,MongoDB,Redis等,Oracle存放一些空间的矢量数据,PostgresSQL用作业务库,MongoDB作为文件库存储文件也可以存一些业务数据,Redis用作登录缓存,常用的常量数据直接从缓存中取。 3、项目部署,有使用Tomcat作为web服务器,项目中也有使用docker通过镜像的方法部署项目,随着技术的革新,没有绝对的哪种方式的好坏,开发环境,jenkins自动化部署项目,gitlab提交项目代码,jenkins打包部署一键完成,节约不必要的时间,更大程度保证代码的一致性。 4、中间件,项目中使用tomcat、zookeeper、redis、nginx、RabbitMq等,上面说过的就不说了,提一下nginx和RabbitMq,nginx在项目中主要是以反向代理、负载均衡、以及使用nginx 代理https服务器使用的比较多,反向代理解决一些访问地图服务以及接口跨域的问题,统一ip、端口隐藏真实请求的服务地址,分布式系统部署,负载均衡解决接口的请求压力,配可信任的证书,nginx配置https服务器,实现数据的安全传输,RabbitMq作为消息中间件,可以异步的处理消息,避免接口超时导致数据丢失的问题,流量削峰,消息入队列,解决短时间访问量过大的问题。 5、其他方面,在后期项目维护,数据备份,异地数据备份,以及漏洞补丁,数据库安全方面,例如redis、zookeeper开启登录验证登,总结常用工具类,简化冗余代码,借用jvm自带的工具分析内存占用,内存溢出等问题,对后期项目使用容器化部署,需要熟悉使用linux的指令,例如linux完成数据库的定时备份,linux的内存情况等。

0
2023-05-09 15:11
更新于: 2023-05-09 浏览: 82