블로그
-
C++ STL 컨테이너: 연산별 성능 비교와 상황별 선택 기준
vector, map, unordered_map, deque, list의 내부 구조와 반복자 무효화 규칙, 메모리 할당 전략, 캐시 성능 차이를 측정 방법과 함께 비교하고 상황별 컨테이너 선택 기준을 정리합니다.
-
C++ 함수형 프로그래밍 심화 — 고차 함수·모나드·Ranges
C++에서 고차 함수·클로저, 커링, Ranges 지연 평가, optional/expected 모나드 체이닝, 프로덕션 FP 관용구를 객체 모델과 함께 정리합니다. 함수형 프로그래밍(FP)은 값과 함수의 조합으로 프로그램을 구성하고, 부작용을 경계에 모으는 사고방식입니다.
-
C++ 람다 참조 캡처 심화 — 수명 의미론, 캡처 규칙, ASAN, 실무 안전 패턴
참조 캡처([&]) 수명·댕글링, 캡처 목록 해석·이름 조회, IIFE와 참조, ASAN 검출 패턴, 프로덕션 안전 설계를 컴파일러 모델 관점에서 정리합니다. 값 캡처([x])는 클로저 객체 안에 복사본을 두므로, 외부 스코프가 끝난 뒤에도 그 복사본은 클로저 수명에 묶입니다.
-
C++ 링커 에러 심화 가이드 — 심볼 해석·약한 심볼·SIOF·중복 진단
컴파일은 통과했는데 링크에서 실패하는 C++ 빌드를 추적하는 방법을 다룹니다. 정적 라이브러리 스캔 순서, 약한·강한 심볼, 정적 초기화 순서 문제(SIOF), 중복 심볼 진단, LTO와 링커 맵 파일 활용까지 설명합니다.
-
C++ 메모리 누수 심화 디버깅 | 힙 프로파일링·패턴·스마트포인터·순환참조·프로덕션
Valgrind Memcheck와 AddressSanitizer·LeakSanitizer가 무엇을 추적하는지, still reachable 같은 리포트를 어떻게 해석할지부터 unique_ptr::release, 중복 shared_ptr 생성, enable_shared_from_this 오용처럼 스마트 포인터가 숨기는 누수의 진단법을 다룹니다.
-
MP4·WebM·MKV 컨테이너 내부 구조 심화 | 뮤싱·시크·fMP4·메타데이터
MP4의 트랙·샘플·청크 모델과 Matroska의 EBML·Cluster 구조를 비교하며, 뮤서와 디먹서가 파일을 조립·분해하는 방식, stbl 테이블과 Cues로 시크하는 원리, 단편 MP4와 일반 MP4의 선택 기준을 설명합니다.
-
컨테이너 오케스트레이션 심화 — 스케줄러·DNS·CNI·스토리지·프로덕션 패턴
Kubernetes·Docker Swarm 내부를 깊이 있게 다룹니다. 스케줄링 프레임워크, CoreDNS·서비스 디스커버리, Flannel·Calico 오버레이, PV/PVC·StorageClass, PDB·토폴로지 분산 등 운영 관점까지.
-
C++17 scoped_lock: 여러 뮤텍스를 데드락 없이 잠그기와 lock_guard·unique_lock 비교
계좌 이체처럼 두 뮤텍스를 잠가야 할 때 순서가 엇갈려 생기는 데드락을 std::scoped_lock 한 줄로 피하는 방법과, lock_guard, unique_lock과의 차이, C++11에서 std::lock으로 같은 효과를 내는 법, 잠금 순서 규칙을 예제로 설명합니다.
-
C++ 오픈소스 기여: 유명 라이브러리 분석부터 첫 Pull Request까지
C++ 오픈소스에 기여하고 싶지만 어디서 시작할지 모를 때 프로젝트와 이슈를 고르는 기준부터 spdlog 같은 코드베이스를 빌드·테스트하며 읽는 순서를 보여줍니다. 포크와 브랜치, 커밋 메시지, PR 설명, 리뷰 대응, CLA, 머지 충돌 해결도 다룹니다.
-
C++ Observer 패턴: weak_ptr로 구독자 수명 관리, 이벤트 타입별 알림, 신호/슬롯
C++ Observer 패턴으로 이벤트 기반 구조를 만드는 방법. 기본 구조, weak_ptr로 댕글링과 누수 방지, 이벤트 타입별 Observer, 신호/슬롯 패턴, 주식 시장 모니터 예제를 정리합니다.