블로그
-
C++ 정적 분석 도구 통합: Clang-Tidy와 Cppcheck로 코드 퀄리티 강제하기 [#41-1]
C++ 16번 디버깅의 연장선. Clang-Tidy와 Cppcheck를 CI·에디터에 통합해 버그가 발생하기 전에 코드 퀄리티를 강제하는 방법을 다룹니다. 문제 시나리오, 완전한 예제, CI 통합, 프로덕션 패턴까지.
-
C++ volatile 완벽 가이드 | MMIO·ISR·메모리 맵 레지스터·atomic과의 차이 [실전]
C++ volatile의 의미, 메모리 맵 I/O(MMIO), 인터럽트 서비스 루틴(ISR), volatile vs std::atomic 차이, 자주 하는 실수, 프로덕션 패턴까지. 릴리스 빌드에서 사라지는 하드웨어 접근 문제 해결.
-
C++ 런타임 검증: AddressSanitizer와 ThreadSanitizer 완벽 가이드 [#41-2]
실행 중 메모리 오류와 데이터 경합을 검출하는 ASan, TSan을 빌드 옵션과 CI에 넣어 견고한 C++ 코드를 만드는 방법. 문제 시나리오, 완전한 예제, 자주 발생하는 에러, CI 통합, 프로덕션 패턴까지.
-
C++ [[nodiscard]] 완벽 가이드 | 반환값 무시 방지·에러 코드·RAII·사유 메시지 [실전]
C++ [[nodiscard]] 완벽 가이드: 반환값 무시 방지·에러 코드·RAII·사유 메시지 […. 문제 시나리오 상세·nodiscard란 무엇인가로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
-
C++ Fuzz Testing: 예상치 못한 입력값으로 프로그램의 견고함 테스트하기 [#41-3]
C++ Fuzz Testing: 예상치 못한 입력값으로 프로그램의 견고함 테스트하기 [#41-3]에 대해 정리한 개발 블로그 글입니다. 41-1 정적 분석, 41-2 Sanitizer로 알려진 패턴과 실행 시 메모리/경합을 잡았다면, 퍼즈 테스트는 무작위·변형된 입력을 계속 넣어서 "이런 걸 넣으면 터지네"를 자동으로 찾습니다. 파서, 디코더, 프로토콜… 개념과 예제 코드를 단계적으로 다루며, 실무·학습에 참고할 수 있도록 구성했습니다. 관련 키워드:…
-
C++ Fuzz Testing: 예상치 못한 입력값으로 프로그램의 견고함 테스트하기 [#41-3]
C++ Fuzz Testing: 예상치 못한 입력값으로 프로그램의 견고함 테스트하기 [#41-3]에 대해 정리한 개발 블로그 글입니다. 41-1 정적 분석, 41-2 Sanitizer로 알려진 패턴과 실행 시 메모리/경합을 잡았다면, 퍼즈 테스트는 무작위·변형된 입력을 계속 넣어서 "이런 걸 넣으면 터지네"를 자동으로 찾습니다. 파서, 디코더, 프로토콜… 개념과 예제 코드를 단계적으로 다루며, 실무·학습에 참고할 수 있도록 구성했습니다. 관련 키워드:…
-
C++ 제약된 환경에서의 C++: Exception과 RTTI 없이 안전한 코드 짜기 [#42-1]
C++ 제약된 환경에서의 C++: Exception과 RTTI 없이 안전한 코드 짜기 [#42-1]. 실무에서 겪은 문제부터 핵심 개념·패턴·실무 함정을 코드 예제로 풉니다.
-
C++ noexcept 완벽 가이드 | 예외 계약·이동 최적화·프로덕션 패턴 [#42-1]
C++ noexcept 완벽 가이드: 예외 계약·이동 최적화·프로덕션 패턴 [#42-1]. vector 재할당이 왜 이렇게 느릴까?·실무에서 겪은 문제로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
-
C++ 직접적인 하드웨어 제어: volatile, 메모리 맵 I/O, 인터럽트 서비스 루틴 [#42-2]
C++ 직접적인 하드웨어 제어: volatile, 메모리 맵 I/O, 인터럽트 서비스 루틴 [#42-2]에 대해 정리한 개발 블로그 글입니다. 시나리오 1: UART 수신 데이터 누락 UART로 시리얼 데이터를 받는데, while 루프에서 "수신 버퍼 비어 있음" 플래그를 확인하는 코드가 무한 루프에 빠졌습니다. 디버거로 보면 플래그는 분명히 바뀌는데, 릴리스… 개념과 예제 코드를 단계적으로 다루며, 실무·학습에 참고할 수 있도록 구성했습니다. 관련 키워드:…
-
C++ 리눅스 시스템 프로그래밍 | 시스템 콜 호출과 커널 인터페이스 이해 [#42-3]
C++ 리눅스 시스템 프로그래밍: 시스템 콜 호출과 커널 인터페이스 이해 [#42-3]. 사용자 공간과 커널 사이·왜 시스템 콜을 제대로 알아야 하나로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.