피드로 돌아가기
The RegisterInfrastructure
원문 읽기
Assembly와 WinAPI 활용을 통한 3KB 미만 초경량 텍스트 에디터 구현
Former Microsoft engineer shrinks Notepad down to size
AI 요약
Context
기능 과잉으로 인한 Windows Notepad의 Binary Bloat 현상 발생. 텍스트 편집이라는 기본 목적을 벗어나 Copilot 및 불필요한 Telemetry 기능이 추가되며 시스템 리소스 낭비 및 코드 복잡도 증가.
Technical Solution
- Assembly 언어 기반의 로우레벨 구현을 통한 Binary Size 극소화
- RICHEDIT50W WinAPI 컴포넌트 활용으로 텍스트 렌더링 로직의 외부 위임
- Windows OS 내장 서브시스템을 직접 호출하여 별도의 라이브러리 의존성 제거
- Open/Save/Print 등 핵심 기능 외의 모든 부가 기능 및 Telemetry 모듈 배제
- WinAPI의 기존 컴포넌트를 재활용하여 런타임 효율성과 바이너리 크기 사이의 Trade-off 최적화
실천 포인트
1. 불필요한 기능 추가가 핵심 도메인 로직의 복잡도를 높이고 있지 않은지 검토
2. 외부 라이브러리 도입 전 OS 표준 API나 기존 시스템 컴포넌트로 대체 가능한지 분석
3. Binary 크기와 런타임 의존성 사이의 적절한 균형 지점 설정