基本信息


教育经历

计算机科学与技术 湖南工业大学本科(2020.09 - 2024.07)


项目经历

HUT OA审批系统

项目描述: 办公自动化系统(Office Automation)是替代传统办公的解决方案,利用软件技术构建的单位内部办公平台,可将办公数据数字化,可极大提高办公流程执行效率,开发基于RBAC的访问控制模块以及多级请假审批流程,采用B/S架构设计开发,HR为每一位员工分配系统账户,员工用此账户登录系统,公司采用分级定岗,从1-8依次提升,员工分为业务岗,管理岗,部门经理以及总经理

技术栈: MVC模式 + Mybatis3.5 + Alibaba Druid + Vue3.x + Element Plus

项目收获:

  1. 基于软件设计领域著名的RBAC权限设计模型实现后台系统的权限管理
  2. 使用前端优秀渐进性框架Vue开发,Ajax进行请求返回数据,进行页面渲染
  3. 借助饿了么团队的 Element Plus优秀产品,快速开发美观实用的页面,减轻开发量
  4. 引入Alibaba连接池,减小请求时都要重新建立连接的开销,进行复用
  5. 多表联合查询,Mybatis框架完成嵌套查询,自动注入数据返回结果
  6. 加入MySQL本地事务处理,防止中间表增删改时产生脏数据

无疆阅读

项目描述:无疆阅读是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离小说项目,基于Uniapp第三方组件快速开发微信小程序,用户登陆后,可以同步书架、获取阅读排行、书城书籍等,给用户畅快的阅读体验。
  
技术栈: Spring Boot + Vue3 + MpVue + uniapp 微信小程序
  
项目链接: https://github.com/Halecoder/Novel-HL-plus
  
项目收获

  1. 使用UniApp开发第三方微信小程序,封装组件复用,解决了造轮子问题,提高前端开发效率
  2. 考虑单机项目,优先选择本地缓存Ehcache,基于本机内存,无网络IO消耗,解决了单机性能瓶颈问题
  3. 基于轻量级数据库中间件Sharding-JDBC,切割小说内容存入数据库,提高了数据库数据存储查询的性能问题
  4. 运行中的线程存入缓存,进行监控,并利用ThreadLocal存储Cookie,减小线程开销,解决Cookie的共享问题
  5. 利用Java8新特性CompletableFuture进行多任务的协同工作,进行异步组合封装数据返回, 使Java流水线式处理多任务,提升代码可维护度,逻辑清晰流畅
  6. 提供小说公告、友情链接等冷数据缓存刷新接口,并保证缓存一致性,便于前端开发者根据时机定制调用
  7. 对用户输入的内容进行转义处理,提前预测用户行为,防范用户恶意XSS攻击,提高系统的稳定性 
  8. 基于JavaDoc无注解零侵入生成规范OpenAPI结构体,APIFox自动持续导入ApI,便于团队合作开发协作,降低接口维护成本
  9. 进行 Docker 编排部署到服务器,制作镜像,运行容器,实现服务的线上访问,一次制作,到处运行,降低企业运维成本

国宾旅游系统

项目描述: 国宾旅游管理系统是一款应用于旅游管理机构的业务系统。 旅游网提供跟团游、自助游等价格实惠的旅游路线。整个项目有2套系统,分别是PC端后台管理系统(旅游机构人员),移动端系统(客户)。
  
技术栈: Spring + Redis + Spring Security + GateWay + Spring session
  
项目链接: https://github.com/Halecoder/GuoBin
  
项目收获

  1. 使用Redis实现上传图片的幂等性,使用Hash+唯一Id防止图片重复上传,减小后期定时任务清理图片的开销
  2. 完成图片上传到第三方OSS存储,并使用Redis+Quartz定时进行垃圾图片的清理, 防止脏数据占用OSS存储
  3. 接入阿里云短信平台,并利用Redis的存储周期,完成验证码的校验与销毁,解决验证码频繁访问与删除问题
  4. 使用Apache POI完成Excel的导入与导出,完成会员的注册导入以及运营数据的导出,便于管理人员批量管理人员信息
  5. 升级为第三方分布式调度框架xxl-job,让定时调度的业务逻辑与服务进行解耦,降低后期管理维护成本
  6. 集成Spring Security模块完成资源以及角色的控制和访问,实现后台管理分级鉴权,控制后台人员操作权限
  7. 利用Spring Session + Redis 实现适用于微服务项目的SSO单点登录,使后台对Session可定制开发,解决Jwt无法主动销毁问题
  8. 从SSM开发,升级Spring Boot,再拆分到Spring Cloud,全技术栈开发经验   

慕慕生鲜项目

项目描述: 慕慕生鲜项目是一个前后端分离的项目,使用互联网领域的主流技术,以及引入企业里常用的缓存中间件Redis以及消息中间件RabbitMQ,和分布式容器部署服务Docker技术等,让购物体验更加流畅和愉悦。

技术栈: SpringBoot/SpringCloud + Redis + Mybatis Plus + RabbitMQ

项目链接: https://github.com/Halecoder/imooc

项目收获:

  1. 模拟项目迭代,将SpringBoot单体项目拆分升级为微服务项目
  2. 用户认证升级为企业级JWT认证,防止CRSF攻击,适应微服务项目扩展性需求
  3. 添加线程池减小生成订单开销,并使用RabbitMQ实现返还库存,提高用户购物体验
  4. 将商品分类等冷数据写入Redis进行缓存,减小数据库压力,加快系统访问速度
  5. 完成商品增减库存逻辑,使用MySQL事务进行管理,保证数据的一致性
  6. MySQL本地事务升级为分布式事务,解决本地事务在分布式环境失效问题
  7. 独立完成环境搭建工作,统一RestFul风格进行返回,Docker编排部署实现线上访问
  8. 使用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等开源网站,关注行业动态和新技术的发展
  • 认真负责的工作态度,注重代码的可读性、可维护性和可扩展性,有一定的极客精神