블로그
-
CLion으로 C++ 개발하기: CMake 프로젝트 설정, 툴체인, 디버깅, 리팩토링 단축키
CLion에서 툴체인과 CMake 프로파일을 설정하고 vcpkg·Conan을 연동하는 과정부터, 역디버깅·데이터 브레이크포인트·로그포인트 활용과 Change Signature 같은 리팩토링 단축키까지 VSCode, Visual Studio와 비교하며 설명합니다.
-
Visual Studio로 C++ 프로파일링·메모리 진단하기: vcpkg 연동까지
Visual Studio로 C++ 프로젝트를 구성하고 디버깅하는 방법, vcpkg Manifest 모드와 CMake 연동, CPU 사용량·인스트루먼테이션 프로파일러, 네이티브 힙 스냅샷과 CRT 누수 감지, C++ Core Check 코드 분석, 흔한 링크·심볼 문제 해결을 정리합니다.
-
vcpkg 기초: 설치, Manifest 모드, Triplet, 버전 고정, 오버레이 커스텀 포트
vcpkg를 서브모듈로 추가하고 vcpkg.json Manifest 모드로 의존성을 선언하는 방법, 정적·동적 링크를 가르는 Triplet, builtin-baseline으로 버전을 고정하는 법, 사내 라이브러리를 오버레이 포트로 넣는 법을 예제로 봅니다.
-
Conan 기초: conanfile로 의존성 선언, 프로필, Remote, CMake 연동
C++ Conan 2.x 패키지 매니저 기초. 설치, conanfile.txt·conanfile.py 작성, 프로필과 Remote 설정, CMake 연동, 버전 충돌과 lockfile, CI와 Docker에서 쓰는 방법을 예제로 설명합니다.
-
CMakePresets.json으로 빌드 설정 통일하기: 멀티 플랫폼 프리셋, vcpkg 바이너리 캐시, CI
CMakePresets.json의 configure·build·test·workflow 프리셋 구조와 스키마 버전별 기능, 멀티 플랫폼·MSVC+Ninja 설정, 2025년에 x-gha가 제거된 뒤의 vcpkg 바이너리 캐시 구성, Conan 2 연동, CI 자동화와 자주 나는 에러를 다룹니다.
-
C++ 빌드 시스템 비교: CMake·Meson·Bazel·Makefile과 패키지 매니저 선택
새 C++ 프로젝트에서 CMake, Meson, Bazel, Makefile 중 무엇을 고를지 생태계·재현성·크로스 컴파일 관점에서 비교합니다. vcpkg와 Conan 중 어떤 패키지 매니저를 조합할지, 기존 프로젝트를 옮기는 절차와 자주 나는 빌드 오류도 정리했습니다.
-
C++ API 문서 자동화: Doxygen 주석, Sphinx·Breathe·Exhale 연동, GitHub Pages 배포
Doxygen 주석 문법과 Doxyfile 핵심 설정, Sphinx·Breathe·Exhale 연동, GitHub Actions로 GitHub Pages에 배포하는 과정과 심볼 누락·경로·인코딩·매크로 같은 자주 나는 문제의 원인을 예제로 설명합니다.
-
상황별 C++ 알고리즘 고르기: STL로 충분한 경우와 직접 구현할 때, 흔한 성능 함정
로그 검색, 중복 제거, Top-K 추출, 정렬된 범위의 구간 검색 같은 상황마다 어떤 STL 알고리즘이 맞는지 고르는 기준입니다. binary_search 전제 위반, remove 후 erase 누락, 비교자 약순서 위반 같은 흔한 실수도 짚습니다.
-
C++ 그래프 알고리즘: BFS·DFS, 다익스트라, Kruskal·Prim 최소신장트리, Union-Find
지도 최단 경로, 친구의 친구 탐색, 빌드 의존성 순서, 최소 비용 배선 같은 문제에 맞춰 BFS·DFS, 위상 정렬, 다익스트라, Kruskal·Prim, Union-Find를 C++로 구현합니다. 음수 간선에서 다익스트라가 틀리는 이유도 설명합니다.
-
C++ 동적 계획법: 메모이제이션 vs 타뷸레이션, 2D→1D 공간 최적화, 배낭·LCS·Bitmask DP
fib(40)이 느린 이유에서 출발해 메모이제이션과 타뷸레이션의 차이, 2D 테이블을 1D rolling array로 줄이는 방법을 설명합니다. 0/1 배낭, LCS, LIS, 편집 거리, Bitmask DP를 C++로 풀고 재귀 스택 오버플로를 피하는 법도 봅니다.