블로그
-
Vim이 안 꺼질 때부터 시작하는 Vi/Vim: 종료, 모드, 이동, 편집, 검색·치환
서버에서 Vim을 열었다가 빠져나오지 못하는 상황부터 시작해 상황별 종료 명령, Vi와 Vim의 차이, 노멀·입력·비주얼·명령 모드, hjkl과 단어·화면 단위 이동, 삭제와 변경, 검색·치환, 복사·붙여넣기까지 서버 작업에 필요한 기본기를 다룹니다.
-
C++ 코드 리뷰 체크리스트 20가지: 메모리 안전·성능·가독성·스레드 안전
C++ 코드 리뷰에서 놓치기 쉬운 20가지 항목을 메모리 안전, 성능, 가독성, 안전성으로 나눴습니다. 댕글링 포인터와 double delete, 불필요한 복사와 reserve 누락, 매직 넘버, 정수 오버플로우, 스레드 안전성을 리뷰 전후 코드로 비교합니다.
-
C++ 컴파일 오류 해결 가이드 | 초보자가 자주 겪는 10가지 에러
undefined reference, redefinition, no matching function for call, was not declared in this scope, invalid use of incomplete type처럼 C++ 초보자가 자주 만나는 에러 메시지를 읽는 법과 원인, 해결 방법을 하나씩 설명합니다. 실행 중 터지는 segmentation fault도 함께 다룹니다.
-
C++ Segmentation fault 원인 5가지와 디버깅 방법 | GDB로 추적하기
C++ Segmentation fault의 대표 원인인 널 포인터 역참조, 해제 후 사용, 스택 오버플로, 배열 범위 초과, 잘못된 캐스팅을 코드로 재현하고, core dump를 활성화해 GDB·LLDB로 충돌 위치를 추적하는 방법을 설명합니다.
-
TCP 동작 원리: 3-way handshake, 흐름·혼잡 제어(CUBIC·BBR)와 소켓 디버깅
TCP 3-way handshake와 연결 종료, rwnd·cwnd 기반 흐름·혼잡 제어, Reno·CUBIC·BBR 알고리즘 차이를 설명하고 C++·Python·Node.js 소켓 예제와 RST·느린 전송 문제를 분석하는 디버깅 방법을 다룹니다.
-
CMake 에러 해결: 컴파일러·find_package·링커·캐시 문제를 단계별로 좁히는 법
CMake 에러를 configure·generate·build·실행 단계로 나눠 원인을 좁히는 방법을 정리합니다. CMake 4.0의 "Compatibility with CMake < 3.5 has been removed", FindBoost 제거, Conan 2 연동, undefined reference, 공유 라이브러리 로딩 실패까지 실제 에러 메시지 기준으로 다룹니다.
-
static·extern·const·constexpr·inline·volatile·mutable: C++ 키워드가 실제로 바꾸는 것
C++ 주요 키워드 정리. static, extern, const, constexpr, inline, volatile, mutable의 의미와 사용법, 링키지와 저장 기간, 메모리 레이아웃, 키워드 조합 패턴을 다룹니다.
-
C++ static 함수 정리: 클래스 static 멤버, 파일 스코프 static, 내부 링키지와 ODR
함수에 붙는 static은 클래스 static 멤버 함수와 파일 스코프 static 함수라는 전혀 다른 두 뜻을 가집니다. this가 없는 멤버 함수, 내부 링키지와 익명 네임스페이스 비교, 헤더의 static 정의가 ODR과 코드 크기에 주는 영향을 예제로 봅니다.
-
WebSocket 실시간 통신: RFC 6455 업그레이드와 프레임, Socket.io 채팅, Redis 확장, 프로덕션 디버깅
WebSocket으로 실시간 통신을 구현하는 방법. 프로토콜 업그레이드와 프레임, 하트비트, 기본 WebSocket API, Socket.io, 채팅 앱 예제, Redis로 여러 서버 확장, 프로덕션에서만 연결이 끊길 때의 점검 순서를 다룹니다.
-
Socket.IO 실시간 통신: Room과 Broadcasting, Namespace, 인증, React 연동, Redis Adapter
Socket.IO로 실시간 통신을 구현하는 방법. 설치와 기본 사용, Room, Broadcasting, Namespace, 인증, React 통합, Redis Adapter로 여러 서버 확장을 예제로 정리합니다.