매일 평일마다 Cursor를 사용하는 시니어 C#/.NET 엔지니어를 위한 단 하나의 주관적인 규칙을 전달합니다. 이번 주 전체 내용을 한 번에 읽어보세요 — 공식 포스트는 Agentic Architect 블로그에서 확인하실 수 있습니다.
이번 주 새로운 에세이
5월 30일 토요일 · .NET 툴링 (tooling)
Cursor는 매 세션마다 사용자의 DI (의존성 주입) 패턴, 경계(boundaries), 그리고 컨벤션(conventions)을 잊어버립니다. 여기 사용자의 아키텍처를 AI의 장기 기억에 고정시키는 4가지 규칙 프레임워크가 있습니다.
5월 30일 토요일 · .NET 툴링 (tooling)
Cursor AI는 N+1 쿼리를 생성하고, 데이터베이스 전체를 즉시 로딩(eager-load)하며, AsNoTracking을 건너뜁니다. 여기 프로덕션에 배포하기 전 EF Core 실수의 90%를 잡아내는 규칙 기반 가드레일(guardrail) 시스템이 있습니다.
5월 26일 화요일 · .NET 툴링 (tooling)
시니어 .NET 팀들은 하나를 선택하는 것이 아니라, 둘 다 비용을 지불하고 있습니다. 솔직한 비교, 가격 산출 방식, 그리고 두 도구가 상태(state)를 공유할 수 있게 해주는 설정법을 다룹니다.
6가지 데일리 시니어 규칙
규칙 18: 통합 테스트를 위한 WebApplicationFactory
5월 31일 일요일
인메모리(In-memory) EF Core 프로바이더는 거짓말을 합니다. 실제 통합 테스트 커버리지를 확보하려면 Testcontainers (SQL Server, Postgres)와 함께 WebApplicationFactory를 사용하세요. Cursor는 기본적으로 UseInMemoryDatabase를 사용하도록 설정되는데, 이는 로컬에서는 통과하지만 버그를 프로덕션으로 배포하게 만듭니다. 테스트 프로젝트에서 인메모리 프로바이더 사용을 금지(flag)하세요.
→ 블로그의 퍼머링크(Permalink)
5월 30일 토요일
라이브러리 코드(non-ASP.NET)는 모든 await 대상인 Task에 대해 ConfigureAwait(false)를 설정해야 합니다. ASP.NET Core 코드는 그렇게 해서는 안 됩니다. Cursor는 동일한 솔루션 내에서 이 두 가지 컨텍스트를 혼용합니다. 프로젝트 유형을 감지하고 올바른 기본값을 강제하세요.
→ Permalink on the blog
규칙 16: 이벤트 핸들러 외부에서의 async void
5월 29일 금요일
async void는 UI 이벤트 핸들러를 제외한 모든 곳에서 데드락 (deadlock) 및 처리되지 않은 예외 (unhandled-exception)의 함정입니다. AI는
무료로 제공되는 **arch-core-lite.mdc**는 매일 아침 반복되는 재설명 의식을 끝내줄 수 있는 단 하나의 즉시 적용 가능한 (drop-in) Cursor 규칙입니다. 60초 만에 설치하여 Cursor가 실제로 당신의 의존성 주입 (DI) 수명 주기 (lifetimes)를 기억하는지 확인해 보고, 전체 키트가 19.99파운드의 가치가 있는지 직접 판단해 보세요.
이 요약본의 모든 내용을 확인할 수 있는 공식 홈: https://agenticstandardcontact-byte.github.io/agentic-architect/blog/