# ZhiJun Blog > 记录 Java、Spring、MicroServices、Architecture、Kubernetes、DevOps、AI 编码工具、架构与个人周报的博客. Personal blog by ZhiJun. ## Site - [Home](https://blog.zhijun.io/): Main entry point - [About](https://blog.zhijun.io/about): Author profile and site background - [博客](https://blog.zhijun.io/posts): 博客目录长文时间线(content/posts) - [周报](https://blog.zhijun.io/briefs): Weekly notes listing - [Wiki](https://blog.zhijun.io/wiki): Wiki notes listing - [Tags](https://blog.zhijun.io/tags): Tag index ## All entries - [2026-04-12|OpenClaw 迁移到 Hermes](https://blog.zhijun.io/briefs/20260412-week-review.md): 本周记录:将 OpenClaw 迁移到 Hermes Agent、博客评论系统从 Artalk 切换到 Giscus、发表 5 篇技术博文与 10 篇公众号文章,以及 6 次户外跑 34.82 公里的运动总结。 - [从 Vim 到 AI:开发工具这些年](https://blog.zhijun.io/posts/programming-tools-evolution-timeline.md): 按年代梳理编辑器、IDE、云原生到 Copilot 与 Cursor:一张时间线看懂工具链怎么变。个人整理,方便收藏对照。 - [普通人如何用小龙虾记日记](https://blog.zhijun.io/posts/how-to-use-xiaolongxia-diary.md): 用 OpenClaw 小龙虾轻松记日记,无需打开 App、不用排版整理,随手发送即可自动按日期归档。适合普通人的碎片化记录方法。 - [SkillsJars:用 Maven 依赖管理 AI Agent Skills](https://blog.zhijun.io/posts/skillsjars-quickstart.md): 介绍 SkillsJars 是什么、如何使用(AI 代码助手和 Spring AI)以及如何创建和发布 SkillsJars。 - [Skills](https://blog.zhijun.io/wiki/skills.md): 视频- Video-Wrapper-Skills 自动为你的视频添加类似“小Lin说”那样的解释特效,支持高亮卡片、关键词卡片、作者介绍、社交媒体卡片等多种组件 ... - [学 Karpathy 使用 LLM 搭建 Obsidian 知识库](https://blog.zhijun.io/posts/build-llm-wiki-with-karpathy.md): 去年开始折腾知识库,踩过不少坑。直到看到 Karpathy 分享的 LLM Wiki 模式,才算找到了可持续的路子。 - [使用 OpenClaw 调用 Claude Code 开发应用](https://blog.zhijun.io/posts/create-app-with-claude-code-in-openclaw.md): 本文介绍在 Codespaces 中从安装到正常使用的完整步骤。 - [2026-04-05|AI 翻译英文文章](https://blog.zhijun.io/briefs/20260405-week-review.md): 本篇博客介绍最近一周(2026-03-30 ~ 2026-04-05)的记录与思考。 摘要 ... - [macOS 使用 Chezmoi 管理 Dotfiles 实战](https://blog.zhijun.io/posts/chezmoi-dotfiles-macos.md): 在 macOS 上用 chezmoi 管理 dotfiles:Git 版本控制、GPG 加密、多机器同步,以及新机器恢复完整流程。 - [Obsidian 的 CEO 是如何做知识管理的](https://blog.zhijun.io/posts/how-obsidian-ceo-does-knowledge-management.md): 根据 Steph Ango(kepano)《How I use Obsidian》等文整理的用法笔记:库结构、Bases、内链与分形日记、模板属性、评分与发稿,附参考链接。 - [2026-03-29|翻译技能迭代、重启公众号](https://blog.zhijun.io/briefs/20260329-week-review.md): 重启公众号与四篇博文同步、OpenClaw 翻译技能与多篇译文;WakaTime 显示本周约 37h 偏内容与 AI 协作;重装 macOS 并更新 Mac 开发环境清单文;跑步约 23 公里与心率节奏调整。 - [让Claude 和 Codex 告诉我需要哪些工具才能更快地运行](https://blog.zhijun.io/posts/what-tools-it-needs-for-claude-codex.md): 让 Claude Code 与 Codex 自查本机开发环境:对比二者给出的缺失工具清单,并补齐 ripgrep、fd、fzf 等与 AI 协作相关的 CLI 工具链。 - [IntelliJ IDEA 2026.1,真正有用的只有这 5 个变化](https://blog.zhijun.io/posts/intellij-idea-2026-1.md): IntelliJ IDEA 2026.1 的更新不少,但如果放到日常开发里看,我觉得真正值得关心的,其实只有 5 个变化。 - [OpenClaw 是怎么指导我跑步的](https://blog.zhijun.io/posts/how-openclaw-guides-my-running.md): 记录我如何把和 OpenClaw 的对话,变成对自己生活有用的辅助工具。不是 AI 叙事,只是一次朴素的生活经验分享。 - [gstack:YC CEO 的 AI 工程系统,如何做到 60 天 60 万行代码?](https://blog.zhijun.io/posts/gstack-skill.md): gstack:Garry Tan(Y Combinator CEO)为 Claude Code 开源的技能系统,用 Slash Command 串联 office-hours、review、qa、ship 等全流程。本文拆解两层架构与 Sprint 工作流、安装与使用要点,便于评估是否适合你的 AI 工程习惯。 - [基于 Linkding 和 RSS 的个人知识管理系统](https://blog.zhijun.io/posts/linkding-rss-personal-knowledge-management-system.md): 分享一套基于 Linkding 和 RSS 的个人知识管理方法:用 RSS 做持续输入,用 Linkding 做长期收藏,再通过笔记和输出系统完成沉淀与复用。 - [2026-03-22|90 天逆袭计划、OpenClaw 生成日报](https://blog.zhijun.io/briefs/20260322-week-review.md): 用 Docker 部署 Wakapi 替代 Wakatime,并开源 wakapi-skill;一周跑步约 28 公里与 AI 训练简评;精读「90 天技术逆袭计划」并梳理 Java / Spring AI 学习路线;用 OpenClaw 做日报生成,调整模型与技能配置。 - [2026-03-15|每日简报、AI 周报想法](https://blog.zhijun.io/briefs/20260315-week-review.md): 这周继续补自动化流程:给 keep 数据流加上 AI 分析、完善每日简报,也因为 OpenClaw 和 sanwan.ai 记下了一些 AI 自动化周报的想法。 - [在 GitHub CodeSpace 中安装和使用 OpenClaw](https://blog.zhijun.io/posts/install-openclaw-in-github-codespace.md): 本文介绍在 Codespaces 中从安装到正常使用的完整步骤。 - [Architecture](https://blog.zhijun.io/wiki/architecture.md): 软件架构学习索引:六边形/整洁架构、分层与模块化单体、CQRS、相关文章与演讲链接。 - [DDD](https://blog.zhijun.io/wiki/ddd.md): 领域驱动设计(DDD)笔记:核心概念、实践要点与书单/文章/视频资源索引。 - [Github](https://blog.zhijun.io/wiki/github.md): GitHub Actions 实践索引:Maven 发布、多版本构建、集成测试与 release 工作流示例链接。 - [Java](https://blog.zhijun.io/wiki/java.md): Java 开发环境与工具索引:SDKMAN 安装、IDE、常用库与参考资源链接。 - [Langchain4j](https://blog.zhijun.io/wiki/langchain4j.md): LangChain4j 学习索引:官方与中文文档、awesome 列表及示例仓库链接。 - [Maven](https://blog.zhijun.io/wiki/maven.md): Maven 插件与仓库实践笔记:常用插件、格式化与 BOM、参考 pom 与父 POM 链接。 - [2026-03-08|合并 linkding-cn、新的知识管理工具](https://blog.zhijun.io/briefs/20260308-week-review.md): 这周一边用 AI Agent 合并 linkding-cn 代码、整理 Spring Boot 2 升 3 的方案,一边也在琢磨一款面向输入驱动用户的极简知识管理工具。 - [linkding 合并 linkding-cn 代码](https://blog.zhijun.io/posts/merge-linkding-cn-to-linkding.md): 本文将详细介绍如何将 linkding-cn 的优秀功能迁移到最新的 Linkding 项目中,包括项目对比、可行性分析、迁移过程以及最终的 - [Spring Boot 2 升级到 Spring Boot 3 指南](https://blog.zhijun.io/posts/spring-boot-2-to-3-upgrade-guide.md): 本文介绍如何使用 OpenRewrite 自动化迁移 Spring Boot 2.7.x 应用到 Spring Boot 3.x,以及如何使用 spring-boot-2-to-3 这个 AI Agent Skill 来简化升级流程。 - [2026-03-01|从 Hugo 迁移到 Astro、AI 编码工具](https://blog.zhijun.io/briefs/20260301-week-review.md): 这周主要在两条线上投入时间:把博客从 Hugo 迁移到 Astro,也继续试用了 Codex CLI、Gemini CLI、Claude Code 和 OpenClaw。 - [Claude Code 安装、配置、使用与认证指南](https://blog.zhijun.io/posts/claude-code-guide.md): 全面介绍 Claude Code 的安装、配置、使用与认证方式,并补充订阅方案和通过 OpenRouter 接入的实践路径。 - [OpenClaw 安装、配置与使用指南](https://blog.zhijun.io/posts/openclaw-install-config-usage-guide.md): OpenClaw 开源个人 AI 助手,可接 Telegram/WhatsApp/Discord 等。从安装、配置到使用与渠道,由浅入深。 - [Codex CLI 安装、配置、使用与认证指南](https://blog.zhijun.io/posts/codex-cli-guide.md): 全面介绍 Codex CLI 的安装、配置、使用与认证方式,帮助在终端中接入 OpenAI 的本地化 AI 编程助手。 - [Gemini CLI 安装、配置、使用与认证指南](https://blog.zhijun.io/posts/gemini-cli-guide.md): Gemini CLI 是 Google 开源的终端 AI 助手,把 Gemini 的能力直接接到命令行里,让你在终端里对话、写代码、查资料、跑工具。本文介绍其安装、配置、使用、认证方式,以及和订阅方案的关系。 - [Pig AI 新版体验](https://blog.zhijun.io/posts/pigx-ai-512.md): PIG AI 是面向 Java 生态的 LLM 应用开发平台,内置 RAG 引擎、Agent 框架和 50+ 模型接入,提供界面与 API 两种使用方式。Java 开发者可以用它搭建智能客服、智能文档等企业场景。 - [Astro主题使用技巧](https://blog.zhijun.io/posts/astro-theme-tips.md): 整理使用 Astro 搭建博客过程中的实用技巧,包括图片优化、代码高亮和主题定制等常见问题与处理方式。 - [博客从 Hugo 迁移到 Astro](https://blog.zhijun.io/posts/from-hugo-to-astro-blog.md): 记录博客从 Hugo 迁移到 Astro 的过程,以及基于 astro-lhasa 主题做过的结构与样式调整,方便后续复盘与参考。 - [Spring AI 与多模态和图像](https://blog.zhijun.io/posts/spring-ai-with-multimodality-and-images.md): 介绍如何在 Spring AI 中使用多模态能力处理图像与文本输入,并基于 Spring Boot 做一些基础的多模态实验。 - [Java 生成式 AI 入门:LangChain4j 与 OpenAI 实战指南](https://blog.zhijun.io/posts/getting-started-with-langchain4j.md): 面向 Java 开发者的生成式 AI 入门实践,介绍如何使用 LangChain4j 与 OpenAI(及兼容模型)构建 AI 应用。 - [Spring AI 工具调用](https://blog.zhijun.io/posts/spring-ai-tool-calling.md): 介绍如何在 Spring AI 中实现工具调用,让大模型按需调用 Java 方法并结合返回结果生成回复,适合作为 Tool Calling 入门实践。 - [Spring AI RAG 与向量存储](https://blog.zhijun.io/posts/spring-ai-rag-vector-store.md): 介绍如何在 Spring AI 中结合 RAG 与向量存储构建 Spring Boot 应用,让模型能够基于外部知识做更准确的回答。 - [Spring AI 对话记忆 + SSE 流式回复](https://blog.zhijun.io/posts/spring-ai-chat-memory-sse.md): 在 《Spring AI 对话记忆 》中我们用 MessageChatMemoryAdvisor + JDBC 实现了多轮对话记忆。本文基于同一套记忆能力,升级为 Server-Sent Events (SSE) 流式输出,并配上自定义前端让 DeepSeek 的回复实时逐字出现。 - [Spring AI 对话记忆](https://blog.zhijun.io/posts/spring-ai-chat-memory.md): 介绍如何使用 Spring AI 实现对话记忆与多轮上下文,包括会话隔离、历史消息持久化以及 JDBC 存储方案。 - [Spring AI 结构化输出](https://blog.zhijun.io/posts/spring-ai-structured-output.md): 介绍如何在 Spring AI 中使用结构化输出,让模型返回可解析的 Java 类型结果,减少手写解析逻辑并提升稳定性。 - [Spring AI 提示词模板](https://blog.zhijun.io/posts/spring-ai-prompt-template.md): 介绍如何在 Spring AI 中使用提示词模板,将提示词外部化、参数化,提升可维护性与复用性。 - [Spring AI ToolCallbackProvider 实现类详解](https://blog.zhijun.io/posts/spring-ai-ToolCallbackProvider.md): 深入解析 Spring AI ToolCallbackProvider 接口及其实现类:MethodToolCallbackProvider、SyncMcpToolCallbackProvider、AsyncMcpToolCallbackProvider、StaticToolCallbackProvider。学习工具调用的最佳实践、使用场景对比和配置示例。 - [零基础实战:用 Spring AI 写一个会“思考”的狗狗领养助手](https://blog.zhijun.io/posts/spring-ai-dog-adoption-showcase.md): 面向初学者的 Spring AI 实战教程。通过构建一个能够根据性格推荐狗狗、并自动预约领养的 AI 助手,学习 RAG(检索增强生成)、MCP(工具调用)和对话记忆三大核心概念。 - [Vibesafe4j:使用 AI 自动生成 Java 接口实现的革命性框架](https://blog.zhijun.io/posts/vibesafe4j-introduction.md): 深入介绍 Vibesafe4j 框架:通过 AI 和注解自动生成 Java 接口实现。学习如何使用 @Func 注解、Spring Boot 集成、代码生成流程和最佳实践。包含完整示例代码和配置指南。 - [Vibesafe4j 使用 Annotation Processor 实现编译时代码生成](https://blog.zhijun.io/posts/vibesafe4j-annotation-processor-implementation.md): 详细教程:如何使用 Java Annotation Processor 在编译时为 Vibesafe4j 生成代码。包含完整的实现代码、Maven/Gradle 配置、AI 集成方案和最佳实践。适合生产环境使用。 - [OpenSpec:让 AI 编码助手更懂你的项目规范](https://blog.zhijun.io/posts/openspec.md): 本文深入介绍 OpenSpec 规范驱动开发工具,展示如何让 AI 编码助手(如 Cursor、Claude、Copilot)按照项目规范生成高质量代码 - [Spring Boot 2.5.8单体应用接入Nacos 1.3.0配置中心完整指南](https://blog.zhijun.io/posts/spring-boot-2.5.8-nacos-1.3.0-config-center-integration-guide.md): 详细介绍Spring Boot 2.5.8单体应用接入Nacos 1.3.0配置中心的三种技术方案,包括升级Spring Boot版本、降级Spring Boot版本和使用注解方式配置,提供完整的Maven依赖配置和代码示例。 - [使用Docker Model Runner和Spring AI运行AI模型](https://blog.zhijun.io/posts/docker-model-runner-spring-ai-local-ai-application.md): 学习如何使用Docker Model Runner和Spring AI构建本地AI应用,实现RAG功能、向量搜索和模型本地化部署。包含完整代码示例和最佳实践。 - [Spring AI 让数据库听懂人话:Text2SQL 自然语言查询实践指南](https://blog.zhijun.io/posts/spring-ai-text2sql-showcase.md): 深入探索 Spring AI + DeepSeek 实现 Text2SQL 自然语言数据库查询,包含直接模式、MCP工具集成、分步骤查询三种实现方案,附完整源码和踩坑经验 - [Spec-Kit 在 Cursor 中的安装和使用指南](https://blog.zhijun.io/posts/spec-kit-with-cursor.md): 介绍如何在 Cursor 中安装和使用 Spec-Kit,借助规范驱动开发流程把需求定义、实现与 AI 编码协作串联起来。 - [在 GitHub 中配置 Renovate 自动更新依赖与自动合并 PR](https://blog.zhijun.io/posts/config-renovate-in-github.md): 详细介绍如何在 GitHub 项目中配置 Renovate,实现依赖自动更新与 PR 自动合并,涵盖从最小配置到复杂场景的常见用法。 - [基于 Spring AI 构建智能餐厅推荐系统:RAG 技术实战](https://blog.zhijun.io/posts/spring-ai-restaurant-showcase-rag.md): 通过智能餐厅推荐系统示例,介绍如何用 Spring AI 实现 RAG 应用,让模型基于真实餐厅数据生成更准确的推荐结果。 - [基于 Spring AI 构建智能餐厅推荐系统:多模型集成的实践指南](https://blog.zhijun.io/posts/spring-ai-restaurant-showcase.md): 通过智能餐厅推荐系统示例,介绍如何使用 Spring AI 集成多种聊天模型,并实现多轮对话与结构化输出等核心能力。 - [OpenAI API 接口与 Spring AI 对应关系](https://blog.zhijun.io/posts/openai-api-with-spring-ai.md): 梳理 OpenAI API 各类接口在 Spring AI 中的对应方式,帮助快速建立模型能力与 Spring 封装 API 之间的映射关系。 - [Spring AI ChatClient API 介绍](https://blog.zhijun.io/posts/spring-ai-chat-client-api.md): 围绕 Spring AI 的 ChatClient API,介绍其创建方式、调用链设计、提示模板与结构化输出等核心能力。 - [Spring AI 和聊天模型入门](https://blog.zhijun.io/posts/spring-ai.md): 介绍如何使用 Spring AI 快速接入不同聊天模型,并通过 Profile 与配置切换 OpenAI、Anthropic、Ollama 等模型提供方。 - [ThingsBoard 接口设计整理](https://blog.zhijun.io/posts/thingsboard-api.md): 系统整理 ThingsBoard 平台的 REST、MQTT、HTTP 等协议接口设计,适合作为 IoT 平台开发与对接时的参考资料。 - [Spring Boot异常处理思路](https://blog.zhijun.io/posts/spring-exception.md): 本文档描述了基于 Spring Boot 的异常处理设计思路,旨在构建一个统一、可扩展、支持国际化的异常处理体系。通过合理的异常分类、统一的响应格式和完善的国际化支持,为前端提供友好的错误信息,同时便于后端进行问题定位和监控。 - [Spring 国际化实现](https://blog.zhijun.io/posts/spring-i18n.md): 从设计背景、消息资源、语言切换到异常与业务文案处理,系统整理 Spring 应用中的国际化实现方案。 - [RuoYi AI 源码分析](https://blog.zhijun.io/posts/ruoyi-ai.md): 围绕 RuoYi AI 的整体架构和核心能力做源码学习笔记,梳理其多模型接入、RAG、MCP 集成与企业级 AI 助手实现思路。 - [ThingsBoard HTTP Transport 实现方式](https://blog.zhijun.io/posts/thingsboard-http-transport.md): 系统梳理 ThingsBoard 平台 HTTP 设备接入的实现方式,重点分析 HTTP 自动注册机制、调用链与消息流转过程。 - [ThingsBoard 源码中的 OAuth2 登录实现](https://blog.zhijun.io/posts/oauth2-client-login-in-thingsboard.md): 结合后台配置与源码实现,分析 ThingsBoard 中 OAuth2 登录功能的配置方式与整体实现流程。 - [ThingsBoard 源码中的代码片段整理](https://blog.zhijun.io/posts/codes-in-thingsboard.md): 记录 ThingsBoard 源码阅读过程中遇到的一些关键代码片段与实现细节,作为后续分析和查阅的笔记整理。 - [使用 Docker 安装 Gitea](https://blog.zhijun.io/posts/install-gitea-using-docker.md): 记录如何使用 Docker 安装和运行 Gitea,包括目录准备、权限设置和基础部署步骤。 - [Canal 原理、安装与测试](https://blog.zhijun.io/posts/canal-install-test.md): 介绍 Canal 的工作原理、安装步骤与基础测试方式,帮助快速理解它在 MySQL Binlog 增量同步场景中的用法。 - [常见分布式 ID 解决方案](https://blog.zhijun.io/posts/id-generator.md): 梳理常见的分布式 ID 生成方案,包括 UUID、号段、雪花算法等,帮助理解它们的原理、优缺点与适用场景。 - [如何实现榜单 Top N 统计](https://blog.zhijun.io/posts/top-n-using-redis.md): 介绍一种基于本地缓存、Redis ZSet 和定时任务的榜单 Top N 统计方案,适用于高并发读写场景。 - [区分偶发性超时和频繁超时的重试策略](https://blog.zhijun.io/posts/retry-for-timeout.md): 讨论如何区分偶发性超时和频繁超时,并设计更稳健的重试策略,避免在高并发场景下引发重试风暴。 - [限流是什么:原理、目的与常见方案](https://blog.zhijun.io/posts/rate-limit.md): 介绍限流的基本概念、核心目的和常见实现思路,帮助理解系统在高并发场景下如何保护资源并保持稳定。 - [ThingsBoard 源码中的安全配置与 Security 模块](https://blog.zhijun.io/posts/security-in-thingsboard.md): 结合 ThingsBoard 源码与后台界面,整理平台中的安全相关配置、菜单项和核心 Security 模块,帮助理解其安全设计。 - [ThingsBoard 源码中的 GitHub Actions](https://blog.zhijun.io/posts/github-actions-in-thingsboard.md): 梳理 ThingsBoard 仓库中 GitHub Actions 的工作流文件,了解其配置校验、许可证处理等自动化流程。 - [Quarkus 快速入门](https://blog.zhijun.io/posts/quarkus-quick-start.md): 介绍如何使用 Quarkus CLI 创建项目并完成基础运行,帮助快速上手这个面向云原生 Java 的开发框架。 - [Kafka 安装和快速上手](https://blog.zhijun.io/posts/kafka-install-and-quickstart.md): 记录 Kafka 的下载、安装与基础运行流程,帮助快速搭建本地环境并完成第一次启动与体验。 - [Kafka 基础知识](https://blog.zhijun.io/posts/kafka-fundamental.md): 介绍 Kafka 的基础概念、核心能力与典型应用场景,帮助快速理解它作为消息队列和流式处理平台的定位。 - [ThingsBoard 源码编译与 IDEA 运行](https://blog.zhijun.io/posts/thingsboard-code-source-compile.md): 记录 ThingsBoard 源码的编译过程,以及如何在 IDEA 中导入、启动和调试项目,适合作为本地源码环境搭建参考。 - [ActiveMQ 源码:BrokerService 与 PersistenceAdapter](https://blog.zhijun.io/posts/activemq-source-code-broker-service.md): 围绕 ActiveMQ 源码中的 BrokerService 与 PersistenceAdapter 做分析,帮助理解 Broker 启动与持久化层的核心实现。 - [ActiveMQ 源码本地调试运行指南](https://blog.zhijun.io/posts/debug-activemq-source-code.md): 记录 Apache ActiveMQ 源码下载、构建、导入 IDE 和本地调试运行的完整步骤,方便快速搭建源码阅读环境。 - [GitHub Action 发布 Jar 到 Maven 中央仓库](https://blog.zhijun.io/posts/publishing-a-jar-to-maven-repository-with-github-action.md): 介绍如何通过 GitHub Action 自动发布 Jar 包到 Maven 中央仓库,减少手工发布流程并提升发布效率。 - [GitLab Runner 安装与部署指南](https://blog.zhijun.io/posts/gitlab-runner-install.md): 介绍 GitLab Runner 的基本概念、核心作用以及安装部署方式,帮助搭建可执行 GitLab CI/CD 作业的运行环境。 - [将 Maven 站点发布到 GitHub Pages](https://blog.zhijun.io/posts/publishing-a-maven-site-to-github-pages.md): 记录如何将 Maven 生成的站点发布到 GitHub Pages,包括项目创建、站点生成和发布流程配置。 - [Git 服务部署与基础使用](https://blog.zhijun.io/posts/git-usage.md): 记录 Git 服务的基础部署方式,以及创建仓库、初始化和日常使用的基本操作,适合作为入门实践笔记。 - [Git、GitHub 与 GitLab 入门区别](https://blog.zhijun.io/posts/git-intro.md): 介绍 Git、GitHub 与 GitLab 的基本概念和区别,帮助初学者快速建立对版本控制、代码托管平台和协作方式的整体认识。 - [GitLab 安装与部署指南:使用 yum 源](https://blog.zhijun.io/posts/install-gitlab-using-yum.md): 记录通过 yum 源安装和部署 GitLab Server 的过程,包括环境准备、基础配置和服务启动步骤。 - [GitLab 流水线配置入门](https://blog.zhijun.io/posts/gitlab-cicd-quick-start.md): 介绍 GitLab CI/CD 流水线的基础配置方式,包括 Runner 前置条件、流水线文件示例和基本运行流程。 - [Spring Boot 集成 SpringDoc 生成 API 文档](https://blog.zhijun.io/posts/springdoc-with-spring-boot.md): 以 Maven 项目为例,介绍如何在 Spring Boot 中集成 SpringDoc,快速生成可用的 OpenAPI / Swagger API 文档。 - [Minikube 快速入门](https://blog.zhijun.io/posts/minikube-quick-start.md): 从安装、启动集群到常用命令,快速上手 Minikube,在本地搭建一个适合学习和调试的 Kubernetes 环境。 - [使用 Docker 容器化并运行 Spring Boot 应用程序](https://blog.zhijun.io/posts/docker-for-spring-boot.md): 基于 Docker 官方 Java 指南,介绍如何将 Spring Boot 应用容器化运行,并逐步搭建本地开发、测试与部署流程。 - [Docker 安装与基础配置](https://blog.zhijun.io/posts/install-docker.md): 记录在 CentOS 7 环境中安装 Docker 并完成基础配置的步骤,适合作为服务部署前的环境准备参考。 - [ActiveMQ 安装与使用指南](https://blog.zhijun.io/posts/install-activemq.md): 介绍 ActiveMQ 的基础概念、版本差异以及安装与使用方式,帮助快速搭建一个可用的 JMS 消息中间件环境。 - [Tengine 动态裁剪图片实践](https://blog.zhijun.io/posts/tengine.md): 记录使用 Tengine、Lua 和 GraphicsMagick 实现动态裁剪图片的环境准备、依赖安装与基础配置过程。 - [Jenkins 安装与部署指南:使用 Docker](https://blog.zhijun.io/posts/install-jenkins.md): 记录使用 Docker 安装和启动 Jenkins 的基本步骤,包括数据卷、容器运行参数和首次启动初始化说明。 - [GitLab 安装与部署指南:使用 Docker](https://blog.zhijun.io/posts/install-gitlab.md): 记录使用 Docker 部署 GitLab 的基本流程,包括镜像选择、external_url 配置和基础运行方式。 - [搭建本地 Maven 仓库 Nexus](https://blog.zhijun.io/posts/install-nexus.md): 记录如何使用 Docker 搭建本地 Maven 仓库 Nexus,包括容器启动、数据卷配置和基础访问方式。 - [搭建本地 Maven 仓库 Artifactory 开源版](https://blog.zhijun.io/posts/install-artifactory-oss.md): 介绍 Artifactory 开源版的安装与部署方式,适合作为搭建本地 Maven 仓库和制品管理服务的入门参考。 - [Spring Boot 项目创建 Docker 镜像并运行应用](https://blog.zhijun.io/posts/spring-boot-docker-image.md): 介绍如何为 Spring Boot 项目编写 Dockerfile、构建镜像并运行容器,完成一次基础的应用容器化实践。 - [OAuth 2.0 与 OIDC 的区别](https://blog.zhijun.io/posts/oauth2-oidc.md): 从认证与授权的角度梳理 OAuth 2.0 和 OIDC 的差异,帮助理解两者的定位、关系以及各自适用的场景。 - [JWT 入门与核心概念](https://blog.zhijun.io/posts/jwt.md): 介绍 JWT 的基本概念、组成结构和使用场景,帮助理解它在认证与授权中的作用,以及为什么它常用于无状态登录。 - [OAuth 学习资料与入门索引](https://blog.zhijun.io/posts/all-things-about-oauth.md): 整理 OAuth 与 OAuth 2.0 的基础概念、入门文章和实践资料,帮助快速建立对授权协议的整体认识。 - [RFC 6749:OAuth 2.0 授权框架中文版](https://blog.zhijun.io/posts/oauth2.md): OAuth 2.0 授权框架 RFC 6749 的中文整理版,适合作为理解 OAuth 2.0 协议设计、角色定义与授权流程的参考资料。 - [Redis 安装与部署指南](https://blog.zhijun.io/posts/redis-install.md): 整理 Redis 的单机安装与部署方式,涵盖常见环境下的安装步骤,适合作为 Redis 入门部署参考。 - [Argo CD 安装与部署指南](https://blog.zhijun.io/posts/argocd.md): 记录 Argo CD 的安装与部署步骤,包括基础环境准备、命名空间创建和核心组件安装,适合作为 GitOps 入门部署参考。 - [Rancher 安装与部署指南:基于 Kubernetes](https://blog.zhijun.io/posts/install-rancher.md): 整理 Rancher 在 Kubernetes 集群中的安装与部署流程,包括前置条件、Ingress、CLI 工具和常见安装方式。 - [WebSocket 学习资料与入门阅读清单](https://blog.zhijun.io/posts/all-things-about-websocket.md): 整理 WebSocket 的基础概念、协议规范、API 文档和实践文章,适合作为入门和系统学习 WebSocket 的阅读清单。 - [在 Kubernetes 中安装 Cert Manager 并生成证书](https://blog.zhijun.io/posts/install-cert-manager.md): 介绍如何在 Kubernetes 中安装 Cert Manager,并通过它为集群中的服务和 Ingress 自动签发与续订 TLS 证书。 - [K3s 安装与入门指南](https://blog.zhijun.io/posts/install-k3s.md): 介绍 K3s 的基本概念、特点与安装方式,帮助快速搭建一个轻量级 Kubernetes 环境,适合作为本地或边缘场景入门。 - [通过 k3sup 安装 K3s](https://blog.zhijun.io/posts/install-k3s-using-k3sup.md): 介绍 k3sup 的用途,以及如何借助它在 PC、虚拟机或 ARM 设备上快速安装和管理 K3s 集群。 - [通过 k3d 安装 K3s](https://blog.zhijun.io/posts/install-k3s-using-k3d.md): 介绍 k3d 的基本概念,以及如何借助 k3d 在 Docker 中快速创建和管理本地 K3s 集群。 - [Drone 学习资料与实践清单](https://blog.zhijun.io/posts/all-things-about-drone.md): 整理 Drone CI 的基础介绍、实践文章和部署资料,适合作为了解和使用这个云原生持续集成平台的阅读清单。 - [Spring Modulith 学习资料与入门索引](https://blog.zhijun.io/posts/all-things-about-spring-modulith.md): 整理 Spring Modulith 的背景介绍、核心概念与延伸阅读资料,适合作为了解模块化 Spring Boot 架构的入门索引。 - [ThingsBoard 领域模型解析](https://blog.zhijun.io/posts/thingsboard-domain.md): 梳理 ThingsBoard 中租户、客户、用户、设备、资产等核心领域对象,帮助理解平台的数据组织方式与业务模型。 - [ThingsBoard 资料整理与入门索引](https://blog.zhijun.io/posts/all-things-about-thingsboard.md): 整理 ThingsBoard 的官方资料、基础介绍与相关学习内容,作为了解和入门这个开源物联网平台的索引页。 - [TBMQ 测试与源码分析](https://blog.zhijun.io/posts/thingsboard-tbmq-test.md): 记录 TBMQ 的基础测试流程与源码分析笔记,包括应用创建、消息收发验证以及关键实现逻辑的阅读过程。 - [ThingsBoard TBMQ 本地与 Docker 运行实践](https://blog.zhijun.io/posts/thingsboard-tbmq-local-docker-run.md): 记录 ThingsBoard TBMQ 在本地和 Docker 环境中的运行方式,包括源码下载、docker-compose 启动和基础验证步骤。 - [MicroProfile 学习资料与入门索引](https://blog.zhijun.io/posts/all-things-about-microprofile.md): 整理 MicroProfile 的基础概念、目标与相关学习资料,适合作为 Java 微服务规范体系的入门索引。 - [如何设计按时间有序的分布式 ID 生成器](https://blog.zhijun.io/posts/distributed-id-generator.md): 从业务需求出发,讨论如何设计一个全局唯一、长度可控且尽量按时间有序的分布式 ID 生成器。 - [如何设计一个短网址服务](https://blog.zhijun.io/posts/how-to-design-a-url-shortening-service.md): 结合 TinyURL 等经典案例,梳理短网址服务的需求分析、容量预估与系统设计思路,适合作为系统设计练习参考。 - [分布式基础知识](https://blog.zhijun.io/posts/distributed-system-basic.md): 从定义、核心特征到设计目标,梳理分布式系统的基础概念,帮助快速建立对分布式架构的整体认知。 - [JHipster 安装与入门介绍](https://blog.zhijun.io/posts/jhipster-intro.md): 介绍 JHipster 的基本概念、安装方式和适用场景,帮助快速上手这个用于生成现代 Web 应用与微服务架构的开发平台。 - [前端学习路线图](https://blog.zhijun.io/posts/frontend-roadmap.md): 整理一份前端学习路线图,涵盖 HTML、CSS、JavaScript、网络基础和工程化方向,适合作为入门学习索引。 - [React 入门:初始化应用的两种方法](https://blog.zhijun.io/posts/react-create-project.md): 介绍 React 项目初始化的两种常见方式:Create React App 与 Vite,帮助快速搭建前端开发环境。 - [软件开发流程和常用开发方法](https://blog.zhijun.io/posts/the-software-development-process.md): 梳理软件开发流程和常用开发方法,包括瀑布、迭代、敏捷和 DevOps,帮助建立对工程实践的整体认识。 - [如何成为一名合格的架构师](https://blog.zhijun.io/posts/qualified-architect.md): 从基础能力、项目实践、系统设计和沟通协作等角度,梳理成长为一名合格架构师所需要具备的核心能力。 - [数据库如何设计树形结构](https://blog.zhijun.io/posts/tree-structure-in-database.md): 整理数据库中设计树形结构的常见方案,包括父子关系、路径、嵌套集和物化路径,帮助比较不同模型的适用场景。 - [Spring Security 与 OAuth2 发展过程](https://blog.zhijun.io/posts/spring-security-oauth2-history.md): 梳理 Spring Security 与 OAuth2 在 Spring 生态中的演进过程,帮助理解相关安全体系的历史脉络与版本变化。 - [JSR 166 规范与 Java 并发包](https://blog.zhijun.io/posts/jsr-166.md): 介绍 JSR 166 的背景、目标与核心内容,帮助理解 Java 并发包 `java.util.concurrent` 的来源与设计意义。 - [Git Flow 分支模型与使用](https://blog.zhijun.io/posts/git-flow-model-and-usage.md): 介绍 Git Flow 的分支模型、核心概念和典型使用方式,帮助理解团队协作中的版本管理与发布流程。 - [我的VPS服务部署记录](https://blog.zhijun.io/posts/notes-about-deploy-services-in-vps.md): 记录在 VPS 服务器上部署各类自托管服务的过程,包括系统初始化、Docker 环境配置和常用服务的安装运行。 - [Mac 开发环境配置清单](https://blog.zhijun.io/posts/mac-development-environment-setup.md): 从零开始配置 macOS 开发环境完整指南:Xcode、Homebrew、chezmoi、zsh、Sheldon、starship、Ghostty,一步步打造高效开发体验。 ## Feeds - [RSS](https://blog.zhijun.io/rss.xml) - [Sitemap](https://blog.zhijun.io/sitemap.xml) - [Robots](https://blog.zhijun.io/robots.txt) ## Notes For LLMs - Canonical article URLs use top-level prefixes: /posts/, /briefs/, /wiki/ (match content type). - These pages are the primary source of truth; tag, archive, feed, and search pages are navigational. - Use /tags/ for topical browsing; there is no separate category taxonomy.