이번 주 Rails 업데이트의 주요 내용은 다음과 같습니다.
-
RailsConf 최종 개최: 2025년 7월 8일부터 10일까지 필라델피아에서 마지막 RailsConf가 개최될 예정입니다. 이번 컨퍼런스에서는 Rails의 창시자인 DHH(David Heinemeier Hansson)와의 대화 세션을 포함하여 Eileen Uchitelle (Core), Gannon McGibbon (Committers), Hartley McGuire (Issues), Matheus Richard (Triage) 등 Rails 팀의 핵심 멤버들이 강연 및 패널 토론에 참여합니다. 이는 Rails 커뮤니티에 중요한 이정표가 될 것입니다.
-
Active Job Continuations 도입: 가장 주목할 만한 변화는 Active Job Continuations 기능의 도입입니다. 이 기능을 통해 장시간 실행되는 백그라운드 작업을 중단하고 나중에 다시 시작할 수 있게 됩니다.
ActiveJob::Continuable
concern을 포함함으로써 작업을 여러 단계(steps)로 분할할 수 있으며, 큐잉 시스템이 종료될 때 작업 진행 상황을 안전하게 저장하여 중단된 지점부터 작업을 재개할 수 있습니다. 이는 특히 대규모 데이터 처리나 복잡한 비동기 작업에서 안정성과 효율성을 크게 향상시킬 것으로 기대됩니다. 예시 코드에서는ProcessImportJob
이initialize
,process
,finalize
와 같은 단계를 통해 작업을 어떻게 분할하고 진행 상황을 저장하는지 보여주며,step
메서드는 블록 형식, 커서를 포함한 형식, 그리고 메서드 참조 형식으로 사용될 수 있어 유연한 작업 흐름 제어를 가능하게 합니다. -
GitHub Actions 템플릿 개선: GitHub Actions 템플릿에서 불필요한
ruby-version
입력이 제거되었습니다.ruby/setup-ruby
액션이 기본적으로.ruby-version
파일을 먼저 시도하도록 변경되어 CI/CD 설정이 간소화되었습니다. -
리플렉션 캐시 유효성 검사 메모이제이션: 연관 관계(Association)에 대한 메타데이터를 저장하는 리플렉션 객체에 대한 캐시 유효성 검사가 성공했을 경우 이를 메모이제이션(memoize)하도록 개선되었습니다. 연관 관계는 한 번 정의되면 변경되지 않으므로, 이 개선은 불필요한 재계산을 줄여 성능 향상에 기여합니다.
-
rails-dom-testing v2.3.0 릴리스:
rails-dom-testing
라이브러리의 v2.3.0이 릴리스되었으며, 앱 통합 테스트에서 유용하게 사용될 수 있는 새로운 어설션assert_not_dom
이 추가되었습니다. -
기여 현황: 지난주 Rails 코드베이스에 총 10명의 기여자가 참여하여 지속적인 개발에 기여했습니다.