🌓

配置多平台 Git SSH 密钥

在日常开发工作中,我们经常需要同时连接多个代码托管平台,例如个人开源项目使用 GitHub,国内项目或工作项目使用 Gitee(码云)。

默认情况下,SSH 会使用 ~/.ssh/id_rsa 或 ~/.ssh/id_ed25519 作为默认私钥。如果不同平台使用不同账号、不同邮箱,或者出于安全规范需要密钥隔离,就需要为每个平台单独生成独立的 SSH Key,并通过 ~/.ssh/config 进行自动路由分发。

阅读全文

macOS 终端使用 zsh 快速配置与切换代理(Proxy)

在日常开发过程中,终端下使用 git clone、brew install、curl、go install 或 npm install 等命令时,经常会遇到网络连接超时或下载速度缓慢的问题。虽然本地开启了代理软件,但 macOS 终端默认不会自动走代理,需要我们手动配置环境变量。

如果直接把代理变量写死在 ~/.zshrc 中,访问公司内网或国内镜像源时又可能会产生干扰。因此,在 ~/.zshrc 中通过 alias 配置一键开启与关闭代理是最高效且灵活的方式。

阅读全文

阿里云客户端直传三种方式

为了避免业务服务器中转文件,提供上传速度,阿里云 OSS 提供了三种客户端直传方式。

阅读全文

Spring Boot 2 与 Spring Boot 3 主要特性对比

基础要求与依赖变化 特性 Spring Boot 2 Spring Boot 3 说明 Java 版本 Java 8+ Java 17+ Spring Boot 3 强制要求 Java 17 或更高版本 Servlet API Javax Servlet Jakarta Servlet 包名从 javax 迁移至 jakarta Sprin...

阅读全文

Java 8 到 Java 25 主要特性

在笔者编写这篇文章的时候,Java 25 LTS 版本已发布,目前的LTS版本分别是:Java 8、Java 11、Java 17、Java 21、Java 25。

阅读全文

JVM Metaspace OOM 问题分析与解决

环境:OpenJDK 1.8 通过 Arthas 的memory命令查看内存使用情况,发现 Metaspace 的使用率达到 90.98%。Metaspace 主要用于存储类的元数据(如类定义、方法字节码等),使用率过高极易引发OutOfMemoryError: Metaspace错误。 进一步使用classloader命令查看类加载情况,发现共有 339...

阅读全文

使用 cursor 开发了一个网址导航站

自己平时收藏的工具类网站比较多,时间长了之后容易忘记并且找起来页比较麻烦,于是基于 cursor 做了这个导航站;不得不说,有了 AI 之后开发一些简单的前端页面简直太方便了。关于网址内容后续会慢慢补充起来。 技术栈:基于 Next.js 14 + shadcn/ui + Tailwind CSS 构建 网站地址: https://nextnav...

阅读全文

MySQL 数据迁移主键自增值陷阱

背景:目前需要对业务日志大表A进行迁移,只保留最近3个月的数据,遇到的问题是迁移完成后,新表B的磁盘空间占用没有减少。

MySQL 版本:8.0.36,InnoDB存储引擎。

阅读全文

APM - k8s 启用 Java JMX 监控分析数据

要在 Kubernetes (k8s) 中使用 VisualVM 连接到运行在 Docker 容器中的 Java 程序,可以按照以下步骤进行操作: 启用 JMX首先,需要在 Docker 容器中的 Java 应用中启用 JMX。可以通过在启动命令中添加以下 JVM 参数来实现: 123456-Dcom.sun.management.jmxremote-Dco...

阅读全文

记一次RabbitMQ生产故障

今天下午,有用户反馈直播间人数不对,负责这块的同事准备让运维重启这个服务紧急处理。发现服务无法重启,于是我开始帮忙协助排查这块问题。

阅读全文