블로그
-
C++26 리플렉션 기초: ^^ 연산자, std::meta::info, template for로 멤버 순회하기
C++26에 채택된 정적 리플렉션(P2996)의 실제 문법을 정리합니다. ^^ 연산자와 std::meta::info, identifier_of·nonstatic_data_members_of·access_context, [: :] 스플라이스, template for와 define_static_array, [[=...]] 어노테이션, 컴파일러 지원 현황과 C++20 대안까지 다룹니다.
-
VS Code C++ 설정 방법: IntelliSense 빨간 밑줄, tasks.json 빌드, launch.json 디버깅, clangd
VS Code에서 C++ IntelliSense·빌드·디버깅을 설정하는 방법. compilerPath와 compile_commands.json, MSVC의 개발자 명령 프롬프트, Apple Silicon의 macos-clang-arm64와 LLDB 디버거 선택, clangd로 바꿀 때 충돌 막기, Cursor·VSCodium에서 C/C++ 확장이 동작하지 않는 이유까지 정리합니다.
-
torch.cuda.is_available() False 해결: CPU 버전 PyTorch, 드라이버, WSL2, no kernel image 오류
GPU가 있는데 torch.cuda.is_available()이 False일 때 torch.__version__의 +cpu 접미사, torch.version.cuda, nvidia-smi의 CUDA Version 의미를 확인하고, 올바른 --index-url로 재설치하는 법과 WSL2·conda 혼용·no kernel image 오류까지 설명합니다.
-
C++ 채팅 서버 아키텍처: Acceptor-Worker 구조, 방 관리, 메시지 라우팅, 커넥션 풀
동시 접속 폭주, 메시지 전송 중 데이터 레이스, 느린 클라이언트 한 명이 전체를 늦추는 문제를 채팅 서버 설계로 풀어 봅니다. Acceptor-Worker 구조와 io_context 풀, RoomManager 기반 방 관리, 메시지 라우터, 연결 수 제한을 구현합니다.
-
C++ volatile의 정확한 의미: MMIO 레지스터, ISR 공유 변수, std::atomic과의 차이
C++ volatile의 의미, 메모리 맵 I/O(MMIO), 인터럽트 서비스 루틴(ISR), volatile vs std::atomic 차이, 자주 하는 실수, 프로덕션 패턴까지. 릴리스 빌드에서 사라지는 하드웨어 접근 문제 해결.
-
C++ 게임 엔진 기초 | 렌더링·물리·입력·스크립팅 시스템 구현 [#50-3]
ECS 아키텍처를 기반으로 2D 게임 엔진의 렌더링·물리·입력·Lua 스크립팅 시스템을 구현합니다. 충돌 감지 누락, 물리 터널링, Lua 콜백 nil 에러 같은 실전 트러블슈팅과 Box2D 연동까지 다룹니다.
-
C++에서 Redis 쓰기: hiredis·redis-plus-plus, 파이프라인, 분산 락, Lua 스크립트
C용 hiredis와 모던 C++용 redis-plus-plus로 Redis에 연결하는 방법부터 Cache-Aside 캐싱, SET NX EX와 Lua 스크립트로 만드는 분산 락, 파이프라인으로 왕복 횟수 줄이기, Pub/Sub와 커넥션 풀 설정까지 예제로 정리합니다.
-
C++에서 MongoDB 쓰기: mongocxx 설치와 연결, CRUD, Aggregation, Replica Set
C++에서 MongoDB를 연동하는 방법. mongocxx·bsoncxx 드라이버 설치와 연결, insert·find·update·delete CRUD, Aggregation Pipeline, 인덱스, Replica Set과 연결 풀을 다룹니다.
-
C++ 프로젝트 CI 구성: GitHub Actions 멀티 OS·컴파일러 매트릭스, vcpkg 캐시, 테스트
로컬에선 되는데 CI에서만 실패하는 C++ 프로젝트를 위한 GitHub Actions 구성. 멀티 OS·컴파일러 매트릭스, CMake 빌드, vcpkg·Conan 캐시, 테스트 실행과 최적화 팁을 다룹니다.
-
MP4·WebM·MKV 컨테이너 내부 구조 심화 | 뮤싱·시크·fMP4·메타데이터
MP4의 트랙·샘플·청크 모델과 Matroska의 EBML·Cluster 구조를 비교하며, 뮤서와 디먹서가 파일을 조립·분해하는 방식, stbl 테이블과 Cues로 시크하는 원리, 단편 MP4와 일반 MP4의 선택 기준을 설명합니다.