한 주 동안 .NET 생태계에서 있었던 주요 이슈와 아티클, 기술 트렌드를 정리해 소개합니다.
.NET 11 Preview 1 Runtime Async 탐색: .NET async의 미래를 들여다보기
주요 내용
- .NET 11 Preview 1의 Runtime Async 개요와 동작 방식 소개
- 컴파일러가 생성하던 async 상태 머신(IAsyncStateMachine) 대신 런타임이 async를 직접 처리하는 모델
- 상태 머신 구조체/MoveNext 기반 모델에서 발생하던 디버깅·프로파일링 관점의 제약 사례
- Preview 1 변경점:
DOTNET_RuntimeAsync=1설정 없이 기본 활성화
EF Core의 현대적 매핑 기법
- 저자: Ricardo Peres
- 태그: #efcore #orm #mapping #json
주요 내용
- EF Core 10 기준, JSON 컬럼 지원 DB를 전제로 한 매핑 시나리오
- Complex Properties와 Owned Entity의 차이(키 유무, 테이블 분리, 질의 가능성)
- 원시 타입 컬렉션과 JSON 저장 방식
- 복합 컬렉션 매핑과 키리스 엔티티/뷰 매핑(ToView/HasNoKey)
- 전통적 관계 매핑과의 대비 예시
EF Core 10의 대량 작업: SaveChanges를 넘어
https://medium.com/@adrianbailador/bulk-operations-in-ef-core-10-beyond-savechanges-a916e0745824
- 저자: Adrian Bailador
- 태그: #efcore #performance #bulk
데이터베이스 Q&A
주요 내용
- SaveChanges 기반 대량 업데이트/삭제의 성능 한계 사례
- ExecuteUpdate/ExecuteDelete로 change tracking 없이 단일 SQL 실행
- Insert 옵션 비교: AddRange 배치, EFCore.BulkExtensions, SqlBulkCopy
- 벤치마크 수치로 본 방식별 성능 차이
- 상황별 선택 기준 정리
ISymUnmanagedReader로 .NET Framework PDB와 소스 라인 매핑하기
- 저자: Christophe Nasarre
- 태그: #debugging #pdb #dotnetframework #interop
주요 내용
- .NET Framework PDB(Windows PDB)에서 메서드/소스 라인 매핑 차이
- DIA/DbgHelp 접근 시 토큰 누락 문제 사례
- ISymUnmanagedReader(Com 기반 diasymreader.dll) 사용 절차
- COM 초기화와 바인더 사용 흐름
- .NET Core와 Framework의 디버깅 심볼 차이
예외가 .NET 앱의 취약점을 노출하고 있나요?
- 저자: Round The Code
- 태그: #security aspnetcore #exceptions dotnet
주요 내용
- 개발자 예외 페이지의 운영 환경 민감 정보 노출 위험
- 환경별 예외 페이지 설정 방법
- 글로벌 예외 핸들러(IExceptionHandler) 구성 흐름
- 일관된 오류 응답 포맷
- 예외 처리 체크리스트 항목
PagedListResult로 데이터셋 페이징 처리하기
https://iamrzr.medium.com/handle-data-set-pagination-with-pagedlistresult-4e30fab2c5a7
- 저자: RzR
- 태그: #pagination #library dotnet #api
주요 내용
- 계약 중심 요청/응답 모델(PagedRequest/PagedResult)
- IQueryable 확장 메서드로 검색/정렬/필터/페이징 조합
- 안정적 페이징을 위한 ordering 보장
- row count 계산 순서
- ExecutionDetails 포함 구조
Needlr의 Fluent API, Syringe 클래스 해부
- 저자: Nick Cosentino
- 태그: dependencyinjection #fluentapi #builderpattern dotnet
주요 내용
- Syringe 클래스의 DI 구성 진입점 역할
- UsingSourceGen/UsingReflection discovery 전략
- 추가 어셈블리 스캔과 등록 전/후 콜백
- WebApplicationSyringe로 ASP.NET Core 빌더 통합
- 메서드 체이닝으로 구성 순서 제어
Func와 EventCallback은 닮았지만 UI에서 갈린다
주요 내용
- Func의 일반 비동기 로직 사용 위치
- EventCallback의 UI 이벤트/렌더링 연동 목적
- UI 이벤트에 Func 사용 시 상태 갱신 타이밍 이슈
- UI 경계 기준으로 선택
- 사례 기반 비교
.NET이 string.IsNullOrEmpty에서 멈추는 이유
https://medium.com/@shahood.bin.amir/why-net-stops-at-string-isnullorempty-803af9ade96a
주요 내용
- string.IsNullOrEmpty의 명확한 의미
- 컬렉션 일반화 시 “비어 있음”의 도메인 의존성
- BCL에 일반 API가 없는 배경
- 도메인 규칙 기반 확장 메서드/정책 함수 제안
- 명시성과 의미 일관성 관점
스크리밍 아키텍처
https://medium.com/@iamprovidence/screaming-architecture-d96bdd6a526f
- 저자: iamprovidence
- 태그: #architecture #cleanarchitecture #project-structure
주요 내용
- 기술 중심 폴더 구조의 유지보수 문제 제기
- 기능/도메인 중심 구조 원칙
- 레이어 내부의 기능 단위 분할 방식
- 응집도/탐색성과 변경 영향 범위
- 작은 프로젝트의 기술 중심 구조 사례
.NET R&D 다이제스트 (2026년 1월)
- 저자: Oleg Karasik
- 태그: dotnet #roundup #performance #architecture
주요 내용
- 철학, AI, 개발, 성능, 보안, .NET 내부 관련 링크 큐레이션
- .NET 성능/내부 관련 글, EF Core 10, CLR 프로파일러, 디버깅 심볼 등 포함
- 각 링크에 간단 요약과 코멘트 수록
- 월간/정기 다이제스트 형식
가벼운 읽을거리
후보 항목 중 메인 이슈로 선정되지 않은 가벼운 읽을거리들
C# 추상 팩토리 패턴 실제 예제와 완전 구현
- 가구점 도메인으로 제품군 일관성 문제
- 추상 제품/팩토리 인터페이스와 구체 구현
.NET에서 대규모 데이터셋 페이징 구현
- PaginationParameters, PagedResult/Metadata 모델 구성
- Skip/Take/Count 캡슐화 흐름
record와 class의 진짜 차이는 문법이 아니다
- record의 값 의미와 불변성
- 값 기반 동등성과 with 표현식
.NET Background Service로 스케줄 작업 구성하기
- BackgroundService와 PeriodicTimer 기반 스케줄링
- Job 추상화로 실행 주기/조건 관리
async/await를 원리부터 설명하기
- 비동기와 병렬 실행의 구분
- 동시성/병렬성/비동기의 차이
.NET이 처음이라면 여기서 시작하기
- .NET 동작 원리 관점의 학습 경로
- 입문자용 읽기 순서
델리게이트와 이벤트로 C# 깊이를 보여주는 법
- 델리게이트/이벤트 이해를 묻는 질문 구성
- 캡처된 루프 변수 문제와 접근 제어 차이
C#에서 배열/컬렉션 평탄화 완전 가이드
- SelectMany 기반 평탄화와 수동 루프 방식
- 성능/메모리 주의사항과 엣지 케이스
Uno Platform 6.5 2월 릴리스: 스튜디오 생산성과 플랫폼 개선
- Uno SDK 6.5 릴리스 개요
- Studio/플랫폼 주요 변경 사항 요약
