📁 File📖 도메인 홈

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개 챕터 인덱스

#챕터핵심 질문키워드
000-foundations/파일은 무엇이고, 컴퓨터는 그것을 어떻게 식별하는가?바이트·인코딩·파일시스템·MIME·매직넘버·확장자
101-transfer/파일은 어떻게 네트워크를 건너오는가?HTTP·multipart·Range·resumable(tus)·CDN·서명URL·FTP/SFTP/WebDAV
202-media-image/한 장의 이미지에는 무엇이 들어 있는가?sRGB·P3·Rec2020·ICC·8/10/12bit·JPEG·PNG·WebP·AVIF·HEIF·EXIF
303-media-video/비디오는 어떤 신호의 집합인가?픽셀·해상도·FPS·비월/순차주사·YUV·크로마·HDR·H.264·H.265·AV1·VP9·MP4·MKV·WebM
404-media-audio/소리는 어떻게 디지털이 되는가?샘플링·비트심도·채널·AAC·MP3·Opus·FLAC·LUFS·EBU R128·웨이브폼
505-application-files/문서·아카이브 같은 application/* 은 어떻게 다루는가?PDF·OOXML·ZIP·TAR·7z·바이너리 포맷·콘텐츠 추출
606-streaming/비디오를 끊김 없이 보내려면 무엇이 필요한가?ABR·HLS·MPEG-DASH·CMAF·LL-HLS·세그먼트·매니페스트·DRM(Widevine/FairPlay/PlayReady)
707-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


한 화면 사용 가이드

  1. 새로 본다면 → 이 README → 00-foundations/README → 관심 도메인.
  2. 특정 문제 해결99-glossary/README로 키워드 찾기 → 해당 챕터 점프.
  3. 실무 시작07-pipeline-theory/README 한 번 훑기 → 필요한 이론 챕터로 역추적.

한 단락 요약

파일을 다룬다는 것은 5개 레이어(저장/전송/식별/해석/변환)를 동시에 다룬다는 것이고, 이 레포는 그 5개 레이어를 8개 챕터(+ 용어 사전)로 분해해서 왜·어떻게·무엇을 정리한다. 모든 챕터는 표준·도구·일반 패턴 수준의 공개 가능한 콘텐츠로만 구성된다.