Bun을 포기했어요. SuperRails에서 제거합니다

발행: (2026년 5월 18일 PM 12:10 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

Bun의 구현 언어가 Zig에서 Rust로 마이그레이션되었습니다.

Zig이나 Rust를 비판하려는 의도는 전혀 없습니다. 두 언어 모두 훌륭합니다. 제가 비판하고 싶은 것은 Bun의 개발 프로세스입니다.

Rust 마이그레이션

최근 풀 리퀘스트가 Bun을 Rust로 재작성했습니다( GitHub PR #30412 참고). 마이그레이션 내용:

  • 기존 테스트 스위트를 모든 플랫폼에서 통과시키고 여러 메모리 누수와 불안정한 테스트를 수정했습니다.
  • 바이너리 크기를 3 ~ 8 MB 줄였습니다.
  • 벤치마크 결과는 중립적이거나 더 빠른 것으로 나타났습니다.
  • 메모리 버그를 잡고 예방할 수 있는 컴파일러 지원 도구를 도입했으며, 이는 팀이 이전에 많은 개발 및 디버깅 시간을 소비했던 문제였습니다.

코드베이스는 기본적으로 동일합니다: 같은 아키텍처, 같은 데이터 구조, 소수의 서드파티 라이브러리, 그리고 async Rust는 사용되지 않았습니다.

카나리 버전을 사용하려면:

bun upgrade --canary

Note

  • 일부 최적화 작업은 비‑카나리 버전에 적용되기 전에 아직 필요합니다.
  • 추가 정리는 일련의 후속 PR을 통해 진행될 예정입니다.

Diff 개요

GitHub PR diff

diff 규모는 전례가 없습니다. 보고에 따르면 구현, 리뷰, 머지는 일주일도 채 안 되는 시간 안에 Claude Code를 사용해 완료되었다고 합니다. Bun의 개발자 Oven을 소유한 Anthropic은 이 “성공 사례”를 활용해 Claude 모델과 도구를 마케팅할 수도 있습니다.

개발 프로세스에 대한 우려

Rust로의 마이그레이션이 메모리 누수 문제를 해결하고 AI 생성 코드의 품질이 높다고 해도, 철저한 검토 없이 거대한 변화를 거의 즉시 배포하는 프로세스에 실망했습니다.

  • AI 생성 코드가 악의적이라고 주장하는 것이 아니라, 보안 위험이 낮은 경우 유용하게 사용할 수 있습니다.
  • 하지만 저는 여전히 신뢰하기 전에 생성된 코드를 반복해서 검토합니다.
  • 전체 diff를 꼼꼼히 읽고 이해하지 않은 채로 큰 변화를 배포하는 것은 책임을 회피하는 것이며, 받아들일 수 없습니다.

이 정도 규모의 변화를 일주일 안에 모두 철저히 검토하는 것은 물리적으로 불가능해 보입니다. 문제는 AI 자체가 아니라 포괄적인 리뷰가 부족하다는 점입니다.

내 프로젝트의 향후 계획

내 제품인 SuperRailsLazyCafe는 Bun에 의존하고 있습니다. 저는 SuperRails를 Bun에서 pnpm 기반 esbuild 설정으로 마이그레이션할 예정이며, LazyCafe를 포함한 다른 제품에도 유사한 변화를 고려하고 있습니다.

Anthropic과 Bun 개발팀은 단기 목표에 집중하고 있는 듯합니다: 빠르게 릴리즈하고 메모리 누수를 신속히 고치는 것. 이러한 단기적 초점은 이 도구들을 장기적으로 지속 가능하게 만들기 위한 관점을 결여하고 있습니다.

이 접근 방식은 수십 년 동안 살아남을 수 있는 조용히 운영되는 비즈니스를 추구하는 제 개발 철학과 맞지 않습니다.


Super Rails logo

Super Rails – 솔로프리뉴어를 위한 Rails 보일러플레이트. Devise, Avo, Stripe, ViewComponent 등으로 구성된 프로덕션 레디 Rails 보일러플레이트. 설정을 건너뛰고 며칠 안에 MVP를 출시하세요.

0 조회
Back to Blog

관련 글

더 보기 »