自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 MySQL 自动备份与恢复方案

这篇文章记录了一次MySQL数据库恢复事故后的经验总结,作者通过这次教训建立了完善的自动备份系统。核心内容包括: 事故教训:没有完整备份只能依赖binlog恢复,过程复杂且风险高 备份原则: 必须自动定时备份 设置保留周期(30天日备/12周周备/12个月月备) 备份文件需验证完整性 失败时立即邮件通知 最终需实现异地备份 实现方案: 使用mysqldump+gzip+sha256验证 创建专用备份账号 配置邮件告警系统 建立备份目录结构和脚本 关键提醒:不要混淆Linux root和MySQL root账

2026-08-18 11:51:33 235

原创 Claude Code 开发效率提升实践:CodeGraph + Serena 配置与使用指南

两者配合后,可以显著提升 Claude Code 对项目的理解能力。

2026-06-24 17:21:50 476

原创 低配服务器监控方案实践:Docker + Uptime Kuma + Nginx + HTTPS

2核2G服务器环境下:PrometheusGrafanaSkyWalkingELK资源成本偏高。邮件告警部署简单中文友好资源占用低支持 HTTPS支持邮件/企业微信/飞书/钉钉非常适合中小型 Spring Boot 项目对于低配置云服务器来说,这是一个性价比非常高的监控方案。4核8G甚至更高SkyWalking会更加合适。

2026-06-18 10:51:55 274

原创 Linux 下部署 `social-auto-upload` 遇到的问题及完整解决方案

Python 版本不兼容f-string 语法报错虚拟环境依赖缺失Chromium 下载失败pip 依赖版本限制使用Python 3.8虚拟环境修复 f-string 写法手动下载 Chromium 或使用国内镜像国内镜像加速 pip 安装依赖通过以上方法,可以保证在 Linux 下顺利运行。

2026-05-13 21:44:30 461

原创 Spring Boot 启动报错 `BindException: Permission denied`

端口是否<1024启动用户是否rootLinux 是否限制端口权限防火墙问题端口冲突Java权限问题其实只是Linux 特权端口机制。普通用户无法绑定 1024 以下端口,这是 Linux 的系统安全机制。Spring Boot 遇到,先检查端口号。

2026-03-15 14:56:53 400

原创 GitHub Actions 安卓 APK CI 签名

1️⃣ keystore 是否真的恢复成功2️⃣ Gradle 是否真的使用了它3️⃣ 路径是否完全一致在真实 CI 环境中被问题反复验证后,最稳定、最不容易踩坑的一种方式。后续如果要支持AAB / Play Store / 多渠道包,也可以在此基础上无痛扩展。

2026-02-02 10:31:42 1276

原创 IntelliJ IDEA快捷键

熟练掌握 IDEA 快捷键,本质是在减少手部移动 + 降低思维中断。先记5 个核心快捷键用到就强制不用鼠标一周内形成肌肉记忆。

2026-01-26 22:20:58 986 1

原创 部署静态 HTML 页面

项目结论Vercel 部署体验⭐⭐⭐⭐⭐ 非常优秀Windows 操作难度⭐ 低国内直连可访问性❌ 较差是否部署成功✅ 成功是否需要 VPN✅ 是Vercel 本身没有问题,问题在于国内网络环境。

2026-01-07 23:28:10 1399

原创 SLF4J 多实现冲突的完整排坑记录

一个接口,一个实现SLF4J API↓Logback(唯一实现)这个问题不复杂,但极具迷惑性。对日志体系的理解对 Maven 依赖模型的理解对操作系统差异的经验如果你也踩过类似的坑,希望这篇文章能帮你少走半小时弯路。日志问题,永远值得一次性彻底解决。

2025-12-25 10:44:32 962

原创 GitHub Actions SSH 部署密钥

之前项目已经通过 GitHub Actions → SSH → 服务器 实现过自动部署,但隔了一段时间后:核心疑问:结果只有:结论:SSH 的核心机制是:只要做到:👉 不会影响任何已有 Action 或人工登录指定保存路径和文件名,例如:生成结果:⚠️ 不要设置 passphrase(GitHub Actions 无法交互输入)在 EC2 上查看 的 ,会看到类似内容:含义:👉 正确用户应为:SSH 的规则是:👉 用户不一致,100% 登录失败2️⃣ 追加公钥(不要删除原内容)追加

2025-12-21 10:08:27 783

原创 SSO 踩坑

在 SSO 体系中,用户名永远不应作为身份判定依据。必须以外部系统的不可变用户 ID 作为唯一身份锚点,通过绑定关系映射到本地账号。用户名仅用于展示或本地登录,与 SSO 身份解耦。

2025-12-19 14:43:26 544

原创 高性能拖拽排序

问题描述批量更新数据越多越慢,五十几万条记录就会炸锁竞争大范围 UPDATE 会锁大量行甚至锁表排序混乱难修复经常出现顺序错乱、重复值不适合高频操作拖拽排序、菜单管理等需求无法平滑支持项目建议排序字段类型DOUBLE初始间隔建议 1000、2000、3000移动更新只修改一条记录什么时候序列化按需触发 + 定期触发序列化的间隔每次递增 1000并发优先行级锁,避免表锁索引间隙排序 + 按需序列化(Re-sequencing)✔ 超高性能✔ 极低锁冲突✔ 长期可维护性。

2025-12-02 14:12:04 598

原创 如何从 GitHub 大仓库中只下载指定目录

步骤命令说明1只拉取元数据2启用稀疏检出3git sparse-checkout set <目录>指定要下载的子目录4检出实际内容通过我们可以像“点菜”一样精准获取所需目录,再也不用被庞大的仓库体积困扰!

2025-10-27 21:53:37 1111

原创 JSON Schema 接口校验

如果你的接口只在 Java 内部使用、规则稳定,@Valid已足够。一旦进入跨语言协作、快速变更、复杂结构/条件的领域,能把“规则”抽离成资产,实现前后端/多语言统一与灵活演进。按本文给出的三种集成方式,先从资源文件加载 + 缓存起步,逐步演进到数据库动态热加载 + 版本治理,即可在生产环境稳妥落地。

2025-08-18 09:56:55 1065

原创 Nginx 替换 SSL 证书后的正确操作及常见问题排查

步骤操作命令/说明确保新证书为 PEM 格式确认证书已正确覆盖ls -l确认证书与私钥匹配md5`合并中间证书(如有)测试 Nginx 配置语法nginx -t重载或重启 Nginx 服务检查是否真正生效/ 浏览器证书信息如果你在生产环境中部署 HTTPS 站点,请务必对证书更新和 reload 流程保持熟悉,避免因证书错误导致服务不可用或用户无法访问。

2025-07-25 11:25:01 3638

原创 【解决大批量数据插入性能瓶颈】

临时表+后台异步,不只是一个“代码层优化技巧”,它体现的是一种系统架构设计的思维解耦、异步、缓冲、冗余、最终一致性;用结构性方案解决性能问题,而非堆 SQL;向数据流式处理、可观测性方向演进。最后提醒一句:如果你的 insert 慢,不是 insert 写得不对,而是你把 insert 写到了一个不该写的地方。

2025-07-17 12:00:15 1384

原创 多层远程桌面如何在最内层执行 Ctrl+Alt+Del?(附实用技巧)

方法适用性成功率推荐度物理 Ctrl+Alt + 屏幕键盘 Del✅ 所有环境通用⭐⭐⭐⭐⭐🌟 推荐菜单栏“发送 Ctrl+Alt+Del”✅ mstsc 客户端⭐⭐⭐⭐✅命令模拟操作✅ 替代功能⭐⭐⭐⭕深层快捷键⭕ 可能无效⭐⚠️ 测试后再用使用VPN + 一跳连接避免多层套娃使用等工具,支持深层控制和快捷键透传编写脚本 / 工具快速打开屏幕键盘或任务管理器希望这篇文章能帮你解决这个多层远程桌面的常见痛点。如果你有更好的方法,欢迎留言交流!

2025-05-29 14:41:12 2776

原创 如何通过 EC2 SSH 隧道安全访问私有 RDS 数据库

通行短语(Passphrase)是给私钥加密设置的密码。如果你在生成私钥时没有设置,那就留空。通过 EC2 作为 SSH 跳板机,我们无需暴露 RDS 到公网,即可安全地从本地管理数据库。安全性高(无公网暴露)操作便捷(Navicat 图形化连接)部署灵活(适用于开发测试环境)

2025-04-11 11:18:07 946

原创 Mermaid 语法教程

语法来绘制流程图、时序图、甘特图等可视化图表的工具。它适用于技术文档、Wiki、开发文档等场景。Mermaid 提供了一种直观、简单的方式来绘制图表,使技术文档更加清晰直观!Mermaid 是一种使用。B -->|是| C。

2025-04-03 13:18:15 5967

原创 Systemd 定时执行 Certbot 自动续期

【代码】Systemd 定时执行 Certbot 自动续期[特殊字符]

2025-03-19 14:57:31 759

原创 Linux 用户组与权限管理:从基础到高阶实践

Linux 用户不仅是操作主体,更是权限控制的核心单元。用户组用于批量权限分配,组信息存储在。

2025-03-19 09:26:40 1171

原创 在 Linux 上使用 Docker 部署 Spring Boot 项目

通过以上步骤,您可以在 Linux 服务器上顺利部署 Spring Boot 项目,结合 Docker 和 Docker Compose,实现高效的容器化管理。在开始 Docker 部署之前,首先需要确保 Spring Boot 项目已经打包为可执行的 JAR 文件。命令的路径,确保 JAR 文件正确复制到容器。在 Spring Boot 项目根目录下创建。打包完成后,JAR 文件通常位于。端口被占用,可以更换端口,例如。作为数据库连接 URL,而不是。目录下(Maven)或。目录下(Gradle)。

2025-03-17 10:53:07 1722

原创 FFmpeg 命令详解(完整详细版)

FFmpeg 是一个强大的多媒体处理工具,支持音视频转换、剪辑、合并、滤镜、压缩等操作。查看 FFmpeg 支持的输入/输出格式(如 MP4、MKV、MP3、AVI)。列出 FFmpeg 支持的所有编解码器(视频、音频、字幕)。(FFmpeg 会自动选择合适的编解码器)。查看 FFmpeg 版本、编译选项等信息。,帮助你高效使用 FFmpeg。

2025-03-04 11:16:54 5524

原创 MyBatis Plus 输出完整 SQL(带参数)的 3 种方案

如果你使用的是原生 MyBatis,或者想要更灵活的日志格式,可以自定义。编写})@Slf4j@Overridelog.info("\n 执行SQL耗时:{}ms \n 执行SQL:{}", endTime - startTime, sql);return sql;@Override✅适用于原生 MyBatis和可自定义日志格式,控制输出内容🚨缺点:需要手动编写,稍微复杂一点性能开销略大(需要解析 SQL 并替换参数)

2025-02-05 11:36:08 4632 8

原创 RabbitMQ 深度解析与最佳实践

扮演着至关重要的角色,能够解耦系统、提高可用性、提升吞吐量。RabbitMQ 作为业界广泛应用的 MQ 解决方案,支持多种消息路由机制,具备高性能、高可靠性。RabbitMQ 是强大的消息中间件,能有效解耦系统、提高吞吐量。:系统 A 需要调用系统 B,但 B 处理较慢,导致 A 被阻塞。为了防止消息丢失,RabbitMQ 需要消费者。,助你在项目中高效使用 RabbitMQ。:A 发送消息到 MQ,B 异步处理。消费者监听队列,并处理接收到的消息。:消息处理失败,返回队列重新消费。

2025-02-05 10:56:06 1487

原创 解决 PageHelper 中 ThreadLocal 引发分页残留问题

Aspect@Component这样,AOP 会在方法执行后自动清理分页上下文。PageHelper 的分页残留问题主要源于的使用不当。每次分页查询后显式调用清理上下文。使用 AOP 或其他工具自动清理分页参数。在多线程场景下,确保分页上下文不会污染线程池。升级到最新版本的 PageHelper。通过合理使用这些方法,可以有效规避分页残留问题,提高系统的稳定性和可靠性。

2024-12-31 09:27:11 1259

原创 Microsoft SQL Server Integration Services (SSIS) 详细介绍

Microsoft SQL Server Integration Services (SSIS) 是一款功能强大且灵活的数据集成工具,适用于各种 ETL 场景。通过熟练使用 SSIS,企业能够轻松处理复杂的数据集成任务,同时保证数据的一致性和高效性。Microsoft SQL Server Integration Services (SSIS) 是 Microsoft 提供的一款。SSIS 帮助开发者从各种数据源提取数据,对数据进行转换,然后加载到目标系统中,常见于数据仓库、数据迁移和自动化数据处理任务。

2024-12-30 14:49:58 12351

原创 如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)

通过本文,你已经学会了如何在Windows系统上安装Node.js,并使用nvm来管理多个Node.js版本。Node版本管理器(nvm)让你能够在不同的项目中灵活切换Node.js版本,提高了开发效率。此外,配置npm镜像源后,你可以大幅提高在中国大陆地区的下载速度。希望本文帮助你成功配置Node.js环境,并轻松开始你的JavaScript和Node.js开发之旅!

2024-12-19 15:42:21 2422

原创 如何在Windows系统上安装和配置Maven

通过本文的介绍,你已经成功安装并配置了Maven,并学会了如何创建和构建一个简单的Maven项目。Maven作为一个优秀的构建工具,极大地提高了项目管理和自动化构建的效率,能够帮助开发者更好地管理项目的依赖关系和构建过程。随着对Maven的深入学习,你将能够更灵活地使用它来管理更复杂的项目依赖、构建生命周期以及插件。希望本文对你在Windows上安装和配置Maven有所帮助,助你迈出Java项目构建的第一步!

2024-12-19 15:39:34 2143

原创 如何在Windows系统上安装Java环境

恭喜你成功安装了Java开发环境!现在,你可以开始编写和运行Java程序了。随着对Java的学习深入,你将能够使用更复杂的开发工具和框架,编写高效的应用程序。安装过程可能看起来有点繁琐,但它是每个Java开发者必须经历的第一步。希望这篇博文能帮助你顺利完成Java环境的搭建,迈出学习编程的第一步!

2024-12-19 15:36:51 1298

原创 深入理解并发编程与线程安全问题

在讨论线程安全问题之前,我们先来了解一下。

2024-12-18 10:17:49 544

原创 深入理解 XPath:XML 和 HTML 文档的利器

XPath 是 W3C 标准的一部分,主要用于在 XML 和 HTML 文档中通过路径表达式导航。它支持强大的查询功能,可以通过标签、属性、文本内容等多种方式快速定位节点。XPath 是处理 XML 和 HTML 数据的强大工具,其灵活的路径表达式和丰富的函数支持使其成为 Web 抓取和自动化测试的核心技术之一。在实际应用中,熟练掌握 XPath 的基本语法和函数,并根据场景选择最佳策略,可以极大提升效率。希望本文对你理解和使用 XPath 提供了帮助!

2024-12-11 14:34:05 1288

原创 Spring Boot 集成支付宝 SDK 实现支付功能(完整版)

本文完整实现了基于 Spring Boot 的支付宝支付模块,包括支付、退款、查询、分账和账单下载功能。在生产环境中,建议对系统的安全性和稳定性进行全面优化。通过本文,您可以快速集成支付宝支付模块并进行扩展开发。

2024-12-05 11:10:24 3219 1

原创 解决跨域问题方案

协议、域名、端口号必须一致。

2024-12-05 09:30:09 1622

原创 大数据量接口的异步处理方案详解

在现代分布式系统中,处理大数据量的接口是一个常见但复杂的场景。本文将详细分析大数据量接口异步处理的常见方案,并结合实际应用场景进行优缺点对比。大数据量接口的异步处理是现代系统设计中的一个重要部分。不同方案有各自的适用场景,合理选择并结合实际需求进行优化是关键。通过合理的方案设计,可以满足大数据量接口的各种业务需求,并提升系统的扩展性和用户体验。为了解决这些问题,异步处理成为一种高效的手段,可以将任务的执行与客户端请求解耦。以下列出了几种常见的异步处理方案,每种方案适用于不同的场景。

2024-12-03 14:56:48 1658

原创 Spring Boot 启动流程详解

Spring Boot 是一个简化的 Spring 应用开发框架,它以 “约定优于配置” 的理念,为开发者提供了开箱即用的功能。在 Spring Boot 的运行过程中,通过理解 Spring Boot 启动流程,你可以更高效地调试问题、优化启动性能,甚至自定义启动行为,从而更好地掌控你的应用。Spring Boot 的启动流程高度模块化,既有固定的主流程,又为开发者提供了丰富的扩展点。方法是整个启动流程的核心,本文将详细剖析其内部实现,帮助你深入理解 Spring Boot 的启动机制。

2024-12-03 14:53:31 1599 1

原创 Java 对象映射工具全解析

在 Java 开发中,对象映射是一个非常常见的需求,特别是在领域模型与 DTO(数据传输对象)之间进行转换时。本文将详细分析常见的对象映射工具,比较其优缺点,并提供应用场景的选择建议。对象映射(Object Mapping)指的是将一个对象的属性值复制到另一个对象中。通过合理使用对象映射工具,可以大幅提升代码的可读性和开发效率,为项目的成功打下坚实基础!ModelMapper 是一个易用、灵活的对象映射工具,支持动态和复杂的映射需求。Orika 是一款性能较高的映射工具,支持复杂映射规则和动态生成。

2024-12-02 10:29:16 1273

原创 深入理解 MongoDB:一款灵活高效的 NoSQL 数据库

与传统关系型数据库相比,MongoDB 不需要固定的表结构(Schema-less),并提供了强大的查询能力和扩展性,非常适合现代应用程序快速变化的数据需求。与传统关系型数据库相比,MongoDB 不需要固定的表结构(Schema-less),并提供了强大的查询能力和扩展性,非常适合现代应用程序快速变化的数据需求。复制集是 MongoDB 的高可用性机制,由一个主节点(Primary)和多个从节点(Secondary)组成,主节点处理写操作,从节点用于数据同步和读取。

2024-11-28 11:38:35 1378

原创 MySQL大数据量优化:详解与示例

无论是海量数据查询、更新,还是批量插入,大数据场景下的优化都是必不可少的。本文将从几个核心优化方向入手,结合实际案例,探讨如何优化 MySQL 数据库性能。大数据量优化并非单一方法的选择,而是多种方案的结合。对于频繁访问但更新较少的数据,可以使用缓存(如 Redis)减少数据库压力。索引是数据库查询优化的基础工具,合理的索引设计可以显著减少查询的扫描行数。当单表数据量过大(如超过 1000 万行)时,分库分表是常见的优化手段。结合实际需求,不断测试和调整,可以显著提高 MySQL 的性能。

2024-11-27 11:05:05 1714

原创 深入解析 MySQL 索引失效的原因与优化策略

索引失效是指 SQL 查询未能利用到已有的索引,而是进行了全表扫描或其他低效的查询操作。全表扫描意味着数据库需要逐行扫描数据,导致性能下降。MySQL 索引是提高查询性能的重要工具,但使用不当会导致失效,甚至拖累性能。理解索引的原理和失效原因,编写符合规则的高效 SQL,是提升系统性能的关键。希望本文能为您排查和优化索引提供帮助!如果您有其他疑问,欢迎交流探讨!

2024-11-26 14:30:27 1995

空空如也

空空如也

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

TA关注的人

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