오늘 우연히 출근길에 읽은 월간지 좋은 생각 에서 본 문장이 마음에 남아 소개하면서 뉴스레터를 시작하려고 해요.
“장미를 건네 주는 손에는 언제나 장미 향기가 살짝 남는다.” — 중국 격언
이 격언처럼, 이번 주도 커뮤니티가 서로의 경험과 도구를 나누며 향기를 남겨준 것처럼 다양한 소식이 있었어요. Rails로 창업을 선택한 이야기부터(그리고 그 선택이 초능력이 되었다는 고백까지), 개발을 더 빠르고 단순하게 만들어주는 새로운 도구들, 현장의 생생한 밋업 소식, 그리고 “바닐라 Rails”로 장기 성장한 사례까지 알차게 담았어요.
🎧 10분 요약 오디오로 들어보시겠어요? → YouTube로 듣기
새로운 소식
Ruby on Rails로 스타트업을 시작한 경험 공유
Aaron Snyder가 2023년 말 Ruby on Rails로 스타트업을 시작한 경험을 LinkedIn에 공유했어요. 당시에는 “인재를 구할 수 없다”, “AI를 구현할 수 없다”, “인터랙티브한 앱을 만들 수 없다”, “결국 후회할 것”이라는 부정적인 시선이 많았다고 해요.
하지만 2년이 지난 지금, 그는 Rails가 오히려 팀의 초능력(superpower) 이 되었다고 강조했어요.
주요 내용
-
빠른 개발 속도와 유지보수성
Rails 덕분에 코드가 빠르게 작성되고, 가독성과 테스트 용이성이 뛰어나다고 해요.
-
우수한 엔지니어 영입
Mark Battersby와 Thomas Carr와 함께 팀을 꾸렸으며, AI 기능도 OpenAI와 RubyLLM 위에서 성공적으로 구축했다고 밝혔어요.
-
산업 맞춤형 AI 활용
항공 부품 유통사들이 더 적은 인원으로 더 많은 판매를 할 수 있도록 돕는 AI 기능을 개발했다고 해요.
-
풍부한 인터랙션과 낮은 자바스크립트 의존도
앱은 업계에서 가장 아름답고 인터랙티브하며, 다른 엔지니어들은 React로 만든 줄 알 정도지만 실제로는 JavaScript 사용 비율이 1% 미만이라고 해요.
-
Rails 커뮤니티의 장기적 가치
“Rails는 죽었다”라는 말이 13년간 이어졌지만, 오히려 이 인식이 Rails 스타트업에 경쟁 우위를 준다고 했어요. JavaScript나 Python으로 며칠 걸리는 작업이 Rails에서는 몇 분~몇 시간 안에 가능하다고 강조했어요.
-
Rails와 스타트업 생태계
Y Combinator 기업들도 Rails를 채택하고 있으며, Anthropic의 Claude나 Cursor 같은 도구들이 Rails의 안정적인 API 덕분에 더 쉽게 코드 생성과 리뷰를 할 수 있다고 언급했어요.
-
미래에 대한 자신감
2025년에 스타트업을 Rails로 시작하려는 사람들에게 흔들리지 말라고 조언하며, 올해에도 Ruby 기반 기업들의 IPO가 이어지고 있음을 강조했어요.
새로운 Ruby 관리 도구, rv 공개
Bundler 핵심 기여자 André Arko가 새로운 Ruby 관리 도구 rv를 발표했어요. 기존의 rvm, rbenv, bundler 등 여러 도구가 각각 역할을 나눠 담당하던 Ruby 환경 관리 방식을 하나로 통합해 더 빠르고 간편하게 만들겠다는 목표를 담고 있어요.
rv의 주요 특징
-
속도와 효율성
Rust로 구현되어 매우 빠르며, rvm install과 bundle install에 해당하는 작업을 자동으로 처리하면서도 체감 속도는 더 빠르다고 해요.
-
rv tool run과 rv tool install
npm exec이나 gem exec처럼 명령어 실행이 가능하지만, 별도의 격리된 환경에서 동작해 프로젝트 의존성과 충돌하지 않아요. 원하는 gem을 CLI 도구처럼 어디서든 사용할 수 있어요.
-
스크립트 실행 지원
.ruby-version, Gemfile, Gemfile.lock 정보를 모두 포함한 단일 스크립트를 rv run script.rb로 실행하면 필요한 Ruby와 gem을 자동으로 불러와 실행할 수 있어요.
-
언어 관리 도구(Language Manager)
단순한 버전 관리나 의존성 관리 도구가 아니라, Ruby 버전과 gem을 함께 관리하는 새로운 카테고리의 도구로 정의했어요.
개발 배경과 협업
-
Python 생태계의 uv에서 영감을 얻어 개발을 시작했다고 해요.
-
현재 Samuel Giddins(RubyGems 팀)와 Sam Stephenson(rbenv 창시자)가 팀에 합류했으며, rv는 macOS와 Ubuntu에서 Ruby 3.4.x를 1초 만에 설치할 수 있는 단계까지 구현됐다고 해요.
새로운 Gem: callback_hell
Evil Martians의 Yaroslav Markin이 Rails 애플리케이션의 콜백(callback)과 검증(validation) 을 분석하는 새로운 도구 callback_hell 을 발표했어요. 이 gem은 모델의 복잡성을 시각화하고, 리팩터링 기회를 제공해 모델을 더 깔끔하고 유지보수하기 쉽게 만들어줘요.
왜 필요할까?
Rails 앱이 커지면 콜백이 점점 얽히고 복잡해져서 관리하기 어려워져요. callback_hell은 이런 상황을 분석하고 정리할 수 있도록 도와줘요.
주요 기능
-
콜백 복잡성 시각화 → 애플리케이션 전반의 콜백 상태를 한눈에 확인
-
콜백 핫스팟 식별 → 리팩터링이 필요한 모델을 쉽게 찾을 수 있음
-
콜백 출처 추적 → 앱 코드, Rails 내부, 외부 gem에서 온 것인지 구분 가능
-
상속 및 조건부 콜백 분석 → 숨겨진 버그 가능성을 줄임
-
유연한 분석 모드 → 특정 모델, 특정 경로, 엔진 내 모델도 선택적으로 분석 가능
배경과 기여자
-
Spiritual successor로 arca gem을 잇는 프로젝트
-
Evil Martians의 Vladimir Dementyev가 아이디어와 명세를 기획
-
Jonathan Hoyt, Adam Doppelt 등의 관련 오픈소스 프로젝트 아이디어도 반영
새로운 Gem: smart_ignored_columns
Rails 개발자 Dima Fatko가 새로운 gem smart_ignored_columns를 공개했어요. 이 gem은 Active Record의 ignored_columns에 삭제 기한(deadline) 을 지정할 수 있게 해, 잊지 않고 오래된 컬럼을 정리하도록 도와줘요.
주요 기능
-
삭제 기한 설정
ignored_columns에 단순히 컬럼 이름만 추가하는 대신, remove_after 옵션으로 날짜를 함께 지정할 수 있어요.
self.ignored_columns += [
{ name: "first_name", remove_after: "2025-08-24" }
]
-
CI 통합 검사
bundle exec rake smart_ignored_columns:obsolete 명령으로 마감일이 지난 컬럼을 감지하면 에러를 발생시켜 정리를 유도해요.
-
리스트 출력
bundle exec rake smart_ignored_columns:list 명령으로 모든 무시된 컬럼과 기한을 확인할 수 있어요.
smart_ignored_columns GitHub 저장소
Rails 업데이트: 다크 모드 환영 페이지와 다양한 개선
Rails 팀이 새로운 소식을 전했어요. 이번 주에는 다크 모드 환영 페이지, 성능 향상, 새로운 에러 클래스 추가 등 여러 가지 개선이 있었어요.
주요 변경 사항
-
다크 모드 환영 페이지
첫 기여자가 Rails 환영 페이지에 다크 모드를 추가했어요.
-
Active Job 성능 개선
해시/키워드 인자를 처리할 때 불필요한 배열 및 문자열 할당을 줄여 최대 18% 성능이 향상됐어요.
-
로컬 캐시 미들웨어 업데이트 가능
애플리케이션이 실행 중 캐시 클라이언트가 변경되더라도 요청 단위의 캐시가 올바르게 작동하도록 개선됐어요.
-
PostgreSQL 전용 에러 클래스 추가
-
ActiveRecord::ExclusionViolation (배타 제약 조건 위반)
-
ActiveRecord::CheckViolation (체크 제약 조건 위반)
특정 제약 조건 오류를 더 세밀하게 처리할 수 있어요.
-
-
엔진 라우트 출력 개선
rails routes 실행 시 엔진별 라우트에 헤더가 표시돼 구분이 더 명확해졌어요.
-
이벤트 API 개선
구독 해제 기능이 추가됐어요.
Rails 코드베이스에는 이번 주에만 14명의 기여자가 참여했다고 해요.
SF Ruby 8월 밋업 @ GitHub
GitHub HQ에서 열린 SF Ruby 8월 밋업은 Ruby와 분산 시스템, AI, 테스트 최적화 등 다양한 주제를 다룬 풍성한 자리였어요. 현장 후기는 Yatish Mehta의 블로그와 Irina Nazarova의 영상으로 전해졌습니다.
주요 발표
-
Temporal Ruby SDK (Drew Hoskins)
분산 시스템에서 Durable Execution을 구현할 수 있는 Temporal의 Ruby SDK와 워크플로우 데모를 소개했어요.
-
MCP 서버 인스펙터 (Enrique Mogollan)
Ruby로 만든 MCP 서버 검사 도구를 CLI 버전으로 시연하고, 웹 UI 계획과 mcpui.dev 프로젝트를 소개했어요.
-
Foobara 프레임워크 (Miles Georgi)
명령 패턴 기반의 새로운 Ruby 프레임워크 Foobara를 공개했어요. 서비스 오브젝트 접근 방식을 더 구조화할 수 있도록 돕는다고 해요.
-
Whop CI 최적화 사례 (Irina Nazarova, Evil Martians)
테스트 로깅 비활성화와 팩토리 최적화를 통해 Whop의 CI 시간을 50% 단축한 경험을 공유했어요.
-
AI 코딩 에이전트 활용 (Sergey Karayev, Superconductor)
LLM 기반 에이전트 활용법, 효과적인 agent.md 설계, 병렬 에이전트 실행 전략, 그리고 Superconductor 플랫폼 데모가 이어졌어요.
실용적인 팁
-
테스트에서 로그 출력은 생략하기
-
외부 API 호출은 모킹(mock)으로 대체하기
-
팩토리에서 불필요한 연관 객체 생성을 피하고 재사용하기
소개된 도구
-
test-queue: parallel_tests의 대안
-
test-prof: Ruby 테스트 프로파일링 툴킷
또한 오픈 마이크 세션에서는 Yatish Mehta가 새 뉴스레터 TokenRuby를 공식 발표했고, Audrey Arco의 RV, Justin Bowen의 Active Agents 최신 기능, Miles Georgi의 Foobara 등도 소개됐어요.
Ruby Friends 앱: RailsConf에서 영감을 받은 커뮤니티 네트워킹 도구
Ruby Central이 Joe Masilotti와의 인터뷰 영상을 공개했어요. RailsConf 2025에서 영감을 얻어 탄생한 Ruby Friends 앱은 Ruby 커뮤니티의 네트워킹 방식을 새롭게 정의하려는 시도예요.
앱의 탄생과 아이디어
RailsConf 배지의 QR 코드에서 아이디어를 얻어, 사용자가 공유하고 싶은 정보만 선택해 연결할 수 있는 더 자연스러운 네트워킹 방식을 고민하다가 Ruby Friends 앱이 만들어졌어요. 단순한 연락처 교환을 넘어 관심사 기반 연결과 협업까지 확장하는 것을 목표로 하고 있어요.
기술적 특징
-
Hotwire Native 기반 개발
웹, iOS, Android에서 동시에 동작하는 앱을 한 달 만에 개발할 수 있었어요.
-
Rails + 모바일 경험의 결합
iOS 개발 경험을 Rails에 접목해 빠른 속도로 크로스 플랫폼 앱을 완성했어요.
앞으로의 계획
-
NFC 통합: QR 코드보다 더 직관적이고 빠르게 정보를 교환할 수 있도록 NFC 기능을 추가할 예정이에요.
-
커뮤니티 확장: 현재는 Ruby 커뮤니티에 집중하지만, 장기적으로는 다른 개발자 커뮤니티나 산업 분야로 확장 가능성도 열어두고 있어요.
Joe Masilotti는 오는 Rails World 2025 (암스테르담) 에서 키노트 발표를 하며 Ruby Friends 앱을 직접 활용해 참가자들과 피드백을 나눌 계획이라고 해요.
Company Spotlight: Buzzsprout—“바닐라” Ruby on Rails의 지속력
Ruby Central이 Higher Pixels/Buzzsprout의 이야기를 통해, “바닐라” Ruby on Rails로 장기적으로 성장한 사례를 소개했어요. 공동창업자 Tom Rossi는 Rails가 제품 중심 문화와 잘 맞아 빠른 출시와 지속 가능한 확장을 동시에 가능하게 했다고 강조해요.
어떻게 시작됐나
-
Higher Pixels는 1990년대 중반 클라이언트 서비스로 출발했지만, 2001년 자체 제품 회사로 전환했어요.
-
2005년 Rails(“블로그 데모”로 유명)를 접한 뒤 Tick(타임 트래킹), M Sites(비영리 웹사이트 빌더) 를 Rails로 구축했고, 교회 설교 게시 요청을 계기로 2008년 Buzzsprout(팟캐스트 호스팅) 가 탄생했어요.
Buzzsprout 오늘
-
현재 120,000+ 활성 팟캐스터가 사용 중이며, Apple/Spotify 등 주요 디렉터리 배포, Magic Mastering(오디오 클린업), CoHost AI(트랜스크립트·쇼노트·챕터 생성), IAB 인증 분석 등을 제공해요.
-
핵심 경쟁력은 기능만이 아니라 커뮤니티 친화적 지원에 있다고 해요. “기술 지원을 넘어 팟캐스터를 격려하는 역할”에 집중해요.
“바닐라 Rails” 전략
-
최신 유행 스택을 좇기보다 Rails 규약과 커뮤니티 표준에 충실하게, 코드를 단순·유지보수 가능하게 유지해 개발 속도와 품질을 확보했어요.
-
그 결과, 네이티브 iOS/Android 앱을 1년 안에 구현할 수 있었고, 기능 출시 속도에서 우위를 지켰다고 해요.
-
제품 회사답게 디자이너와 개발자 사이의 “건강한 긴장감” 을 유지해 과도한 복잡화나 사용성 저하를 막았어요.
Rails 생태계에의 환원
-
Buzzsprout는 Rails World 초기부터 스폰서로 참여했고, 올해는 루비 팟캐스터의 참석 지원과 현장 스튜디오도 마련해요.
-
기술적으로는 대규모 공개 자산(수십만 RSS·수백만 MP3) 서빙 경험을 바탕으로, 공개 파일 고성능 전송 영역에서 Rails에 기여 의지를 밝혔어요(예: API 호출 최소화, CDN 최적화, 스파이크 대응 등).
왜 지금도 Rails인가
-
Tom Rossi는 Rails가 시장 출시 속도와 장기적 확장성을 함께 주는 프레임워크라고 말해요.
-
“설정보다 관례”를 따르고 가능한 ‘바닐라’ 로 유지하면 기술 부채를 피하면서 빠르게 만들고, 오래 가는 제품을 만들 수 있다고 정리해요.