自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

生产队的驴

小马爱吃马

  • 博客(208)
  • 资源 (28)
  • 问答 (3)
  • 收藏
  • 关注

原创 SpringCloud 账号统一认证中心 应用中心 平台中心 前端不同域和后端不同Redis 集成Sa-Token-SSO单点登录模块 登录状态共享 前后端分离

摘要 本文介绍了前端不同域和后端不同Redis环境下的单点登录(SSO)实现方案。通过账号统一认证中心(UAC)管理用户认证授权,解决了客户端无法直连Redis校验ticket、无法共享会话等问题。文章提供了具体的配置方法,包括移除不必要的依赖、客户端yml配置示例,以及前端集成认证中心的HTML代码片段。该方案适用于需要对接第三方系统的场景,实现了跨域SSO功能。

2025-06-23 16:29:32 276

原创 SpringCloud 前端不同域和后端同Redis 集成Sa-Token-SSO单点登录模块 账号统一认证中心 多端同步登录 登录状态共享 前后端分离

举个场景,假设我们的系统被切割为N个部分:商城、论坛、直播、社交…… 如果用户每访问一个模块都要登录一次,那么用户将会疯掉, 为了优化用户体验,我们急需一套机制将这N个系统的认证授权互通共享,让用户在一个系统登录之后,便可以畅通无阻的访问其它所有系统。

2025-06-23 11:11:51 993

原创 Vue3 监控网页上的网络状态 防止设备离线 网络监控 设备监控 速率监控

【代码】Vue3 监控网页上的网络状态 防止设备离线 网络监控 设备监控 速率监控。

2025-06-18 09:37:15 416

原创 SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定

摘要 本文介绍了基于Java的服务器监控系统实现方案,使用Oshi和Hutool库进行硬件和系统信息采集。系统通过API接口返回JSON格式的服务器运行状态数据,包括: 硬件信息:CPU、内存、磁盘、网络接口等详细参数 系统信息:操作系统版本、架构、文件分隔符等 JVM信息:Java虚拟机规格和版本 网络状态:各网卡的IP地址、MAC地址、连接状态等 实现代码展示了如何通过简单的Spring Boot接口整合这些监控数据,为服务器运维人员提供实时系统状态的可视化支持。该系统具有跨平台特性,无需安装额外驱动,

2025-06-13 16:57:45 723

原创 SpringBoot 用户账号密码加密BCryptPasswordEncoder 登录验证 密码不可逆 账号安全性

BCryptPasswordEncoder是Spring Security提供的密码加密工具,采用BCrypt哈希算法实现安全加密。其特点包括:使用随机盐值确保相同密码每次加密结果不同,单向加密不可逆,验证时通过比对哈希值确认密码正确性。使用时需引入spring-security-core依赖,通过encode()方法加密密码,matches()方法验证密码匹配性。该方案有效平衡了安全性与性能,是密码存储的推荐方案。

2025-06-13 10:05:35 346

原创 Vue3 使用Vite打包混淆加密保护代码 代码混淆 代码安全 防爬虫 混淆和加密

代码混淆加密可以保护代码的安全性、防止爬虫以及防止代码被反编译或逆向是很重要。使用 Vite 来进行打包、混淆和加密是一种常见的做法。混淆后的代码会将变量名、函数名、类名等替换为毫无意义的短字符或符号,这样即使攻击者拿到代码,也很难知道每个变量和函数的真正含义。混淆后的代码结构和控制流会变得复杂,增加了破解者逆向分析的时间和成本。

2025-06-11 09:49:54 800 1

原创 Vue3 卡片绑定滚动条 随着滚动条展开效果 GSAP动画库 ScrollTrigger滚动条插件

本文介绍了如何使用GSAP ScrollTrigger插件实现基于滚动的动画效果。通过Vue组件展示了三个卡片元素随页面滚动动态展开的交互效果:初始状态下卡片间距为0,当用户滚动到指定位置时触发动画,卡片间距渐变为50px,并采用"power1"缓动曲线。代码示例包含完整的JavaScript动画逻辑、HTML结构和CSS样式,实现了类似QQ官网的滚动触发视觉效果。关键点包括ScrollTrigger的scrub模式配置、动画触发时机设定以及flex布局下元素的层叠效果处理。

2025-06-06 16:31:25 449

原创 Vue3 GSAP动画库绑定滚动条视差效果 绑定滚动条 滚动条动画 时间轴

本文介绍了如何使用GSAP动画库配合ScrollTrigger插件实现滚动触发的文字放大效果。通过Vue组件展示了如何在页面滚动时,让文字从10vw逐渐放大到28vw,同时文字颜色从白色变为透明,并采用背景图片填充文字的特殊效果。该动画效果类似QQ官网的滚动交互,代码包含GSAP初始化、动画配置(持续时间、缓动曲线等)和ScrollTrigger触发条件设置(滚动位置、固定元素等),最终实现流畅的视差滚动动画效果。

2025-06-06 15:01:58 464

原创 SpringCloud 分布式锁Redisson锁的重入性与看门狗机制 高并发 可重入

Redisson的可重入锁机制允许同一线程多次获取同一把锁。线程首次获取锁时,锁的持有次数会递增;再次获取时,只需检查是否为同一线程持有即可继续递增。释放锁时持有次数递减,直至归零才真正释放。示例代码展示了线程在扣款业务中嵌套获取同一把锁的场景,通过匹配lock()和unlock()次数确保锁的正确释放。这种机制既保证了线程安全,又避免了同一线程重复获取锁时的死锁问题,适用于需要嵌套同步的业务场景。

2025-06-03 20:34:15 725

原创 SpringBoot 数据库批量导入导出 Xlsx文件的导入与导出 全量导出 数据库导出表格 数据处理 外部数据

本文介绍了使用Apache POI和Hutool工具库处理Office文件的方法。重点讲解如何通过Hutool-poi简化Excel导出操作,包括Xls和Xlsx格式导出,以及基于注解的按需导出功能。文中提供了依赖配置、实体类定义(支持别名注解)、完整导出代码示例,并展示了如何通过自定义注解实现字段选择性导出。该方法适用于管理系统中数据导入导出场景,相比直接使用POI更加简便高效。附带的代码示例可直接应用于实际项目开发。

2025-06-03 15:11:44 861

原创 SpringClound Redis集群 分布式锁Redisson互斥性 订单抢购 订单秒杀 分布式系统业务一致性 高并发优化

Redisson分布式锁在秒杀场景中的应用:通过引入Redisson的RLock实现分布式锁机制,确保高并发环境下商品库存的精确控制。配置类整合Redis集群节点,业务层采用"tryLock"获取锁,校验库存和用户订单后执行库存扣减与订单生成,最后释放锁。测试表明该方法有效防止了超卖和重复购买问题,200并发下仍能保持数据一致性。关键点包括:基于商品ID和用户ID的锁命名策略、锁获取失败快速返回机制、事务完成后确保锁释放等。

2025-05-30 10:17:53 318

原创 SpringBoot 执行Lua脚本 服务端执行 减少性能损耗 优化性能 优化连接性能

通过 Redis 执行 Lua 脚本时,所有的操作都在服务器端完成,而不是多次通过网络进行请求。这可以显著减少网络延迟,尤其是在需要多次与 Redis 交互的场景中。多个操作可以在 Lua 脚本中组合成一个操作,而不是分多次请求,这减少了客户端与 Redis 之间的往返次数,从而提升了性能。脚本的执行是原子的。意味着整个 Lua 脚本会在 Redis 服务器中一次性执行,不会被中断,确保了操作的原子性。

2025-05-28 20:30:01 596

原创 SpringBoot 商城秒杀系统实现 一人一单 防止黄牛 秒杀限购 用户限制 单机模式

在电商平台中,秒杀活动是吸引用户参与并增加流量的一个重要手段,由于秒杀活动的高并发和竞争激烈,如何确保秒杀活动的公平、公正和系统的稳定性。如何通过一人一单、防止黄牛和秒杀限购来构建一个高效的商城秒杀系统。每个用户在秒杀活动中只能购买一件商品,防止某些用户通过恶意手段(如脚本)刷单。一人一单。

2025-05-26 21:24:04 317

原创 Vue3 数据可视化屏幕大屏适配 页面自适应 响应式 数据大屏 大屏适配

数据可视化大屏应用的自适应和响应式设计是提升用户体验的关键。通过使用 useResponsiveScale Hook,可以实现页面在不同屏幕尺寸和设备分辨率下的自动调整。该工具通过计算设计稿的宽高比,并根据当前窗口的宽高比动态调整缩放比例,确保内容在不同设备上都能完美显示。代码示例展示了如何绑定需要缩放的元素,并通过监听窗口的 resize 事件实时更新布局。此外,模板和样式部分提供了具体的 HTML 和 CSS 实现,帮助开发者快速集成自适应功能。

2025-05-23 16:50:26 802

原创 SpringBoot 连接达梦数据库 使用Mybatis-Plus操作数据 国产数据 连接配置 数据迁移 项目依赖

达梦数据库(DM Database)是它主要面向高性能、高可用、高安全、高可扩展性等需求的应用场景,广泛应用于金融、电信、政府、能源等行业。达梦数据库提供了多种数据库接口和协议,包括标准的SQL接口、JDBC、ODBC等,开发人员可以通过这些接口方便地与达梦数据库进行交互。这些接口,可以轻松地进行数据查询、插入、更新和删除等操作。达梦数据库:https://eco.dameng.com/download/数据可视化操作:https://www.sqlark.com/

2025-05-22 10:07:00 444

原创 SpringBoot 商城系统一人一单 高并发引起的库存超卖库存问题 乐观锁 悲观锁 抢购 商品秒杀 单机模式

在高并发场景下,如商品秒杀和抢购,库存超卖是一个常见问题。Spring Boot 提供了两种主要解决方案:悲观锁和乐观锁。悲观锁通过加锁确保同一时刻只有一个线程访问资源,适用于资源冲突较多的场景,但性能较低。乐观锁则允许多线程并发访问,仅在提交时检查冲突,适用于冲突较少的场景,性能较高。乐观锁的实现方式包括版本号机制和时间戳机制。测试表明,无锁情况下会出现超卖问题,悲观锁解决了超卖但性能低下,乐观锁解决了超卖但高并发下性能仍不足。对于大数据量场景,建议使用其他中间件来优化性能。

2025-05-20 23:15:06 491

原创 SpringBoot 中文转拼音 Pinyin4j库 拼音转换 单据管理 客户管理

在客户管理系统中,为了准确处理客户名称中的生僻字,决定将客户名称的拼音一并返回给前端。后端使用Pinyin4j库实现汉字到拼音的转换。Pinyin4j是一个Java库,支持拼音转换、排序和检索等功能。通过引入Pinyin4j依赖,并编写工具类PinYinUtils,可以实现中文到拼音的转换。工具类中设置了拼音的输出格式,包括声调类型、大小写等,并处理了非中文字符的情况。使用该工具类,可以轻松将中文名称转换为拼音,便于前端处理和沟通。

2025-05-19 19:58:58 391

原创 Vue3 加快页面加载速度 使用CDN外部库的加载 提升页面打开速度 服务器分发

CDN(内容分发网络)通过全球分布的边缘节点,使用户能够从最近的服务器获取资源,从而减少网络延迟,显著提升JS、CSS等静态文件的加载速度。公共库(如Vue、React、Axios)托管在CDN上,可以减少自身服务器的带宽消耗和请求负载,提高网站稳定性。通过使用Vite插件vite-plugin-cdn-import,可以在构建时自动将指定的npm依赖替换为CDN链接,修改生成的HTML文件,自动注入<script src="CDN地址">标签,而不是将库打包到代码中。配置文

2025-05-16 21:10:07 861

原创 Vue3 Vite配置路径别名@ 路径重写 路径简化

【代码】Vue3 Vite配置路径别名@ 路径重写 路径简化。

2025-05-16 20:39:30 240

原创 Maven 公司内部私服中央仓库搭建 局域网仓库 资源共享 依赖包构建共享

公司内部搭建Maven私服的主要目的是为了更有效地管理依赖包和构建过程,避免直接依赖外部Maven中央仓库。通过私服,团队可以控制依赖版本、提升构建速度并增强安全性。私服作为局域网内的仓库服务,代理外部中央仓库,解决内部资源共享问题。配置私服需要在Maven的settings.xml文件中设置服务器账号密码、私服连接地址及仓库信息。项目版本分为RELEASE(稳定发行版)和SNAPSHOT(开发快照版),分别存储在私服的不同仓库中。上传私服需在项目的pom.xml中配置发布地址。使用私服时,只需在依赖声明中

2025-05-11 16:06:17 669

原创 Docker 部署Nexus仓库 搭建Maven私服仓库 公司内部仓库

Nexus 是一款广泛使用的仓库管理工具,主要用于管理 Java 构件(如 JAR、WAR、EAR 文件)。它支持多种仓库类型,包括托管仓库、代理仓库和组仓库,帮助开发团队高效管理构件的发布、版本控制和分发。通过 Docker 可以快速部署 Nexus 服务,并使用默认管理员账号登录。Nexus 的托管仓库用于存储团队上传的构件,代理仓库则从远程仓库缓存构件以提高构建速度,组仓库则整合多个仓库方便访问。此外,Nexus 支持将代理镜像配置到阿里云,进一步提升依赖管理的效率。

2025-05-11 14:45:24 757

原创 SpringBoot 讯飞星火AI WebFlux流式接口返回 异步返回 对接AI大模型 人工智能接口返回

本文介绍了如何使用 Spring WebFlux 构建响应式 Web 应用程序,并集成 WebClient 进行非阻塞的 HTTP 请求。WebFlux 支持异步编程模型,适合高并发和实时数据推送场景。文章详细展示了如何通过 WebClient 与讯飞星火 API 进行交互,包括构建请求体、设置请求头、处理响应流等。代码示例展示了如何通过控制器发起 POST 请求,并处理流式返回的数据,同时设置了超时、重试和错误处理机制。依赖项为 spring-boot-starter-webflux,适用于需要高效处理异

2025-05-08 22:47:07 605

原创 SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫

滑块验证码比传统的字符验证码更加直观和用户友好,能够很好防止爬虫获取数据。AJ-Captcha行为验证码,包含滑动拼图、文字点选两种方式,UI支持弹出和嵌入两种方式。后端提供Java实现,前端提供了php、angular、html、vue、uni-app、flutter、android、ios等代码示例。配置文件开启aj:captcha:# 滑动验证底图路径,不配置将使用默认图片路径格式- original 背景图- slidingBlock 验证码块。

2025-05-06 20:58:24 895

原创 SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换

Spring Boot通过MessageSource接口来实现国际化,它可以加载不同的消息资源文件,通常是.properties格式。通过定义不同的语言文件(例如:messages_en.properties、messages_zh.properties等),可以根据用户的语言环境来自动选择对应的文件,提供不同的翻译和文本来实现业务的国际化操作。

2025-04-28 22:23:55 1168

原创 Vue3 通过Vue3-Print-Nb在线工单打印 模板打印 自定义打印 打印下载

通过在应用中集成打印功能,用户可以直接从页面打印工单,不用导出文件或使用其他外部工具。节省时间,提高效率,特别是当需要大量打印时。同时也可以将文件模板上传到数据库,提供给部门工作自行下载。开源文档:https://www.npmjs.com/package/vue-print-nb。

2025-04-27 17:35:23 927

原创 SpringBoot UserAgentUtils获取用户浏览器 操作系统设备统计 信息统计 日志入库

UserAgentUtils 是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备等相关信息,这些信息通常包含在接口请求的 User-Agent 字符串中。这个库可以用于解析用户代理头,以提取有关所使用的浏览器、浏览器版本、平台、平台版本和设备类型的信息。对于确定客户端是否是台式机、平板电脑或移动设备,或者客户端是否在Windows或Mac OS上(仅举几例)非常有用。超过150种不同的浏览器;7种不同的浏览器类型;超过60种不同的操作系统;

2025-04-27 00:14:25 602

原创 SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理

【代码】SpringBoot 封装统一API返回格式对象 标准化开发。

2025-04-24 21:46:10 334

原创 Vue3 自定义指令根据不同的权限显示按钮 模块化处理

假设应用中有一个权限系统,每个用户根据其权限应该看到不同的按钮或界面元素。可以通过自定义指令,可以在 DOM 元素上控制这些元素的显示和隐藏让用户无法操作这些按钮而且使用指令是很好发解决方案。vue提供了五个指令的生命周期beforeMount(el, binding):在元素被插入到 DOM 之前调用。el 是被绑定的 DOM 元素,binding 包含了指令的所有信息。mounted(el, binding)在元素被插入到 DOM 后调用。

2025-04-22 01:19:50 518

原创 Ollydbg 判断程序是否为易语言编写

Ctrl+G 转入到表达式 00401000 为xor表示易语言的特征码。Ctrl+B 搜索字符串 FF 25。往上走第一个push为载入窗口。

2025-04-20 02:11:08 233

原创 MySQL 数据库设计 权限系统 按钮级权限数据表数据 动态路由

角色用来限制动态菜单,权限字符串用来限制菜单下的增删改查。只查询目录下的菜单,不查询按钮。查询出对应角色下的权限字符串。

2025-04-15 03:14:15 233

原创 SpringBoot 动态路由菜单 权限系统开发 菜单权限 数据库设计 不同角色对应不同权限

系统中的路由配置可以根据用户的身份、角色或其他权限信息动态生成,而不是固定在系统中。不同的用户根据其权限会看到不同的路由,访问不同的页面。对应各部门不同的权限。

2025-04-13 21:01:25 473

原创 SpringBoot 数据库MySql的读写分离 多数据源 Shardingsphere高并发优化

传统的 MySQL 架构中,所有的数据库操作(包括读操作和写操作)都在同一个数据库实例上进行。随着应用程序的规模增长,单一数据库实例可能会成为瓶颈,无法满足高并发的需求。为了优化性能,可以将数据库的读操作和写操作分开。写操作(Write):所有的写操作(如 INSERT、UPDATE、DELETE 等)都在主数据库(Master)上进行。读操作(Read):所有的读操作(如 SELECT)在从数据库(Slave)上进行。

2025-04-10 23:27:27 378

原创 Docker MySQL的主从同步 数据备份 数据同步 配置文件

这样就完成了主从同步,主库的任何操作都会被同步到从库。:指示从服务器是否成功从主服务器读取二进制日志。:指示从服务器是否成功应用二进制日志中的事件。根据主库的日志文件配置同步。

2025-04-10 21:13:51 243

原创 SpringBoot 接口限流Lua脚本接合Redis 服务熔断 自定义注解 接口保护

Spring Boot 接口限流是防止接口被频繁请求而导致服务器负载过重或服务崩溃的一种策略。通过限流,我们可以控制单位时间内允许的请求次数,确保系统的稳定性。限流可以帮助防止恶意请求、保护系统资源,并优化 API 的可用性,避免因过多请求导致服务不可用。Resis序列化@Retention(RetentionPolicy.RUNTIME) //运行时使用@Target({ElementType.METHOD}) // 应用到方法和类上//多少秒访问//最大次数//默认5秒可以访问5次。

2025-04-09 22:36:12 651 1

原创 SpringBoot Redis序列化 FastJson2Json自定义序列化

【代码】SpringBoot Redis序列化 FastJson2Json自定义序列化。

2025-04-09 22:31:34 391

原创 Quartz 分布式集群 数据持久化任务调度系统

Quartz 的分布式集群功能是为了应对在多个节点间分担调度任务,以保证高可用性和负载均衡。通过将多个 Quartz 调度器实例集成到一个集群中,可以确保在一个节点发生故障时,其他节点可以继续执行任务,避免单点故障,提供更高的可靠性。

2025-04-07 23:22:56 294

原创 Quartz 数据持久化 接入MySQL数据库 数据不丢失 数据入库

Quartz 可以将任务的配置、调度信息(如任务的触发器、作业等)持久化到数据库中。这样,即使应用程序重启,或者系统崩溃,也能恢复之前的调度任务。任务的调度信息不会丢失,确保任务的持续执行。官方文档:https://github.com/quartz-scheduler/quartz。

2025-04-07 21:52:21 407

原创 Quartz MisFire补偿机制 任务补偿 任务延迟 错过触发策略

在 Quartz 中,MisFire(错过触发)是指触发器错过了预定的触发时间,通常是由于系统延迟、任务执行时间过长或者调度器本身未能及时执行任务等原因。这种情况可能会导致任务无法按预期的时间执行。为了应对这些问题,Quartz 提供了 MisFire 补偿机制,即通过设置 MisFire Policy(错过触发策略)来处理这种情况。.startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间")//每分钟执行一次。

2025-04-07 21:07:50 327

原创 Quartz 调度器动态添加删除任务 动态任务调度 增删改查 API任务池 API接口开发

在实际项目开发中,任务调度通常是通过用户的操作来创建任务,而不是硬编码在程序中。这样可以根据用户需求动态地管理任务。Quartz 提供了丰富的增删改查(CRUD)API,允许开发者动态地管理调度任务。封装工具类JobUtils。

2025-04-07 19:44:35 475

原创 Quartz SpringBoot整合定时任务的基础使用方法 任务调度 定时器 单机版

Quartz 是一个功能强大的开源作业调度库,广泛应用于 Java 程序中,用于执行定时任务。Quartz 提供了灵活的调度方式,支持按时间、间隔、cron 表达式等方式配置任务。Quartz 定时任务的基本概念Job:一个任务类,执行实际的操作。JobDetail:封装了 Job 类,定义任务的细节和其他参数。Trigger:触发任务执行的条件,可以是简单触发器(SimpleTrigger)或者 Cron 表达式触发器(CronTrigger)。Scheduler。

2025-04-07 16:52:45 913

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除