Posts
754
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
754
Tags
410
Featured
0
本文深入讲解 .NET GC 中内部指针(interior pointer)的概念、它为何让标记阶段变得复杂,以及砖表(brick table)这一经典数据结构如何高效定位对象起始地址,同时展示作者在 C# 托管 GC 中的实际实现方式。
Continue reading
在哪里存对话历史,是构建 AI Agent 时最关键的架构决策之一。本文系统梳理服务端管理与客户端管理两种根本模式、线性与可分叉的会话模型,以及 Microsoft Agent Framework 如何通过 AgentSession 和 ChatHistoryProvider 抽象屏蔽差异,并附三种 Responses API 配置模式的完整代码示例。
系统梳理 C# 正则表达式的完整知识体系:核心方法(IsMatch/Match/Matches/Replace/Split)、RegexOptions 标志、命名捕获组、.NET 7+ 的 [GeneratedRegex] 编译时生成、NonBacktracking 安全模式,以及零分配的 Span 系列 API,并附性能对比和常见错误总结。
测试金字塔建议以大量单元测试为基础,但这条建议诞生于 2009 年的基础设施条件。Testcontainers 和 Aspire 改变了集成测试的成本,集成测试才应该是现代测试套件的骨干,本文详述作者亲历的 Bug 案例与他实际采用的四层测试结构。
本文梳理了软件工程中最重要的 20 条定律,从系统构建、团队效率、计划管理、度量失真到压力下的系统行为,每条定律都附有真实案例。这些定律不是操作指南,而是帮助你理解正在发生的事情。
Ubuntu 26.04 LTS(Resolute Raccoon)正式发布,内置 .NET 10 开箱即用。本文介绍如何安装 .NET 10、使用 resolute 容器镜像、用 Native AOT 构建 1.4 MB 自包含二进制,以及通过 backports PPA 安装 .NET 8/9。
Feature Slicing 和 Clean Architecture 常被当作对立选项,其实它们解决的问题完全不同。本文从依赖方向、代码组织、团队规模等维度对比两者,并给出实际决策框架。
微软发布免费开源课程 LangChain.js for Beginners,8 个章节、70 余个可运行的 TypeScript 示例,从 LLM 调用到 Agent、MCP 再到 Agentic RAG,专为 JavaScript/TypeScript 开发者设计,无需 AI 背景即可上手。
Feature-sliced 架构的核心优势之一是让测试变得清晰:Handler 是天然的单元测试边界,WebApplicationFactory 覆盖 HTTP 管道。本文介绍针对 .NET Feature Slice 应用的完整测试策略,包括 Handler 单元测试、集成测试搭建、验证逻辑测试和 Testcontainers 使用方式。
用订单处理状态机为例,逐步讲解如何在 C# 中实现状态模式:定义接口、创建具体状态类、构建上下文、添加转移事件、引入守卫条件,最后接入 DI 容器。