태그: 컨테이너
9편
-
C++ STL 컨테이너: 연산별 성능 비교와 상황별 선택 기준
vector, map, unordered_map, deque, list의 내부 구조와 반복자 무효화 규칙, 메모리 할당 전략, 캐시 성능 차이를 측정 방법과 함께 비교하고 상황별 컨테이너 선택 기준을 정리합니다.
-
MP4·WebM·MKV 컨테이너 내부 구조 심화 | 뮤싱·시크·fMP4·메타데이터
MP4의 트랙·샘플·청크 모델과 Matroska의 EBML·Cluster 구조를 비교하며, 뮤서와 디먹서가 파일을 조립·분해하는 방식, stbl 테이블과 Cues로 시크하는 원리, 단편 MP4와 일반 MP4의 선택 기준을 설명합니다.
-
MP4 vs MKV vs WebM 컨테이너 비교: 호환성, 스트리밍, 자막
웹 배포, 블루레이 아카이브, 온라인 강의처럼 목적이 다를 때 MP4·MKV·WebM 중 무엇을 쓸지 코덱 조합·자막·스트리밍·편집 툴 지원 기준으로 비교하고, 컨테이너 간 리먹스 FFmpeg 명령을 제공합니다.
-
MKV(Matroska) 컨테이너 실전 활용 | EBML·다중 자막·FFmpeg 리먹스
Matroska의 EBML·Segment·Cluster 구조를 이해한 뒤, FFmpeg와 mkvtoolnix로 다중 오디오·자막 트랙과 챕터를 추가·제거하고 MKV를 MP4로 리먹스하는 방법, 브라우저 재생 실패 같은 문제의 해결법을 다룹니다.
-
MP4 컨테이너 구조: ISO BMFF 박스, moov·mdat, fMP4와 FFmpeg 실전
MP4의 ftyp·moov·mdat 박스 배치가 재생 시작 속도에 주는 영향을 설명하고, -movflags +faststart와 fragmented MP4 생성, HLS 세그먼트 출력, 웹·모바일 호환성을 맞추는 FFmpeg 명령을 사례별로 제공합니다.
-
WebM 컨테이너 웹 표준 | VP9·AV1·Opus·HTML5·FFmpeg 입문
WebM이 Matroska에서 허용 코덱을 VP8·VP9·AV1과 Vorbis·Opus로 좁힌 이유를 설명하고, HTML5 video 태그용 인코딩, 다중 품질 출력과 배치 처리, 스트리밍 최적화를 위한 FFmpeg 명령을 입문자 눈높이에서 다룹니다.
-
C++ emplace_back vs push_back: 실제 성능 차이와 언제 다른지
emplace_back은 인자를 받아 컨테이너 안에서 바로 객체를 생성하고, push_back은 이미 만든 객체를 복사하거나 이동합니다. 단순 타입과 복잡한 객체 벤치마크로 실제 차이가 언제 생기는지 확인하고, map·set에서의 emplace 사용도 다룹니다.
-
C++ std::vector 기초: 생성·삽입·삭제와 배열 대신 쓰는 이유
크기가 고정되고 범위 검사도 없는 C 배열 대신 std::vector를 쓰는 이유를 선언, 추가·삭제, operator[]와 at() 차이, 2차원 벡터, sort·find 예제로 보여줍니다. size()를 int로 받는 실수, 반복 중 삭제, reserve와 resize 혼동도 다룹니다.
-
Docker DevContainer로 C++ 빌드 환경 통일하기
C++ 빌드 환경을 Docker 이미지로 고정하는 방법입니다. 멀티 스테이지 빌드, vcpkg/Conan 의존성 캐시, VS Code Dev Container 설정, ccache·BuildKit 캐시, 컨테이너 안 GDB 디버깅과 자주 나는 런타임 에러를 다룹니다.