블로그
-
브라우저 DevTools 가이드 — Performance·Memory·Network·Sources 심화
Chrome DevTools Performance 플레임 차트에서 롱 태스크와 레이아웃 스래싱을 찾고, 힙 스냅샷 비교로 Detached DOM 누수를 추적하며, Network 워터폴 단계와 조건부·로그포인트·XHR 브레이크포인트를 활용하는 법을 설명합니다.
-
C 언어 시리즈 #02 — 타입·승격(usual arithmetic)·정수 표현과 패딩
정수 승격·통상 산술 변환으로 size_t와 int 비교가 깨지는 이유, 고정폭 정수·엔디안, 구조체 패딩과 직렬화 시 _Static_assert 검증, FENV·부동 pragma 상호작용까지 컴파일러·ABI 관점에서 정리합니다.
-
C 언어 시리즈 #07 — 구조체·공용체·비트필드·패딩과 ABI
ABI 고정 레이아웃·offsetof·_Static_assert 검증, 패딩과 캐시 가짜 공유, union active member·effective type, 비트필드 엔디안·정렬 의존과 레지스터 맵·원격 프로토콜에 enum 직접 박지 말아야 하는 이유를 연결합니다.
-
C 언어 시리즈 #08 — 전처리기 8단계·매크로·_Pragma·번역 단위 경계
ISO C 번역 8단계 중 전처리가 맡는 부분, #include 텍스트 합성과 번역 단위 경계, 함수형 매크로의 다중 평가·#/## 함정, _Pragma·include guard·조건부 컴파일로 중복 정의를 막고 헤더 의존 순서를 안정화하는 방법을 정리합니다.
-
Chrome 확장 프로그램 가이드 — Manifest V3·서비스 워커·메시징·콘텐츠 스크립트·프로덕션 패턴
Chrome 확장 프로그램은 단일 웹앱이 아니라 여러 실행 컨텍스트(서비스 워커, 확장 페이지, 콘텐츠 스크립트, 필요 시 오프스크린 문서)가 chrome.* API와 메시징으로 묶인 구조입니다. Manifest V3의 서비스 워커 수명, 메시지 전달, 콘텐츠 스크립트 격리, 권한과 배포 운영을 실행 모델 기준으로 설명합니다.
-
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 명령을 사례별로 제공합니다.
-
컨테이너 오케스트레이션 심화 — 스케줄러·DNS·CNI·스토리지·프로덕션 패턴
Kubernetes·Docker Swarm 내부를 깊이 있게 다룹니다. 스케줄링 프레임워크, CoreDNS·서비스 디스커버리, Flannel·Calico 오버레이, PV/PVC·StorageClass, PDB·토폴로지 분산 등 운영 관점까지.
-
C++ 코드 커버리지 측정: gcov·lcov 리포트, Google Test 연동, CI에서 Codecov 올리기
gcov로 C++ 코드 커버리지를 측정하고 lcov로 HTML 리포트를 만든 뒤 Google Test와 CMake 빌드에 연동하는 과정을 다룹니다. 라인·브랜치·함수·조건·경로 커버리지가 각각 무엇을 보여 주는지와 CI에서 Codecov로 결과를 올리는 흐름도 설명합니다.
-
C++ vector vs list vs deque: 내부 구조와 벤치마크로 보는 컨테이너 선택
vector, list, deque의 내부 구조와 시간 복잡도를 비교하고, 뒤·앞·중간 삽입과 순회, 랜덤 접근 벤치마크로 실제 성능 차이를 확인합니다. 중간 삽입이 많아도 vector가 list보다 빠른 경우가 많은 이유를 캐시 효율로 설명합니다.