주말 아침 - 주간 닷넷 #15

한 주 동안 .NET 생태계에서 있었던 주요 이슈와 아티클, 기술 트렌드를 정리해 소개합니다.


:pushpin: .NET 11 Preview 1 Runtime Async 탐색: .NET async의 미래를 들여다보기

  • 저자: Laurent Kempé
  • 태그: #dotnet11 async #runtime csharp

주요 내용

  • .NET 11 Preview 1의 Runtime Async 개요와 동작 방식 소개
  • 컴파일러가 생성하던 async 상태 머신(IAsyncStateMachine) 대신 런타임이 async를 직접 처리하는 모델
  • 상태 머신 구조체/MoveNext 기반 모델에서 발생하던 디버깅·프로파일링 관점의 제약 사례
  • Preview 1 변경점: DOTNET_RuntimeAsync=1 설정 없이 기본 활성화

:pushpin: EF Core의 현대적 매핑 기법

  • 저자: Ricardo Peres
  • 태그: #efcore #orm #mapping #json

주요 내용

  • EF Core 10 기준, JSON 컬럼 지원 DB를 전제로 한 매핑 시나리오
  • Complex Properties와 Owned Entity의 차이(키 유무, 테이블 분리, 질의 가능성)
  • 원시 타입 컬렉션과 JSON 저장 방식
  • 복합 컬렉션 매핑과 키리스 엔티티/뷰 매핑(ToView/HasNoKey)
  • 전통적 관계 매핑과의 대비 예시

:pushpin: EF Core 10의 대량 작업: SaveChanges를 넘어

https://medium.com/@adrianbailador/bulk-operations-in-ef-core-10-beyond-savechanges-a916e0745824

주요 내용

  • SaveChanges 기반 대량 업데이트/삭제의 성능 한계 사례
  • ExecuteUpdate/ExecuteDelete로 change tracking 없이 단일 SQL 실행
  • Insert 옵션 비교: AddRange 배치, EFCore.BulkExtensions, SqlBulkCopy
  • 벤치마크 수치로 본 방식별 성능 차이
  • 상황별 선택 기준 정리

:pushpin: ISymUnmanagedReader로 .NET Framework PDB와 소스 라인 매핑하기

https://chnasarre.medium.com/how-to-support-net-framework-pdb-format-and-source-line-with-isymunmanagedreader-7663f9043b6b

  • 저자: Christophe Nasarre
  • 태그: #debugging #pdb #dotnetframework #interop

주요 내용

  • .NET Framework PDB(Windows PDB)에서 메서드/소스 라인 매핑 차이
  • DIA/DbgHelp 접근 시 토큰 누락 문제 사례
  • ISymUnmanagedReader(Com 기반 diasymreader.dll) 사용 절차
  • COM 초기화와 바인더 사용 흐름
  • .NET Core와 Framework의 디버깅 심볼 차이

:pushpin: 예외가 .NET 앱의 취약점을 노출하고 있나요?

주요 내용

  • 개발자 예외 페이지의 운영 환경 민감 정보 노출 위험
  • 환경별 예외 페이지 설정 방법
  • 글로벌 예외 핸들러(IExceptionHandler) 구성 흐름
  • 일관된 오류 응답 포맷
  • 예외 처리 체크리스트 항목

:pushpin: PagedListResult로 데이터셋 페이징 처리하기

https://iamrzr.medium.com/handle-data-set-pagination-with-pagedlistresult-4e30fab2c5a7

  • 저자: RzR
  • 태그: #pagination #library dotnet #api

주요 내용

  • 계약 중심 요청/응답 모델(PagedRequest/PagedResult)
  • IQueryable 확장 메서드로 검색/정렬/필터/페이징 조합
  • 안정적 페이징을 위한 ordering 보장
  • row count 계산 순서
  • ExecutionDetails 포함 구조

:pushpin: Needlr의 Fluent API, Syringe 클래스 해부

주요 내용

  • Syringe 클래스의 DI 구성 진입점 역할
  • UsingSourceGen/UsingReflection discovery 전략
  • 추가 어셈블리 스캔과 등록 전/후 콜백
  • WebApplicationSyringe로 ASP.NET Core 빌더 통합
  • 메서드 체이닝으로 구성 순서 제어

:pushpin: Func와 EventCallback은 닮았지만 UI에서 갈린다

https://medium.com/@wiemks408/func-task-vs-eventcallback-they-look-the-same-until-the-ui-gets-involved-ad50e5b043b6

주요 내용

  • Func의 일반 비동기 로직 사용 위치
  • EventCallback의 UI 이벤트/렌더링 연동 목적
  • UI 이벤트에 Func 사용 시 상태 갱신 타이밍 이슈
  • UI 경계 기준으로 선택
  • 사례 기반 비교

:pushpin: .NET이 string.IsNullOrEmpty에서 멈추는 이유

https://medium.com/@shahood.bin.amir/why-net-stops-at-string-isnullorempty-803af9ade96a

주요 내용

  • string.IsNullOrEmpty의 명확한 의미
  • 컬렉션 일반화 시 “비어 있음”의 도메인 의존성
  • BCL에 일반 API가 없는 배경
  • 도메인 규칙 기반 확장 메서드/정책 함수 제안
  • 명시성과 의미 일관성 관점

:pushpin: 스크리밍 아키텍처

https://medium.com/@iamprovidence/screaming-architecture-d96bdd6a526f

  • 저자: iamprovidence
  • 태그: #architecture #cleanarchitecture #project-structure

주요 내용

  • 기술 중심 폴더 구조의 유지보수 문제 제기
  • 기능/도메인 중심 구조 원칙
  • 레이어 내부의 기능 단위 분할 방식
  • 응집도/탐색성과 변경 영향 범위
  • 작은 프로젝트의 기술 중심 구조 사례

:pushpin: .NET R&D 다이제스트 (2026년 1월)

  • 저자: Oleg Karasik
  • 태그: dotnet #roundup #performance #architecture

주요 내용

  • 철학, AI, 개발, 성능, 보안, .NET 내부 관련 링크 큐레이션
  • .NET 성능/내부 관련 글, EF Core 10, CLR 프로파일러, 디버깅 심볼 등 포함
  • 각 링크에 간단 요약과 코멘트 수록
  • 월간/정기 다이제스트 형식

:bookmark_tabs: 가벼운 읽을거리

후보 항목 중 메인 이슈로 선정되지 않은 가벼운 읽을거리들


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/플랫폼 주요 변경 사항 요약
5개의 좋아요