Java:熟练使用 Java 8,掌握集合类、反射、动态代理
SQL:熟练掌握 MySQL、Oracle 等数据库以及常见的优化手段(如索引、SQL 优化等)
NoSQL:熟练掌握 Redis,熟悉缓存穿透、缓存雪崩、缓存击穿、基于Redis 的分布式锁等问题的解决方案 权限管理:熟练掌握 SpringSecurity 及 JWT,有完整基于接口访问路径的动态权限管理解决方案 框架:熟练掌握 Spring、SpringMVC、SpringBoot、MyBatis、RabbitMQ 等主流开发框架 Linux:熟练使用 Linux,有基于 Linux 部署开发经验
工具:熟练掌握 Git、Maven、Docker
通信协议:熟悉 TCP/IP、RS232、RS485等通信协议,能独立完成相关网络或设备接口的数据采集、整合等工作 前端:熟悉 html、css、javascript,有 Vue 实际开发经验
设计公司门户网站(tigerpan.com)
项目负责人
此项目有个人历时2个月完成,包含服务端、后台管理系统及门户展示系统3个部分组成,独立从 0~1 完成系统设计、业务逻辑编写 以及部署运维的整体过程。服务端使用 SpringBoot + MySQL + MyBatis + Spring Security + JWT 搭建基础框架,前端使用 Vue + ElementUI + VueRouter + VueX 等技术框架。
通过 SpringSecurity + JWT 及建立用户表、角色表、权限表和菜单表等,对不同管理员及普通用户做动态权限校验,以确保数 据安全。
使用 Docker 远程 API 及 Docker Maven 插件实现一键部署,解决阿里云远程部署耗时严重的问题,在安全的前提下将远程部署 时间缩短至 2 分钟。
通过 Spring AOP 统一增强接口,记录接口访问信息,并自定义 ApiException 统一处理全局异常,实现异常 100% 捕获,统一 记录,提升 70% 的异常定位及修复效率。
店铺点评
项目负责人
该项目旨在学习如何解决缓存击穿、缓存穿透、缓存雪崩以及分布式锁的问题,服务端使用 SpringBoot + MySQL + MyBatis + Redis + Redission,前端使用Vue + ElementUI + Axios
使用 jmeter 测试高频访问某一店铺时,DB 压力大幅提升。因此需要缓存高频访问的店铺信息,使用Redis 将高频信息缓存,降 低 DB 压力的同时提升 90% 数据查询性能。
为方便其他业务后续使用缓存,降低代码冗余及耦合度。需要提取通用缓存业务逻辑并封装为静态方法。使用泛型 + 函数式编程 提取通用缓存静态方法,并解决缓存击穿、缓存穿透等问题。
由于悲观锁性能较差,不太适用高并发场景。因此需要在确保线程安全的前提下优化高并发场景优惠券模块的性能。使用 Redis + Lua 脚本实现分布式锁进而实现库存预检,以解决优惠券超卖问题、实现一人一单。且相比传统的数据库实现,秒杀性能提高了 80%。
作品主要用户展示设计公司的一些作品。项目包括一个前端门户系统、后台管理系统、以及后端服务。项目的前端实现采用 Vue + ElmentUI + VueX + Axios 等,后端实现采用 SpringBoot + MyBatis + Redis + SpringSecurity
作品主要用于提取 macOS 的 iBooks 中的笔记和高亮,通过 OpenAI (LangChain) 根据高亮自动总结成 notion 的标题,然后在 notion 创建该笔记。