블로그
-
C++ 컴파일 과정 4단계: 전처리·컴파일·어셈블·링킹과 undefined reference가 나는 이유
소스 파일이 전처리, 컴파일, 어셈블, 링킹을 거쳐 실행 파일이 되는 과정을 단계별 명령으로 확인하고, undefined reference가 링크 순서나 이름 맹글링 때문에 생기는 이유, 정적 라이브러리와 동적 라이브러리의 차이, 수정이 빌드에 반영되지 않는 문제를 다룹니다.
-
GCC vs Clang vs MSVC: 같은 코드로 비교한 최적화 플래그, C++23/26 지원, 플랫폼 차이
같은 example.cpp를 GCC, Clang, MSVC로 빌드해 최적화 플래그별 결과와 에러 메시지가 어떻게 다른지 비교하고, C++23·C++26 표준 지원 현황, 표준 라이브러리 구현 차이, 운영체제별로 어떤 컴파일러를 권장하는지 정리합니다.
-
효율적인 디버깅 팁 — 빠르고 정확하게 버그를 잡는 사고방식
간헐적 버그를 재현 가능한 상태로 만드는 법, 가설을 세우고 검증하는 순서, 코드·커밋·데이터·설정 범위에 이분 탐색을 적용하는 방법을 다룹니다. 스택 트레이스와 에러 메시지 읽는 법, 로그와 디버거 중 무엇을 쓸지 고르는 기준, 프로덕션 디버깅의 차이도 설명합니다.
-
TCP vs UDP 전송 프로토콜 비교 | 신뢰성·지연·QUIC까지 선택 가이드
TCP와 UDP를 표로 외우는 대신 Wireshark 캡처에서 재전송·Dup ACK·손실이 어떻게 보이는지로 차이를 익히고, DNS·VoIP·게임·QUIC(HTTP/3)이 각각 어떤 이유로 전송 방식을 택했는지 실무 선택 기준으로 정리합니다.
-
WebSocket 실시간 통신: RFC 6455 업그레이드와 프레임, Socket.io 채팅, Redis 확장, 프로덕션 디버깅
WebSocket으로 실시간 통신을 구현하는 방법. 프로토콜 업그레이드와 프레임, 하트비트, 기본 WebSocket API, Socket.io, 채팅 앱 예제, Redis로 여러 서버 확장, 프로덕션에서만 연결이 끊길 때의 점검 순서를 다룹니다.
-
C++ 멀티채널 알림 서비스: 이메일·SMS·FCM 푸시·WebSocket·Webhook 통합과 재시도·DLQ
WebSocket 실시간 알림, FCM 푸시, SMTP 이메일, SMS, Webhook을 하나의 알림 서비스로 통합하는 방법을 정리합니다. 채널별 재시도·백오프·DLQ, FCM 토큰 만료 처리, 이메일 rate limiting 같은 실전 트러블슈팅을 다룹니다.
-
C++로 10GB 파일 올리기: S3 멀티파트 업로드, MinIO, 재시도·진행률, CDN과 서명 URL
C++로 S3 멀티파트 업로드를 구현해 10GB 파일도 메모리 폭발 없이 병렬 처리하는 방법을 정리합니다. MinIO 로컬 스토리지, 재시도·백오프, 진행률 표시, CDN 캐시 무효화, 서명된 URL까지 다룹니다.
-
C++ REST API 성능 최적화 예제: perf로 병목 찾고 해시맵 인덱스·참조 반환으로 응답 시간 줄이기
사용자 목록을 반환하는 C++ REST API를 예로 들어, 벤치마크 기준선을 잡고 perf로 핫스팟을 찾은 뒤 요청마다 전체를 훑던 탐색을 해시맵 인덱스로 바꾸고, User 복사를 참조 반환으로 없애고, JSON 직렬화를 정리하는 과정을 연산 횟수 기준으로 설명합니다. 요청 안에서의 병렬화가 왜 위험한지도 다룹니다.
-
Git 머지 충돌 해결 예제 | 장기 리팩토링 브랜치를 main에 병합하는 순서
몇 달 동안 main과 따로 진행된 리팩토링 브랜치를 병합할 때 충돌이 쏟아지는 상황을 예제로, main을 리팩토링 브랜치로 역방향 머지하고 git status --porcelain 코드로 충돌을 분류한 뒤 기계적인 충돌과 로직 충돌을 나눠 푸는 방법, --ours와 -X ours의 차이, rerere·zdiff3·remerge-diff 활용법을 설명합니다.
-
C++ 서버 배포: Docker 멀티스테이지, systemd, Kubernetes 무중단 배포, Prometheus 모니터링
C++ 서비스를 프로덕션에 배포하는 방법. Docker 멀티스테이지 빌드, systemd 서비스, Kubernetes Deployment·Ingress·readinessProbe, 롤링 업데이트, CI/CD, Prometheus·Grafana·spdlog, glibc·OOM·502 에러 대응을 다룹니다.