Posts
All the articles I've posted.
-
.NET 6 到 .NET 10:LINQ 新增的 15 个方法,一文搞清楚
Published: at 11:54 PM从 .NET 6 到 .NET 10,LINQ 陆续增加了 15 个方法——Chunk、MinBy、CountBy、AggregateBy、Index、LeftJoin 等,这篇文章逐一介绍它们解决了什么问题,以及如何在实际代码中替换掉过去的样板写法。
-
pgvector + .NET 实战:用 PostgreSQL 做向量搜索
Published: at 10:58 AM已有 PostgreSQL?不用再部署 Pinecone 或 Qdrant。pgvector 是一个 PostgreSQL 扩展,让你直接在现有数据库里存储向量并做语义搜索。本文带你用 .NET Aspire、Dapper 和 Microsoft.Extensions.AI 跑通完整流程:启用扩展、创建向量列、生成 embedding、用余弦距离做相似性查询。
-
别再用 DateTime.Now:用 TimeProvider 让 .NET 代码可测试
Published: at 09:13 AM几乎每个 .NET 项目都有同一个隐患:DateTime.Now 散落在服务、验证器和业务规则里。表面无害,实际上让时间相关逻辑无法正确测试。本文介绍两种解决方案——自定义 IDateTimeProvider 接口和 .NET 8 内置的 TimeProvider——让时间成为可注入的依赖,配合 FakeTimeProvider 轻松测试订阅到期、试用结束等真实场景。
-
.NET 项目必加的 5 类架构测试
Published: at 09:03 AM架构规则写在文档里,六个月后就会被违反。本文介绍用 ArchUnitNET 把层依赖、命名规范、类共位、可见性和第三方库边界这 5 类约定写成自动化测试,让 CI 来守护你的架构意图,而不是靠 Code Review 碰运气。
-
GitHub Copilot 的编码套件:VS Code 里 AI 真正在做什么
Published: at 08:52 AM每次新模型发布,大家都在问哪个更聪明、更快。但在 VS Code 里,模型只是其中一层。真正决定你体验的是 coding harness——负责组装上下文、暴露工具、驱动 agent 循环的系统层。这篇文章来自 VS Code 团队,解释了这套机制是怎么工作的,不同模型为何需要不同配置,以及他们如何用 VSC-Bench 在模型上线前做产品级评测。
-
用 Redis Backplane 横向扩展 SignalR:消息路由、粘性会话与故障边界
Published: at 08:36 AMSignalR 横向扩展后,每个实例只知道自己的连接,消息很容易发不到目标客户端。本文用 Redis backplane 串起多实例消息路由,并讲清楚 sticky sessions、ChannelPrefix、Redis 故障丢消息和 Azure SignalR Service 的取舍。
-
从单体到模块化单体再到微服务:100k 用户下的 .NET 架构演进
Published: at 06:28 AM架构演进应跟随可测量的痛点,而非流行趋势。本文通过 Northwind Pay 的真实故事,详解 .NET 系统从单体经模块化单体到选择性微服务的完整路线图,包括边界设计、Outbox 模式、CQRS 读写分离和迁移路线图。
-
C# LINQ 连接完全指南:Join、GroupJoin、LeftJoin、RightJoin 与 Zip
Published: at 12:59 AM全面讲解 C# LINQ 的各类连接操作——从 Join 内连接、GroupJoin 分组连接,到 .NET 10 新增的 LeftJoin 与 RightJoin,再到 Zip 位置配对。每种操作对应 SQL 场景,含完整代码示例。