Step-by-step 指南,按这套步骤通常可以在 Spring Boot 3.5 BFF 工程里跑起第一个 @HttpExchange 出站客户端。
Homelab 消息通知:Alertmanager 通过 Gotify 推送告警
在 Homelab K3s 集群中,通过部署 alertmanager_gotify_bridge 将 Prometheus Alertmanager 的告警推送到 Gotify,实现自托管消息通知。记录从 Vault 存储 Token、ESO 同步 Secret、到 Alertmanager 路由配置的完整步骤。
shop-starter-http-client:Spring Boot 3.5 微服务 HTTP 客户端基础设施设计
Spring Boot 3.5 + Java 25 微服务下,记录我如何用一个共享 starter 统一出站 HTTP 客户端的身份传播、错误语义、可观测性和弹性。
用 gws 给 Python 脚本提供 Google OAuth 凭据时的一些注意点
记录一次把 gws 用在 Python 脚本上的实践经验:登录时用 –readonly 或 –scopes 明确授权范围,导出凭据后在 google-auth 里显式传入 scopes。
微服务契约兼容性的五层防线:从 ArchUnit 到 japicmp
只共享 contracts 往往还不够——按我目前的理解,更稳妥的做法是把 ArchUnit、japicmp、Deprecation/Sunset 头、ignore-unknown、WireMock 这些检查组合起来。本文记录 Shop Platform 里的落地方式和一些可参考资料。
同时用 Claude Code、Copilot、Qwen、Codex,个人 skill 该怎么组织?
一篇问题驱动的笔记:从多 agent 工作流为什么会变乱开始,拆开 always-on 规则和 skill 的边界、Claude Code 的 skill 加载时机、跨 agent 共享源文件的取舍,以及每家 agent 的落地方式。
微服务契约共享的 Tradeoff:从 Monorepo 到 Polyrepo,该共享到哪一步
BFF 与微服务之间到底该共享到哪一步?本文从 Shop Platform 的 monorepo 实践出发,拆解共享 contracts、共享 client、契约测试三种思路在 polyrepo 下的 tradeoff,并记录我目前更倾向的落地方式。
ArchUnit 作为 Code Agent 时代的 Harness:微服务、Monorepo 与普通 Repo 的落地方式
在 code agent 普及的背景下,我在 Shop Platform 用 ArchUnit 作为可执行的 harness。本文结合实际实践,说明它在微服务、monorepo 与普通 repo 中的落地方式。
从现有项目抽象出 Maven Archetype
从现有 Spring Boot 项目抽象出 Maven Archetype 的完整流程,包括 Velocity 转义、.gitignore 被过滤、post-generate 钩子、git-commit-id 插件等真实踩坑记录。
用 Maven Archetype 管理微服务 Scaffold:为什么我这里暂时没用 Spring Initializr
在多模块 Maven 单仓微服务平台中,我们选择了 Maven Archetype 而非 Spring Initializr 来管理服务脚手架。本文说明选型背后的原因、六类 Archetype 的分层逻辑、为什么我倾向给 Archetype 本身也加测试,以及版本维护策略。