블로그
KomuraSoft LLC가 웹사이트 제작, SEO, Google 광고 운용, Windows 개발, 기존 자산 활용, 장애 조사에 관해 실무적으로 활용할 수 있는 관점을 발신합니다.
사이트 전체 AI 검색
검색어는 결과 생성을 위해 Cloudflare AI Search로 전송됩니다. 개인정보는 입력하지 마세요.
-
.NET Generic Host란 - DI·설정·로그의 토대
Generic Host의 역할을 DI, 설정, 로그, IHostedService, BackgroundService의 관계로 정리하고, 어디서 효과가 나고 어디서 과한지를 실무 관점에서 정리합니다.
-
.NET Native AOT란 무엇인가 - JIT·trimming과의 차이
Native AOT가 무엇인지 JIT, ReadyToRun, self-contained, single-file, trimming, source generator와의 차이부터 정리하고, 잘 맞는 경우와 까다로운 경우를 실무 관점에서 정리합니다.
-
COM / ActiveX / OCX란 무엇인가 - 차이와 관계를 정리해 해설
COM이란 무엇인지, ActiveX란 무엇인지, OCX란 무엇인지를 차이와 관계, OLE와의 연결, 어디서 쓰이는지, 지금 어떻게 봐야 하는지까지 실무 관점에서 정리합니다.
-
.NET 타이머 3종의 용도 구분 - PeriodicTimer/Timer/DispatcherTimer
PeriodicTimer / System.Threading.Timer / DispatcherTimer의 차이와, async 처리, ThreadPool callback, WPF UI 업데이트에서 어떻게 구분할지 정리합니다.
-
C# Native AOT DLL을 C/C++에서 호출하는 방법
C# 클래스 라이브러리를 Native AOT로 네이티브 DLL로 발행하고, UnmanagedCallersOnly 엔트리 포인트를 C/C++에서 호출하는 구성을, 쓰임새와 구현 패턴, 주의점에서 정리합니다.
-
.NET Generic Host와 BackgroundService를 데스크톱 앱에서 쓰는 이유
Windows 도구나 상주 앱에서 시작, 주기 처리, 종료 처리, 로그, 설정, DI를 정리하기 위해 Generic Host와 BackgroundService를 어떻게 쓰는지 정리합니다.
-
ActiveX / OCX를 지금 어떻게 다룰 것인가 - 남길지・감쌀지・교체할지 판단표
ActiveX / OCX를 만났을 때 남길지・감쌀지・교체할지 가운데 무엇을 고를지를, 32bit / 64bit, 등록, 브라우저 의존, 벤더 보수까지 포함해 정리합니다.
-
WPF/WinForms의 async와 UI 스레드를 한 장으로 정리
WPF / WinForms에서 await 후의 복귀 위치, Dispatcher / Invoke, ConfigureAwait(false), .Result / .Wait()가 막히는 지점을 정리합니다.
-
Application Verifier로 만드는 Windows 이상 경로 테스트 기반
Application Verifier가 무엇인지, Handles, Heaps, Low Resource Simulation, !htrace를 사용한 Windows 이상 경로 테스트 기반 구축과 함께 정리합니다.
-
산업용 카메라 장기 가동 크래시 조사 - 핸들 누수편
Windows 앱이 장시간 가동 뒤에 갑자기 크래시할 때의 보는 법을, 산업용 카메라 제어 앱 사례로 핸들 누수를 찾는 방법과 로그 설계 관점에서 정리합니다.
-
TCP 재전송으로 산업용 카메라 통신이 멈추는 원인 분리
TCP 재전송으로 산업용 카메라 통신이 수 초 정지할 때의 원인 분리 방법을 패킷 로스, RTO, RFC1323 타임스탬프, Wireshark 확인 포인트와 함께 정리합니다.
-
FileSystemWatcher 실무 가이드 - 누락과 중복 대책
FileSystemWatcher 사용법과 주의점을 누락, 중복 알림, 완료 판정의 함정, 재스캔, 원자적 claim, idempotency 관점에서 정리합니다.
-
Media Foundation 입문 - COM 관점으로 API 이해하기
Media Foundation이 무엇인지, COM, HRESULT, IMFSourceReader, MFT 등 Windows 미디어 API의 기본 용어와 함께, 먼저 짚어야 할 순서로 정리합니다.
-
C# async/await 실무 판단표 - Task.Run과 ConfigureAwait
C# async/await 베스트 프랙티스를 I/O 대기, CPU 계산, Task.Run, ConfigureAwait(false), fire-and-forget 판단표와 함께 정리합니다.
-
평범한 Windows에서 소프트 리얼타임을 최대한 구현하기 위한 실전 가이드
평범한 Windows에서 주기 처리와 저지연 처리를 안정시키는 관점을 타이머 정밀도, 우선순위, 전원 설정, 모니터링 방법부터 정리합니다.
-
파일 연계의 배타 제어 기초 지식 - 파일 락과 원자적 claim의 베스트 프랙티스
파일 연계의 배타 제어를 파일 락, 원자적 claim, temp -> rename, idempotency 관점에서 정리하고, 공유 폴더 연계에서 사고를 피하는 설계를 정리합니다.
-
C#에서 네이티브 DLL 호출하기: C++/CLI 래퍼 vs P/Invoke
C#에서 네이티브 DLL을 쓸 때 P/Invoke로 충분한 장면과 C++/CLI 래퍼가 효과를 내는 장면을, 소유권·예외·C++ 타입·콜백 등의 관점으로 나누고, 얇은 래퍼를 끼우는 구성의 이점을 정리합니다.
-
HCP 차트와 MakingHCPChartSkill 입문
HCP 차트가 무엇인지 설명하면서, MakingHCPChartSkill로 HCP-DSL을 결정적 SVG로 변환하는 흐름과 읽는 법, 사용법을 정리합니다.
-
COM STA/MTA의 기초 지식 - 스레드 모델과 hang을 피하는 사고방식
COM STA/MTA의 기초 지식을 Apartment Model, UI 스레드, 메시지 루프, 마샬링, hang을 피하는 사고방식까지 포함해 정리합니다.
-
32bit 앱에서 64bit DLL을 호출하는 COM 브리지 사례
32bit 앱에서 64bit DLL을 직접 호출할 수 없을 때, COM 브리지로 연동하는 발상을 Windows의 제약, 구성, 처리 흐름과 함께 정리합니다.
-
COM이란 무엇인가 - Windows COM 설계가 지금도 아름다운 이유
Windows COM의 인터페이스 설계, IUnknown, GUID, 바이너리 호환성 관점에서 COM이 무엇인지 정리하고, 지금도 통하는 이유를 해설합니다.
-
기술 블로그 개설 안내 - Windows / C# / COM 개발 블로그를 시작했습니다
합동회사 고무라소프트의 기술 블로그 개설 안내입니다. Windows 개발, C# / .NET, COM, 설계, 개발 도구에 관한 지식을 공유합니다.