自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

常备不懈

学海无涯,乐在其中

  • 博客(325)
  • 资源 (3)
  • 收藏
  • 关注

原创 Maven项目中, mirror 与 repository 的优先级

在使用 Maven 进行构建时,你可能遇到这样的问题:> 项目中的 `pom.xml` 明明已经配置了自定义 `<repository>`,但最终下载依赖时却**没有走项目配置的地址**,而是走了你本地 `settings.xml` 中配置的 mirror。为什么?这其实是 Maven 的一个**机制性行为**,也是很多人第一次接触 Maven 私服时容易踩的坑。

2025-06-05 10:41:12 755

原创 Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

在一个基于 **Spring Cloud Gateway + WebFlux** 构建的微服务项目中,新增了一个本地验证码接口 `/code`,使用函数式路由(`RouterFunction`)和 Hutool 的 `CircleCaptcha` 生成验证码图片。然而在部署上线后,访问该接口始终返回 `404`,而其他网关转发接口均正常。

2025-06-05 09:47:53 1101

原创 Ubuntu 22.04 安装 Nacos 记录

本文记录了在 Ubuntu 22.04 系统上安装 Nacos 的完整过程,适用于本地测试或生产部署的基础搭建。

2025-06-03 16:53:55 504

原创 MySQL 8 完整安装指南(Ubuntu 22.04)

本教程详细说明如何在 Ubuntu 22.04 上安装和配置 MySQL 8,包含安全优化及远程访问设置。

2025-06-03 15:55:51 1126

原创 Ubuntu 22.04 上安装 PostgreSQL(使用官方 APT 源)

本文介绍了在Ubuntu 22.04上安装PostgreSQL的详细步骤:先更新系统,添加官方APT源并安装PostgreSQL主程序及扩展模块。重点讲解了如何设置管理员密码、配置远程访问权限:通过修改postgresql.conf和pg_hba.conf文件实现外部连接,并重启服务生效。文章还指出了可能遇到的客户端兼容性问题(如Navicat报错"datlastsysoid不存在"),建议升级客户端版本解决。整个过程涵盖从安装到安全配置的关键环节。

2025-05-29 18:12:43 685

原创 学习Git 中最容易混淆的两个命令:`git branch` 和 `git checkout`

在使用 Git 的过程中,`git branch` 和 `git checkout` 是最早接触、却最容易混淆的一对命令。这篇文章将通过概念讲解、实战示例与对比分析,帮助你真正理解它们的区别和使用场景。

2025-05-21 14:54:20 354

原创 Proxmox 主机与虚拟机全部断网问题排查与解决记录

近期在使用 Proxmox VE 管理服务器时,遇到一个奇怪的问题:每当在某个虚拟机中执行某些操作,**主机与所有虚拟机会突然断网**,远程无法访问。但回家接上显示器发现,主机其实并未死机,系统仍在正常运行。

2025-05-21 11:02:08 656

原创 Ubuntu 安装 Node.js 指定版本指南

在没有安装 NVM 的服务器环境中(如 Docker、CI/CD、虚拟机等),建议使用 Node.js 官方的二进制包源(PPA)来快速安装特定版本的 Node.js。本指南将展示如何在 Ubuntu/Debian 系统中通过 NodeSource 官方 PPA 安装 Node.js 的 LTS 与最新版本。

2025-05-20 13:38:16 469

原创 在 Ubuntu 上安装并运行 ddns-go 教程

ddns-go 是一款开源的轻量级 DDNS(动态域名解析)客户端,支持多家 DNS 服务商(如阿里云、腾讯云、Cloudflare、Dnspod 等),适合在家用宽带、服务器等环境中自动更新 IP 地址。

2025-05-09 17:28:18 871

原创 Java 文件监听与热更新机制封装

在许多 Java 应用场景中,我们需要实时监控某个目录下的文件变化,并触发对应的业务处理——例如配置文件热加载、插件目录更新、日志文件监控等。

2025-05-08 17:09:03 500

原创 Java 中的 KDF(密钥派生函数)详解

KDF(Key Derivation Function,密钥派生函数)是一种用于从**密码(Password)**或**主密钥(Master Key)** 生成安全加密密钥的算法。它的主要作用是增强密钥的安全性,防止暴力破解或彩虹表攻击。

2025-03-20 15:48:54 1268

原创 了解ProGuard 代码混淆

在 Android 开发中,代码混淆(Obfuscation)是一个常见的安全措施,旨在 **让代码难以阅读,以提高破解难度**。

2025-03-19 14:32:44 554

原创 了解AES加密算法

在信息安全的世界里,AES(Advanced Encryption Standard,高级加密标准)是一个绕不开的名字。它被广泛应用于数据加密,从 HTTPS 安全通信到磁盘加密,几乎无处不在。

2025-03-19 14:31:47 1263

原创 了解 Grafana,安装Grafana

Grafana 是一个开源的数据可视化和监控工具,广泛用于 **监控、数据分析和告警**,适用于 IT 运维、DevOps、业务分析等领域。它能够连接多种数据源,如 **Prometheus、InfluxDB、Elasticsearch、MySQL**,并提供直观的 **仪表板(Dashboards)**。

2025-03-18 09:00:00 1856

原创 SpringBoot监听应用启动和优雅停机

在 Spring Boot 中,监听应用的启动和优雅停机(graceful shutdown)可以使用 `ApplicationListener` 监听 `ApplicationReadyEvent` 和 `ApplicationFailedEvent` 事件,同时通过 `@PreDestroy` 或 `DisposableBean` 处理关闭逻辑。

2025-03-18 08:30:00 933

原创 深入解析 Spring Boot 中的 FailureAnalyzer

在 Spring Boot 应用中,我们难免会遇到启动失败的情况,而默认的异常信息往往过于复杂,导致排查问题变得困难。**Spring Boot 提供了一套强大的 FailureAnalyzer 机制,能够捕获常见的异常并提供清晰的错误提示,让开发者更快定位问题。**

2025-03-17 10:05:11 1159

原创 深入解析 `SQL_SMALL_RESULT`:MySQL 的“小优化”大作用

在 MySQL 的查询优化工具箱中,`SQL_SMALL_RESULT` 是一个容易被忽略但可能带来小幅性能提升的关键字。它适用于特定场景,尤其是涉及 `GROUP BY` 或 `DISTINCT` 计算的小数据集查询。本文将深入解析 `SQL_SMALL_RESULT` 的作用、使用方式以及适用场景,并结合示例探讨其优化效果。

2025-03-17 09:59:31 1190

原创 深入理解Spring Boot Starter及如何自定义Starter

Spring Boot Starter本质上是一种依赖管理和自动配置机制。通过引入一个Starter依赖,可以自动引入并配置一系列相关组件,极大地简化开发流程。比如使用`spring-boot-starter-web`,可以自动引入Spring MVC、Tomcat服务器、JSON解析器等,无需手动逐个配置。

2025-03-14 17:20:06 1273

原创 Spring Boot:如何在业务项目中覆盖基础项目的默认实现

在 Spring Boot 项目中,我们通常会将一些通用的功能封装到基础项目(基础模块)中,而业务项目则依赖于这个基础项目。但是,实际开发过程中,业务项目可能需要自定义某些功能的实现,而不是直接使用基础项目提供的默认实现。

2025-03-14 17:19:19 1270

原创 Ubuntu中为curl和Docker配置代理

在Ubuntu环境下工作时,经常需要使用代理来访问网络资源,尤其在网络受限或需要翻墙访问时。本文介绍如何分别为`curl`命令和Docker配置代理`192.168.100.11:8000`。

2025-03-14 11:25:11 1432

原创 深入理解 Maven BOM 及其继承特性

Maven BOM(Bill Of Materials,物料清单)是一种特殊的 Maven 项目,用于集中管理依赖项的版本信息。BOM 项目本身并不包含实际的代码或资源,而仅仅声明一组依赖项的版本,从而使其他项目在引入这些依赖时无需重复指定版本。

2025-03-14 10:20:49 1237

原创 Kotlin关键字`when`的详细用法

在Kotlin中,`when`是一个强大的控制流语句,相当于其他语言中的`switch`语句,但更加强大且灵活。本文将详细讲解`when`的用法及其常见场景,并与Java的`switch`语句进行对比。

2025-03-13 10:54:17 709

原创 RAG 技术入门:让 AI 更聪明的秘密武器

在当今的人工智能(AI)领域,**大语言模型(LLM)** 如 GPT-4、Claude 和 Llama 已经非常强大,但它们有一个明显的缺陷:**知识是静态的**。也就是说,它们只能回答训练数据范围内的问题,无法访问最新的信息。而 **RAG(Retrieval-Augmented Generation,检索增强生成)** 技术,正是为了解决这个问题而诞生的。

2025-03-13 10:46:52 1286

原创 如何使用Gradle发布Jar包到私有仓库

在企业开发或团队协作中,我们经常需要将自己的Jar包发布到私有仓库,以方便管理和引用。本文将介绍如何使用Gradle实现这个过程。

2025-03-12 09:57:17 477

原创 Gradle 多模块项目结构介绍

Gradle 的多模块项目(Multi-Module Project)是一种将复杂项目拆分为多个模块,以提高可维护性和复用性的开发方式。

2025-03-12 09:56:39 950

原创 记一次Spring Boot应用中数据库连接阻塞问题排查过程

最近在项目开发过程中,发现一个Spring Boot服务在执行某个涉及数据库的操作时,程序线程会突然阻塞,不会继续执行,也没有明显的异常提示。经过详细排查,最终确定了问题根本原因是数据库连接未被正确释放导致连接池耗尽。以下是具体的排查过程与问题定位和解决方法。

2025-03-11 10:50:10 1064

原创 详解了解websocket协议

WebSocket是一种建立在TCP协议之上的全双工通信协议,它允许客户端与服务器之间进行实时双向数据通信。相比传统的HTTP请求-响应模式,WebSocket能够有效地减少网络延迟和带宽开销,广泛用于即时通信、实时游戏、股票行情等应用领域。

2025-03-11 10:48:16 1513

原创 Ubuntu 22.04 官方下载安装 Gradle 记录

Gradle 是一个强大的自动化构建工具,广泛用于 Java、Android 等项目的构建中。下面详细介绍如何在 Ubuntu 22.04 中使用官网下载安装 Gradle。

2025-03-10 11:32:15 753

原创 MongoDB 集群模式简单了解

在现代应用架构中,数据库的扩展性和高可用性至关重要,而 **MongoDB** 作为 NoSQL 数据库的佼佼者,提供了多种 **集群模式** 来应对不同场景的需求。这篇文章将深入探讨 MongoDB 的主要集群模式,并分析它们的适用场景和优缺点。

2025-03-10 11:25:48 1116

原创 Vite 6 升级指南:CJS 和 ESM 的爱恨情仇

如果说 CJS 是 JavaScript 模块化的“老干部”,那么 ESM 就是新时代的“带头大哥”。Vite 6 的升级彻底向前迈了一步,把 CJS 甩在了身后,给前端开发带来了更快的启动、更好的兼容性和更清爽的代码。今天我们就来聊聊这俩模块规范的区别,以及如何在 Vite 6 的“强制迁移令”下,优雅地抛弃 CJS,投入 ESM 的怀抱。所以,与其挣扎着想办法让 CJS 继续活下去,不如早早投靠 ESM,跟上 Vite 6 的节奏,让你的项目跑得更快更顺畅!好消息是,这些改动让前端环境更清爽、更高效。

2025-03-07 15:06:11 955

原创 MySQL 连接报错: “Public Key Retrieval is not allowed“ 问题解决方案

如果遇到 “Public Key Retrieval is not allowed” 错误,可依据实际情况,选择上述方案中的一种或多种解决方案。在实现后,连接问题应该已经解决,同时需根据安全需求核实安全性,以免暴露在公网环境下。

2025-03-07 15:05:03 1100

原创 Java代码,为什么随机生成大范围数时会重复?

将范围分成多个区间,分别生成随机数。这种方法通过分段减小计算的数值范围,从而减少精度丢失的可能性。这段代码生成了 100 个随机数,但如果将幂次从 8 提高到 12,比如。,你会发现结果中出现了大量重复的随机数。更高的精度,从而避免因精度丢失导致的随机数重复问题。当随机数生成范围 ( 61^n ) 的指数过大时,为了解决随机数重复的问题,我们可以采用以下方法。类型的有效精度限制会导致随机数重复。类可以替换为更高级的随机数生成器,例如。精度不足,实际计算结果会被舍入到。支持任意大小的整数运算,可以避免。

2025-03-07 15:03:10 754

原创 了解网络诊断工具: `netstat`

在网络故障排查、性能监控和系统调优中,有一个工具堪称不可或缺——**`netstat`**。作为网络状态的观察窗口,它不仅提供关于网络连接、路由表、接口状态等信息,还为系统管理员和开发者提供了诊断复杂问题的能力。

2025-03-07 15:02:13 1036

原创 部署RabbitMQ集群详细教程

下面是一份在 **Ubuntu** 环境下部署 **RabbitMQ** 集群的详细步骤说明,涉及主机名设置、Erlang & RabbitMQ 安装、管理插件启用、集群通信 Cookie 配置、节点加入集群、镜像队列策略设置以及集群验证等。为了演示方便,以下示例假设有三台主机,分别命名为 `rabbit1`, `rabbit2`, `rabbit3`,IP 地址分别为 `192.168.1.101`, `192.168.1.102`, `192.168.1.103`。请根据自己的实际环境进行修改。

2025-03-06 10:19:47 1679

原创 理解 Gradle:`build.gradle` 常用配置

在使用 Gradle 时,`build.gradle` 文件是核心,它定义了项目的构建逻辑、依赖和任务。

2025-03-06 10:18:12 1216

原创 Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南

在 Java 项目开发中,使用 Lombok 可以极大地减少样板代码(如 `getter/setter` 方法、构造器等),提高开发效率。然而,当使用 Gradle 构建工具并将项目发布到私有 Maven 仓库时,常常会遇到 Lombok 注解未正确发布或生成代码缺失的问题。本文将详细讲解如何正确配置 Gradle 项目,确保 Lombok 在开发和发布过程中正常工作。

2025-03-05 15:58:54 1010

原创 探索 Ubuntu 中的 Hostname 配置与管理

当你搭建一台 Ubuntu 服务器时,Hostname 是你遇到的第一个配置项之一。无论是一个趣味十足的名字(比如 "TARDIS")还是一个冷酷无情的描述性标识(比如 "webserver-01"),Hostname 就像计算机的身份证明。本文将深入探讨 Ubuntu 中的 Hostname:如何查看、修改,以及需要注意的事项。

2025-03-05 15:58:02 794

原创 什么是 ABA 问题及其解决方案?

在计算机科学和多线程编程中,**ABA 问题**是一个经典的并发问题,主要出现在使用无锁数据结构或算法时,特别是在 CAS(Compare-And-Swap)操作中。它的出现可能导致程序逻辑错误,尽管从表面上看操作是成功的。以下将详细解释 ABA 问题的成因及其解决方案。

2025-03-04 11:39:56 792

原创 为什么要提倡尽早返回(Early Return)

在编程中,"尽早返回"(Early Return)是一种常被提倡的编程方式,特别是在需要提升代码可读性、减少嵌套层级、以及快速处理异常情况时。本文将讨论尽早返回的优点、应用场景以及一些注意事项。

2025-03-04 11:39:12 1083

原创 深入理解 Vue 中的 `ref`

在 Vue.js 开发中,`ref` 是一个重要且常用的功能。它不仅可以帮助开发者访问模板中的 DOM 元素,还能用来操作子组件,甚至在 Vue 3 中引入了响应式引用的概念,让 `ref` 的功能更加强大。本篇文章将全面介绍 `ref` 的基本概念、原理以及使用场景。

2025-03-03 10:06:06 2336

Flex 布局速查手册-阮一峰

Flex 布局速查手册-阮一峰

2024-01-25

GitKraKen-6.5.1-main.zip

用过 GitKraken 都说好,不过,GitKraken 从 6.5.3 版本开始收费,它的最后一个免费版本是 6.5.1 ,当你使用收费版本而又未付费时,使用 GitKranken 将无法打开私有仓库,这就约等于无法使用了。

2023-08-31

文件处理程序-转移指定文件-v0.4

* 请按照以下提示输入需要的操作 * * 1. 文件转移类操作 * * 11 - 转移此文件夹下所有视频文件 * * 12 - 转移此文件夹下所有图片文件 * * 13 - 转移最底层文件夹到此目录 * * 2. 文件增删改类操作 * * 21 - 删除所有内容为空的文件夹 * * * * * * * * * * * * * * * * * * * 请输入:

2023-08-31

Xshell6个人版,本人自己在用。解压即可使用。亲测有效。

Xshell6个人版,亲测有效。有任何问题,欢迎随时咨询,QQ:965580903 Xshell6个人版,亲测有效。有任何问题,欢迎随时咨询,QQ:965580903

2020-09-02

Xftp-6.0.0185p.exe.7z

Xftp6个人版,亲测有效。有任何问题,欢迎随时咨询

2020-09-02

空空如也

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

TA关注的人

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