<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Spring-Io on Neat Guy Coding</title><link>https://neatguycoding.com/zh-cn/tags/spring-io/</link><description>Recent content in Spring-Io on Neat Guy Coding</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>© 2026 NeatGuyCoding</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://neatguycoding.com/zh-cn/tags/spring-io/index.xml" rel="self" type="application/rss+xml"/><item><title>2026 年重回 Java：一条面向有经验工程师的现代化路径</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-to-re-start-your-java-journey-in-2026/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-to-re-start-your-java-journey-in-2026/</guid><description>2026 年重回 Java：一条面向有经验工程师的现代化路径</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-to-re-start-your-java-journey-in-2026/cover.png"/></item><item><title>Agent 监督栈：从静态评测到轨迹级可观测性</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-patronus-ai-with-anand-kannappan-weaviate-podcast-122/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-patronus-ai-with-anand-kannappan-weaviate-podcast-122/</guid><description>Agent 监督栈：从静态评测到轨迹级可观测性</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-patronus-ai-with-anand-kannappan-weaviate-podcast-122/cover.png"/></item><item><title>Agentic RAG：当检索管线长出「规划与工具环」</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-agentic-rag-with-erika-cardenas-weaviate-podcast-109/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-agentic-rag-with-erika-cardenas-weaviate-podcast-109/</guid><description>Agentic RAG：当检索管线长出「规划与工具环」</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-agentic-rag-with-erika-cardenas-weaviate-podcast-109/cover.png"/></item><item><title>Agentic 主题建模：嵌入管线、LLM 与人在环内的工程权衡</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-agentic-topic-modeling-with-maarten-grootendorst-weaviate-podcast-126/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-agentic-topic-modeling-with-maarten-grootendorst-weaviate-podcast-126/</guid><description>Agentic 主题建模：嵌入管线、LLM 与人在环内的工程权衡</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-agentic-topic-modeling-with-maarten-grootendorst-weaviate-podcast-126/cover.png"/></item><item><title>AI 驱动搜索：当 RAG、Agent 与经典 IR 重新接线</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-doug-turnbull-and-trey-grainger-on-ai-powered-search-weaviate-podcast-13/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-doug-turnbull-and-trey-grainger-on-ai-powered-search-weaviate-podcast-13/</guid><description>AI 驱动搜索：当 RAG、Agent 与经典 IR 重新接线</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-doug-turnbull-and-trey-grainger-on-ai-powered-search-weaviate-podcast-13/cover.png"/></item><item><title>Cilium 1.19：升级前该核对什么</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-202-exploring-new-features-in-cilium-1-19/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-202-exploring-new-features-in-cilium-1-19/</guid><description>Cilium 1.19：升级前该核对什么</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-202-exploring-new-features-in-cilium-1-19/cover.png"/></item><item><title>Cilium 十年：社区规模、调研信号与 1.19 技术脉络</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-200-celebrating-a-decade-of-cilium/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-200-celebrating-a-decade-of-cilium/</guid><description>Cilium 十年：社区规模、调研信号与 1.19 技术脉络</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-200-celebrating-a-decade-of-cilium/cover.png"/></item><item><title>Compound AI：当「一次 LLM 调用」不够用时</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-compound-ai-systems-with-philip-kiely-weaviate-podcast-105/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-compound-ai-systems-with-philip-kiely-weaviate-podcast-105/</guid><description>Compound AI：当「一次 LLM 调用」不够用时</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-compound-ai-systems-with-philip-kiely-weaviate-podcast-105/cover.png"/></item><item><title>Data Agent：当「会写代码的模型」撞上真实数据栈</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-data-agents-with-shreya-shankar-weaviate-podcast-135/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-data-agents-with-shreya-shankar-weaviate-podcast-135/</guid><description>Data Agent：当「会写代码的模型」撞上真实数据栈</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-data-agents-with-shreya-shankar-weaviate-podcast-135/cover.png"/></item><item><title>eCHO 201：2026 网络、eBPF 与安全预测——技术笔记</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-201-2026-networking-security-and-ebpf-predictions/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-201-2026-networking-security-and-ebpf-predictions/</guid><description>eCHO 201：2026 网络、eBPF 与安全预测——技术笔记</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-echo-ebpf-cilium-office-hours-echo-episode-201-2026-networking-security-and-ebpf-predictions/cover.png"/></item><item><title>Infosec 简报：CA 支持台沦陷、内核提权与 ATT&amp;CK 战术重组</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-04/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-04/</guid><description>Infosec 简报：CA 支持台沦陷、内核提权与 ATT&amp;amp;CK 战术重组</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-04/cover.png"/></item><item><title>Infosec 简报：社工归案、Teams 钓鱼链与前沿 AI 防御信号</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-04-27/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-04-27/</guid><description>Infosec 简报：社工归案、Teams 钓鱼链与前沿 AI 防御信号</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-04-27/cover.png"/></item><item><title>Java 平台横切面问答：模块、构建工具、Lombok 与兼容纪律</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-module-adoption-jdk-build-tool-lombok-backwards-compatibility-ask-the-ar/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-module-adoption-jdk-build-tool-lombok-backwards-compatibility-ask-the-ar/</guid><description>Java 平台横切面问答：模块、构建工具、Lombok 与兼容纪律</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-module-adoption-jdk-build-tool-lombok-backwards-compatibility-ask-the-ar/cover.png"/></item><item><title>Java 平台与后量子密码：从威胁模型到 JDK 交付路径</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-java-and-post-quantum-cryptography/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-java-and-post-quantum-cryptography/</guid><description>Java 平台与后量子密码：从威胁模型到 JDK 交付路径</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-java-and-post-quantum-cryptography/cover.png"/></item><item><title>Java 生态里的 Agentic AI：三套框架如何用同一业务讲清编排差异</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/</guid><description>Java 生态里的 Agentic AI：三套框架如何用同一业务讲清编排差异</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/cover.png"/></item><item><title>JavaFX 26：桌面 UI 的工程基线与选型边界</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-javafx-26-today/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-javafx-26-today/</guid><description>JavaFX 26：桌面 UI 的工程基线与选型边界</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-javafx-26-today/cover.png"/></item><item><title>JDK 26 如何改善 G1 吞吐：写屏障同步与默认收集器路线</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-jdk-26-improves-g1-s-throughput-inside-java-podcast-54/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-jdk-26-improves-g1-s-throughput-inside-java-podcast-54/</guid><description>JDK 26 如何改善 G1 吞吐：写屏障同步与默认收集器路线</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-jdk-26-improves-g1-s-throughput-inside-java-podcast-54/cover.png"/></item><item><title>JDK 桌面客户端在 2026：三十年栈上的维护、现代化与交付转型</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-the-jdk-client-desktop-2026-and-still-swinging/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-the-jdk-client-desktop-2026-and-still-swinging/</guid><description>JDK 桌面客户端在 2026：三十年栈上的维护、现代化与交付转型</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-the-jdk-client-desktop-2026-and-still-swinging/cover.png"/></item><item><title>Judge-Time Compute：当 LLM 评测从「单次打分」变成可组合管线</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-haize-labs-with-leonard-tang-weaviate-podcast-121/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-haize-labs-with-leonard-tang-weaviate-podcast-121/</guid><description>Judge-Time Compute：当 LLM 评测从「单次打分」变成可组合管线</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-haize-labs-with-leonard-tang-weaviate-podcast-121/cover.png"/></item><item><title>JVM 与 Spring Boot 可观测性：三信号如何真正串起来</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</guid><description>JVM 与 Spring Boot 可观测性：三信号如何真正串起来</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/cover.png"/></item><item><title>REFRAG：把 RAG 上下文从「token 串」变成可压缩表示</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-refrag-with-xiaoqiang-lin-weaviate-podcast-130/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-refrag-with-xiaoqiang-lin-weaviate-podcast-130/</guid><description>REFRAG：把 RAG 上下文从「token 串」变成可压缩表示</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-refrag-with-xiaoqiang-lin-weaviate-podcast-130/cover.png"/></item><item><title>Spring for Apache Kafka 4：迁移、Share Group 与新 Consumer 协议</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/</guid><description>Spring for Apache Kafka 4：迁移、Share Group 与新 Consumer 协议</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/cover.png"/></item><item><title>把 Copilot 嵌进 Java 工具链：从终端 CLI 到 SDK 与插件</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-copilot-in-your-java-tooling-from-cli-to-sdk-to-plugins/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-copilot-in-your-java-tooling-from-cli-to-sdk-to-plugins/</guid><description>把 Copilot 嵌进 Java 工具链：从终端 CLI 到 SDK 与插件</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-copilot-in-your-java-tooling-from-cli-to-sdk-to-plugins/cover.png"/></item><item><title>摆脱多栈陷阱：用 Java 现代化桌面 UI，而不必拥抱全量 React 重写</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-modernizing-java-uis-without-javascript-escape-the-multi-stack-trap/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-modernizing-java-uis-without-javascript-escape-the-multi-stack-trap/</guid><description>摆脱多栈陷阱：用 Java 现代化桌面 UI，而不必拥抱全量 React 重写</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-modernizing-java-uis-without-javascript-escape-the-multi-stack-trap/cover.png"/></item><item><title>半结构化检索上的 Agent：STaRK 基准与 AvaTaR 优化</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-optimizing-retrieval-agents-with-shirley-wu-weaviate-podcast-115/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-optimizing-retrieval-agents-with-shirley-wu-weaviate-podcast-115/</guid><description>半结构化检索上的 Agent：STaRK 基准与 AvaTaR 优化</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-optimizing-retrieval-agents-with-shirley-wu-weaviate-podcast-115/cover.png"/></item><item><title>超大规模 Java 平台：从联邦 GraphQL 到 JVM 默认项</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/</guid><description>超大规模 Java 平台：从联邦 GraphQL 到 JVM 默认项</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/cover.png"/></item><item><title>充分上下文：RAG 该测「够不够答」，而不只是「像不像相关」</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-sufficient-context-with-hailey-joren-weaviate-podcast-125/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-sufficient-context-with-hailey-joren-weaviate-podcast-125/</guid><description>充分上下文：RAG 该测「够不够答」，而不只是「像不像相关」</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-sufficient-context-with-hailey-joren-weaviate-podcast-125/cover.png"/></item><item><title>从 JDK 8 到 25：把跨 seventeen 个版本的升级当成平台工程</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-jdk-8-to-25-without-the-pain-engineering-a-modern-java-platform/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-jdk-8-to-25-without-the-pain-engineering-a-modern-java-platform/</guid><description>从 JDK 8 到 25：把跨 seventeen 个版本的升级当成平台工程</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-jdk-8-to-25-without-the-pain-engineering-a-modern-java-platform/cover.png"/></item><item><title>从 RAG 到 Search Agent：检索、合成数据与评测的三条张力</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-search-agents-with-nandan-thakur-weaviate-podcast-137/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-search-agents-with-nandan-thakur-weaviate-podcast-137/</guid><description>从 RAG 到 Search Agent：检索、合成数据与评测的三条张力</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-search-agents-with-nandan-thakur-weaviate-podcast-137/cover.png"/></item><item><title>从 Record 到可解构类型：Amber 的解构—重建路线与语法治理</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-carrier-classes-discussing-syntax-inside-java-podcast-52/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-carrier-classes-discussing-syntax-inside-java-podcast-52/</guid><description>当 &lt;a
href="https://openjdk.org/jeps/395"
target="_blank"
>JEP 395&lt;/a> 把不可变载体、名义元组与 &lt;a
href="https://openjdk.org/jeps/440"
target="_blank"
>record pattern&lt;/a> 绑在一起时，任何超出其约束的演进都会同时失去紧凑语法与模式匹配侧的表达能力。&lt;a
href="https://openjdk.org/projects/amber/"
target="_blank"
>Project Amber&lt;/a> 正把「可按固定组件形状解构」提升为类型的顶层性质，</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-carrier-classes-discussing-syntax-inside-java-podcast-52/cover.png"/></item><item><title>从 REST 到 GraphQL：Spring 栈上的契约、解析器与实时推送</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/</guid><description>从 REST 到 GraphQL：Spring 栈上的契约、解析器与实时推送</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/cover.png"/></item><item><title>当标量 reward 不够用时：GEPA 与 compound AI 的反思式文本进化</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-gepa-with-lakshya-a-agrawal-weaviate-podcast-127/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-gepa-with-lakshya-a-agrawal-weaviate-podcast-127/</guid><description>当标量 reward 不够用时：GEPA 与 compound AI 的反思式文本进化</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-gepa-with-lakshya-a-agrawal-weaviate-podcast-127/cover.png"/></item><item><title>当查询变成整段代码：RAG 评测与搜索型 Benchmark 的分裂</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-rag-benchmarks-with-nandan-thakur-weaviate-podcast-124/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-rag-benchmarks-with-nandan-thakur-weaviate-podcast-124/</guid><description>当查询变成整段代码：RAG 评测与搜索型 Benchmark 的分裂</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-rag-benchmarks-with-nandan-thakur-weaviate-podcast-124/cover.png"/></item><item><title>多阶段语言程序与自动 Prompt 优化：从 DSPy 到 MIPRO</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-mipro-and-dspy-with-krista-opsahl-ong-weaviate-podcast-103/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-mipro-and-dspy-with-krista-opsahl-ong-weaviate-podcast-103/</guid><description>多阶段语言程序与自动 Prompt 优化：从 DSPy 到 MIPRO</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-mipro-and-dspy-with-krista-opsahl-ong-weaviate-podcast-103/cover.png"/></item><item><title>多向量检索：在单向量、late interaction 与级联重排之间选型</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-multi-vector-search-with-ame-lie-chatelain-and-antoine-chaffin-weaviate/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-multi-vector-search-with-ame-lie-chatelain-and-antoine-chaffin-weaviate/</guid><description>多向量检索：在单向量、late interaction 与级联重排之间选型</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-multi-vector-search-with-ame-lie-chatelain-and-antoine-chaffin-weaviate/cover.png"/></item><item><title>多向量检索的索引悖论：MUVERA 如何用单向量 ANN 逼近 Chamfer</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-muvera-with-rajesh-jayaram-and-roberto-esposito-weaviate-podcast-123/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-muvera-with-rajesh-jayaram-and-roberto-esposito-weaviate-podcast-123/</guid><description>多向量检索的索引悖论：MUVERA 如何用单向量 ANN 逼近 Chamfer</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-muvera-with-rajesh-jayaram-and-roberto-esposito-weaviate-podcast-123/cover.png"/></item><item><title>泛型代码在 JVM 上如何变快：擦除、剖析与「坠崖」之后的攀爬</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/</guid><description>泛型代码在 JVM 上如何变快：擦除、剖析与「坠崖」之后的攀爬</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/cover.png"/></item><item><title>格式约束何时伤害 LLM：从 Agent 流水线到基准评测的分叉</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-let-me-speak-freely-with-zhi-rui-tam-weaviate-podcast-108/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-let-me-speak-freely-with-zhi-rui-tam-weaviate-podcast-108/</guid><description>格式约束何时伤害 LLM：从 Agent 流水线到基准评测的分叉</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-let-me-speak-freely-with-zhi-rui-tam-weaviate-podcast-108/cover.png"/></item><item><title>规模化 DataFrame：当 notebook 习惯撞上分布式执行</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-scaling-pandas-with-devin-petersohn-weaviate-podcast-101/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-scaling-pandas-with-devin-petersohn-weaviate-podcast-101/</guid><description>规模化 DataFrame：当 notebook 习惯撞上分布式执行</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-scaling-pandas-with-devin-petersohn-weaviate-podcast-101/cover.png"/></item><item><title>合成数据：RAG、Agent 与评测里的「造数」边界</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-synthetic-data-with-david-berenstein-and-ben-burtenshaw-weaviate-podcast/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-synthetic-data-with-david-berenstein-and-ben-burtenshaw-weaviate-podcast/</guid><description>合成数据：RAG、Agent 与评测里的「造数」边界</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-synthetic-data-with-david-berenstein-and-ben-burtenshaw-weaviate-podcast/cover.png"/></item><item><title>检索列表多样化：几何后处理、评测裂缝与 RAG 上下文预算</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-pyversity-with-thomas-van-dongen-weaviate-podcast-132/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-pyversity-with-thomas-van-dongen-weaviate-podcast-132/</guid><description>检索列表多样化：几何后处理、评测裂缝与 RAG 上下文预算</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-pyversity-with-thomas-van-dongen-weaviate-podcast-132/cover.png"/></item><item><title>检索嵌入的工程取舍：从 Arctic Embed 看榜单、训练与生产约束</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-arctic-embed-with-luke-merrick-puxuan-yu-and-charles-pierse-weaviate-pod/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-arctic-embed-with-luke-merrick-puxuan-yu-and-charles-pierse-weaviate-pod/</guid><description>检索嵌入的工程取舍：从 Arctic Embed 看榜单、训练与生产约束</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-arctic-embed-with-luke-merrick-puxuan-yu-and-charles-pierse-weaviate-pod/cover.png"/></item><item><title>结构化输出：从「能解析的 JSON」到 logit 级约束生成</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-structured-outputs-with-will-kurt-and-cameron-pfiffer-weaviate-podcast-1/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-structured-outputs-with-will-kurt-and-cameron-pfiffer-weaviate-podcast-1/</guid><description>结构化输出：从「能解析的 JSON」到 logit 级约束生成</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-structured-outputs-with-will-kurt-and-cameron-pfiffer-weaviate-podcast-1/cover.png"/></item><item><title>金融研究语料上的企业 RAG：向量库、Agent 与 eval 的工程取舍</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-morningstar-intelligence-engine-with-aravind-kesiraju-weaviate-podcast-1/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-morningstar-intelligence-engine-with-aravind-kesiraju-weaviate-podcast-1/</guid><description>金融研究语料上的企业 RAG：向量库、Agent 与 eval 的工程取舍</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-morningstar-intelligence-engine-with-aravind-kesiraju-weaviate-podcast-1/cover.png"/></item><item><title>开放模型上生产：Java 团队的 LangChain4j 集成路径</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-production-ready-genai-with-open-models-for-java-teams/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-production-ready-genai-with-open-models-for-java-teams/</guid><description>开放模型上生产：Java 团队的 LangChain4j 集成路径</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-production-ready-genai-with-open-models-for-java-teams/cover.png"/></item><item><title>企业 RAG 的边界：托管流水线、向量库与「可写回」检索</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-vertex-ai-rag-engine-with-lewis-liu-and-bob-van-luijt-weaviate-podcast-1/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-vertex-ai-rag-engine-with-lewis-liu-and-bob-van-luijt-weaviate-podcast-1/</guid><description>企业 RAG 的边界：托管流水线、向量库与「可写回」检索</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-vertex-ai-rag-engine-with-lewis-liu-and-bob-van-luijt-weaviate-podcast-1/cover.png"/></item><item><title>企业 RAG 与 Agent：当向量库遇上四十年分析软件</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-saurabh-mishra-and-bob-van-luijt-on-weaviate-and-sas-weaviate-podcast-12/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-saurabh-mishra-and-bob-van-luijt-on-weaviate-and-sas-weaviate-podcast-12/</guid><description>企业 RAG 与 Agent：当向量库遇上四十年分析软件</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-saurabh-mishra-and-bob-van-luijt-on-weaviate-and-sas-weaviate-podcast-12/cover.png"/></item><item><title>企业级 RAG 与 Agent：从拼接管线到可优化的整机</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-contextual-ai-with-amanpreet-singh-weaviate-podcast-114/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-contextual-ai-with-amanpreet-singh-weaviate-podcast-114/</guid><description>企业级 RAG 与 Agent：从拼接管线到可优化的整机</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-contextual-ai-with-amanpreet-singh-weaviate-podcast-114/cover.png"/></item><item><title>死后 JVM 崩溃分析：用 jcmd 读 core，而不是重学一套工具</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/</guid><description>死后 JVM 崩溃分析：用 jcmd 读 core，而不是重学一套工具</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/cover.png"/></item><item><title>向量库上的 Query Agent：可审计检索与两种「问数据」模式</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-weaviate-s-query-agent-with-charles-pierse-weaviate-podcast-128/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-weaviate-s-query-agent-with-charles-pierse-weaviate-podcast-128/</guid><description>向量库上的 Query Agent：可审计检索与两种「问数据」模式</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-weaviate-s-query-agent-with-charles-pierse-weaviate-podcast-128/cover.png"/></item><item><title>信息安全简报：教育 SaaS 二次打击、集群 RCE 与浏览器静默 AI</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-11/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-11/</guid><description>信息安全简报：教育 SaaS 二次打击、集群 RCE 与浏览器静默 AI</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-bhis-2026-bhis-talkin-bout-infosec-news-2026-05-11/cover.png"/></item><item><title>用 Spring Debugger 拆穿 Spring Boot「魔法」：属性、Bean 与事务的真实链路</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-spring-debugger-new-power-where-should-i-click-to-demystify-spring-boot/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-spring-debugger-new-power-where-should-i-click-to-demystify-spring-boot/</guid><description>用 Spring Debugger 拆穿 Spring Boot「魔法」：属性、Bean 与事务的真实链路</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-spring-debugger-new-power-where-should-i-click-to-demystify-spring-boot/cover.png"/></item><item><title>用代码反射把 Java 内核送到 GPU：HAT 与 Project Babylon 的工程切面</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-reflecting-on-hat-a-project-babylon-case-study/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-reflecting-on-hat-a-project-babylon-case-study/</guid><description>用代码反射把 Java 内核送到 GPU：HAT 与 Project Babylon 的工程切面</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-reflecting-on-hat-a-project-babylon-case-study/cover.png"/></item><item><title>用领域建模把 Java AI Agent 从「能跑」做到「可控」</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-reliable-ai-agents-using-domain-modeling-with-koog-in-java/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-reliable-ai-agents-using-domain-modeling-with-koog-in-java/</guid><description>用领域建模把 Java AI Agent 从「能跑」做到「可控」</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-reliable-ai-agents-using-domain-modeling-with-koog-in-java/cover.png"/></item><item><title>有状态 Agent 与上下文编译：从 MemGPT 到 Letta 的工程分野</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-letta-ai-with-sarah-wooders-weaviate-podcast-117/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-letta-ai-with-sarah-wooders-weaviate-podcast-117/</guid><description>有状态 Agent 与上下文编译：从 MemGPT 到 Letta 的工程分野</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-letta-ai-with-sarah-wooders-weaviate-podcast-117/cover.png"/></item><item><title>与 Agent 无关的 Java 质量护栏：用 AGENTS.md 与静态分析把标准写进仓库</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-agent-agnostic-guardrails-universal-java-code-quality-with-agents-md-and/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-agent-agnostic-guardrails-universal-java-code-quality-with-agents-md-and/</guid><description>与 Agent 无关的 Java 质量护栏：用 AGENTS.md 与静态分析把标准写进仓库</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-agent-agnostic-guardrails-universal-java-code-quality-with-agents-md-and/cover.png"/></item><item><title>语义查询引擎：当 LLM 算子进入查询优化器</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-semantic-query-engines-with-matthew-russo-weaviate-podcast-131/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-semantic-query-engines-with-matthew-russo-weaviate-podcast-131/</guid><description>语义查询引擎：当 LLM 算子进入查询优化器</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-semantic-query-engines-with-matthew-russo-weaviate-podcast-131/cover.png"/></item><item><title>语音智能体时代的架构张力：SSM、低延迟 TTS 与「端到端」是否吃掉编排链</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-cartesia-ai-with-karan-goel-weaviate-podcast-113/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-cartesia-ai-with-karan-goel-weaviate-podcast-113/</guid><description>语音智能体时代的架构张力：SSM、低延迟 TTS 与「端到端」是否吃掉编排链</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-cartesia-ai-with-karan-goel-weaviate-podcast-113/cover.png"/></item><item><title>在 exabyte 级非结构化内容上做企业 AI：权限、检索分层与 Agent 边界</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-box-ai-with-ben-kus-and-bob-van-luijt-weaviate-podcast-120/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-box-ai-with-ben-kus-and-bob-van-luijt-weaviate-podcast-120/</guid><description>在 exabyte 级非结构化内容上做企业 AI：权限、检索分层与 Agent 边界</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-box-ai-with-ben-kus-and-bob-van-luijt-weaviate-podcast-120/cover.png"/></item><item><title>真实仓库上的软件工程智能体：SWE-Bench 与评测脚手架之争</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-swe-bench-with-john-yang-and-carlos-e-jimenez-weaviate-podcast-107/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-weaviate-podcast-swe-bench-with-john-yang-and-carlos-e-jimenez-weaviate-podcast-107/</guid><description>真实仓库上的软件工程智能体：SWE-Bench 与评测脚手架之争</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-weaviate-podcast-swe-bench-with-john-yang-and-carlos-e-jimenez-weaviate-podcast-107/cover.png"/></item><item><title>Spring Boot 4 技术栈纵览：Starter 粒度、MVC 版本协商与安全演进</title><link>https://neatguycoding.com/zh-cn/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</guid><description>Spring Boot 4 与 Spring Framework 7 组合下，依赖可按能力拆成更细的 Starter，Web 出站客户端可与服务端 MVC 依赖分离；同一代码库可在 Spring MVC 中启用内置 API 版本解析，并与 Spring Data JDBC、&lt;code>RestClient&lt;/code> / 声明式 &lt;code>@HttpExchange&lt;/code> 客户端协同。Spring Security 7 侧重可叠加的 &lt;code>Customizer&amp;lt;HttpSecurity&amp;gt;&lt;/code>、一次性令牌登录、WebAuthn 与注解式多因子模型；</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/cover.png"/></item><item><title>Spring 工程上的 AI 编码代理：实时链路、可验证闭环与上下文治理</title><link>https://neatguycoding.com/zh-cn/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</guid><description>面向已在 JVM/Web 栈上交付服务的工程师，本文从一类典型 Spring Boot + Kotlin 实时互动应用出发，梳理「数据库信号 → 响应式 SSE → 浏览器」的数据路径，并把人机协作拆成可核对的三层：&lt;strong>编译与测试闭合&lt;/strong>、&lt;strong>可版本化的项目记忆（CLAUDE.md / 规则 / Skills）&lt;/strong>、&lt;strong>工具调用路径上的 Hooks 与 MCP&lt;/strong>。后半部分讨论无规格迭代导致的测试与状态机缺口、结构化澄清（Interview）如何把导航与安全决策写进规格，以及长对话中跨切面步骤被静默丢弃的现象与分段执行思路。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/cover.png"/></item><item><title>WebAssembly 作为 JVM 生态的嵌入层：模型、运行时与工程抓手</title><link>https://neatguycoding.com/zh-cn/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</guid><description>WebAssembly 作为 JVM 生态的嵌入层：模型、运行时与工程抓手</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/cover.png"/></item><item><title>遗留 Servlet 应用渐进接入 Spring Boot：构建、自动配置与 WAR 双模式</title><link>https://neatguycoding.com/zh-cn/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</guid><description>大规模迁移 Spring Boot 前，应先有可重复的集成验证与可控的依赖基线；随后按「Starter → 自动配置排障 → 外置容器内的 Spring 上下文 → 过渡期 Holder → Bean 化 → Servlet 注解化 → 可执行 WAR」分层推进。下文按依赖与运行时层次组织，并对照官方参考手册区分「演示型」引导路径与手册主推路径；个别行为（例如仅启动非 Web 上下文时的进程生命周期）若官方未逐句界定，则保留工程层面的不确定性说明。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/cover.png"/></item><item><title>用 Kotlin 表达力加固 Spring Boot 测试：断言、夹具与响应式边界</title><link>https://neatguycoding.com/zh-cn/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</guid><description>Spring Boot 与 Kotlin 在 JVM 上互操作成熟，团队常先在 &lt;code>src/test&lt;/code> 引入 Kotlin，把扩展函数、默认参数、类型安全 DSL 与 Kotest 等断言风格用在集成测试与 &lt;code>MockMvc&lt;/code> 场景中，以降低样板代码并收紧失败信息。与此同时，Java Builder、静态工具重载与 Project Reactor 的 &lt;code>StepVerifier&lt;/code> 仍有各自的认知成本；文中按依赖层次归纳常见动机、可对齐的公开 API，以及需注意的语义边界（例如 JVM 泛型擦除、响应式校验是否真正订阅完成）。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/cover.png"/></item></channel></rss>