SF Ruby 컨퍼런스 및 커뮤니티 활동
- SF Ruby Conference (sfruby.com): 11월에 샌프란시스코 Fort Mason에서 약 600명의 Ruby 개발자들이 모여 ‘Ruby for Startups’를 주제로 컨퍼런스가 개최될 예정입니다. 풀 스케줄이 공개되었으며, 새로운 오픈 소스, 스타트업 스케일링 사례, CTO 패널, Ruby 스타트업 데모, 그리고 Inertia Rails, Active Agent, Rails 내부, Ruby 타입 시스템 워크숍이 포함됩니다.
- Temporal Ruby SDK: Temporal의 공식 Ruby SDK가 올해 출시되었으며, Stripe 등 다수의 기업에서 활용되고 있습니다. 기존 커뮤니티 빌드 SDK보다 확장성과 효율성이 향상되었습니다.
Temporal: 내구성 있는 실행(Durable Execution)
- 개념: 코드를 크래시 방지(crash-proof) 및 복원력(resilient) 있게 만들어 분산 시스템의 복잡성을 줄이는 기술입니다. 애플리케이션의 상태를 기록하여 오류 발생 시 중단된 지점부터 재개할 수 있도록 합니다.
- 주요 기능: 자동 재시도, 큐 관리, 암묵적 상태 추적, 타이머, 코드 우선(code-first) 접근 방식, 개발자 친화적인 SDK를 제공합니다.
- 데모: 로컬 서버에서 워커 중단, 서버 크래시, 코드 버그 발생 시에도 Temporal이 어떻게 워크플로우를 자동으로 복구하고 재개하는지 시연되었습니다.
MCP (Model Context Protocol) Inspector in Ruby
- MCP란? 파운데이션 모델(Foundation Models)이 서로 또는 외부 도구와 통신하는 표준 방식으로, 도구, 리소스, 프롬프트를 통해 모델이 외부 정보에 접근할 수 있도록 돕습니다.
- Ruby 구현:
fastmcp
와 공식model_context_protocol
Ruby SDK를 사용하여 MCP 서버를 구축하고,open3
(표준 입출력), Faraday (HTTP), Rack 스트림 (스트림 가능 HTTP)을 활용하여 전송 계층을 구현하는 과정을 설명했습니다. - CLI 데모: Ruby로 개발된 MCP Inspector CLI를 통해 MCP 서버의 도구를 나열하고 실행하는 과정을 시연했습니다.
- 향후 계획: 웹 인터페이스 개발, Rails 호환성 확보, MCP UI 웹 컴포넌트 지원 등이 논의되었습니다.
오픈 마이크 세션 주요 발표
- Llama Press (Cody): Ruby on Rails 앱을 구축하는 오픈 소스 챗봇 에이전트를 소개하며, Rails가 비전통적인 개발자들에게도 접근성을 높일 기회임을 강조했습니다.
- Token Ruby (Yatish): AI와 Ruby의 조합에 초점을 맞춘 주간 뉴스레터
tokenruby.com
을 소개했습니다. - Describe AI (Cole Robertson): Rails와 Inertia.js, React를 결합하여 3D 컴퓨터 비전 기반의 재고 관리 플랫폼을 구축한 사례를 공유했습니다.
- Cactus (Avin): 중소기업을 위한 음성/텍스트 AI 플랫폼을 개발 중이며, 시니어 Rails 엔지니어를 채용 중이라고 밝혔습니다.
- Spinel Cooperative (Andre Arco): Ruby 오픈 소스 유지보수자들의 협동조합을 소개하며, 매우 빠른 Ruby 버전 관리 도구
RV
를 시연했습니다. - Active Agents (Justin Bowen): AI 에이전트 개발을 위한
Active Agents
Gem의 최신 릴리스(0.6)와 새로운 기능들을 발표했습니다. 또한SuperForm
이라는 Rails 폼 헬퍼 Gem을 소개하며 강력한 파라미터 자동 처리를 강조했습니다. - Ruby Central (Renon Payne): Ruby 언어와 생태계의 인간적인 이야기를 담은 책을 집필할 계획을 공유하며, 협력 파트너를 찾고 있다고 밝혔습니다.
- Fubara (Miles Georgie): 복잡한 도메인을 다루는 명령 중심(command-centric) 및 발견 가능(discoverable) 시스템 구축을 위한 프레임워크
Fubara
를 소개했습니다. Ruby를 선택한 이유와 프레임워크의 핵심 개념을 설명했습니다.
Ruby 테스트 스위트 최적화 (Evil Martians)
- 문제점: 느린 CI 테스트 스위트는 흔한 문제이며, 특히 대규모 Rails 앱에서 발생합니다.
- 해결책:
- 로깅 비활성화: 테스트 환경에서 로깅(기본 로거 및 Sentry 커스텀 로거 포함)을 비활성화하여 CI 시간을 50% 단축하는 놀라운 효과를 시연했습니다.
- Factory Bot 최적화:
Test Prof
의 Factory Prof를 사용하여 팩토리 생성 현황을 분석하고,let_it_be
를 활용한 데이터 재사용 및create_default
를 통한 재사용 가능한 연관 관계 생성을 통해 팩토리 생성을 최적화했습니다. - 병렬화 개선:
parallel_tests
대신 개별 테스트 단위로 병렬화를 수행하는Test Queue
로 전환하여 더 공정한 테스트 분배를 시도했습니다. - 불안정한 테스트(Flaky Tests) 해결:
Test Queue
전환 후 드러난 불안정한 테스트 문제에 대한 해결 과정이 언급되었으며, 이는 단순한 도구 적용을 넘어선 심층적인 분석과 개선이 필요함을 시사했습니다.