블로그
-
C++ any | "타입 소거" 가이드
std::any와 variant·void* 비교, 타입 안전성, any_cast, 실전 사례와 성능 오버헤드를 정리한 가이드입니다.
-
C++ bitset | "비트 집합" 가이드
비트 연산 기초, bitset vs vector<bool>, 마스킹·순열·조합 패턴, 성능까지 정리한 bitset 가이드입니다.
-
C++ call_once | "한 번만 호출" 가이드
std::call_once 는 C++11에서 도입된 함수로, 여러 스레드에서 호출되어도 함수를 정확히 한 번만 실행하도록 보장합니다. std::once_flag와 함께 사용하여 스레드 안전한 초기화를 구현합니다.
-
C++ 메모리 누수 디버깅 실전 사례 | 프로덕션 서버 메모리 사용량 급증 해결기
프로덕션 C++ 서버에서 발생한 메모리 누수를 Valgrind, ASan, Heaptrack으로 추적하고 해결한 실전 사례. 증상 분석부터 근본 원인 파악, 수정, 재발 방지까지 전 과정을 다룹니다.
-
C++ 성능 최적화 실전 사례 | API 응답 시간 200ms → 20ms 개선기
C++ REST API 서버의 응답 시간을 10배 개선한 실전 사례. 프로파일링으로 병목 지점을 찾고, 알고리즘 개선, 메모리 최적화, 멀티스레딩을 적용한 전 과정을 다룹니다.
-
C++ 크래시 디버깅 실전 사례 | 간헐적 Segmentation Fault 해결기
프로덕션 C++ 서버에서 발생한 간헐적 세그폴트를 코어 덤프, gdb, rr로 추적하고 해결한 실전 사례. 재현 불가능한 버그를 체계적으로 해결하는 방법을 다룹니다.
-
C++ vector vs list vs deque | "어떤 컨테이너?" 성능 비교와 선택 가이드
C++ STL 컨테이너 vector, list, deque 완벽 비교 가이드. 시간 복잡도만으로는 알 수 없는 캐시 효율의 비밀, 실제 벤치마크 결과, 원소 개수별 성능 차이, 게임/웹/시스템 프로그래밍 실전 사례까지. 중간 삽입이 많아도 vector가 list보다 빠른 이유를 데이터로 증명합니다.
-
C++ Constant Initialization | "상수 초기화" 가이드
C++ 상수 초기화(constant initialization) 는 컴파일 타임에 값이 정해지는 초기화입니다. constexpr 함수, constexpr if와 함께 사용하며, 값 초기화·0 초기화와 구분해 두면 좋습니다.
-
C++ Copy Initialization | "복사 초기화" 가이드
C++ 복사 초기화(copy initialization) 는 = expr 형태로 변수를 초기화하는 방식입니다. 리스트 초기화 {}와 구분되며, 이동 의미론·RVO/NRVO로 복사가 생략되는 경우가 많습니다. 복사·이동 생성자와 함께 보면 동작을 정리하기 좋습니다.
-
C++ Custom Deleters | "커스텀 삭제자" 가이드
커스텀 삭제자가 필요한 경우, 함수 포인터·람다·함수 객체 비교, unique_ptr과 shared_ptr의 타입·저장 방식 차이, 파일·소켓 RAII, 성능까지 정리합니다.