Ekko Blog

路漫漫其修远兮 ,吾将上下而求索

Flowable 工作流引擎

从 BPMN 执行原理、事务与异步机制、引擎对比,到 Spring Boot 接入独立部署实战

这篇笔记围绕 Flowable 的执行内核展开,重点梳理四个层面:BPMN 模型如何进入引擎、流程实例如何被持久化和推进、事务与异步机制为什么会直接影响线上行为,以及它与 Camunda、Activiti、jBPM 等流程引擎在工程落地上的边界差异。 工程部分以独立部署的工作流中心为主线,覆盖 Spring Boot 集成、自动部署、流程变量、门面接口、幂等与补偿等关键问题,...

Webpack 模块化构建与部署

从依赖图、Loader 与 Plugin 机制,到代码分割、Chunk 运行时和 Module Federation,系统梳理 Webpack 的构建原理与模块交互链路

这篇笔记的目标是把 Webpack 放回它真正擅长的上下文里重新梳理一遍:它不是“把很多 JS 打成一个包”这么简单,而是一套围绕模块依赖图、构建流程、运行时加载和产物部署展开的前端工程化系统。文章重点会回答三个核心问题:Webpack 为什么能管理复杂模块关系、不同模块在构建期和运行期如何交互、以及模块化部署到底应该怎么落到工程实践里。 文中会把 entry -> m...

Puppeteer 渲染服务

从浏览器自动化、截图与 PDF 生成,到独立部署和 Spring Boot 对接,系统梳理服务端渲染的工程化方案

这篇笔记的目标是把 Puppeteer 放到真实业务里重新拆开来看:它到底适合解决什么问题,为什么很多团队最后会把它做成一个独立渲染服务,以及这个服务应该怎样暴露图片、HTML、PDF 等基础能力,供业务系统按 url 或 html 传参调用。 文章重点不放在单次截图脚本的演示,而放在可长期维护的工程设计上:浏览器实例如何复用、接口怎样抽象、服务怎样部署、风险如何控制,以及 ...

html2canvas 前端截图导出

从 DOM 截图原理、跨域与清晰度问题,到 Vue 封装和 Spring Boot 上传落库,系统梳理前端导出图片的工程化方案

这篇笔记的目标是把 html2canvas 放到真实业务里重新拆开来看:它到底能截什么、为什么经常出现“样式不对 / 图片丢失 / 导出发虚 / 跨域失败”,以及在 Vue 项目里应该怎样封装成复用能力,而不是在页面按钮点击里堆一段临时脚本。 文章重点围绕一个完整链路展开:前端页面渲染业务卡片,html2canvas 负责把指定 DOM 节点转成画布和图片,前端再把图片上传到...

Swagger 接口文档

从 OpenAPI、Swagger UI 到 Spring Boot 3 接入实战,系统梳理接口文档生成、调试与协作边界

这篇笔记的目标是把 Swagger 放回 Spring Boot 的真实工程语境里重新理解一遍:它到底是什么,和 OpenAPI、springdoc-openapi 分别是什么关系,在项目里解决的核心问题是什么,以及一套完整的接入方案应该怎样落到代码、配置和团队协作流程上。 文中重点不是停留在“把页面跑起来”这一层,而是围绕一个典型后端项目展开:接口持续迭代、前后端要对齐字段...

apidoc 接口文档

从 Spring Boot 注释式文档到 Jenkins 自动生成发布,系统梳理 apidoc 的接入方式与工程化落地

本文围绕 apidoc 在 Spring Boot 项目中的接入、维护与交付展开,重点说明它适合解决的问题域、与 springdoc / Swagger、Spring REST Docs 的差异、源码注释应承担的粒度,以及怎样把静态接口文档纳入 Jenkins 构建产物链路。 讨论重点不是工具安装本身,而是工程化边界:业务接口持续演进时,怎样让文档具备可维护性、可追溯性和可发...

Superpowers 与 OpenSpec

技能驱动的 AI 工程方法、与 OpenSpec 的边界、典型疑问,以及混合使用完整案例

这篇笔记的目标是把 Superpowers 放回一个更准确的位置里看清楚:它不是另一个“写 spec 的工具”,而是一套约束 AI 编码助手工作方式的技能体系。重点不在“产出哪几个文档”,而在“让代理按什么工程纪律工作”。 文章会把 Superpowers 和 OpenSpec 放在同一张图里比较,并给出一套更实用的搭配思路:由 OpenSpec 负责定义变更意图和长期规范,...

AREX Agent 流量录制与回放

从数据模型、存储协作、字节码增强到源码启动链路,梳理 Java 微服务中的流量回归验证机制

本文围绕 AREX Agent 在 Java 后端工程中的录制与回放主线展开,重点说明一次录制会产出哪些对象、这些对象如何进入 Storage Service + MongoDB + Redis、回放阶段又如何把真实下游调用替换为录制结果。分析重点放在数据模型、运行机制与源码入口,而不是停留在功能概览层。 分析对象覆盖 Spring Boot / Spring Cloud /...

Sentinel 原理与源码解析

从资源模型、Slot Chain、流控熔断到 @SentinelResource 与动态规则

这篇笔记围绕 Sentinel 的资源保护模型展开,重点梳理三个问题:Sentinel 实际保护的对象是什么、限流/熔断/热点参数/系统保护为什么能够收敛到同一套抽象、一次请求进入 Sentinel 后会经过哪些核心对象与执行链。 正文同时覆盖三层内容:能力视图、规则与统计机制、源码主线。分析对象包括 SphU、CtSph、Entry、Context、Node、Process...

最小 RAG 项目落地

从 MVP 边界、数据入库、检索问答到 Java Spring Boot / Spring AI + pgvector 实践方案

这篇笔记的目标,不是继续解释 RAG 的概念,而是把问题直接落到“怎么起一个最小可行项目”上:如果现在要做一个能接文档、能入库、能检索、能回答、还能继续迭代的 RAG 服务,第一版到底应该长什么样。 这篇内容会有明确的技术偏向:优先给出 Java Spring Boot / Spring AI 的落地方案,向量库侧默认从 pgvector 起步,因为它对很多已有 Java 后...