밈 Lobsters · 2026-10-23

"무조건 4만 반환합니다"… 유명 짤방 구현하려고 컴파일러 뜯어고친 개발자

핵심 요약
  • 유명 웹툰 xkcd의 '무조건 4만 뱉는 난수 생성기' 밈을 구현하기 위해 한 개발자가 Zig 언어 컴파일러를 직접 수정했습니다.
  • 단순 함수 작성은 너무 지루하다는 이유로 22줄의 컴파일러 코드를 뜯어고쳐 언어 내장 기능(`@xkcdRandom`)으로 만들어냈습니다.
  • 실제 빌드 결과 '주문하신 난수가 도착했다'는 메시지와 함께 완벽하게 숫자 4를 반환하며 성공적으로 작동했습니다.
요약 유명 웹툰 xkcd에는 주사위를 굴려 나온 숫자라며 무조건 숫자 '4'만을 반환하는 엉터리 난수 생성기 만화가 있습니다. 최근 실제로 임의의 바이트 대신 고정된 숫자 4를 잘못 사용해 발생한 보안 사고 소식을 접한 한 개발자는, "풍자가 현실이 되는 세상이라면 개발자들의 수요에 맞춰 언어 자체에 내장 기능(builtin)으로 탑재해야 마땅하다"는 엉뚱한 결론에 도달했습니다. Zig 언어 학습을 막 마친 작성자는 일반적인 함수로 `return 4;`를 작성하는 것은 너무 지루하고 쉬워 재미가 없다고 판단했습니다. 대신 언어 내부를 깊게 파고들어 배우겠다는 목적으로, Zig 컴파일러 소스코드를 직접 포크하여 내장 문법인 `@xkcdRandom`을 구현하는 과감한 삽질에 나섰습니다. 실제 컴파일러 수정 작업은 약 22줄의 코드 변경으로 비교적 간단히 끝났습니다. LLM을 통해 내장 함수가 정의된 위치를 파악한 뒤 코드를 수정했으며, Zig 컴파일러 자체의 훌륭한 빌드 편의성과 언어 서버의 도움 덕분에 노트북 환경에서도 약 1분 만에 빌드가 완료되었습니다. 수정된 컴파일러로 테스트 코드를 빌드해 실행하자, 작성자가 주문한 무작위 숫자라며 당당하게 정수와 실수 타입 모두에서 '4, 4'가 출력되었습니다. 작성자는 이번 성공적인(?) 장난을 계기로 컴파일러 구조를 익혔으니 다음에는 진짜 컴파일러 버그 해결에 도전해 보겠다고 소감을 전했습니다.
Sponsored · 광고