Rails 주간 소식: 2025년 11월 7일자

Keep your passwords secure, one way or the other

작성자
발행일
2025년 11월 07일

핵심 요약

  • 1 has_secure_password에 Argon2 알고리즘 지원 및 컬렉션 렌더링 시 블록 사용 기능 추가 등 Rails의 주요 기능이 개선되었습니다.
  • 2 Rails 엔진 가이드 업데이트, 국제 문자 humanize 지원, PostgreSQL 시간 범위 처리 개선 등 다양한 버그 수정 및 내부 최적화가 이루어졌습니다.
  • 3 Active Record의 QueryIntent 객체 도입으로 exec_update 등의 메서드가 update 등으로 대체되며 내부 구조가 개선되었습니다.

도입

Claudio Baccigalupo가 2025년 11월 7일자 Rails 주간 업데이트 소식을 전합니다. 이번 호에서는 Rails 코드베이스에 적용된 주요 변경 사항들을 상세히 다루고 있습니다. 특히, has_secure_password 기능 강화, Rails 엔진 가이드의 전면 개편, Active Record 내부 개선을 포함하여 개발 생산성과 안정성을 높이는 다양한 업데이트와 버그 수정이 이루어졌습니다. 이는 Rails 애플리케이션의 보안, 성능, 개발 편의성을 향상시키는 데 기여할 것으로 기대됩니다.

이번 주 Rails 코드베이스에는 다양한 기능 개선 및 안정성 향상 업데이트가 포함되었습니다. ### 보안 및 인증 강화

  • has_secure_password 알고리즘 옵션 추가: Active Model의 has_secure_password:algorithm 옵션이 도입되어 다양한 비밀번호 해싱 알고리즘을 선택할 수 있게 되었습니다.

  • Argon2 지원: 이전 PR을 기반으로 gem "argon2"를 추가하고 has_secure_password algorithm: :argon2를 호출하여 Argon2를 사용할 수 있습니다. Argon2는 BCrypt의 72바이트 제한과 달리 비밀번호 길이에 제한이 없습니다. ### 개발 편의성 및 가이드 개선

  • 새로운 Rails Engines 가이드: 수개월간의 재작업을 거쳐 완전히 새로운 Rails Engines 가이드가 공개되었습니다.

  • humanize 국제 문자 지원: ActiveSupport::Inflector.humanize가 이제 국제 문자를 올바르게 처리하여, 예를 들어 humanize("аБВГДЕ")가 “Абвгде”를 반환합니다.

  • 컬렉션 렌더링 시 블록 사용: render @posts do |post| ... end와 같이 컬렉션을 렌더링할 때 블록을 사용할 수 있는 기능이 추가되어 뷰 로직의 유연성이 향상되었습니다. ### Active Record 및 내부 구조 최적화

  • QueryIntent 객체 도입: Active Record 내부 개선을 위해 Parameter Object: QueryIntent가 도입되었으며, 이로 인해 exec_update, exec_delete, exec_insert 메서드가 update, delete, insert로 대체됩니다.

  • Rails 8.1 스키마 캐시 역호환: Rails 8.1에서 생성된 스키마 캐시가 Rails 8.0에서 오류 없이 역직렬화될 수 있도록 변경되어 버전 호환성이 확보되었습니다.

  • 복합 기본 키 모델 중복 방지: 복합 기본 키를 가진 모델을 eager-loading할 때 `JoinDependency

instantiate`에서 발생하던 중복 레코드 반환 문제가 해결되었습니다.

### 기타 버그 수정 및 안정성 개선

  • rails new 생성 시 stylesheet_link_tag가 CSS 번들링에 맞춰 올바르게 생성되도록 수정되었습니다.

  • ActionController::StructuredEventSubscriberrescue_from_handled 백트레이스 이중 필터링 문제가 해결되었습니다.

  • PostgreSQL 시간 범위 컬럼에서 nil을 사용할 때 하한 값으로 -infinity가 올바르게 적용되도록 수정되었습니다.

  • 메일러 뷰에서 content_security_policy_nonce 관련 오류가 수정되었습니다. 이번 주 Rails 코드베이스에는 총 22명의 기여자가 참여하여 프로젝트 발전에 기여했습니다.

결론

이번 주 Rails 업데이트는 보안, 성능, 개발 편의성 등 여러 측면에서 Rails 프레임워크를 한층 더 강화했습니다. 특히 has_secure_password의 알고리즘 확장과 Argon2 지원은 애플리케이션의 보안 수준을 높이는 데 기여할 것입니다. 또한, 새로운 Rails Engines 가이드와 Active Record 내부 최적화는 개발자들이 더욱 효율적으로 Rails를 활용할 수 있도록 돕습니다. 지속적인 개선과 커뮤니티의 활발한 기여를 통해 Rails는 앞으로도 견고하고 발전적인 웹 개발 프레임워크로서의 입지를 다질 것으로 예상됩니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!