C++ 컴파일·링킹과 CMake — Source에서 Executable까지
C++ source가 전처리·컴파일·어셈블·링크를 거쳐 실행 파일이 되는 모델을 먼저 잡고, declaration/definition·translation unit·ODR·undefined reference의 원인을 연결한 뒤, 여러 target을 CMake로 구성하는 최소 흐름까지 설명한다.
C++ source가 전처리·컴파일·어셈블·링크를 거쳐 실행 파일이 되는 모델을 먼저 잡고, declaration/definition·translation unit·ODR·undefined reference의 원인을 연결한 뒤, 여러 target을 CMake로 구성하는 최소 흐름까지 설명한다.
코드를 짧고 안전하게 만드는 모던 C++ 문법 정리. auto와 유니폼 초기화, 컴파일 타임 상수 constexpr, 그리고 optional·variant·chrono·filesystem처럼 사전처럼 찾아 쓰는 표준 라이브러리를 짚는다.
새 맥마다 다시 까는 터미널 개발 도구들을 Brewfile 하나로 관리한다. cat·ls·find·grep을 대체하는 모던 CLI(bat·eza·fd·ripgrep)부터 fzf·lazygit·delta, 언어 버전 관리까지 실제로 쓰는 도구를 갈래별로 정리한다.
여러 작업을 동시에 돌릴 때의 C++ 표준 도구. std::thread와 join, 데이터 레이스를 막는 mutex, 결과를 기다리는 future/async를 예제로 짚고, 데드락·미조인 같은 대표적 함정을 정리한다.
STL이 모든 타입에서 동작하는 원리인 템플릿을 정리. 함수·클래스 템플릿과 타입 추론, 템플릿을 왜 헤더에 정의하는지, 가변 길이 템플릿과 C++20 concepts까지 실용 범위로 짚는다.
직접 자료구조를 만들지 않고 표준 라이브러리를 쓰는 단계. vector·map 등 주요 컨테이너의 선택 기준, 반복자 개념, sort·find 같은 알고리즘과 람다 조합, 복사 없는 string_view까지 실용 위주로 정리한다.
모던 C++의 이동 시맨틱과 std::move의 정확한 의미, unique_ptr/shared_ptr/weak_ptr가 소유 관계를 어떻게 표현하는지 정리한다. Rust move와의 비교는 발판으로만 사용한다.
C++ 객체지향의 핵심을 자원 관리 관점으로 정리. 생성자·소멸자로 자원 수명을 묶는 RAII, 얕은 복사 문제에서 나오는 Rule of Three, 그리고 상속·다형성에서 가상 소멸자가 필요한 이유까지 예제로 짚는다.
C에서 넘어온 사람을 위한 C++ 첫 단계. 참조자가 포인터와 무엇이 다른지, new/delete가 malloc/free와 무엇이 다른지를 예제로 짚고, 이후 자원 관리(RAII)로 이어지는 연결고리를 잡는다.
요청을 어느 백엔드로 넘길지의 문제로 본 nginx 설정 5가지 패턴. 각 지시어가 왜 그렇게 동작하는지를 중심으로 정리한다.