“설계” 태그의 글
“설계” 태그가 붙은 글 17건을 최신순으로 정리했습니다.
-
Windows 앱의 웹 전환, 하지 않는 편이 나은 경우 ── 판단표와 '분할'이라는 현실적 해법
'사내 Windows 앱을 웹으로 만들고 싶다'는 요청이 늘고 있지만, 장치 연동·로컬 파일 처리·오프라인 운용·고속 입력 UI를 갖춘 앱에서는 웹 전환이 오히려 비용 증가와 기능 저하를 부를 수 있습니다. 웹 전환에 적합한 경우와 부적합한 경우를 정리한 판단표와, 전면 웹 전환이...
-
Windows의 세션 분리를 어떻게 이해할까 ── Session 0・RDP・다중 사용자 동시 실행
Windows 앱 개발자가 혼란스러워하기 쉬운 '세션' 개념을 정리합니다. 서비스가 UI를 표시할 수 없는 Session 0 분리의 이유, RDP 접속 시 세션의 동작, 명명된 개체의 세션 분리, 공유 PC・RDS 환경에서 흔히 발생하는 설계 실수까지 실무 관점에서 설명합니다.
-
Windows의 프로세스 간 통신을 어떻게 선택할까 ── 네임드 파이프 / TCP / gRPC / 공유 메모리 / COM 판단표
Windows 앱 사이의 연동 수단을 어떻게 선택할지 정리합니다. 네임드 파이프, 로컬 TCP, gRPC, 공유 메모리, 파일 연동, COM 각각의 강점과 함정을 판단표로 정리하고, UI+서비스 분리・32bit/64bit 브리지・권한 경계 같은 정형 구성과 네임드 파이프 구현 예시...
-
Windows 앱 데이터 저장 위치를 고르는 방법 ── SQLite / JSON / 레지스트리 / Access 판단표
Windows 데스크톱 앱의 데이터를 어디에·무엇으로 저장할지 정리합니다. AppData/ProgramData 구분, SQLite・JSON 파일・레지스트리・Access(.accdb) 각각의 강점과 함정을 판단표로 정리하고, 손상 대책과 비트 수 문제까지 실무 관점에서 설명합니다.
-
어디서 예외를 `catch`하고 로그를 내며 에러 처리해야 하는가 - 호출 계층의 경계와 책무를 실무용으로 정리
깊은 helper에서 넓게 catch하지 않고 호출 계층의 경계에 책무를 모아, 어디서 예외를 잡고 어디서 단일 주요 로그를 남기며 어디서 결과화·회복을 결정할지 .NET 실무 관점으로 정리한 가이드입니다.
-
Windows에서 타이머 대기보다 이벤트 대기를 우선하는 이유 - 약 15.6ms 입자의 폴링을 피한다
Windows의 짧은 timer wait는 system clock 입자와 스케줄러 지연에 묶여 의도한 정밀도가 나오지 않습니다. 작업 도착·I/O 완료·정지 요청은 event 대기로, 시각 자체는 waitable timer로 나누는 설계 지침을 정리합니다.
-
상정하지 않은 예외가 발생했을 때의 체크리스트 - 앱을 종료시킬지 계속할지, 먼저 보는 판단표
상정 외 예외 시 앱을 종료할지 계속할지를 실패 단위 격리·공유 상태 회복·외부 부작용 설명·네이티브 경계 건전성의 네 축으로 판단하는 흐름을 표와 플로차트로 정리한 글입니다. 독자는 catch 가능 여부가 아니라 불변 조건 회복 가능성으로 가르는 기준을 얻습니다.
-
Windows 앱 개발에서 최저한의 보안을 지키기 위한 체크리스트
WPF・WinForms・WinUI・Win32 등 Windows 앱 개발에서 권한, 서명, 비밀 정보, HTTPS, 입력 검증, DLL 읽기, 로그까지 릴리스 전에 빠뜨리면 사고로 이어지는 최저한의 보안 항목을 체크리스트 형태로 정리합니다.
-
.NET의 Generic Host란 무엇인가 - DI, 설정, 로그, BackgroundService를 먼저 정리
Generic Host의 정체를, DI・설정・로그・BackgroundService와 Host.CreateApplicationBuilder / WebApplicationBuilder의 관계로 정리합니다. 어디서 효과적이고 어디서 과잉인지를 .NET 6 이후의 실무 시점에서 짚습니다.
-
.NET의 Native AOT란 무엇인가 - JIT, ReadyToRun, trimming과의 차이를 먼저 정리
Native AOT가 publish 시점에 .NET 앱을 정적으로 굳히는 배포 모델임을 JIT, ReadyToRun, trimming, source generator와 비교해 정리하고, 어느 앱에 잘 맞고 어디서 막히는지 실무 관점에서 판별 기준을 잡습니다.
-
PeriodicTimer / System.Threading.Timer / DispatcherTimer의 사용 구분 - .NET의 정기 실행을 먼저 정리
PeriodicTimer는 async 루프, System.Threading.Timer는 ThreadPool callback, DispatcherTimer는 WPF UI 스레드라는 책무 차이를 정리하고, .NET 6 이후의 worker・WPF에서 망설이지 않도록 선택 기준을 제시합니다.
-
Generic Host / BackgroundService를 데스크톱 앱에 가지고 들어오는 이유 - 기동・수명・graceful shutdown의 정리가 꽤 편해진다
WPF나 WinForms 같은 데스크톱 앱에서 Generic Host와 BackgroundService를 도입해 기동, 상주 처리, graceful shutdown, DI, 로그, 설정의 입구를 한 곳으로 모으는 설계 정리법과 안티패턴을 실무 시점으로 풀어냅니다.
-
FileSystemWatcher 사용법과 주의점 - 누락, 중복 알림, 완료 판정의 함정
Windows .NET 파일 감시에서 FileSystemWatcher의 이벤트를 완료 알림으로 오인하기 쉬운 함정과, 재스캔 요청·원자적 claim·idempotency를 축으로 누락과 중복을 견디는 안전한 설계 패턴을 정리합니다.
-
C# async/await의 베스트 프랙티스 - Task.Run과 ConfigureAwait의 판단표
C# async/await의 베스트 프랙티스를 I/O 대기와 CPU 계산의 구분, Task.Run·ConfigureAwait(false)·fire-and-forget·WhenAll·SemaphoreSlim·Channel의 형 선택 판단표로 정리합니다.
-
Windows 소프트 리얼타임 실전 가이드 - 지연을 줄이기 위한 체크리스트
평범한 Windows 10/11 위에서 user-mode 앱의 지연과 지터를 줄이는 실전 지침을 정리합니다. fast/slow path 분리, 큐와 타이머 설계, 우선순위·MMCSS, 전원 설정, p99 계측까지 어디부터 재검토할지 체크리스트로 보여드립니다.
-
파일 연계의 배타 제어 기초 지식 - 파일 락과 원자적 claim의 베스트 프랙티스
공유 폴더 파일 연계의 배타 제어를 정리합니다. 파일 락만으로 부족한 이유, 원자적 claim과 temp -> rename, idempotency를 조합해 다중 워커 경합과 쓰기 도중 읽기 사고를 막는 받아넘기기 프로토콜의 설계 지침을 정리했습니다.
-
HCP 차트란 무엇인가 - HCP-DSL을 결정론적 SVG로 변환하는 MakingHCPChartSkill 사용법
HCP 차트의 기본 개념부터, MakingHCPChartSkill을 이용해 HCP-DSL을 결정론적 SVG로 변환하는 절차, 리포지토리 구조와 주요 스크립트의 역할, 도면을 CI·리뷰 흐름에 안전하게 녹여내기 위한 핵심 포인트를 단계별로 풀어 설명합니다.