下载简历
        张 亮

一个追求思考的开发者


个人信息

  • 男/1997
  • 本科/升达经贸管理学院
  • 工作经验:2年
  • 我的博客:https://www.zuoyu.top
  • Github:https://github.com/zuoyuip
  • 期望职位:项目助理
  • 期望薪资:15k
  • 期望城市:北京
  • 状态:在职(不考虑新机会)

联系方式

  • 手机:15838271463
  • Email:zuoyuip@foxmail.com
  • 微信号:zuoyu-ip

技能清单

  • Linux:熟练掌握Linux常用指令,有 Linux 下部署的实践经验
  • 数据库相关:MySQL 数据库,Redis 数据库
  • 后端框架:SpringBoot、MyBatis、JPA、Spring Security 等
  • 前端框架: Vue 及其 UI 框架
  • 移动端开发: Android原生开发、JetPack框架、React Native框架
  • 工具: Git、SVN、Maven、Docker 等常用开发工具

工作经历

天才纵横国际企业管理(北京)有限公司 ( 2019年7月 ~ 2020年8月 )

天才创投后台管理系统
  • 业务介绍:该项目是管理端系统,目的是对C端用户及业务数据的统计、审核、管理等操作便捷化。
  • 技术架构:
    • 开发工具:SVN(版本控制)、IntelliJ IDEA(后端)、WebStorm(前端)
    • 开发环境:JDK8、MySql5.5
    • 后端技术:SpringBoot(容器)、SpringMVC(MVC框架)、SpringSecurity(安全框架)、Mybatis(ORM框架)、Mybatis Plus(Mybatis辅助插件)、HikariCP(数据库连接池)、Redis(缓存数据库)、Logback(日志组件)
    • 前端技术:Vue(JavaScript框架)、Element-ui(基于 Vue 的桌面端组件库)
  • 工作内容:
    1. 根据文档说明,按业务、职责划分模块,搭建为Maven多模块项目,按模块分配开发任务。
    2. 负责把通用功能组件化,便捷在业务开发中拿来即用,提高开发效率,实现业务与职责的分离。
    3. 负责该项目中权限模块的开发,基于SpringSecurity权限框架,根据项目需求实现接口级别的权限控制。
    4. 负责前端部分的开发,并结合Element-ui的菜单渲染和Vue的前置路由实现了页面级别的权限控制。
    5. 负责实现与OA系统的对接,利用Redis,并重写SpringSecurity的登陆方式,利用Key值进行登录,实现了OA系统至该系统的跳转,并共享权限。
    6. 负责代码规范的审查,严格遵守Java开发规范对代码质量把关,保证项目的可维护性。
    7. 把控项目的开发期限,在产品经理要求期限内完成整个项目的开发。
  • 项目业绩:
    • 根据业务需求,拆分为Maven多模块项目,提高各业务模块的耦合度,清晰业务各模块代码,利于后期业务的拓展和版本迭代。
    • 单独完成后台管理系统后端部分的搭建,解决从已有系统携带权限至该系统的跳转,并实现接口级的权限管理。
    • 重新设计权限系统模块,将权限粒度提升到数据权限级别,并利用AOP与SQL注入的方式做到与数据业务代码的高度分离。
    • 单独完成后台管理系统前端部分的开发,实现前后端分离状态下的动态菜单、页面级权限管理。
    • 在该项目开发过程中接手部分移动端开发,使用React Native开发框架对“项目举荐”及“项目详情”进行了实现。
    • 保证开发成员遵守代码规范,保持代码格式一致性,利于后期变更和维护。

个人项目

顺便取代领(小程序)(2019年2月~ 2019年4月)

该项目由我在校期间独立开发。

  • 业务介绍:一个用于共享快递信息的平台,由于校内没有设立快递代收点,收取快递比较麻烦,便开发这一平台方便同学。
  • 技术架构:
    • 开发工具:Maven(项目构建管理)、Git(版本控制)
    • 开发环境:JDK8、MySql5.5
    • 后端技术:SpringBoot(容器)、SpringMVC(MVC框架)、SpringSecurity(安全框架)、JWT(身份验证方案)、Mybatis(ORM框架)、Mybatis Generator(代码生成)、Mapper(Mybatis辅助插件)、C3P0(数据库连接池)、Redis(缓存数据库)、FastDFS(文件系统)、Logback(日志组件)
    • 前端技术:WePy(小程序组件化开发框架)、MinUi(小程序组件库)
  • 项目问题及解决方案:
    1. 在多个人同一时间接收同一个订单时,违背了一个订单只能被一人接收的规则。利用Redis键的唯一性特征解决了问题——当一个订单被用户接收时,先检测MySql数据库该订单的状态;如果为未被接收状态,则检测Redis内有没有以该订单ID作为Key值的键;如果没有,将该订单ID作为Key值存入Redis;再进行更改数据库内该订单的状态、发送短信通知等操作;待该事务完成后,删除掉该Key值。
    2. 身份认证更换为JWT方式后,关闭了Spring对用户状态(session)的维护;导致原本以session为生命周期范围的短信验证码服务无法正常工作(原本bean以session为生命周期,并创建一个线程5分钟后清除验证码值)。最后利用Redis的限时键值对功能,将手机号作为Key,验证码作为Value,有效时间为5分钟。
  • 项目业绩:
    • 完成微信小程序的的注册、工商认证、开发配置、审核和发布流程,成功上线。
    • 测试班级60多人同时使用小程序进行发单、接单,无数据错误。
    • 上线后日最高成交量达28单(虽然有点少,但这是大众之价值认可)。

在校项目

图书馆座位预约系统(微信)(2018年9月~ 2018年12月)

该项目由我在校期间,老师带领下参与开发。

  • 系统介绍:方便学生在微信公众号查看图书馆座位空闲情况,座位预约、使用时段、签到、续时、离开等操作,让学生更直观的查看图书馆座位使用情况,做到信息化管理。
  • 技术架构:
    • 开发工具:Maven(项目构建管理)、SVN(版本控制)
    • 开发环境:JDK8、MySql5.5
    • 后端技术:Spring(容器)、SpringMVC(MVC框架)、Mybatis(ORM框架)、Mybatis Generator(代码生成)、Mapper(Mybatis辅助插件)、HikariCP(数据库连接池)、Redis(缓存数据库)、Log4J2(日志组件)
    • 前端技术:JSP(JAVA服务器页面)、Bootstrap(前端UI组件库)
  • 开发内容:
    1. 负责编写座位状态的查询、更改模块。
    2. 负责微信网页端展示效果的优化。
    3. 负责Redis缓存模块的添加,提高查询速度,降低数据库压力。
    4. 后台管理系统中,座位数据的管理。
  • 项目业绩:
    • 项目成功投入实际场景使用,数据稳定无误。

开源项目

  1. 基于角色的权限访问控制[https://github.com/zuoyuip/rbac-security]
  2. 顺便取代领后端[https://github.com/zuoyuip/delivery-service]
  3. 顺便取代领前端[https://github.com/zuoyuip/delivery-program]

原创文章

  1. 《一种云原生的终端模式》[https://www.zuoyu.top/archives/cloud]
  2. 《浅谈微服务》[https://www.zuoyu.top/archives/micro]
  3. 《我对独立思考的理解》[https://www.zuoyu.top/archives/independent]
  4. 《Spring-Security安全框架的RBAC权限管理》[https://www.zuoyu.top/archives/rbac]

感谢阅读

感谢您花时间阅读我的简历,期待能与您共事!