블로그
KomuraSoft LLC가 웹사이트 제작, SEO, Google 광고 운용, Windows 개발, 기존 자산 활용, 장애 조사에 관해 실무적으로 활용할 수 있는 관점을 발신합니다.
사이트 전체 AI 검색
검색어는 결과 생성을 위해 Cloudflare AI Search로 전송됩니다. 개인정보는 입력하지 마세요.
-
Roslyn이란 무엇인가 ── 컴파일러의 시각으로 C# 코드를 읽고 고치고 생성하기
Roslyn(.NET Compiler Platform)의 개요, Syntax Tree, SemanticModel, Workspace, Analyzer, Source Generator, 실무에서의 활용처와 주의점을 정리합니다.
-
Windows 앱 외주·수탁 개발을 의뢰하기 전에 정리해야 할 것
Windows 앱의 외주·수탁 개발을 의뢰하기 전에, 기존 소프트웨어 개수, 장치 연계, COM/ActiveX, 배포·업데이트, 보수와 관련해 정리해야 할 포인트를 설명합니다.
-
.NET Framework / .NET에서 대수적 데이터 타입 사용하기 ── 상태와 결과를 타입으로 표현하는 설계
대수적 데이터 타입, 특히 합 타입(구별 합집합)을 .NET Framework와 .NET에서 사용하는 방법과 장점을 F#, C# 클래스 계층, record, OneOf, C# 15 union 프리뷰까지 포함해 정리합니다.
-
Windows 위장 토큰을 올바르게 다루기 - 스레드 단위 권한 대여와 안전한 복원 방법
Windows의 위장 토큰에 대해 액세스 토큰, 기본 토큰, 스레드 토큰, 위장 레벨, RevertToSelf, .NET의 WindowsIdentity.RunImpersonated까지, 실무에서 안전하게 다루기 위한 사고방식을 정리합니다.
-
TCP에서 Send한 단위대로 Receive할 수 있다는 오해 ── 바이트 스트림으로 다루기 위한 수신 설계
TCP 통신에서 Send나 Write한 단위대로 수신할 수 있다고 생각하면 분할·결합·문자 깨짐·프로토콜 손상이 발생합니다. TCP를 바이트 스트림으로 다루고 애플리케이션 쪽에서 프레이밍하는 사고방식과 .NET/C#에서의 구현 예를 정리합니다.
-
.NET에서 GC 대기와 메모리 누수를 구별하는 법 ── 늘어나는 메모리를 관측·비교·증명하는 실무 절차
.NET 애플리케이션에서 메모리가 증가하는 이유가 가비지 컬렉션 대기인지, 실제로 메모리 누수인지를 dotnet-counters, dotnet-gcdump, dotnet-dump로 가려내는 절차를 정리합니다.
-
C#(CSharp)에서 PowerShell을 실행하고 결과를 객체로 받는 방법
C#에서 PowerShell을 실행하고 결과를 문자열이 아닌 PSObject로 받는 방법을, PowerShell SDK, AddCommand, AddParameter, BaseObject, Properties, 오류 처리까지 실무 관점에서 정리합니다.
-
Pester로 하는 PowerShell 테스트 정비 ── 운영 스크립트를 쉽게 망가지지 않게 만드는 실무 패턴
PowerShell 스크립트를 Pester v5로 테스트하여 날짜 처리, 파일 작업, 삭제 처리, Mock, CI 실행까지 안전하게 정비하는 실무 절차를 정리합니다.
-
Windows는 왜 지금의 모습이 되었나: 개발자가 보는 역대 Windows의 진화
Windows 95부터 Windows 11까지의 변화를, 겉모습의 연표가 아니라 호환성, 안정성, 권한 관리, 드라이버, Win32, .NET, 보안 등 Windows 앱 개발자의 시점에서 정리합니다.
-
Windows 앱 개발자를 위한 CPU 설정 입문: 우선순위·선호도·P코어/E코어
Windows 앱 개발자를 위해 CPU 우선순위, 선호도, P코어/E코어, 절전 설정, EcoQoS/Efficiency Mode의 관계와 성능·응답성·발열을 측정하는 사고방식을 정리합니다.