Posts
All the articles I've posted.
-
我们是如何破解主流 AI Agent 基准测试的
Published: | at 01:40 AM UC Berkeley 研究团队构建了一个自动化漏洞扫描 Agent,系统性地攻破了 SWE-bench、WebArena、OSWorld 等八个主流 AI Agent 基准测试,以零能力实现接近满分。这篇文章拆解每个漏洞的原理,并给出一份可操作的基准测试设计清单。
-
C# 插件生命周期管理:加载、激活与卸载
Published: | at 06:40 AM 用 .NET 8/9 的 AssemblyLoadContext 构建稳健插件系统,完整覆盖发现、初始化、激活、热重载和优雅关闭五个阶段,附可直接落地的代码模式和常见坑点说明。
-
用 Wolverine 实现 Saga 模式
Published: | at 01:40 AM 长流程业务(如用户注册验证流程)天然需要 Saga 模式来协调多步骤操作。本文介绍如何用 Wolverine 构建一个带有超时补偿的 Saga,包括配置 RabbitMQ、PostgreSQL、定义消息类型、编写完整 Saga 类,以及处理超时和遗失消息的 NotFound 模式。
-
-
.NET 插件加载实战:AssemblyLoadContext 与依赖注入集成
Published: | at 12:34 AM Assembly.LoadFrom 在插件有不同依赖版本时会出现冲突,AssemblyLoadContext 提供了正确的隔离机制。本文讲解 PluginLoadContext 的实现原理、AssemblyDependencyResolver 的作用,以及如何将插件与 Microsoft.Extensions.DependencyInjection 干净地集成。
-
C# 插件契约与接口:如何设计可扩展的插件系统
Published: | at 01:24 AM 插件契约是宿主应用与插件之间的 API 边界,决定了插件系统的长期可维护性。本文从接口设计原则、元数据发现、版本演化到独立契约包,系统讲解如何在 C# 中设计小而稳定的插件契约。
-
解剖 .claude 文件夹:每个文件的作用详解(2026)
Published: | at 12:21 PM 完整解析 .claude 文件夹的结构——CLAUDE.md、rules、skills、agents、commands、settings.json、全局 ~/.claude/ 目录,附 .NET 项目实践示例,让你彻底搞清楚每个配置文件的加载时机和使用场景。
-
Aspire 入门:一条命令启动多语言分布式应用
Published: | at 11:34 AM 本地开发分布式应用时,你需要 5 个终端、手写连接字符串和一堆 Docker Compose 文件。Aspire 用一个 AppHost 和一条命令解决了这个问题。本文通过 OrderCanvas 演示项目,完整介绍 Aspire 的核心概念、配置方式和多语言编排能力。
-
.NET 中不变性(Immutability)的价值
Published: | at 07:54 AM 不可变对象一旦创建就无法修改,这看起来是个限制,实则是一种设计力量。本文从数据完整性、线程安全、可预测性等角度,结合 C# 代码示例,解释为什么现代 .NET 开发应将不可变作为默认选项,以及如何用 record、Builder 模式和 with 表达式实现它。