블로그
KomuraSoft LLC가 웹사이트 제작, SEO, Google 광고 운용, Windows 개발, 기존 자산 활용, 장애 조사에 관해 실무적으로 활용할 수 있는 관점을 발신합니다.
사이트 전체 AI 검색
검색어는 결과 생성을 위해 Cloudflare AI Search로 전송됩니다. 개인정보는 입력하지 마세요.
-
Process Monitor(ProcMon) 실전 가이드 ── 「설정이 읽히지 않는다」「ACCESS DENIED」를 10분 만에 특정한다
「설정을 고쳤는데도 반영되지 않는다」와 같은 장애는 Process Monitor(ProcMon)으로 파일·레지스트리 액세스의 실제 동작을 보고 원인을 특정할 수 있습니다. 필터의 실무적인 사용법, NAME NOT FOUND 등의 읽는 법까지 설명합니다.
-
Windows 앱의 Web화, 하지 않는 편이 나은 경우 ── 판단표와 ‘분할’이라는 현실적 해법
장치 연동·로컬 파일 처리·오프라인 운영이 있는 Windows 앱에서는 Web화가 비용 증가와 기능 저하를 부를 수 있습니다. Web화에 맞는 경우와 맞지 않는 경우의 판단표, 그리고 일부만 Web으로 내보내는 분할 구성이라는 현실적 해법을 정리합니다.
-
WinForms/WPF 앱의 다국어화 ── resx·satellite assembly·culture 전환의 실무
Windows 데스크톱 앱의 다국어화를 정리합니다. CurrentCulture와 CurrentUICulture의 차이, resx와 satellite assembly의 구조, WPF에서 현실적인 방식 선택, 런타임 언어 전환, 서식·RTL까지 설명합니다.
-
CSV는 「그냥 텍스트」가 아닙니다 ── C# 업무 앱의 CSV 실무(문자 코드·Excel 호환·인젝션 대책)
업무 앱 CSV 입출력의 전형적인 사고──Split(',') 자체 파싱, BOM 없는 UTF-8의 문자 깨짐, 앞자리 0 소실──을 정리하고, RFC 4180 규칙, Shift_JIS 취급, TextFieldParser를 이용한 안전한 읽기까지 설명합니다.
-
HttpClient를 using으로 감싸면 안 됩니다 ── C# 업무 앱의 HTTP 통신 실무(생성 패턴·타임아웃·재시도)
C#의 HttpClient는 매번 using으로 생성하면 소켓이 고갈되고, static으로 두면 DNS 변경을 따라가지 않습니다. PooledConnectionLifetime과 IHttpClientFactory를 쓰는 올바른 생성 패턴, 타임아웃 설계, 재시도까지 정리합니다.
-
PerfView와 dotnet-trace로 「느림」을 특정한다 ── .NET 성능 조사의 실무 입문
업무 앱이 「느리다」「CPU가 붙어 있다」일 때, 어떤 도구로 무엇을 볼지. PerfView와 dotnet-trace의 역할 분담, CPU 샘플링 읽는 법, ThreadTime으로 블록 시간을 조사하는 절차까지 실무 조사 흐름을 정리합니다.
-
BtoB용 Google 광고의 소액 운영 ── 월 수만 엔으로 성과를 내기 위한 설계와 주간 운영 절차
월 수만 엔 예산으로 Google 광고를 시작하는 BtoB 기업을 위한 실무 가이드입니다. 평균 일예산과 청구 상한의 구조, 전환 측정, 고의도 키워드로 좁히기, 제외 키워드의 주간 운영, 입찰 전략까지 정리합니다.
-
지역명으로 검색되는 사이트로 만들기 ── 중소기업의 로컬 SEO 실전 가이드(지역 페이지와 Google 비즈니스 프로필)
「지역명+업종」으로 검색해도 자사가 나오지 않는 중소기업을 위해, 로컬 SEO에서 손볼 순서를 정리합니다. Google 비즈니스 프로필 정비, NAP 정보 통일, 지역 페이지 설계, 효과 측정까지의 실무 절차입니다.
-
Windows 이벤트 로그·ETW 입문 ── 업무 앱 로그를 OS 표준 메커니즘에 올리기
이벤트 로그와 ETW는 운영 담당자와 OS 표준 도구에서 보이는 별도 계층의 기록입니다. 파일 로그를 포함한 세 수단의 역할 분담, .NET에서의 기록 방법, EventSource를 통한 ETW 계측, 수집·조사의 실무와 함정까지 설명합니다.
-
appsettings.json만이 전부가 아닙니다 ── Windows 업무 앱의 구성 관리 실무(환경별 설정·비밀 정보·쓰기 위치)
Windows 업무 앱의 구성 관리를 정리합니다. appsettings.json의 계층화, IOptions/IOptionsMonitor의 용도 구분, 환경별 설정, 쓰기가 가능한 설정의 위치, 비밀 정보의 취급, app.config에서의 마이그레이션까지 설명합니다.
-
왜 小村ソフト는 디지털청 디자인 시스템으로 HP를 만드는가 ── 저렴함과 품질은 양립할 수 있다
小村ソフト의 HP 제작이 디지털청이 공개한 디자인 시스템을 토대로 삼는 이유를 정리합니다. 디자인 공정의 표준화가 왜 비용을 낮추고, 왜 품질을 오히려 안정시키는지, 맞지 않는 경우까지 포함해 설명합니다.
-
BtoB 사이트에서 문의를 늘리기 ── 고치는 순서의 전체 지도(유입부터 폼까지)
BtoB 사이트 문의를 늘리려면 측정으로 병목을 찾고, 서비스 페이지를 정비하고, 동선을 고친 뒤, 마지막에 유입을 더하는 순서가 유효합니다. 각 시책 글을 고치는 순서에 맞춰 지도로 정리하고, 90일 계획까지 묶습니다.
-
Windows 업무 앱의 인쇄와 PDF 출력 ── System.Drawing.Printing / WPF / 장표 라이브러리 구분
PrintDocument로 하는 WinForms 인쇄, WPF의 FlowDocument/FixedDocument 인쇄, PDF 출력 선택지를 요건별 판단표로 정리합니다. 페이지 나눔 제어, DPI 어긋남, Windows 서비스에서의 인쇄 위험까지 설명합니다.
-
사이트 리뉴얼 사례: 미야자키의 운송 회사 ドーズキャリーサービス ── 기존 사이트에서 무엇을 어떻게 이어받았는가
미야자키의 운송 회사 ドーズキャリー서비스 사이트 리뉴얼에서, 디자인보다 먼저 URL 전수 조사와 301 설계, 콘텐츠 유지 점검을 진행한 방식을 실제 사례로 설명합니다.
-
중소기업 홈페이지 제작 비용 ── 한눈에 보는 가격대와 견적서 읽는 법
중소기업이 홈페이지 제작 견적을 받기 전에 알아 두면 좋은, 목적별·규모별 비용 수준과 견적서 내역 읽는 법, 가격대마다 할 수 있는 일과 할 수 없는 일을 정리합니다.
-
OSI 참조 모델을 선명하게 그려 보기 ── HTTP 요청 1개를 7계층으로 해부한다
OSI 참조 모델을 실물로 이해합니다. HTTP GET 요청을 실어 나르는 Ethernet 프레임을 C#으로 조립해 해부하고, 7계층이 중첩된 모습을 Wireshark로 확인합니다. 각 계층과 .NET API의 대응, 장애 원인 분리까지 정리합니다.
-
Windows 세션 분리를 어떻게 이해할 것인가 ── Session 0·RDP·다중 사용자 동시 실행
Windows 앱 개발자가 혼동하기 쉬운 「세션」 개념을 정리합니다. 서비스가 UI를 띄울 수 없는 Session 0 분리의 이유, RDP 연결 시 세션의 동작, named object의 세션 분리, 공유 PC·RDS 환경에서 자주 나오는 설계 실수까지 실무 관점에서 설명합니다.
-
VB6 / Access 업무 앱의 수명 연장과 마이그레이션 ── 유지·래핑·교체 판단표
VB6와 Access 업무 앱을 유지할지, 수명을 연장할지, 교체할지를 어떻게 판단할지. 런타임 현황, ACE의 32bit/64bit 문제, 공유 폴더에서 여러 명이 함께 쓰는 리스크, SQL Server로의 업사이즈까지 판단표로 정리합니다.
-
WinDbg + SOS로 크래시 덤프 읽기 ── 수집 이후의 실무 분석 입문
Windows 크래시 덤프를 WinDbg와 SOS 확장으로 읽는 절차를 설명합니다. 심볼 경로 설정, !clrstack과 !dumpheap으로 예외와 메모리 누수를 추적하는 방법, !analyze -v, dotnet-dump analyze와의 역할 분담까지 정리합니다.
-
Windows 앱의 다중 실행 방지 ── 이름 있는 Mutex와 이중 실행 시 활성화
업무용 Windows 앱의 다중 실행 방지를 이름 있는 Mutex로 구현하는 방법을 정리합니다. Global\와 Local\ 차이로 생기는 RDP 환경의 함정, AbandonedMutexException, 기존 인스턴스를 앞으로 가져오기까지 설명합니다.
-
C#에서 Win32 API를 안전하게 호출하기 ── P/Invoke 실무 가이드(DllImport / LibraryImport / CsWin32)
C#에서 Win32 API를 P/Invoke로 호출할 때 실무에서 짚을 포인트를 정리합니다. DllImport와 LibraryImport의 차이, CsWin32를 이용한 자동 생성, 문자열 마샬링의 함정, SafeHandle, 32/64bit 차이까지 구현 예와 함께 설명합니다.
-
WinForms/WPF 앱에 Entra ID 인증을 넣는 방법 ── MSAL.NET과 WAM 브로커의 실무 구성
WinForms/WPF 데스크톱 앱에 Entra ID 인증을 넣는 절차를 정리합니다. 퍼블릭 클라이언트의 개념, 앱 등록, MSAL.NET의 AcquireTokenSilent, WAM 브로커, 토큰 캐시 영속화까지 설명합니다.
-
업무 앱의 날짜·시각과 타임존 ── DateTime의 함정부터 UTC 저장 원칙, 테스트 설계까지
서버를 옮겼더니 시각이 9시간 어긋난다──날짜·시각 사고의 원인을 DateTime의 Kind와 암묵 변환부터 정리합니다. DateTimeOffset과의 구분, UTC 저장 원칙, TimeZoneInfo와 서머타임, TimeProvider를 이용한 테스트 설계까지 설명합니다.
-
Windows 데스크톱 앱의 UI 자동 테스트 ── UI Automation 구조와 FlaUI로 만드는 잘 깨지지 않는 테스트
WinForms/WPF 앱의 UI 자동 테스트를 Windows UI Automation 구조부터 정리합니다. FlaUI 최소 구현, AutomationId 설계와 조건 대기로 잘 깨지지 않게 하는 방법, CI 무인 실행의 함정까지 실무 관점에서 설명합니다.
-
WPF의 고DPI 대응 ── 「DPI에 강해야 하는데」 흐려지고 번지는 원인과 대처
WPF는 System DPI Aware이지만, DPI가 다른 모니터로 옮기면 전체가 번지고 비트맵은 흐려집니다. 원인 분리, Per-Monitor DPI 대응, UseLayoutRounding 등 정석 대처, WindowsFormsHost 혼재의 함정까지 정리합니다.
-
C# Excel 조작에서 EXCEL.EXE가 남는 문제 ── COM 참조 해제 패턴과 교체 판단
C#에서 Excel을 COM으로 조작하면 EXCEL.EXE 프로세스가 남는 문제를 COM 참조 카운트와 RCW 구조로 정리합니다. 2-dot 규칙의 함정, ReleaseComObject와 GC에 의한 해제 패턴, 교체 판단까지 설명합니다.
-
WinForms의 고DPI 대응 ── 4K 모니터에서 흐려지거나 레이아웃이 깨지는 원인과 현실적인 대처
4K 모니터에서 WinForms 앱이 흐려지거나 레이아웃이 깨지는 원인을 DPI 가상화와 DPI 인식 모드(System Aware / Per-Monitor V2)로 정리합니다. .NET과 .NET Framework의 설정 방법, AutoScaleMode의 함정까지 설명합니다.
-
Windows의 프로세스 간 통신을 어떻게 고를까 ── Named Pipe / TCP / gRPC / 공유 메모리 / COM 판단표
Windows 앱끼리의 연동 수단을 어떻게 고를지 정리합니다. Named Pipe, 로컬 TCP, gRPC, 공유 메모리, 파일 연동, COM의 강점과 함정을 판단표로 정리하고, 정석 구성과 Named Pipe 구현 예까지 설명합니다.
-
C#에서 SQLite를 업무 앱에 쓰기 ── WAL 모드·배타 제어·손상 대책·EF Core와의 구분
Microsoft.Data.Sqlite로 SQLite를 업무 앱에 넣는 실무 지식을 정리합니다. WAL 모드, SQLITE_BUSY와 쓰기 경로 일원화, 타입 매핑의 함정, VACUUM INTO 백업, EF Core와의 구분까지 설명합니다.
-
Windows서비스 만드는 법과 운영 ── 작업 스케줄러와의 구분부터 BackgroundService의 서비스화까지
상주 처리를 Windows서비스로 둘지, 작업 스케줄러로 충분한지. 판단표와 .NET Worker Service로 서비스를 만드는 방법, 실행 계정·복구 옵션·안전한 중지 처리까지 실무 관점에서 정리합니다.