Posts
713
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
713
Tags
361
Featured
0
本地开发分布式应用时,你需要 5 个终端、手写连接字符串和一堆 Docker Compose 文件。Aspire 用一个 AppHost 和一条命令解决了这个问题。本文通过 OrderCanvas 演示项目,完整介绍 Aspire 的核心概念、配置方式和多语言编排能力。
Continue reading
不可变对象一旦创建就无法修改,这看起来是个限制,实则是一种设计力量。本文从数据完整性、线程安全、可预测性等角度,结合 C# 代码示例,解释为什么现代 .NET 开发应将不可变作为默认选项,以及如何用 record、Builder 模式和 with 表达式实现它。
介绍一个基于反射和编译委托的通用 GenericEqualityComparer<T>,无需修改类定义即可为任意 C# 类提供按值比较。涵盖公有/私有属性与字段的配置、EqualityWrapper 操作符重载、LINQ 集成以及适用边界。
深入解析 ASP.NET Core .NET 10 中的 HybridCache:L1/L2 双层架构、防雪崩保护原理(100 并发仅触发 1 次数据库查询)、基于 Tag 的批量失效、Redis L2 配置与 IDistributedCache 迁移指南,附 BenchmarkDotNet 性能数据。
Squad 是基于 GitHub Copilot 的开源项目,用两条命令在仓库里初始化一支预配置的 AI 团队——协调者、前端、后端、测试——并通过三种架构模式实现可检查、可溯源的多智能体编排,而不需要复杂的基础设施。
专家判断力可以通过经历习得,却无法通过语言传授——这不是个人表达能力的问题,而是信息论层面的根本限制。语言是串行低带宽信道,而专家模型是在数十个维度上同时运行的非线性映射,两者之间存在无法弥合的鸿沟。
Microsoft Agent Framework(MAF)和 Semantic Kernel 都是微软出品的 .NET AI Agent 框架,但设计目标差距显著。本文用对比表格、代码示例和决策指南,帮你在两者之间做出清晰的技术选型判断。
Andrej Karpathy 分享了一套用 LLM 构建和维护个人研究知识库的完整方法:把原始文献编进 .md wiki,用 Obsidian 做前端,让 LLM 自主管理、查询和增强知识,而不依赖 RAG 或复杂向量数据库。
C# 15 引入 union 关键字,允许声明一个封闭的类型集合,编译器负责穷举检查。本文解析 union 类型的语法、工作原理、实际用途,以及如何在 .NET 11 Preview 2 中动手试用。
规格模式(Specification Pattern)是解决 Repository 方法爆炸、查询逻辑重复问题的优雅方案。本文从接口定义到 EF Core 集成,再到 And/Or 组合规格,完整演示如何在 .NET 项目中用规格模式替代或简化 Repository,让数据访问层保持整洁、可测试、可组合。