从 Travis CI 迁移到 GitHub Actions:Hugo 博客部署现代化实践 记录 Hugo 博客从 Travis CI 迁移到 GitHub Actions 的完整过程,构建速度提升 50%,配置更简单,完全免费,包含详细的配置示例和最佳实践建议 [2026.05.01] →
[翻译]Pinterest 现在已支持 HTTP/3 协议 翻译 Pinterest 工程博客文章,介绍 Pinterest 如何在 CDN 和客户端应用中部署 HTTP/3 协议,以及 HTTP/3 带来的性能提升和用户体验改善 [2023.03.13] →
[翻译]Tumblr 如何存储帖子内容 翻译 Tumblr 工程博客文章,揭秘 Tumblr 如何存储数十亿帖子内容,从旧的帖子类型系统到 Neue 帖子格式的演进历程,以及数据模型设计的挑战 [2022.07.27] →
为 Traefik 添加从 nacos 读取服务地址功能 为 Traefik 2.4.0 扩展 Nacos 服务发现功能,实现从 Nacos 动态读取服务地址,替代静态配置文件,支持服务自动注册和发现 [2021.06.12] →
sharding-proxy 连接缓存导致 fullGC 内存不释放 排查 sharding-proxy 3.1.0 因 Guava 缓存使用不当导致内存泄漏和频繁 fullGC 的问题,通过 jmap 和 MAT 分析定位 ChannelRegistry 缓存泄漏根因 [2020.05.25] →
MemoryPoolMXBean 各内存池名字 整理 Java 各版本中 MemoryPoolMXBean 内存池的名称,包括 Code Cache、Metaspace、SerialGC、ParallelGC、CMS、G1GC、ZGC 等不同垃圾回收器的内存池命名规则 [2020.04.13] →
gorm调用sharding-proxy, 参数带单引号sql报错 解决 gorm 通过 sharding-proxy 执行 SQL 时参数包含单引号导致报错的问题,分析 gorm 和 sharding-proxy 的参数转义机制差异 [2020.03.27] →
Mac下用CLion debug MySQL5.7源码 在 Mac 环境下使用 CLion 编译和调试 MySQL 5.7 源码的完整步骤,包括 CMake 配置、编译参数设置和 CLion 调试配置 [2020.03.26] →
用外置 Tomcat 部署 Spring Boot 应用 将 Spring Boot 应用打包成 war 包并部署到外置 Tomcat 的完整步骤,包括 pom.xml 配置修改、启动类改造和部署注意事项 [2019.10.25] →
MacOS 用 automater 自动备份安装的软件列表 使用 Homebrew 和 Automator 自动备份 Mac 上安装的软件列表,避免重装系统后遗漏软件,实现一键恢复所有应用程序和命令行工具 [2019.09.15] →
翻译: Spring AOP 讨论最多的问题 #1 - aspects 没有生效 翻译文章,深入解析 Spring AOP 中最常见的问题:为什么 aspects 没有生效。详细说明自身调用(self-calls)的原理和代理机制,帮助理解 AOP 代理的工作方式 [2017.06.12] →
搭建一个基于 github-pages 和 jekyll 的免费博客 从零开始搭建基于 GitHub Pages 和 Jekyll 的免费博客,包括仓库创建、Jekyll 安装配置、主题选择和本地调试的完整教程 [2016.12.16] →
RandomAccess 接口使用 介绍 Java 中 RandomAccess 标记接口的作用和使用场景,说明 ArrayList 和 LinkedList 的高效遍历方式差异,以及如何根据接口选择遍历算法 [2016.03.19] →