每天一点代码,纪录自己成长
QQ:1296193245
目前大四刚毕业,正在找工作
- TypeScript学习笔记 2023/06/28 - 2023/06/29 点击进入
- Vue学习笔记 2023/06/18 - 点击进入
- 数据可视化学习笔记 2023/06/10 - 2023/06/16 点击进入
- Java报表技术学习笔记 2023/06/01 - 2023/06/08 点击进入
- Nginx学习笔记 2023/04/27 - 2023/05/31 点击进入
- Netty学习笔记 2023/03/04 - 2023/04/26 点击进入
- 布隆过滤器学习笔记 2023/02/27 - 2023/02/27 点击进入
- 聚合支付项目实战学习笔记 2023/01/09 - 2023/02/09 点击进入
- FreeMarker学习笔记 2023/01/29 - 2023/01/29 点击进入
- 集信达短信平台学习笔记 2022/12/14 - 2023/01/05 点击进入
- RocketMQ学习笔记 2022/11/29 - 2022/12/12 点击进入
- LoadRunner学习笔记 2022/11/24 - 2022/11/26 点击进入
- Xenu_Link_Sleuth学习笔记 2022/11/24 - 2022/11/24 点击进入
- MongoDB学习笔记 2022/11/14 - 2022/11/27 点击进入
- 通用权限系统实战学习笔记 2022/10/26 - 2022/11/14 点击进入
- j2cache学习笔记 2022/11/05 - 2022/11/06 点击进入
- jwt学习笔记 2022/11/02 - 2022/11/03 点击进入
- logback学习笔记 2022/10/31 - 2022/11/01 点击进入
- AntiSamy学习笔记 2022/10/30 - 2022/10/31 点击进入
- hibernate validator学习笔记 2022/10/29 - 2022/10/29 点击进入
- dozer学习笔记 2022/10/28 - 2022/10/29 点击进入
- swagger学习笔记 2022/10/26 - 2022/10/27 点击进入
- lombok学习笔记 2022/10/26 - 2022/10/26 点击进入
- 面试学习笔记 2022/10/16 - 永远 点击进入
- Android学习笔记 2022/09/17 - 2022/10/14 点击进入
- java并发编程学习笔记 2022/08/26 - 2022/09/16 点击进入
- java设计模式学习笔记 2022/08/09 - 2022/08/25 点击进入
- SpringSecurity学习笔记 2022/07/31 - 2022/08/09 点击进入
- SpringCloud学习笔记 2022/07/09 - 2022/07/30 点击进入
- redis学习笔记 2022/05/17 - 2022/06/29 点击进入
- Linux学习笔记 2022/07/07 - 2022/07/17 点击进入
- Git学习笔记 2022/06/30 - 2022/07/01 点击进入
- MySql学习笔记 2022/05/11 - 2022/06/23 点击进入
- Docker学习笔记 2022/05/31 - 2022/06/20 点击进入
- elasticsearch学习笔记 2022/05/24 - 2022/06/05 点击进入
- redis学习笔记 2022/05/17 - 2022/06/29 点击进入
- ......
- 熟悉java基础知识,对集合类有一定的研究,熟悉HashMap、ArrayList的实现原理,对java的IO模型等有一定的了解
- 熟悉spring、springMVC、Mybatis、MyBatis Plus等主流框架的使用
- 熟悉spring框架的使用,对AOP、循环依赖spring事务失效场景等有一定了解,曾经写过一个简易的spring框架
- 熟悉Spring Boot框架的使用,熟悉Spring Boot Starter的开发流程
- 熟悉关系型数据库MySQL,对事务、索引、SQL性能分析、索引失效情况、SQL优化、锁等有一定的了解,会使用mycat中间件做分库分表
- 熟悉常用的java设计模式,对6种设计原则和23种设计模式有一定的了解
- 掌握并发编程的相关知识,熟悉管程、多线程、synchronized原理、volatile原理、CAS、原子类、原子累加器、Unsafe、线程池、JUC包下部分类、AQS等
- 熟悉JVM内存结构、常见垃圾回收算法、垃圾回收器等
- 熟练掌握基于spring cloud的微服务的搭建与开发,包括其组件Eureka、Nacos、Feign、Zuul网关、gateway网关、sentinel、Hystrix、seata等,熟悉Dubbo框架开发
- 熟悉基于Redis、Zookeeper实现的分布式锁方案
- 熟悉常用的缓存中间件Redis以及应用场景,对缓存问题以及缓存问题解决方案、持久化机制、集群、批处理优化、Redis数据结构、Redis RESP2.0通信协议、内存淘汰策略等有比较深的理解,曾经使用RESP2.0协议写了一个简易的Redis java客户端,熟悉j2cache的使用
- 熟悉mongoDB的使用
- 熟悉Linux常用命令
- 熟悉使用ElasticSearch搜索中间件进行数据搜索,基本掌握Logstash和Kibana的使用,能使用elk做日志收集与展示
- 熟悉RabbitMQ、RocketMQ消息中间件的使用,对RabbitMQ确保消息不丢失、消息堆积、幂等问题等有一定的了解
- 熟悉容器化技术Docker的使用
- 了解Zookeeper分布式协调框架的使用。
- 掌握spring security安全框架的使用
- 熟练使用IDEA、Git、Maven等开发工具、能使用Postman、knife4j swagger、jmeter等测试工具做接口测试
- 熟悉HTML、CSS、JavaScript的使用、掌握Vue、TypeScript、和element UI的使用
- 有对接支付宝和微信第三方支付工具的经验
- 掌握网络框架Netty的使用,掌握服务集群共享channel解决方案
- 掌握Nginx的使用
- 掌握java报表技术
- 掌握数据可视化技术JFreechart、Highcharts和Echarts的使用
小项目非常多,只列举一部分代码行数在5000行以上的项目
-
时间:2023/03/27 - 2023/04/23
-
项目名称:netty_chat_room
-
技术:请看项目readme文件
-
项目地址:点击进入
-
代码行数:48700行左右
-
项目介绍:基于SpringCloud+Netty实现的在线网络聊天室。netty服务是集群部署的,netty共享channel解决方案。
用户方面,有用户登录、用户注册、发送消息、发送群聊消息、创建群聊、加入群聊、查看群聊成员、退出群聊等功能;
后台方面,有登录次数统计、登录UV统计、注册统计、消息发送统计、群聊消息发送统计、群聊创建统计、Netty服务ReBalance、用户管理、后台用户、资源、角色、菜单、组织、岗位管理、后台用户认证和鉴权等功能。
项目模块:
authority #聚合工程,用于聚合parent、apps、tools等模块
├── parent # 父工程,nacos配置及依赖包管理
├── apps # 应用目录
├── auth # 权限服务父工程
├── auth-entity # 权限实体
├── auth-server # 权限服务
├── gateway # 后台网关服务
├──chat-room # 在线聊天室应用
├──chat-room-client-api # 客户端api模块,放不同类型、不同平台客户端的公共代码的模块
├──chat-room-common # 在线聊天室公共模块,放客户端和服务端公共代码的模块
├──chat-room-console-client # 在线聊天室控制台客户端
├──chat-room-console-test-client # 在线聊天室控制台压力测试客户端(不提供给用户使用)
├──chat-room-gateway # 在线聊天室用户http服务网关
├──chat-room-manage # 聊天室后台管理服务和统计服务
├──chat-room-netty-server # 在线聊天室netty服务
├──chat-room-server-api # 服务端api模块,放不同类型、不同平台服务端的公共代码的模块
├──chat-room-swing-client # 在线聊天室java SWing客户端
├──chat-room-web-server # 在线聊天室web服务 ,向用户提供http服务
└── tools # 工具工程
├── tools-common # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
├── tools-core # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
├── tools-databases # 数据源组件:数据源配置、数据权限、查询条件等
├── tools-dozer # 对象转换:dozer配置、工具
├── tools-redis-cache # redis分布式缓存工具类和分布式锁服务,缓存工具类解决著名的3个缓存问题
├── tools-j2cache # 缓存组件:j2cache、redis缓存
├── tools-jwt # JWT组件:配置、属性、工具
├── tools-log # 日志组件:日志实体、事件、拦截器、工具
├── tools-swagger2 # 文档组件:knife4j文档
├── tools-user # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
├── tools-validator # 表单验证: 后台表单规则验证
├── tools-xss # xss防注入组件
- 时间:2023/01/06 - 2023/02/09 或者 2022/10/25 - 2023/02/09
- 项目名称:aggregate-pay
- 技术:SpringBoot、Zuul、Nacos、Fegin、Ribbon、Hystrix、JWT Token、Mybatis Plus、AntiSamy、dozer、redis分布式缓存、RocketMQ、FreeMacker、Oauth2.0、knife4j swagger等
- 项目地址:点击进入
- 代码行数:116400行左右(java文件)
- 项目介绍: 聚合支付顾名思义就是将目前主流的支付进行整合,形成第三方支付的聚合通道。聚合支付是一个提供聚合支付的平台,聚合支付目前主要的做法就是线上聚合收银台(开放API),线下C2B一码多付、线下B2C商家扫码。平台应以SaaS服务形式提供给各商户订单管理、门店管理、财务数据统计等基础服务,聚合支付还以支付为入口,通过广告、营销、金融等服务,构建一个移动支付的全生态系统。 聚合支付不进行资金清算,因此无需支付牌照,其只是完成支付环节的信息流转和商户运营的承载,其在集合银联、支付宝、微信等主流支付方式的基础上,帮助商户降低接入成本,提高运营效率,具有中立性、灵活性、便捷性等特点
项目模块:
aggregate-pay # 聚合工程,用于聚合parent、apps、tools等模块
├── parent # 父工程,nacos配置及依赖包管理
├── apps # 应用目录
├── auth # 权限服务父工程
├── auth-entity # 权限实体
├── auth-server # 权限服务
├── gateway # 网关服务
├── pay # 整个聚合支付系统的父模块
├── aggregate-pay-common # 聚合支付系统的公共模块,主要存放一些工具类
├── aggregate-pay-entity # 聚合支付系统实体类模块,存放实体类
├── aggregate-pay-gateway # 聚合支付系统SaaS系统的网关
├── aggregate-pay-log # 日志模块,用于异步接收其它服务产生的操作日志和接收登录日志,提供分页查询日志的功能
├── aggregate-pay-merchant # 商户服务父模块
├── aggregate-pay-merchant-api # 商户服务API模块,用于存放商户服务的DTO类、feign接口、服务降级FallbackFactory
├── aggregate-pay-merchant-service # 商户服务
├── aggregate-pay-merchant-application # 商户平台应用服务
├── aggregate-pay-payment-agent # 支付聚道代理服务父模块
├── aggregate-pay-payment-agent-api # 支付聚道代理服务API模块,用途和商户服务API模块一样
├── aggregate-pay-payment-agent-service # 支付聚道代理服务,主要用于对接第三方支付平台
├── aggregate-pay-sms # 聚合支付短信服务,给聚合支付平台提供发送短信和校验短信功能,和短信系统对接
├── aggregate-pay-transaction # 聚合支付系统交易服务父模块
├── aggregate-pay-transaction-api # 交易服务API模块,用于存放商户服务的DTO类、feign接口、服务降级FallbackFactory
├── aggregate-pay-transaction-service # 交易服务,交易相关
├── aggregate-pay-uaa # 聚合支付系统SaaS系统的认证和授权服务的父模块
├── aggregate-pay-uaa-api # 认证和授权服务API模块,用途和商户服务API模块一样
├── aggregate-pay-uaa-service # 聚合支付系统SaaS系统的认证和授权服务
├── aggregate-pay-user # 聚合支付系统用户服务父模块
├── aggregate-pay-user-api # 聚合支付系统用户服务API模块
├── aggregate-pay-user-service # 聚合支付系统用户服务
├── sms # 短信平台父工程
├──sms-entity # 短信平台实体
├──sms-dao # 短信平台的数据持久化模块,主要包括mybatis plus的mapper文件和mapper接口
├──sms-manage # 系统管理服务
├──sms-api # 短信接收服务,应用系统调用接口、发送短信
├──sms-server # 短信发送服务,调用短信通道、发送短信
└──sms-sdk # 短信SDK,应用系统引入、发送短信
└── tools # 工具工程
├── tools-common # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
├── tools-core # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
├── tools-databases # 数据源组件:数据源配置、数据权限、查询条件等
├── tools-dozer # 对象转换:dozer配置、工具
├── tools-redis-cache # redis分布式缓存工具类和分布式锁服务,缓存工具类解决著名的3个缓存问题
├── tools-j2cache # 缓存组件:j2cache、redis缓存
├── tools-jwt # JWT组件:配置、属性、工具
├── tools-log # 日志组件:日志实体、事件、拦截器、工具
├── tools-swagger2 # 文档组件:knife4j文档
├── tools-user # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
├── tools-validator # 表单验证: 后台表单规则验证
├── tools-xss # xss防注入组件
- 时间:2022/12/14 - 2023/01/05 或者 2022/10/25 - 2023/01/05
- 项目名称:sms-backend
- 技术:SpringBoot、Nacos、Mybatis Plus、redis、Redission分布式锁等
- 项目地址:点击进入
- 代码行数:55000行左右
- 项目介绍:一个统一入口、减少对接成本、同时兼顾多种短信业务、简单易行的操作与维护、高稳定、高可靠的短信平台。通过智能动态的通道评级、选举、降级、热插拔,增强了系统的健壮性,摆脱对单一通道的依赖。并且提供多种对接方式的短信发送和管理平台
项目模块:
sms-backend # 聚合工程,用于聚合parent、apps、tools等模块
├── parent # 父工程,nacos配置及依赖包管理
├── apps # 应用目录
├── auth # 权限服务父工程
├── auth-entity # 权限实体
├── auth-server # 权限服务
├── gateway # 网关服务
├── sms # 短信平台父工程
├──sms-entity # 短信平台实体
├──sms-dao # 短信平台的数据持久化模块,主要包括mybatis plus的mapper文件和mapper接口
├──sms-manage # 系统管理服务
├──sms-api # 短信接收服务,应用系统调用接口、发送短信
├──sms-server # 短信发送服务,调用短信通道、发送短信
└──sms-sdk # 短信SDK,应用系统引入、发送短信
└── tools # 工具工程
├── tools-common # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
├── tools-core # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
├── tools-databases # 数据源组件:数据源配置、数据权限、查询条件等
├── tools-dozer # 对象转换:dozer配置、工具
├── tools-redis-cache # redis分布式缓存工具类和分布式锁服务,缓存工具类解决著名的3个缓存问题
├── tools-j2cache # 缓存组件:j2cache、redis缓存
├── tools-jwt # JWT组件:配置、属性、工具
├── tools-log # 日志组件:日志实体、事件、拦截器、工具
├── tools-swagger2 # 文档组件:knife4j文档
├── tools-user # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
├── tools-validator # 表单验证: 后台表单规则验证
├── tools-xss # xss防注入组件
- 时间:2022/10/25 - 2022/11/14
- 项目名称:authority
- 技术:SpringBoot、Zuul、Nacos、Fegin、Ribbon、Hystrix、JWT Token、Mybatis Plus、AntiSamy、j2cache、dozer等
- 项目地址:点击进入
- 代码行数:28900行左右
- 项目介绍:对于企业中的项目绝大多数都需要进行用户权限管理、认证、鉴权、加密、解密、XSS防跨站攻击等。这些功能整体实现思路基本一致,但是大部分项目都需要实现一次,这无形中就形成了巨大的资源浪费。本项目就是针对这个问题,提供了一套通用的权限解决方案。项目具备通用的用户管理、资源权限管理、网关统一鉴权、XSS防跨站攻击等多个模块,支持多业务系统并行开发,支持多服务并行开发,可以作为后端服务的开发脚手架去使用。
项目模块:
authority #聚合工程,用于聚合parent、apps、tools等模块
├── parent # 父工程,nacos配置及依赖包管理
├── apps # 应用目录
├── auth # 权限服务父工程
├── auth-entity # 权限实体
├── auth-server # 权限服务
├── gateway # 网关服务
└── tools # 工具工程
├── tools-common # 基础组件:基础配置类、函数、常量、统一异常处理、undertow服务器
├── tools-core # 核心组件:基础实体、返回对象、上下文、异常处理、分布式锁、函数、树
├── tools-databases # 数据源组件:数据源配置、数据权限、查询条件等
├── tools-dozer # 对象转换:dozer配置、工具
├── tools-redis-cache # redis分布式缓存工具类和分布式锁服务,缓存工具类解决著名的3个缓存问题
├── tools-j2cache # 缓存组件:j2cache、redis缓存
├── tools-jwt # JWT组件:配置、属性、工具
├── tools-log # 日志组件:日志实体、事件、拦截器、工具
├── tools-swagger2 # 文档组件:knife4j文档
├── tools-user # 用户上下文:用户注解、模型和工具,当前登录用户信息注入模块
├── tools-validator # 表单验证: 后台表单规则验证
├── tools-xss # xss防注入组件
- 时间:2022/10/12 - 2022/10/26
- 项目名称:CartoonApp
- 技术:Android
- 项目地址:点击进入
- 代码行数:11500行左右
- 项目介绍:一款基于安卓的观看漫画的app,实现了漫画排行榜、漫画目录、收藏夹、历史记录、漫画搜索、漫画更新推送服务等
- 时间:2022/05/?? - 2022/06/04
- 项目名称:elasticsearch_hotel_management、elasticsearch_hotel_final
- 技术:elasticsearch、rabbitMQ、spring boot
- 项目地址:elasticsearch_hotel_management 、 elasticsearch_hotel_final
- 代码行数:前端1000行、后端4000行
- 项目介绍:写这个项目的目的是学习elasticsearch
- 时间:2022/05/12 - 2022/05/21
- 项目名称:spring_boot_redis_hmdp_final
- 技术:redis、Redisson、spring boot
- 项目地址:点击进入
- 代码行数:10821行
- 项目介绍:
- 这是一个以学习redis为目的的前后端分离的项目。 学完本项目收获: 1.分布式环境下基于token实现登录 2.使用redis作为缓存来查询商户信息,解决缓存穿透、缓存雪崩、缓存击穿问题,封装缓存操作工具类 3.缓存更新策略 4.优惠券秒杀,超卖问题解决方案,乐观锁 5.redisson分布式锁 6.使用消息队列实现异步秒杀 7.使用redis实现点赞功能 8.使用redis实现好友共同关注 9.使用redis的GEO数据结构实现查询附近商铺功能 10.使用redis的bitmap数据结构实现用户签到
- 时间:2022/01/31 - 2022/02/23
- 项目名称:Java_Web_Implementation_of_student_information_management_system_based_on_MySQL
- 技术:javaweb、JDBC、JDBC连接池、MySQL、servlet、jsp、jstl、HTML、CSS、js、animate动画库
- 项目地址:点击进入
- 代码行数:33403行
- 项目介绍:数据库课程设计、目的是学习怎么使用JDBC去操作mysql数据库,写这个项目的目的是学习jdbc的操作、html、css、jsp等
- 时间:2021/12/07 - 2021/12/22
- 项目名称:java_course_design_Swing_implements_text_editor
- 技术:java swing
- 项目地址:点击进入
- 代码行数:6044行
- 项目介绍:基于java swing实现的文本编辑器