File Domain Knowledge Base
이 문서가 답하는 질문: 파일을 다룬다는 것은 정확히 무엇을 다룬다는 뜻인가? 작성: 2026-05-10 / 스타일: Minto Pyramid +
/explain(Why → How → What → What-if)
한 문장 답 (Pyramid Top)
파일은 이진 바이트 스트림이지만, 우리가 실제로 다루는 것은 그 위에 쌓인 5개 레이어다 —
① 저장 ② 전송 ③ 식별 ④ 해석 ⑤ 변환. 이 레포지토리는 그 5개 레이어를 일반론(이론)과 공개 가능한 패턴 메모로 정리한다.
Why — 왜 이 레포가 필요한가
파일 도메인은 표준이 너무 많고 서로 얽혀 있어서 한 책에 다 담기지 않는다.
- 이미지 한 장을 띄우려면
색공간(sRGB) × 비트심도(8/10) × 코덱(JPEG/AVIF) × 컨테이너(JFIF/HEIF) × 메타(EXIF) × 전송(HTTP+CDN) × 캐시 헤더가 동시에 맞아야 한다. - 비디오 한 편을 재생하려면 거기에 추가로
코덱(H.264/AV1) × 비월/순차주사 × 크로마 서브샘플링 × HDR × 매니페스트(HLS/DASH) × ABR × DRM × 플레이어 엔진이 더 얹힌다. - 그리고 현실의 제품은 이 모든 것을 클라우드 파이프라인으로 자동 처리해야 한다 (분석 → 변환 → 후처리 → 재생).
이 레포는 그 모든 결정을 다음 한 가지 질문으로 환원한다: “이 파일을, 어떤 사용자가, 어떤 디바이스에서, 어떤 네트워크로 받을 것인가?”
How — 어떻게 정리했나
1) 책장 구조 (3층)
| 층 | 폴더 | 다루는 것 | 비고 |
|---|---|---|---|
| L1 기초 | 00-foundations, 01-transfer | 파일 자체, 전송 프로토콜 | 모든 미디어의 토대 |
| L2 도메인 | 02~05-media-*, 06-streaming | 이미지·비디오·오디오·앱문서·스트리밍 | 미디어 타입별 이론 |
| L3 합성 | 07-pipeline-theory | 파이프라인 이론 — 일반 패턴 | 추상화된 운영 패턴 |
2) 문서 형식 (모든 챕터 공통)
각 문서는 다음 7-블록을 따른다 — /explain + Minto 합성:
1. 한 줄 답 (Pyramid Top)
2. Why — 왜 존재하는가, 어떤 문제를 푸는가
3. How — 어떻게 동작하는가, 핵심 메커니즘
4. What — 구체 사양·수치·필드·옵션
5. What-if — 잘못 쓰면 어떻게 깨지는가
6. Insight — 흥미로운 이야기 / 비유 / 역사적 맥락
7. 요약 + Mermaid 다이어그램(필수)3) 색상 코딩 — Mermaid 다이어그램에서
- 🟡 개념/레이어 (
fill:#fff8dc) - 🔵 도메인 폴더 (
fill:#e8f4ff) - 🔴 실전 사례 / 위험 지점 (
fill:#ffe8e8) - 🟢 결과물 / 산출물 (
fill:#e8ffe8)
What — 8개 챕터 인덱스
| # | 챕터 | 핵심 질문 | 키워드 |
|---|---|---|---|
| 0 | 00-foundations/ | 파일은 무엇이고, 컴퓨터는 그것을 어떻게 식별하는가? | 바이트·인코딩·파일시스템·MIME·매직넘버·확장자 |
| 1 | 01-transfer/ | 파일은 어떻게 네트워크를 건너오는가? | HTTP·multipart·Range·resumable(tus)·CDN·서명URL·FTP/SFTP/WebDAV |
| 2 | 02-media-image/ | 한 장의 이미지에는 무엇이 들어 있는가? | sRGB·P3·Rec2020·ICC·8/10/12bit·JPEG·PNG·WebP·AVIF·HEIF·EXIF |
| 3 | 03-media-video/ | 비디오는 어떤 신호의 집합인가? | 픽셀·해상도·FPS·비월/순차주사·YUV·크로마·HDR·H.264·H.265·AV1·VP9·MP4·MKV·WebM |
| 4 | 04-media-audio/ | 소리는 어떻게 디지털이 되는가? | 샘플링·비트심도·채널·AAC·MP3·Opus·FLAC·LUFS·EBU R128·웨이브폼 |
| 5 | 05-application-files/ | 문서·아카이브 같은 application/* 은 어떻게 다루는가? | PDF·OOXML·ZIP·TAR·7z·바이너리 포맷·콘텐츠 추출 |
| 6 | 06-streaming/ | 비디오를 끊김 없이 보내려면 무엇이 필요한가? | ABR·HLS·MPEG-DASH·CMAF·LL-HLS·세그먼트·매니페스트·DRM(Widevine/FairPlay/PlayReady) |
| 7 | 07-pipeline-theory/ | 변환 파이프라인은 어떤 패턴으로 만드는가? | 파이프라인·큐·fan-out/fan-in·멱등성·DLQ·재시도·관측 |
| ★ | 99-glossary/ | 용어 사전 | 코덱·포맷·프로토콜·파이프라인 약어 |
What-if — 잘못 읽으면 어떻게 망가지는가
이 레포를 그대로 옮겨 쓰는 것은 위험하다. 이유:
| 함정 | 설명 | 대응 |
|---|---|---|
| 표준은 진화한다 | AV1은 매년 디코더 점유율이 바뀌고, HLS는 LL-HLS 이후 매니페스트 구조가 바뀐다 | 각 챕터 끝 “버전/표준 메모” 확인 |
| 이론은 한 답이 아니다 | SST + AWS는 한 조합. ECS + Fargate, Cloudflare Workers + R2 등 다른 길도 있다 | 07-pipeline-theory는 원리만 다룬다 |
| 디바이스 호환성은 표 한 장으로 해결되지 않는다 | iOS Safari는 여전히 일부 코덱을 거부한다 | 02/03/06 각 챕터의 호환성 표 + 실측 |
Insight — 흥미로운 이야기
“파일이라는 추상화는 50년이 넘었다”
1969년 UNIX의
everything is a file철학이 등장했을 때, 파일은 단지 바이트의 시퀀스였다. 50년 뒤 우리는 같은 추상화 위에서 4K HDR AV1을 BBR-CC TCP로 전송하면서도, 여전히 그 끝은read(fd, buf, n)이다. 레이어가 쌓였을 뿐, 바닥은 같다. — 이 레포가 5개 레이어로 파일을 분해하는 이유.
“코덱 전쟁의 진짜 승자는 누구인가”
H.264는 라이선스(MPEG-LA), H.265는 라이선스 분쟁으로 보급 실패, VP9은 Google 단독, AV1은 Alliance for Open Media. 기술 우위가 아니라 라이선스 모델이 코덱의 운명을 결정했다 →
03-media-video/codecs-history.md
한 화면 사용 가이드
- 새로 본다면 → 이 README →
00-foundations/README→ 관심 도메인. - 특정 문제 해결 →
99-glossary/README로 키워드 찾기 → 해당 챕터 점프. - 실무 시작 →
07-pipeline-theory/README한 번 훑기 → 필요한 이론 챕터로 역추적.
한 단락 요약
파일을 다룬다는 것은 5개 레이어(
저장/전송/식별/해석/변환)를 동시에 다룬다는 것이고, 이 레포는 그 5개 레이어를 8개 챕터(+ 용어 사전)로 분해해서 왜·어떻게·무엇을 정리한다. 모든 챕터는 표준·도구·일반 패턴 수준의 공개 가능한 콘텐츠로만 구성된다.