오래된 기술 스택인 C 언어와 CGI(Common Gateway Interface)를 활용해 현대적인 상용 웹 애플리케이션 'marketyour.games'가 출시되어 기술 업계의 이목을 끌고 있습니다. 이 제품은 사용자 계정, 콘텐츠 크리에이터 검색 대시보드, 폴더 관리, 스트라이프(Stripe) 결제, 포스트마크(Postmark) 이메일 등 다양한 기능을 자바스크립트(JavaScript) 없이 점진적 향상(progressive enhancement) 방식으로 제공합니다. 1994년 웹 개발 방식과 근본적으로 동일한 기술을 32년이 지난 지금 상용 제품에 적용했다는 점에서, 웹 개발의 단순성과 효율성에 대한 새로운 관점을 제시합니다.
'marketyour.games'는 BCHS(OpenBSD, C, httpd, SQLite) 스택을 기반으로 합니다. 이는 운영체제 OpenBSD, 프로그래밍 언어 C, 웹 서버 httpd, 그리고 파일 기반 데이터베이스 SQLite를 의미합니다. 이 스택은 프레임워크, 템플릿 언어, 별도 데이터베이스 서버, 컨테이너 없이 단일 C 바이너리 파일과 SQLite 파일, 그리고 세 가지 외부 라이브러리(libcurl, libsodium, libcjson)만으로 전체 애플리케이션을 구성합니다. 특히 요청마다 새로운 프로세스를 실행하는 CGI 방식 덕분에, 배포 시에는 바이너리 파일 하나만 교체하면 서버 재시작이나 서비스 중단 없이 새 버전이 즉시 적용됩니다. 현대 커널의 프로세스 포크(fork) 최적화 덕분에 과거 CGI의 성능 문제는 상당 부분 해소되었으며, 필요시 패스트CGI(FastCGI)로 전환할 수 있는 유연성도 갖추고 있습니다.
이러한 접근 방식은 적은 의존성과 단순한 구조 덕분에 빌드 및 운영 부담을 크게 줄여줍니다. 공급망 공격에 대한 우려가 커지는 상황에서, C 컴파일러와 소수의 검증된 라이브러리에만 의존하는 것은 보안 측면에서도 이점을 가집니다. 또한, 복잡한 프레임워크 대신 HTTP의 기본 개념에 충실하여 웹 서버와 비즈니스 로직의 역할을 명확히 분리하고, 일반적인 실행 프로그램처럼 셸에서 쉽게 디버깅할 수 있는 환경을 제공합니다. 이는 복잡한 현대 웹 개발 환경에 지친 개발자들에게 신선한 대안을 제시하며, 웹 애플리케이션 구축에 있어 '덜어내는' 미니멀리즘 철학의 가능성을 보여줍니다.