基本信息
教育经历
计算机科学与技术 湖南工业大学本科(2020.09 - 2024.07)
项目经历
HUT OA审批系统
项目描述: 办公自动化系统(Office Automation)是替代传统办公的解决方案,利用软件技术构建的单位内部办公平台,可将办公数据数字化,可极大提高办公流程执行效率,开发基于RBAC的访问控制模块以及多级请假审批流程,采用B/S架构设计开发,HR为每一位员工分配系统账户,员工用此账户登录系统,公司采用分级定岗,从1-8依次提升,员工分为业务岗,管理岗,部门经理以及总经理
技术栈: MVC模式 + Mybatis3.5 + Alibaba Druid + Vue3.x + Element Plus
项目收获:
- 基于软件设计领域著名的RBAC权限设计模型实现后台系统的权限管理
- 使用前端优秀渐进性框架Vue开发,Ajax进行请求返回数据,进行页面渲染
- 借助饿了么团队的 Element Plus优秀产品,快速开发美观实用的页面,减轻开发量
- 引入Alibaba连接池,减小请求时都要重新建立连接的开销,进行复用
- 多表联合查询,Mybatis框架完成嵌套查询,自动注入数据返回结果
- 加入MySQL本地事务处理,防止中间表增删改时产生脏数据
无疆阅读
项目描述:无疆阅读是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离小说项目,基于Uniapp第三方组件快速开发微信小程序,用户登陆后,可以同步书架、获取阅读排行、书城书籍等,给用户畅快的阅读体验。
技术栈: Spring Boot + Vue3 + MpVue + uniapp 微信小程序
项目链接: https://github.com/Halecoder/Novel-HL-plus
项目收获:
- 使用UniApp开发第三方微信小程序,封装组件复用,解决了造轮子问题,提高前端开发效率
- 考虑单机项目,优先选择本地缓存Ehcache,基于本机内存,无网络IO消耗,解决了单机性能瓶颈问题
- 基于轻量级数据库中间件Sharding-JDBC,切割小说内容存入数据库,提高了数据库数据存储查询的性能问题
- 运行中的线程存入缓存,进行监控,并利用ThreadLocal存储Cookie,减小线程开销,解决Cookie的共享问题
- 利用Java8新特性CompletableFuture进行多任务的协同工作,进行异步组合封装数据返回, 使Java流水线式处理多任务,提升代码可维护度,逻辑清晰流畅
- 提供小说公告、友情链接等冷数据缓存刷新接口,并保证缓存一致性,便于前端开发者根据时机定制调用
- 对用户输入的内容进行转义处理,提前预测用户行为,防范用户恶意XSS攻击,提高系统的稳定性
- 基于JavaDoc无注解零侵入生成规范OpenAPI结构体,APIFox自动持续导入ApI,便于团队合作开发协作,降低接口维护成本
- 进行 Docker 编排部署到服务器,制作镜像,运行容器,实现服务的线上访问,一次制作,到处运行,降低企业运维成本
国宾旅游系统
项目描述: 国宾旅游管理系统是一款应用于旅游管理机构的业务系统。 旅游网提供跟团游、自助游等价格实惠的旅游路线。整个项目有2套系统,分别是PC端后台管理系统(旅游机构人员),移动端系统(客户)。
技术栈: Spring + Redis + Spring Security + GateWay + Spring session
项目链接: https://github.com/Halecoder/GuoBin
项目收获:
- 使用Redis实现上传图片的幂等性,使用Hash+唯一Id防止图片重复上传,减小后期定时任务清理图片的开销
- 完成图片上传到第三方OSS存储,并使用Redis+Quartz定时进行垃圾图片的清理, 防止脏数据占用OSS存储
- 接入阿里云短信平台,并利用Redis的存储周期,完成验证码的校验与销毁,解决验证码频繁访问与删除问题
- 使用Apache POI完成Excel的导入与导出,完成会员的注册导入以及运营数据的导出,便于管理人员批量管理人员信息
- 升级为第三方分布式调度框架xxl-job,让定时调度的业务逻辑与服务进行解耦,降低后期管理维护成本
- 集成Spring Security模块完成资源以及角色的控制和访问,实现后台管理分级鉴权,控制后台人员操作权限
- 利用Spring Session + Redis 实现适用于微服务项目的SSO单点登录,使后台对Session可定制开发,解决Jwt无法主动销毁问题
- 从SSM开发,升级Spring Boot,再拆分到Spring Cloud,全技术栈开发经验
慕慕生鲜项目
项目描述: 慕慕生鲜项目是一个前后端分离的项目,使用互联网领域的主流技术,以及引入企业里常用的缓存中间件Redis以及消息中间件RabbitMQ,和分布式容器部署服务Docker技术等,让购物体验更加流畅和愉悦。
技术栈: SpringBoot/SpringCloud + Redis + Mybatis Plus + RabbitMQ
项目链接: https://github.com/Halecoder/imooc
项目收获:
- 模拟项目迭代,将SpringBoot单体项目拆分升级为微服务项目
- 用户认证升级为企业级JWT认证,防止CRSF攻击,适应微服务项目扩展性需求
- 添加线程池减小生成订单开销,并使用RabbitMQ实现返还库存,提高用户购物体验
- 将商品分类等冷数据写入Redis进行缓存,减小数据库压力,加快系统访问速度
- 完成商品增减库存逻辑,使用MySQL事务进行管理,保证数据的一致性
- MySQL本地事务升级为分布式事务,解决本地事务在分布式环境失效问题
- 独立完成环境搭建工作,统一RestFul风格进行返回,Docker编排部署实现线上访问
- 使用CloudFlare CDN进行反代,优化css、js等文件的加载速度,加快各地区访问速度
技能清单
- 熟悉Java基础,掌握Java面向对象、集合相关知识
- 熟悉JVM虚拟机运行机制,了解类加载、GC回收等机制
- 熟悉MySQL基本使用,深入MySQL底层运行机制如事务管理
- 熟悉SSM框架开发,使用Mybatis-Plus减轻Dao层开发工作量
- 熟悉Linux相关命令操作,能够使用Docker技术进行项目编排部署
- 熟悉Git版本管理、接口测试Postman、ApiFox等相关工具
- 有vue前端框架以及RuoYi后台管理系统开发经验,能够快速进行二次开发
- 通过Github page + Vercel全自动持续部署技术博客,CloudFlare进行域名托管
个人优势
- 热爱开发,喜欢思考,能够查阅中英文开发文档,具备良好的逻辑思维和问题解决能力
- 喜欢交流自己所学所得,具备团队协作和沟通能力,共同推动项目进展和交付
- 拥有持续学习的动力,热爱Github等开源网站,关注行业动态和新技术的发展
- 认真负责的工作态度,注重代码的可读性、可维护性和可扩展性,有一定的极客精神