개발자를 위한 추천 Vundle 플러그인 8가지

Vundle로 플러그인 매니저 자체는 갖췄어도, .vimrc에 아무것도 선언하지 않은 vim은 여전히 텍스트 편집기 수준을 벗어나지 못한다. 파일 탐색, git 상태 확인, 코드 자동완성, 린팅처럼 IDE에서는 당연하게 여기는 기능들은 결국 플러그인을…

Continue Reading개발자를 위한 추천 Vundle 플러그인 8가지

vim bundle

vim에서 플러그인을 쓰려면 원래는 ~/.vim/plugin, ~/.vim/autoload 같은 디렉터리 구조를 직접 이해하고, 저장소를 하나씩 git clone한 뒤 runtimepath까지 손으로 맞춰야 했다. 플러그인이 두세 개만 넘어가도 버전 관리, 업데이트, 제거 작업이 금방…

Continue Readingvim bundle

systemd 서비스 유닛 파일 작성 실전 예제

서버에서 상시 실행되는 스크립트나 데몬을 만들 때 가장 흔한 실수는 nohup ./script.sh &나 crontab의 @reboot 항목으로 급하게 띄우는 것이다. 이런 방식은 서버가 재부팅되거나 프로세스가 죽었을 때 아무도 재시작해주지 않고, 로그는…

Continue Readingsystemd 서비스 유닛 파일 작성 실전 예제

quilt 기반 패치 세트를 자동으로 Git 커밋으로 변환하는 방법

quilt로 관리하던 패치 세트를 Git 저장소로 옮길 때, 흔히 patches 디렉터리를 하나씩 quilt push로 적용하고 그때마다 git add -u, git commit을 반복하는 방법을 쓴다. 패치가 몇 개 안 되면 괜찮지만,…

Continue Readingquilt 기반 패치 세트를 자동으로 Git 커밋으로 변환하는 방법

CMake: target_link_libraries 사용법

CMake로 여러 타깃을 나눠 빌드하다 보면 "라이브러리는 분명히 링크했는데 헤더를 못 찾는다"는 에러를 자주 마주친다. 원인은 대부분 target_link_libraries의 PUBLIC/PRIVATE/INTERFACE 키워드를 잘못 골랐기 때문이다. 이 세 키워드는 단순히 "링크한다/안 한다"가 아니라,…

Continue ReadingCMake: target_link_libraries 사용법

CMake 사용법

C++ 프로젝트가 파일 몇 개를 넘어서면 컴파일 명령이 금방 복잡해진다. 소스 파일이 여러 디렉터리에 흩어지고, 라이브러리를 따로 빌드해서 링크해야 하고, 리눅스에서는 GCC, macOS에서는 Clang, 윈도우에서는 MSVC를 각각 다르게 호출해야 한다.…

Continue ReadingCMake 사용법

Cloudways → Vultr WordPress 이전 완전 가이드

Cloudways는 관리형 호스팅이라 편하지만 트래픽이 늘면 비용이 빠르게 올라간다. 같은 사양의 순수 VPS로 옮기면 비용을 크게 줄일 수 있는데, 이 글은 Cloudways에서 운영 중인 WordPress를 Vultr VPS(Ubuntu 24.04 + Nginx…

Continue ReadingCloudways → Vultr WordPress 이전 완전 가이드

fatal error: gelf.h: No such file or directory 오류

Linux 커널을 소스에서 빌드하다 보면 tools/objtool을 컴파일하는 단계에서 gelf.h 헤더를 찾지 못해 빌드가 중단되는 경우가 있다. objtool은 커널 빌드 시 오브젝트 파일의 제어 흐름을 분석해 ORC unwinder 테이블 생성, retpoline/livepatch…

Continue Readingfatal error: gelf.h: No such file or directory 오류