“Windows” 태그의 글
“Windows” 태그가 붙은 글 129건을 최신순으로 정리했습니다.
-
같은 1GB인데, 동영상 한 편보다 사진 폴더 복사가 느린 이유는?
Windows에서 용량이 같은데 복사 시간이 다른 이유를 그림으로 설명합니다. 파일 수, SSD와 NAS의 대기 시간, ZIP으로 묶는 효과, 생성·전송·압축 해제를 포함한 비교 절차, robocopy의 쓰임새를 정리합니다.
-
Windows의 「하드웨어 가속 GPU 일정 예약」이란? 켜면 빨라질까요?
Windows의 하드웨어 가속 GPU 일정 예약(HAGS)을 일반 사용자를 위해 그림으로 설명합니다. 무엇이 바뀌는지, 켜고 끄는 판단, 설정이 보이지 않는 이유, 프레임 생성과의 관계, 안전한 비교 절차를 정리합니다.
-
Windows의 이름 확인 순서 ── hosts·DNS 캐시·LLMNR/mDNS·DoH
「이름을 확인할 수 없다」「일부 PC만 연결되지 않는다」는 hosts·DNS 캐시·DNS 서버·LLMNR/mDNS 중 어느 층이 답했는지에 따라 결과가 달라집니다. Windows의 이름 확인 순서와 DoH가 바꾸는 것을 구조부터 정리하고, 층별로 분리해 보는 절차를 해설합니다.
-
빠른 시작의 정체 ── Windows의 「종료」가 다시 시작과 다른 이유
Windows의 「종료」는 기본적으로 하이브리드 종료가 되어 커널과 드라이버가 최대 절전 모드 파일에 저장되고 다음 부팅에서 복원됩니다. 다시 시작해야만 해결되는 이유, 가동 시간·업데이트·Wake on LAN에 미치는 영향, 확인 방법과 비활성화 판단을 설명합니다.
-
Time Travel Debugging ── 장기 가동에서 재현되지 않는 결함을 「녹화」해서 되감기
한 달에 한 번만 나오는 결함은 크래시 덤프로는 결과밖에 찍히지 않습니다. WinDbg의 Time Travel Debugging(TTD)으로 실행을 녹화해 되감는 방법을 TTD.exe의 녹화 설계, 링 버퍼, TTD.Calls 쿼리, 덤프와의 역할 분담까지 설명합니다.
-
인수는 왜 깨지는가 ── Windows 명령줄 인수의 규칙
Windows에는 인수의 배열이 존재하지 않으며, CreateProcess에 전달되는 것은 한 줄의 문자열이고 분할은 받는 쪽이 합니다. CommandLineToArgvW·CRT·.NET의 분할 규칙과 .NET의 ArgumentList, C++에서의 올바른 조립 방법을 설명합니다.
-
Windows 앱의 다크 모드와 대비 테마 대응 ── DWM의 다크 제목 표시줄, WinForms/WPF의 시스템 테마 추종, 고대비일 때의 그리기
Windows 11의 다크 모드와 대비 테마에 WinForms/WPF 앱을 맞추는 방법을 설명합니다. DWM의 다크 제목 표시줄, .NET 9/10의 SetColorMode와 ThemeMode, 테마 전환 감지, 고대비일 때 시스템 색으로 그리는 방법을 정리합니다.
-
Windows 프린터 드라이버 제공 종료 ── 업무 앱의 장표·라벨 인쇄는 어떻게 대비할 것인가
Microsoft는 v3/v4 프린터 드라이버의 제공 종료를 단계적으로 진행하고 있으며, 2026년 7월부터는 IPP 클래스 드라이버가 우선됩니다. Windows protected print mode에서 무엇이 사라지는지, 업무 앱의 장표·라벨 인쇄가 어디에 의존하고 있는지를 점검...
-
WinRT는 COM이다 - IInspectable, .winmd, 언어 프로젝션, 그리고 WinUI가 지금도 바이너리 계약 위에 서 있는 이유
WinRT는 매니지드 런타임이 아니라 COM에 메타데이터(.winmd)와 언어 프로젝션을 더한 ABI입니다. IUnknown과 IInspectable의 관계부터 데스크톱 앱에서의 HWND 초기화, package identity의 막히는 지점까지 설명합니다.
-
부모가 죽은 뒤에 무엇이 남는가 — Job Object로 자식 프로세스를 기르기
UI를 강제로 종료해도 SDK의 헬퍼가 남아 카메라나 COM 포트를 붙잡고 놓지 않는 이유는 무엇인가. Job Object로 프로세스 트리를 하나의 단위로 만들고, KillOnJobClose와 완료 포트로 자식 프로세스의 수명을 설계하는 방법을 계측 애플리케이션의 시선에서 설명합니다.
-
OLE 개체란 무엇인가 - 포함과 연결의 구조, 그리고 업무 문서의 함정
Word에 Excel 표를 넣는 기능의 정체가 바로 OLE 개체입니다. 포함과 연결의 차이, 복합 파일과 구조화 스토리지, In-Place Activation의 구조부터 링크 깨짐, 파일 비대화, 보안 대책까지 실무 관점에서 설명합니다.
-
「같은 PC」는 같은 실행 환경이 아니다 ── AppData·HKCU·DPAPI·자격 증명을 가르는 사용자 경계
내 PC에서 잘 돌던 앱이 작업이나 서비스로 만들자마자 망가지는 이유. AppData·HKCU·DPAPI·브라우저 프로필·자격 증명을 가르는 Windows의 사용자 경계를 구조부터 설명합니다.
-
DSC로 Windows를 선언적으로 구성 관리하기 ── dsc.exe로 시작하는 IaC
"다시 실행하면 망가지는" 절차서 스크립트에서 졸업하지 않겠습니까. Windows 구성을 YAML로 선언하고 멱등하게 적용하는 DSC v3(dsc.exe)를, 네 갈래인 DSC의 정리부터 구성 문서 작성법, 드리프트 감지 운영까지 해설합니다.
-
Windows 가상화의 심층(제3회) ── 몇 초 만에 시작되는 가상 머신: WSL2·Windows Sandbox·컨테이너가 가벼운 이유
WSL2와 Windows Sandbox는 왜 몇 초 만에 시작되고 이렇게 가벼울까요. 동적 베이스 이미지, 다이렉트 맵, 메모리의 동적 배분, Hyper-V 격리 컨테이너까지 구조부터 설명합니다.
-
Windows 가상화의 심층(제2회) ── 커널에서도 보이지 않는 메모리: VBS·HVCI·Credential Guard의 구조
대응 하드웨어에 클린 설치하면 기본으로 켜지는 VBS는, 하이퍼바이저와 SLAT로 커널보다 강한 격리를 만듭니다. VTL, 보안 커널, HVCI, Credential Guard의 구조를 설명합니다.
-
Windows 가상화의 심층(제1회) ── 당신의 Windows는 어디에서 실행되고 있는가: 하이퍼바이저와 파티션
Hyper-V를 켜면 호스트 Windows 자체가 루트 파티션으로서 하이퍼바이저 위에서 실행됩니다. VT-x, SLAT, VMBus의 역할까지 가상화의 토대를 설명합니다.
-
Win32 스레드 풀 API ── CreateThreadpoolWork로 「스레드를 만들지 않는」 병렬 처리
네이티브 코드에서 CreateThread를 마구 늘리고 있지는 않습니까. Vista에서 새로 설계된 Win32 스레드 풀 API의 work, timer, wait, io 네 가지 객체와 클린업 그룹, 콜백에서 해서는 안 되는 일까지 1차 자료를 근거로 설명합니다.
-
Named Pipe 실무 ── Windows 프로세스 간 통신의 정석을 설계부터 보안까지
Windows 프로세스 간 통신의 정석인 Named Pipe를 실무 관점에서 설명합니다. 바이트/메시지 모드의 선택, 여러 클라이언트를 처리하는 서버 설계, ACL과 impersonation 보안, .NET의 NamedPipeStream까지 일차 자료를 근거로 정리합니다.
-
절전에서 재개하면 깨지는 앱 ── 전원 이벤트의 구조와 재개에 강한 업무 앱을 만드는 방법
노트북을 열었더니 업무 앱의 통신이 끊어져 있었다――원인은 절전을 전제하지 않은 설계입니다. WM_POWERBROADCAST에 의한 알림의 흐름, Modern Standby의 동작, 끊김·재연결 설계, 절전 억제와 조사 명령까지를 1차 정보로 설명합니다.
-
DllMain과 로더 락 ── 「DLL 초기화에서는 아무것도 하지 말라」는 말의 진짜 이유
DllMain에서 LoadLibrary나 스레드 동기화를 해서는 안 되는 이유는 무엇인가. 모든 DLL 알림을 직렬화하는 로더 락의 구조부터, 데드락이 성립하는 전형적인 시나리오, 지연 초기화 같은 올바른 설계, hang 조사 절차까지를 1차 정보로 설명합니다.
-
「응답 없음」의 정체 ── Windows가 앱을 「멈췄다」고 판단하는 구조와, 멈추지 않는 설계
Windows의 「응답 없음」은 창이 5초 동안 메시지를 꺼내지 않으면 OS가 판단해 고스트 창으로 교체하는 구조입니다. 판단의 내부 동작부터 멈추는 전형적인 원인, UI 스레드에서 무거운 처리를 빼내는 설계, hang 조사 절차까지 설명합니다.
-
spurious wakeup ── 조건 변수가 「알림 없이 깨어나는」 이유와 Windows에서 올바르게 기다리는 방법
조건 변수의 wait는 알림이 오지 않아도 깨어날 수 있습니다(spurious wakeup). 사양이 이를 허용하는 이유를 Windows 구현에서 밝히고, while과 predicate로 쓰는 올바른 대기 방법을 Win32·C++·C# 코드로 보입니다.
-
클립보드와 드래그 앤 드롭의 구조 ── 업무 앱에서 OLE 데이터 전송을 올바르게 다루기
Excel 표를 붙여 넣으면 서식이 무너지고, 원본을 닫으면 붙여 넣을 수 없다── 원인은 같은 내용을 여러 형식으로 두는 클립보드입니다. 표준 형식·지연 렌더링·OLE 드래그 앤 드롭부터 기록과 클라우드 동기 정책까지 설명합니다.
-
WPR/WPA 실무 ── 「PC 전체가 느리다」를 시스템 전체에서 조사하는 성능 조사 입문
「PC 전체가 느리다」「부팅이 느리다」처럼 작업 관리자로는 따라갈 수 없는 성능 문제는 OS 전체 ETW 트레이스를 모아 읽는 WPR/WPA로 조사합니다. wpr.exe 수집 절차부터 WPA에서 CPU·대기·디스크 I/O를 읽는 법까지 설명합니다.
-
앱에서 본 Windows 종료 ── 종료 알림·다시 시작·전원 차단을 올바르게 견디기
Windows Update의 야간 다시 시작으로 계측 데이터가 깨졌다 ── 그런 사고는 설계로 막을 수 있습니다. WM_QUERYENDSESSION과 PRESHUTDOWN으로 종료 알림을 받는 방법, 수 초 안에 끝내는 정리, 전원 차단에도 견디는 저장 설계까지를 1차 정보로 설명...
-
Windows 앱 접근성 입문 ── UI Automation과 합리적 배려 의무화에 대비하기
2024년 4월 시행된 개정 장애인차별해소법을 배경으로, 스크린 리더가 Windows 앱을 읽는 기반 UI Automation을 축으로 WinForms/WPF의 이름 지정, 키보드 조작, 대비, 검증 도구까지 실무 관점에서 정리합니다.
-
일본어 글꼴과 문자의 함정 ── 업무 앱에서 JIS2004·이체자 선택자·외자를 다루는 법
「화면과 장표에서 葛 자의 모양이 다르다」「성명의 글자가 나오지 않는다」── 업무 시스템의 문자 문제는 문자 코드(데이터)와 글꼴(겉모습)의 층을 나누면 정리할 수 있습니다. JIS2004의 자형 변경, 이체자 선택자, 외자의 실무 대응을 설명합니다.
-
그룹 정책에서 Intune으로 ── 중소기업의 디바이스 관리 이전 가이드
AD 서버 교체를 계기로 그룹 정책을 이어갈지, Entra ID+Intune으로 옮길지. 적용 방식의 차이, 라이선스, Group Policy analytics로 현황을 파악하는 법, 5단계 이전 시나리오와 막히는 지점을 중소기업 기준으로 정리합니다.
-
Windows 서비스 계정 선정 ── LocalSystem·가상 계정·gMSA를 구분해서 쓰기
Windows 서비스를 아직 LocalSystem으로 돌리고 있지는 않습니까. LocalService·NetworkService·가상 계정·도메인 사용자·gMSA의 권한과 네트워크상 신원을 판단표로 비교하고, 최소 권한으로 운영하는 고르는 법을 설명합니다.
-
OneDrive 「파일 온디맨드」와 업무 앱 ── 플레이스홀더가 깨뜨리는 전제와 대책
데스크톱 CSV가 읽히지 않거나 가져오기가 「파일을 찾을 수 없습니다」로 실패한다——원인은 OneDrive의 KFM과 파일 온디맨드일 수 있습니다. 플레이스홀더 구조, 속성 판정, 앱과 정보시스템 양쪽의 대책을 설명합니다.
-
Windows 앱 호환이 동작하는 방식 ── 호환성 모드, 심(Shim), Compatibility Administrator로 오래된 앱의 수명을 연장하는 방법
호환성 모드에 체크하면 오래된 앱이 동작하는 이유. 정체인 심(API 훅)의 구조, 대표 심의 역할, Compatibility Administrator와 sdbinst로 조직에 배포하는 방법, 통하지 않는 한계, 수명 연장과 이전 사이의 판단까지 설명합니다.
-
Windows 메모리의 심층(제3회) ── 섹션 객체와 Copy-on-Write: DLL과 파일 매핑의 정체
섹션 객체, 이미지·데이터 매핑, 공유 캐시, Copy-on-Write를 이어서 DLL과 공유 메모리가 물리 페이지를 공유하는 구조를 설명합니다.
-
Windows 셸 통합의 현재 ── 컨텍스트 메뉴, 파일 연결, Windows 11의 변화
Windows 11에서 컨텍스트 메뉴가 「더 많은 옵션 표시」 뒤로 숨는 이유를, 확장자→ProgID→verb라는 파일 연결의 기본, 기존형 셸 확장의 주의점, IExplorerCommand와 MSIX/sparse package의 새 방식까지 이어서 설명합니다.
-
사내 프록시와 Windows 앱 ── WinINET·WinHTTP·.NET의 프록시 해석을 정리한다
브라우저에서는 연결되는데 업무 앱만 사내 프록시를 넘지 못합니다. 원인은 대개 WinINET, WinHTTP, 환경 변수, .NET이 각각 어떤 프록시 설정을 읽는지가 어긋난 데 있습니다. PAC와 WPAD, 인증 프록시, TLS 검사, 원인 분리 절차까지 정리합니다.
-
Windows 메모리의 심층(제2회) ── 물리 페이지의 일생: 다섯 목록과 페이지 파일의 진실
PFN 데이터베이스, Standby, Modified, 메모리 압축, 페이지 파일을 이어서 Working Set에서 벗어난 물리 페이지의 행선을 설명합니다.
-
Windows 패킷 캡처 실무 ── pktmon·netsh trace·Wireshark 역할 나누기
앱 로그에 「타임아웃」만 남는 통신 장애는, 실제로 네트워크에 흐른 패킷을 보면 한 단계 더 깊게 조사할 수 있습니다. Wireshark를 설치할 수 없는 서버에서도 OS 표준 pktmon·netsh trace로 캡처할 수 있습니다. 캡처와 분석의 역할 나누기를 실무 절차로 설명합니다.
-
Windows 메모리의 심층(제1회) ── 가상 주소가 물리 RAM으로 바뀌는 순간: 페이지 폴트의 전말
VirtualAlloc, VAD, 페이지 테이블, TLB, demand-zero, 하드 폴트를 이어서 가상 주소에 물리 RAM이 할당되는 순간을 설명합니다.
-
Windows 오류 코드 읽기 ── Win32·HRESULT·NTSTATUS 삼층 구조
0x80004005가 나오면 검색하기 전에 먼저 분해합니다. Win32 오류·HRESULT·NTSTATUS의 삼층 구조, 0x8007xxxx가 Win32 오류를 감싼 형태라는 가장 중요한 패턴, err.exe와 PowerShell로 코드를 찾는 방법까지 정리합니다.
-
Windows의 「메모리 사용량」은 무엇을 나타내는가 ── Working Set·Private Bytes·Commit·페이지 파일을 올바르게 읽는 법
작업 관리자의 메모리, Working Set, Private Bytes, Commit은 같은 값이 아닙니다. Windows의 가상 메모리와 물리 메모리의 관계, 페이지 파일의 역할, 메모리 부족이나 누수 조사에서 봐야 할 지표를 설명합니다.
-
멀티스레드 실무 베스트 프랙티스 C 언어 편 ── Win32 API의 방식으로 안전하게 작성하기
C 언어 × Win32의 멀티스레드는 _beginthreadex로 스레드를 만들고, SRW 락과 조건 변수, Interlocked, 정지 이벤트+WaitForMultipleObjects로 정지를 설계하는 것이 정석입니다. TerminateThread의 위험과 DllMain의 제약까...
-
멀티스레드 실무 베스트 프랙티스 C++ 편 ── RAII와 jthread로 사고를 구조적으로 없애기
C++ 멀티스레드는 data race가 곧 undefined behavior가 되는 세계입니다. std::thread 소멸자의 함정, jthread와 stop_token으로 멈추는 설계, scoped_lock의 deadlock 회피, atomic의 자리, Win32 동기화 API와...
-
멀티스레드 실무 베스트 프랙티스 .NET 편 ── 스레드를 늘리기 전에 정해 둘 것
「스레드를 만들었더니 가끔 죽거나 멈춘다」를 막는 설계의 정석을 .NET/C# 대상으로 정리합니다. 스레드를 직접 만들지 않고 Task에 맡기기, 공유 가변 상태 줄이기, 락의 규율, CancellationToken으로 정지 설계하기, UI 스레드 다루기까지 설명합니다.
-
볼륨 섀도 복사본(VSS)의 원리와 실무 ── 사용 중인 파일은 어떻게 백업되는가
사용 중인 파일은 공유 위반으로 복사하지 못하는데, 백업 소프트웨어는 어떻게 복사할까요. 볼륨 섀도 복사본(VSS)의 requester·writer·provider 역할, copy-on-write 동작, vssadmin 실무와 diff area의 함정을 설명합니다.
-
WMI/CIM을 C#·PowerShell에서 쓰기 ── 하드웨어 정보 가져오기·프로세스 모니터링·원격 조회의 실무 가이드
PC 시리얼 번호 조회, 디스크 여유 공간 모니터링, 프로세스 시작 감지의 흔한 답이 WMI/CIM입니다. Get-CimInstance 등 CIM cmdlet 사용법과 구 Get-WmiObject에서의 이전, C#의 System.Management와 CIM API 구분, 실무 레시...
-
그룹 정책(GPO) 실무 입문 ── 동작 방식·적용 확인·Intune과의 역할 분담
「GPO로 배포한다」는 말의 뜻을 모른 채 AD 환경을 다루고 있지는 않은지요. 그룹 정책의 동작 방식과 LSDOU 적용 순서, gpupdate·gpresult로 적용 여부를 확인하는 방법, Intune과의 역할 분담, 고객사 GPO가 앱 동작을 바꿔 버리는 함정까지 실무 관점에서...
-
Windows 보안 감사 정책과 이벤트 로그 조사 실무 ── 4625를 읽는 정보시스템 담당자가 되기
「로그온 실패 로그를 조사해 달라」는 요청에 답하기 위한 실무 가이드입니다. 기본 감사 정책과 고급 감사 정책의 관계, 최소한 활성화해야 할 하위 범주, 이벤트 ID 4624/4625/4688을 읽는 법, Security 로그의 용량 설계, Get-WinEvent로 추출하는 방법까...
-
Windows LAPS 실무 가이드 ── 전 PC 공통 로컬 관리자 비밀번호를 그만두기
전 PC 공통 로컬 관리자 비밀번호는 한 대의 침해가 전대로 번지는 Pass-the-Hash 공격의 온상입니다. OS 표준 기능이 된 Windows LAPS의 자동 로테이션과 AD/Entra ID 저장 설정, 운영상의 함정을 설명합니다.
-
Windows 인증서 저장소 실무 가이드 ── 사용자와 컴퓨터, 어느 쪽에 넣을 것인가
클라이언트 인증서는 사용자와 컴퓨터 중 어느 저장소에 넣어야 하는가. certmgr.msc와 certlm.msc의 차이, 비밀 키 권한 부여, PowerShell로 만료를 점검하는 방법까지, 인증서의 단골 사고를 체계적으로 막는 실무 가이드입니다.
-
Windows 방화벽과 업무 앱 ── 인바운드 규칙은 인스톨러에서 등록한다
'개발 PC에서는 되는데 고객사에서는 통신이 안 된다'의 단골 원인이 바로 Windows 방화벽입니다. 인바운드 기본 차단과 프로필, 알림 대화상자에 운영을 맡기면 안 되는 이유, 인스톨러에서의 인바운드 규칙 등록과 원인 분리 절차를 설명합니다.
-
BitLocker 실무 가이드 ── 복구 키 관리부터 시작하는 드라이브 암호화
Windows 11 24H2 이후 클린 설치에서는 디바이스 암호화가 기본으로 켜져, '어느새 암호화되어 있었다'는 사고가 실제로 일어납니다. 복구 키 저장 위치 판단표를 축으로, 원리·조직 운영·사고 대응·폐기까지 정리합니다.
-
Windows I/O의 심층(제6회·최종회) ── 필터 드라이버와 minifilter: Procmon과 바이러스 검사가 I/O에 끼어들 수 있는 이유
Windows의 필터 드라이버와 minifilter를 그림으로 설명하는 연재의 최종회입니다. Filter Manager와 altitude, pre/post callback, Procmon과 바이러스 백신이 모든 I/O를 검사할 수 있는 구조, 「그 환경에서만 느린」 조사 절차까지 ...
-
Windows I/O의 심층(제5회) ── NTFS의 내부 구조: MFT로 이해하는 파일 시스템
NTFS의 내부 구조를 그림으로 설명하는 연재 제5회입니다. MFT와 파일 레코드, 다중 데이터 스트림(Zone.Identifier), 하드 링크와 8.3 이름, reparse point, 두 종류의 저널, 스파스와 압축까지를 개발자 관점에서 정리합니다.
-
Windows I/O의 심층(제4회) ── 캐시 관리자: WriteFile은 언제 디스크에 도달하는가
Windows의 캐시 관리자를 그림으로 설명하는 연재 제4회입니다. 파일 매핑으로 구현된 캐시, read-ahead와 lazy write, FlushFileBuffers와 FILE_FLAG_NO_BUFFERING의 용도 구분, 전원 차단으로 데이터가 사라지는 조건까지 정리합니다.
-
Windows I/O의 심층(제3회) ── I/O 완료 포트(IOCP)와 .NET 스레드 풀: async/await의 지하실
I/O 완료 포트(IOCP)를 그림으로 설명하는 연재의 제3회입니다. 완료 큐와 스레드 수 제어를 하나로 묶은 설계, 동시성 값과 LIFO 해제, .NET 스레드 풀과 async/await 계속(continuation)의 실행 스레드까지 정리합니다.
-
MSMQ는 언제까지 쓸 수 있는가 ── 「deprecated조차 아닌」 레거시 큐의 마이그레이션 판단
MSMQ는 공식 deprecated 목록에 없는 한편, System.Messaging은 .NET Framework에만 있어 .NET으로의 이전을 가로막습니다. 폐지 소문과 실제 현재 위치를 사실로 정리하고, 계속 쓸지·옮길지의 판단 기준과 이전 대상 고르는 법을 정리합니다.
-
Windows I/O의 심층(제2회) ── 동기 I/O와 비동기 I/O: OVERLAPPED의 진짜 의미
Windows의 동기 I/O와 비동기 I/O(overlapped I/O)를 그림으로 설명하는 연재의 제2회입니다. FILE_FLAG_OVERLAPPED의 의미, 완료 통지의 네 가지 방식, 비동기인데도 동기 완료되는 조건, 취소 절차, .NET과의 대응까지 정리합니다.
-
AppLocker·App Control for Business(WDAC)와 업무 앱 배포 ── 「실행 제어」에 막히기 전에
AppLocker, App Control for Business(구 WDAC), Smart App Control의 차이와, 자사 업무 앱이 고객 환경의 실행 제어에 막히지 않기 위한 개발·배포 측 대책을 정리합니다. 차단 시 이벤트 로그를 읽는 방법도 함께 정리합니다.
-
Windows I/O 내부 구조(제1회) ── 모든 읽기·쓰기는 IRP가 된다: I/O 시스템의 전체 그림
Windows I/O 시스템을 밑바닥부터 설명하는 연재의 제1회입니다. Object Manager namespace, driver·device·file 세 가지 object, IRP 수명 주기, CloseHandle 뒤에서 일어나는 일까지를 그림으로 정리합니다.
-
SMB 서명과 LDAP 채널 바인딩 ── NTLM 대책의 「남은 절반」을 실무에서 마무리하기
NTLM을 멈추기까지의 기간 동안, 릴레이 공격의 피해를 줄이는 방어가 SMB 서명과 LDAP 서명·채널 바인딩입니다. OS별 기본값, 감사 이벤트 읽는 법, 강제 적용으로 나아가는 절차, 업무 앱과 장비를 고치는 방법까지 실무 관점으로 정리합니다.
-
그림으로 이해하는 NTLM과 Kerberos ── 왜 인증은 NTLM으로 「떨어지는가」
NTLM과 Kerberos의 차이를 그림으로 정리합니다. 챌린지/응답, TGT와 서비스 티켓, SPN을 찾을 수 없을 때 Negotiate가 NTLM으로 떨어지는 조건, 릴레이 공격과 Pass-the-Hash가 성립하는 이유, NTLMv1 삭제까지 공식 문서의 근거와 함께 설명합니다.
-
NTLM 사용 중단으로 업무 앱이 멈출까 ── 감사 로그를 모으는 방법과, 의존을 없애는 순서
NTLM 사용 중단에 대비해, 자사 Windows 환경과 업무 앱이 어디에서 NTLM에 의존하는지 파악하는 절차를 정리합니다. 감사 정책, NTLM/Operational 로그의 이벤트 8001~8004를 추적하는 방법, NTLM으로 fallback하는 전형적인 패턴과 수정 방법, ...
-
Windows의 TPM이란 무엇인가 ── 그림으로 보는 「키를 밖으로 내보내지 않는 금고」와 측정 부팅
TPM을 그림으로 설명합니다. 키를 칩 밖으로 내보내지 않는 구조, PCR과 측정 부팅, BitLocker와 Windows Hello에서의 쓰임, dTPM·fTPM·Pluton의 차이, Get-Tpm으로 확인하는 방법, 복구 키를 요구받았을 때의 대처까지 실무 관점으로 정리합니다.
-
winget + PowerShell로 PC 키팅을 자동화한다 ── 절차서를 실행 가능하게 만들기
신입 사원 PC 설정을 재현 가능하게 만드는 방법을 정리합니다. winget으로 앱을 도입하고 export/import하는 방법, WinGet Configuration의 선언적 구성, PowerShell로 보완하는 설정, 무인 실행 시 주의점까지 설명합니다.
-
PowerShell 보안 강화 ── 로그·AMSI·언어 모드·JEA
PowerShell을 금지하지 않고 안전하게 쓰기 위한 실무를 정리합니다. 스크립트 블록 로그와 트랜스크립션 활성화, AMSI와 구버전 사용 중지, 언어 모드로 제한하기, JEA로 권한 위임하기까지 설명합니다.
-
Get-WinEvent로 이벤트 로그를 실무에서 조사하기 ── 필터링 속도가 조사 시간을 가른다
Windows 이벤트 로그 조사를 PowerShell로 효율화하는 방법을 정리합니다. Where-Object로 걸러내면 느린 이유, FilterHashtable과 XPath의 쓰임 구분, 재시작·로그온·앱 비정상 종료 조사 레시피, 여러 대에서 수집하는 방법까지 설명합니다.
-
PowerShell로 REST API와 연동하기 ── Invoke-RestMethod의 실무
PowerShell에서 사내 API나 SaaS REST API를 호출하는 실무를 정리합니다. 인증 헤더 전달 방법, 일본어 JSON 문자 깨짐 대책, 4xx/5xx 오류 처리, 429 재시도, 페이징, 프록시와 TLS의 함정까지 설명합니다.
-
PowerShell 스크립트가 느릴 때 볼 곳 ── 배열·파이프라인·매칭의 핵심
PowerShell 스크립트가 느려지는 대표적인 원인을 정리합니다. 배열의 +=가 O(n^2)가 되는 이유, 파이프라인과 foreach의 차이, 매칭의 해시 테이블화, 파일 I/O 개선, 올바른 측정 방법까지 실무 관점에서 설명합니다.
-
Write-Host를 그만두기 ── PowerShell의 출력 스트림과 로그 설계
PowerShell 6가지 출력 스트림의 구분 사용, Write-Host가 가진 문제와 올바른 쓰임새, 함수 반환값이 오염되는 원인, -Verbose와 -InformationVariable로 호출 측에서 제어하는 방법, 구조화 로그를 남기는 방법을 정리합니다.
-
PowerShell의 병렬 처리 ── ForEach-Object -Parallel과 Job의 구분
ForEach-Object -Parallel·Start-ThreadJob·Start-Job의 차이와 구분, $using:와 스레드 안전성, ThrottleLimit 정하는 법, 오히려 느려지는 경우까지 실무 관점에서 정리합니다.
-
PowerShell에서 외부 exe를 올바르게 호출하기 ── 인자의 따옴표·종료 코드·문자 깨짐의 함정
PowerShell에서 robocopy나 사내 EXE를 호출하면 인자가 깨지고, 종료 코드를 얻지 못하며, 출력이 깨집니다. PowerShell 7.3의 인자 전달 변경, 구문 분석 중지 토큰 --%, Start-Process의 용도 나누기까지 실무 관점에서 정리합니다.
-
Process Explorer / Handle / VMMap 실전 ── hang·누수·「파일 사용 중」을 지금 이 순간의 상태에서 추적하기
「점점 무거워진다」「파일을 지울 수 없다」「hang이 걸렸다」를 조사하는 Sysinternals 실전 제2탄입니다. Process Explorer의 핸들 검색·스레드 스택·누수 감시 컬럼, handle.exe, VMMap으로 메모리 내역을 나누는 방법을 실무 관점에서 설명합니다.
-
Windows의 시각 동기화(w32time)와 업무 시스템 ── 「로그 타임스탬프가 맞지 않는다」를 원리부터 해결하기
장치와 PC에서 로그 시각이 어긋나는 원인을 Windows Time 서비스(w32time)의 원리부터 설명합니다. 도메인 계층과 워크그룹의 기본 동작, w32tm 명령으로 하는 진단, 고정밀 시각과 가상 머신의 주의점, Stopwatch와 UTC를 함께 쓰는 로그 설계까지 정리합니다.
-
레지스트리의 32bit/64bit 리디렉션과 가상화의 함정 ── Wow6432Node와 「썼는데 값이 없다」 문제
32bit 앱의 HKLM\Software 쓰기가 Wow6432Node로 리디렉션되는 구조, UAC 가상화로 VirtualStore에 전달되는 조건, COM 등록이 bitness로 나뉘는 실무 피해, RegistryView와 reg.exe /reg:64로 올바르게 읽고 쓰기까지를 실...
-
그 배치 파일, PowerShell로 이전해야 할까요? ── cmd/bat 자산 조사와 이전 판단
사내에 남아 있는 배치 파일(bat)을 PowerShell로 이전해야 할지를 판단표로 정리합니다. cmd와 VBScript 취급의 대비, 오류가 나도 멈추지 않는 등 bat 특유의 약점, 혼재기의 작성법, 명령 재작성 대응표, 이전 절차를 설명합니다.
-
PowerShell에서 COM과 .NET을 호출하는 실무 ── 스크립트가 닿는 범위를 한 번에 넓히기
PowerShell에서 .NET 클래스를 호출하는 방법, Add-Type으로 C#과 Win32 API를 넣는 방법, COM 조작, Excel 프로세스 잔류와 뒷정리, Office 무인 실행이 지원되지 않는 이유, 5.1과 7의 차이까지 실무 관점에서 설명합니다.
-
Power Automate와 PowerShell+작업 스케줄러 역할 나누기 ── 자동화 도구를 섞지 않고 적재적소로 연결하기
PowerShell+작업 스케줄러의 야간 배치와 Power Automate 플로가 사내에 혼재하기 시작한 중소기업 정보시스템 담당자를 대상으로, 둘의 강점 차이, 어느 쪽으로 만들지 판단표, SharePoint를 경유한 느슨한 결합 연동 패턴, 라이선스와 유지보수의 주의점까지 정리...
-
PowerShell에서 자격 정보를 안전하게 다루기 ── 스크립트에서 평문 비밀번호를 없애기
PowerShell 스크립트의 평문 비밀번호를 안전한 보관으로 옮기는 절차를 정리합니다. SecureString의 실체와 한계, Export-Clixml을 통한 DPAPI 저장 구조, SecretManagement/SecretStore를 쓰는 지점까지 설명합니다.
-
PowerShell 스크립트의 인수 설계와 모듈화 ── 「돌아가는 스크립트」에서 「남에게 넘길 수 있는 스크립트」로
PowerShell 스크립트를 다른 사람에게 넘길 수 있는 품질로 끌어올리는 절차를 정리합니다. param 블록과 [CmdletBinding()], 입력 검증, 파이프라인 입력, -WhatIf 지원, .psm1 모듈화, 사내 공유와 Git 관리의 포인트까지 설명합니다.
-
PowerShell로 파일 서버를 실사하기 ── 용량 조사와 액세스 권한(ACL) 감사
PowerShell로 파일 서버를 실사하는 실무 절차입니다. 용량 조사와 액세스 거부 기록, 오래된 파일 목록과 중복 후보의 해시 추출, Get-Acl로 권한을 감사하고 상속 끊김을 찾아내는 방법, CSV 리포트 작성, icacls와의 역할 분담, Set-Acl의 안전한 변경 절차...
-
PowerShell Remoting(WinRM) 입문 ── 여러 대의 Windows를 일괄 관리하기
PowerShell Remoting(WinRM)으로 여러 대의 Windows를 일괄 관리하는 입문. 동작 원리와 포트 5985/5986, Enable-PSRemoting으로 일어나는 일, 워크그룹의 TrustedHosts, Invoke-Command와 PSSession, secon...
-
Windows PowerShell 5.1과 PowerShell 7의 차이 ── 사내 스크립트 마이그레이션 실무 가이드
Windows PowerShell 5.1과 PowerShell 7의 관계(공존과 pwsh.exe), 5.1에는 신기능을 추가하지 않는다는 공식 방침, 인코딩 차이로 인한 문자 깨짐, #Requires로 막는 방어, 작업 스케줄러 업데이트까지 마이그레이션 절차를 정리합니다.
-
PowerShell로 Excel・CSV 업무 처리를 자동화한다 ── 집계・대조・장표 출력의 실무 레시피
PowerShell로 CSV 집계・대조와 Excel 장표 출력을 자동화하는 실무 레시피입니다. Import-Csv/Export-Csv의 문자 코드 기본값(5.1과 7의 차이), Group-Object 집계, Compare-Object와 해시테이블을 이용한 대조, ImportExce...
-
PowerShell의 에러 처리와 재실행 설계 ── try/catch가 동작하지 않는 함정부터 exit code·재시도의 정석까지
PowerShell의 종료 에러와 비종료 에러의 차이, try/catch가 동작하지 않는 함정과 -ErrorAction Stop의 정석, $LASTEXITCODE로 성패를 판정하는 방법, exit code 설계, 지수 백오프 재시도까지를 실무 관점에서 정리합니다.
-
PowerShell의 실행 정책과 스크립트 서명 ── 'Bypass로 덮어 버리는' 운영에서 벗어나는 실무 가이드
PowerShell의 실행 정책은 '보안 경계가 아니라 안전장치'입니다. RemoteSigned 등의 차이, 범위의 우선순위, Mark of the Web과 Unblock-File, 스크립트 서명, 사내 배포의 현실적인 운영까지 정리합니다.
-
Windows 세션 분리를 어떻게 이해할 것인가 ── Session 0·RDP·다중 사용자 동시 실행
Windows 앱 개발자가 혼동하기 쉬운 「세션」 개념을 정리합니다. 서비스가 UI를 띄울 수 없는 Session 0 분리의 이유, RDP 연결 시 세션의 동작, named object의 세션 분리, 공유 PC·RDS 환경에서 자주 나오는 설계 실수까지 실무 관점에서 설명합니다.
-
Windows 앱의 다중 실행 방지 ── 이름 있는 Mutex와 이중 실행 시 활성화
업무용 Windows 앱의 다중 실행 방지를 이름 있는 Mutex로 구현하는 방법을 정리합니다. Global\와 Local\ 차이로 생기는 RDP 환경의 함정, AbandonedMutexException, 기존 인스턴스를 앞으로 가져오기까지 설명합니다.
-
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 혼재의 함정까지 정리합니다.
-
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로 서비스를 만드는 방법, 실행 계정·복구 옵션·안전한 중지 처리까지 실무 관점에서 정리합니다.
-
IE모드의 다음은 WebView2로 충분한가 ── ActiveX가 동작하지 않는 제약과 현실적인 전환 설계
WebView2의 기본 구조, Evergreen과 Fixed Version의 배포 전략, 사용자 데이터 폴더의 함정, 네이티브와 Web의 연동 방법, 그리고 「ActiveX는 동작하지 않는다」는 제약을 전제로 한 IE모드 의존 시스템에서의 현실적인 전환 순서를 사내 시스템 관점에서...
-
Windows 앱 데이터 저장 위치 고르기 ── SQLite / JSON / 레지스트리 / Access 판단표
Windows 데스크톱 앱의 데이터를 어디에, 무엇으로 저장할지. AppData/ProgramData 구분, SQLite·JSON 파일·레지스트리·Access(.accdb) 각각의 강점과 함정을 판단표와 함께 정리하고, 손상 대책과 비트 수 문제까지 실무 관점에서 설명합니다.
-
작업 스케줄러 작업이 실행되지 않거나 0x1로 끝나는 경우 ── 원인 분리와 안전한 운영 설계
Windows 작업 스케줄러의 실행 계정과 로그온 종류, 0x1로 끝나는 전형적인 원인, 기록 사용, 다중 실행 방지, PowerShell을 올바르게 호출하는 방법까지, 정기 실행을 운영에 올리기 위한 설계 지침을 정리합니다.
-
Windows의 MFC란 무엇인가 ── 기존 자산을 유지보수하기 위한 기초 지식
Microsoft Foundation Classes(MFC)의 개요, Win32와의 관계, 애플리케이션 구조, 메시지 맵, Document/View, DDX/DDV, 유지보수 시 주의점을 정리합니다.
-
Windows PC를 폐기하기 전에 해 두어야 할 일 ── 데이터 삭제·계정 해제·백업의 실무 체크리스트
Windows PC를 폐기·양도·매각·리스 반납하기 전에 해 두어야 할 일을 백업, 데이터 삭제, BitLocker, Microsoft 계정, OneDrive, 업무용 계정, 개발자 PC 특유의 비밀 정보, 폐기 증빙의 관점에서 정리합니다.
-
Windows 앱 외주·수탁 개발을 의뢰하기 전에 정리할 점
Windows 앱 외주·수탁 개발을 의뢰하기 전에, 기존 소프트웨어 수정, 장치 연동, COM/ActiveX, 배포·업데이트, 유지보수를 정리하는 포인트를 설명합니다.
-
Windows impersonation token을 올바르게 다루기 ── 스레드 단위 권한 차용과 안전한 되돌리기
Windows impersonation token에 대해 access token, primary token, thread token, impersonation level, RevertToSelf, .NET의 WindowsIdentity.RunImpersonated까지, 실무에서 안...
-
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의 관계와 성능·응답성·발열을 측정하는 관점을 정리합니다.
-
개발자의 이상한 애정, 또는 나는 어떻게 걱정을 멈추고 Windows를 사랑하게 되었는가
Windows는 번거롭습니다. 하지만 그 번거로움은, 현실의 업무를 오랫동안 짊어져 온 OS이기 때문에 생기는 번거로움이기도 합니다.
-
PowerShell 실용 명령어 모음 ── 일상 업무에서 자주 쓰는 작은 기능 늘리기
PowerShell로 일상 업무에 쓰는 실용 명령어로서, Measure-Object, Group-Object, Select-String, Compare-Object, Tee-Object, Start-Transcript 등의 쓰임새를 정리합니다.
-
PowerShell 스크립트 응용 ── 로그 조사·아카이브·리포트를 안전하게 자동화하기
PowerShell 스크립트로 로그 조사, CSV 리포트, 오래된 로그 아카이브, 증적 보관, 작업 스케줄러 실행까지 안전하게 진행하는 실무 절차를 정리합니다.
-
PowerShell 명령의 기초 — 가장 먼저 익힐 조작과 안전한 사용법
PowerShell 초보자가 실무에서 헤매지 않도록, cmdlet을 찾는 방법부터 파이프라인, 파일 조작, CSV 처리, 실행 정책, 사고를 막기 위한 확인 절차까지 정리합니다.
-
Windows에서 'Windows에서 PC를 보호했습니다'가 나타나는 이유
Windows 앱을 배포할 때 SmartScreen 경고가 나오는 이유를 코드 서명, EV/OV 인증서, Azure Artifact Signing, MSIX, Microsoft Store, ClickOnce, 사내 배포, App Control까지 실무 관점에서 정리합니다.
-
IE 모드 의존 시스템 탈피 가이드
Microsoft Edge의 IE 모드 의존을 안고 있는 사내 Web 시스템을 안전하게 수명 연장하면서 탈피하는 실무 절차를 설명합니다. 사이트 목록 중앙 관리, WebView2 래퍼, 단계적 리팩터링, VDI 격리, 거버넌스 설계까지 정리합니다.
-
Office 2024/Microsoft 365에서 ActiveX가 작동하지 않는 원인과 확인 절차
Office 2024/Microsoft 365에서 ActiveX가 작동하지 않을 때, 기본 비활성화, 32bit/64bit, COM 등록, 의존 DLL, IE 모드, Click-to-Run 로그를 구분하는 순서를 정리합니다.
-
VBScript 폐지에 대비하는 VBA·사내 도구 점검 가이드
VBScript 단계적 폐지에 대비해 VBA·Excel 매크로·사내 도구의 인벤토리, 정적 검출, 실행 로그, 대체 기술 선정, 테스트, 단계적 배포를 정리합니다.
-
GCPW란 무엇인가 - Windows 로그온을 Google 인증으로 다루는 방법
Google Credential Provider for Windows(GCPW)의 구조, Windows device management 병행 사용, 기존 프로필, 최초 로그온, 오프라인, 2단계 인증, 도입 시 주의점을 정리합니다.
-
Windows의 문자 인코딩과 줄바꿈 - 문자 깨짐과 CRLF/LF의 기본
Windows에서 섞이기 쉬운 Shift_JIS / UTF-8 / UTF-16, 문자 깨짐, CRLF / LF의 차이를 실무에서 판단하기 쉽게 정리합니다.
-
ClickOnce란 무엇인가 - 동작 방식, 업데이트, 적합한 경우와 그렇지 않은 경우를 실무 관점에서 정리
.NET의 Windows 데스크톱 앱 배포에 쓰이는 ClickOnce에 대해, 매니페스트, 업데이트, 캐시, 서명, 적합한 경우와 그렇지 않은 경우를 Mermaid 다이어그램과 함께 정리합니다.
-
Windows Sandbox로 앱 검증을 빠르게 하는 방법
Windows Sandbox로 관리자 권한 문제의 원인 분리, 클린 환경에서의 재현, 권한 부족·리소스 부족의 재현을 효율화하는 방법을 .wsb와 CLI의 용도 구분까지 포함해 정리합니다.
-
Windows DLL 이름 확인 방식 - 검색 순서와 SxS
Windows의 DLL 이름 확인을 DLL search order, Known DLLs, loaded-module list, API set, SxS manifest, LoadLibrary 계열 API의 영향까지 실무용으로 정리합니다.
-
Windows에서 관리자 권한이 필요한 때는 언제인가 - UAC, 보호 영역, 설계로 구분하는 방법
Windows에서 관리자 권한이 필요한 상황을 UAC, 보호 영역, 서비스, 드라이버, per-user/per-machine 설계 관점에서 실무용으로 정리합니다.
-
Windows 문자 코드 입문 - Linux 연동에서 일어나는 문자 깨짐
Windows에서 문자 깨짐이 일어나는 이유를 CP932, UTF-8, UTF-16, BOM, code page, PowerShell, Linux locale 차이로부터 실무 관점으로 정리합니다.
-
외부 기기의 상태 확인과 표시의 베스트 프랙티스 - 『접속 중』만으로 끝내지 않는 설계
외부 기기 연계 앱에서 상태를 『접속 중』 하나로 뭉개면 잘못된 안내가 나오기 쉽습니다. 검출, 응답 확인, 동작 가능 여부, 데이터 신선도, 표시 문구, 재접속까지 정리합니다.
-
Windows 앱에서 자식 프로세스를 안전하게 다루는 체크리스트
Windows 앱에서 자식 프로세스를 안전하게 다루려면, 시작 API보다 프로세스 트리의 소유권과 종료 절차 설계가 중요합니다. Job Object, 종료 전파, 표준 입출력, watchdog을 정리합니다.
-
Windows 앱 배포 방식 고르기 - MSI/MSIX/ClickOnce/xcopy/자체 updater
Windows 앱의 배포 방식은 인스톨러 형식의 취향이 아니라, OS와의 결합도와 업데이트 책임을 누가 질지의 선택입니다. MSI / MSIX / ClickOnce / xcopy / 자체 updater를 실무 관점에서 정리합니다.
-
Windows 앱의 1파일 배포 - 싱글 바이너리와 OS 의존의 한계
Windows 앱을 1 EXE로 모으고 싶을 때, 배포물을 1개로 만드는 것과 OS 의존을 없애는 것의 차이를 .NET, C++, WebView2, WinUI, 서비스, 드라이버까지 정리합니다.
-
Windows에서 Codex의 문자 깨짐 사고를 줄이는 지시 규칙
Windows에서 Codex에 일본어 파일을 다루게 할 때, 추측 저장을 피하고 기존 encoding을 유지하며 다시 읽어 검증하기 위한 실무 지시 규칙을 정리합니다.
-
Windows 사용자 프로필 입문 - AppData와 NTUSER.DAT
Windows 사용자 프로필의 기본, AppData 용도 구분, 로컬/로밍/Mandatory/Temporary, Folder Redirection, FSLogix, 손상되었을 때 확인하는 방법을 정리합니다.
-
Windows의 프로세서 스케줄 설정 - 백그라운드 서비스와 P/E 코어
Windows의 「백그라운드 서비스」 설정에서 무엇이 바뀌는지를 quantum, foreground 우대, 음 끊김, P 코어/E 코어 시대의 QoS부터 정리합니다.
-
Windows에서 프로그램 버전별 속도를 올바르게 비교하는 방법
Windows에서 프로그램 버전 차이를 비교할 때 Power mode(전원 모드), Power plan(전원 플랜), 열, 백그라운드 노이즈, 측정 지표, ETW / WPR까지 포함해 재현성 높은 절차를 정리합니다.
-
Windows NIC 고급 설정 가이드 - RSS/LSO/EEE/Wake on LAN
Windows NIC 고급 설정을 실무 관점에서 정리합니다. Jumbo Packet, Speed & Duplex, RSS, RSC, LSO, Flow Control, EEE, Wake on LAN 등, 설정을 바꾸면 무엇이 달라지는지를 모았습니다.