핵심 요약
- 한 유명 개발자가 15년간 써온 Jekyll(Ruby)을 버리고, 오직 본인 블로그 전용으로 C++20 기반 정적 사이트 생성기를 직접 개발했습니다.
- 의존성 없는 8천 줄 C++ 단일 파일로 구현해, 루비가 켜지기도 전인 150ms 만에 블로그 전체 빌드를 끝내는 압도적인 속도를 보여줍니다.
- 극심했던 루비 환경 설정 고통을 해결했으며, GitHub Actions에서 매번 C++ 코드를 통째로 컴파일해서 배포해도 될 정도로 가볍다고 밝혔습니다.
요약 유명 개발자 블로그 nullprogram의 운영자가 15년 동안 써오던 정적 사이트 생성기 Jekyll(Ruby 기반)을 버리고, 오직 자신의 블로그만을 위해 C++20으로 자체 제작한 생성기 'ssg'로 전면 교체한 개발기를 공개해 화제가 되고 있습니다.
작성자는 과거 VPS 호스팅 시절부터 블로그를 운영하다 2011년 GitHub Pages 도입과 함께 Jekyll로 이전해 15년간 사용해 왔습니다. 하지만 최근 주 개발 환경을 리눅스에서 macOS로 옮기면서 루비(Ruby) 환경 설정의 극심한 번거로움과 셸 시작 지연 등 파편화된 배포 환경에 극심한 피로를 느꼈다고 밝혔습니다.
이에 외부 의존성이 전혀 없고 libc조차 쓰지 않는 약 8,000줄 규모의 'C 스타일 C++20' 단일 바이너리 생성기 'ssg'를 직접 제작했습니다. 범용 템플릿 엔진인 Liquid를 완전히 제거하고 블로그 소스 코드와 생성기를 통합한 결과, 맥북 기준 블로그 전체 빌드 시간이 단 150밀리초(ms)로 단축되었습니다. 루비가 Jekyll의 진입점에 도달하기도 전에 전체 사이트 생성이 끝나는 속도입니다.
심지어 디버그 빌드(-O0) 컴파일 속도조차 150ms 수준에 불과해, GitHub Actions 파이프라인에서 매번 C++ 소스를 처음부터 컴파일한 뒤 사이트를 빌드해도 이전보다 빠르고 가벼워졌다고 전했습니다. 작성자는 이 프로그램을 범용 툴로 배포할 계획이 없으며, "모두를 맞추려는 거대한 범용 툴 대신 내 필요에 딱 맞춘 단일 목적 소프트웨어를 직접 짜는 것이 소프트웨어의 미래"라고 강조했습니다.
Sponsored · 광고