Hanami 2.3 출시: Rack 3 지원 및 리소스 라우팅 도입으로 개발 경험 대폭 향상

Hanami 2.3: Racked and Ready

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

핵심 요약

  • 1 Hanami 2.3은 Rack 3 지원을 통해 최신 웹 표준을 따르며, Rack 2와의 호환성도 유지하여 유연한 환경을 제공합니다.
  • 2 리소스 라우팅(`resources :books`)의 재도입으로 RESTful API 설정을 간소화하고, 라우팅의 전반적인 성능과 유연성을 개선했습니다.
  • 3 `hanami new` Git 초기화, `bin/setup` 스크립트, `hanami console` 커스터마이징 등 개발자 경험(DX)을 위한 수십 가지 개선 사항이 포함되었습니다.

도입

Hanami 프레임워크가 Rack 3 지원, 리소스 라우팅 재도입, 그리고 수많은 개발 편의성 개선을 담은 Hanami 2.3 버전을 공식 발표했습니다. 이번 릴리스는 Hanami를 활용한 애플리케이션 개발을 그 어느 때보다 원활하게 만들며, 개발자들이 최신 웹 기술을 쉽게 도입하고 효율적으로 작업할 수 있도록 지원하는 데 중점을 두었습니다. 특히 Rack 2와 3를 모두 지원하여 기존 사용자들의 전환 부담을 줄였습니다.

Hanami 2.3은 핵심적으로 Rack 3 지원과 리소스 기반 라우팅을 통해 프레임워크의 기반을 강화했습니다.

Rack 3 지원 강화

  • Hanami는 이제 Rack 2와 3를 모두 지원하여 개발 환경의 유연성을 높였습니다.

  • Rack 3로의 업그레이드를 권장하며, Hanami는 주요 변경 사항을 자동으로 처리합니다.

  • 사용자는 Rack 요청/응답 세부 사항을 다루는 경우에만 애플리케이션 코드 업데이트가 필요할 수 있습니다.

간소화된 라우팅 및 요청 처리

  • 리소스 라우팅 재도입: 기존의 여러 줄의 RESTful 라우팅 설정을 resources :books 한 줄로 대체하여 코드를 대폭 간소화했습니다. 이는 사용자 정의, 중첩, 스코프 및 일반 라우트와의 결합이 가능합니다.

  • 라우터 성능 향상: 대규모 라우트 환경에서 라우터 런타임 성능이 크게 개선되었습니다.

  • 자동 요청 본문 파싱: Multipart 폼과 JSON 요청 본문이 기본적으로 파싱됩니다.

  • 라우트 스코프 및 이름: 라우트 스코프에 사용자 정의 이름 접두사를 부여하고, 스코프 접두사보다 우선하는 접두사로 라우트 이름을 지정할 수 있습니다.

  • 보안 및 네트워크: `Request

subdomains를 통해 서브도메인 접근이 가능하며 TLD 길이를 설정할 수 있습니다. CSP에 'nonce'를 추가하면 스크립트 및 스타일시트 태그에 자동으로 nonce가 추가됩니다. CSRF 토큰은 요청 파라미터 외에 X-CSRF-Token` 헤더에서도 로드됩니다.

개발자 경험(DX) 개선 사항

  • hanami new: 새 앱 생성 시 Git 저장소를 자동으로 초기화하며, --skip-view--gem-source 옵션을 제공합니다.

  • 새 앱 구성: 유용한 bin/setup 스크립트와 개선된 README, bundle exec 없이 bin/hanami를 호출할 수 있는 binstub이 포함됩니다.

  • 데이터베이스 관리: hanami db rollback 명령으로 데이터베이스 마이그레이션을 쉽게 롤백할 수 있습니다.

  • 콘솔 커스터마이징: config.console.include MyModule을 통해 hanami console에 사용자 정의 모듈을 포함할 수 있으며, config.console.engine = :pry로 Pry를 기본 콘솔 엔진으로 설정할 수 있습니다.

  • 콘솔 부팅: 부팅되지 않은 앱/슬라이스 키 접근 시 경고가 표시되며, hanami console --boot으로 앱을 미리 부팅할 수 있습니다.

  • 자동 작업 로딩: 기본 Rakefile이 lib/tasks/에서 사용자 정의 작업을 자동으로 로드합니다.

  • 뷰 로직: 뷰 컨텍스트 클래스가 기본으로 생성되어 사용자 정의 뷰 로직을 쉽게 배치할 수 있습니다.

  • 슬라이스별 생성: 슬라이스 디렉토리 내에서 hanami generate command를 실행하면 해당 슬라이스를 자동으로 대상으로 합니다.

결론

Hanami 2.3은 Rack 3 지원을 통한 현대적인 기반 구축과 리소스 라우팅의 재도입으로 개발 편의성을 극대화한 중요한 릴리스입니다. 수많은 개발자 경험 개선 사항들은 Hanami를 처음 사용하는 사용자부터 숙련된 개발자까지 모두에게 더욱 효율적이고 즐거운 개발 환경을 제공합니다. 간소화된 시작 가이드와 활발한 커뮤니티 지원을 통해 Hanami 2.3은 새로운 프로젝트를 시작하거나 기존 애플리케이션을 업그레이드하기에 최적의 시기임을 강조합니다.

댓글 0

댓글 작성

댓글 삭제 시 비밀번호가 필요합니다.

이미 계정이 있으신가요? 로그인 후 댓글을 작성하세요.

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

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