블로그
-
C++ min·max·minmax_element와 std::clamp: 값 비교와 범위 제한
두 값 비교용 std::min·max·minmax와 범위용 min_element·max_element·minmax_element의 차이, 커스텀 비교자, C++17 std::clamp로 마우스 좌표를 화면 안으로 제한하는 예제와 통계·정규화 패턴을 다룹니다.
-
C++ 알고리즘 문제풀이 | 코딩테스트 필수 문제 10선
Two Sum, 이진 탐색, 최대 부분 배열 합, 동전 거스름돈, 섬의 개수, 유효한 괄호, LIS, 0/1 배낭, 다익스트라, 순열·조합까지 코딩테스트 단골 10문제를 C++ STL 풀이와 시간복잡도 분석으로 풀어 봅니다.
-
C++ 직렬화 방식 비교: nlohmann·simdjson·Glaze JSON, 바이너리, Protobuf, C++26 리플렉션
C++ 직렬화: nlohmann/simdjson/Glaze JSON, 직접 설계한 바이너리 포맷, Protobuf, cereal, MessagePack, C++26 리플렉션(P2996). 포맷 선택·버전 호환성·자동 직렬화.
-
C++ Boost.Asio 고급 패턴 | 커스텀 서비스·타이머·시그널 [#52-1]
Boost.Asio에서 연결마다 타이머를 두는 서버, 시그널로 종료하는 서버를 만들 때 필요한 커스텀 서비스(타이머 휠), steady_timer 재사용, signal_set, strand, work_guard와 stop()의 차이, co_spawn·async_compose를 코드로 정리합니다.
-
C++ JSON 파싱: nlohmann/json vs RapidJSON, 커스텀 타입 직렬화, null·타입 에러 처리
C++ REST API 응답·설정 파일 파싱 시 타입 에러·null 접근·메모리 폭발 문제를 해결합니다. nlohmann/json, RapidJSON, 커스텀 타입 직렬화, 자주 발생하는 에러와 API 응답 처리 패턴을 예제 코드로 다룹니다.
-
모던 C++ (C++11~C++20) 핵심 문법 치트시트 | auto·람다
C++11부터 C++20까지 버전별로 자주 쓰는 문법을 모았습니다. auto와 람다, 스마트 포인터, 구조화된 바인딩과 optional·variant, if constexpr, Concepts·Ranges·코루틴·삼원 비교 연산자를 짧은 예제로 바로 찾아볼 수 있습니다.
-
Visual Studio C++ 빌드가 느릴 때: PCH·/MP 병렬 컴파일·증분 링크·Unity Build 설정
느린 Visual Studio C++ 빌드를 프리컴파일 헤더(PCH), /MP 병렬 컴파일, /INCREMENTAL 증분 링크, 전방 선언으로 include 줄이기, Unity Build, C++20 모듈로 단축하는 설정 방법과 각 기법의 주의사항을 설명합니다.
-
C++ 코딩 테스트 준비: 백준·프로그래머스 유형별 STL 활용과 입출력 최적화
백준과 프로그래머스에서 자주 나오는 정렬, 해시, 투 포인터, DP, BFS/DFS, 그리디, 백트래킹 문제를 C++ STL로 푸는 방법을 유형별로 정리하고, 입력 크기로 허용 복잡도를 가늠하는 법과 cin 입출력 최적화를 다룹니다.
-
C++ 신입 면접 준비: 자주 나오는 기술 질문 15개와 개인 프로젝트 설명법
신입 C++ 면접에서 자주 나오는 포인터와 참조, 메모리 누수, 가상 함수, 복사 생성자 같은 기술 질문 15개에 어떻게 답할지 예시로 보여주고, 실무 경력이 없을 때 개인 프로젝트를 이력서와 GitHub 포트폴리오로 설명하는 방법을 정리합니다.
-
C++ 제약된 환경에서의 C++: Exception과 RTTI 없이 안전한 코드 짜기
플래시가 작은 MCU나 실시간 루프처럼 예외와 RTTI를 꺼야 하는 환경에서 오류를 반환값·optional·expected로 전달하는 방법을 다룹니다. 팩토리와 두 단계 초기화, dynamic_cast 대신 variant·enum 태그 분기, 할당 없는 고정 버퍼 예제도 보여줍니다.