Posts
940
Practical notes on AI assistants, software architecture, and developer tooling.
Posts
940
Tags
589
Featured
0
EF Core 10 没有内置批量插入 API。这篇从最慢的逐行 SaveChanges 到最快的 Npgsql 二进制 COPY,把六种插入策略全部跑通 BenchmarkDotNet,附带基准数据、参数上限陷阱、内存开销和实际选型建议。
Continue reading
EF Core 10 没有内置批量插入 API。这篇从最慢的逐行 SaveChanges 到最快的 Npgsql 二进制 COPY,把六种插入策略全部跑通 BenchmarkDotNet,附带基准数据、参数上限陷阱、内存开销和实际选型建议。
Microsoft Agent Framework 的 Harness 提供了四种扩展 Agent 能力的方式:按需加载的 Skills、受限沙箱的 Shell 工具、让 Agent 自己写代码算结果的 CodeAct,以及并行委托子 Agent 的后台调度。这篇把每种能力的 .NET 和 Python 接入方式都走一遍。
模块化单体保留单体部署的简单性,同时用边界上下文隔离让大项目持续可维护。这篇从创建方案结构开始,一步步搭起 Projects 和 Tasks 两个模块,再通过 Contracts 集成事件和 MediatR 打通跨模块通信,代码全部来自可运行的参考工程。
VSA 没有 Service 层可以 mock、没有 Repository 可以替换,这让习惯分层架构的开发者觉得难测。其实反过来:一个切片就是一个功能入口,你只需要从端点打到真实数据库就够了。这篇把夹具搭建、断言技巧、单元测试边界和架构测试一次说清楚。
MEL 是日志抽象层,Serilog 是日志实现引擎,它们互补而不是竞争。这篇从架构、sink 生态、结构化能力、性能差异和迁移步骤几个角度,帮你判断什么时候 MEL 够用、什么时候值得上 Serilog。
Serilog 接入 ASP.NET Core 的推荐做法就那几步,但第一次做容易踩坑:漏掉启动异常、bootstrap logger 用太久、没走 appsettings.json 配置。这篇按 .NET 9/10 把两阶段初始化、分环境配置、请求日志中间件和验证完整走一遍。
MCP 不是 AI 框架,也不是又一个 REST API,而是给 AI 应用发现和调用外部能力的统一契约。本文用 .NET 开发者熟悉的思路讲清主机/客户端/服务器三个角色、工具/资源/提示三类能力,以及什么时候该用 MCP、什么时候普通 REST 就够了。
TypeScript 7.0 是用 Go 重写的原生版本,完整构建普遍快 8-12 倍,内存更省。本文讲清它快在哪、怎么和 6.0 并存安装、有哪些破坏性默认变更,以及 Vue/Svelte 等嵌入式场景暂时还不能用的原因。
只改一个属性,就能让同一个 NuGet 包给 .NET 6、.NET 8 和老框架各自发一份专属程序集。本文讲清楚 TargetFrameworks 怎么配、条件编译怎么写、依赖怎么按框架隔离,以及打包后如何验证。
MapIdentityApi 一行代码就能给你 /register、/login、/refresh 等 10 个认证端点,但它发的 token 不是 JWT。本文讲清这个取舍:什么时候用它省掉几天开发,什么时候必须自己接管。
从零开始用 C# 构建一个模块化单体应用,覆盖模块封装、数据隔离与事件驱动通信。文章提供完整的项目结构和可直接运行的代码,帮助团队在不过度引入微服务复杂度的前提下提升架构可维护性。