지난 글들

1162개의 글이 있습니다

루비 온 레일스 생태계: 현재와 미래, 실용적 개발 철학의 중요성

ep 30. Rails 8.1 Beta1 공개, AI 테스트부터 '모놀리스 실패 사례'까지 | 루비온레일스 최신 동향

  • Rails 8.1 베타 공개: ActiveJob::Iterations, Local CI, 마크다운 렌더링 등 개발 생산성 및 안정성 향상 기능 대거 추가.
  • RubyGems 및 Bundler의 소유권이 Ruby 코어팀으로 이관되며, 루비 생태계의 장기적 안정성과 지속 가능성을 위한 공동 관리 체계 확립.
  • 모놀리식 vs 마이크로서비스 논쟁 사례 분석을 통해 조직 문화, 점진적 진화, 비즈니스 목표 우선, 분산 시스템 복잡성 이해의 중요성 강조.
Ruby on Rails 소식지 2025년 10월 21일

Rails 8.1의 새로운 이벤트 알림 API: Rails.event.notify

Rails 8.1 new API: `Rails.event.notify(…)`

  • Rails 8.1에서 도입되는 `Rails.event.notify`는 구조화된 이벤트를 발행하여 모니터링 및 APM 플랫폼과의 통합을 간소화합니다.
  • 기존 `ActiveSupport::Notifications`의 파편화된 사용 방식과 상용구 코드를 줄이고, 일관된 이벤트 계측 표준을 제공합니다.
  • 이 새로운 API는 Datadog, AppSignal 등과의 연동을 용이하게 하며, 애플리케이션의 AI 및 데이터 웨어하우스 준비를 돕습니다.
FastRuby.io 2025년 10월 21일

Warbler를 활용한 Ruby 앱 패키징: 단일 JAR 파일로 모든 종속성 포함하기

Packaging Ruby Apps with Warbler: Executable JAR Files – Charles Oliver Nutter – Java, Ruby, and JVM guy trying to make sense of it all

  • Warbler는 JRuby 환경에서 Ruby 애플리케이션과 모든 종속성을 단일 실행 가능한 JAR 또는 배포 가능한 WAR 파일로 패키징하는 도구입니다.
  • 이 도구는 Ruby 코드 사전 컴파일(바이트코드) 기능을 제공하여 지적 재산권을 보호하고, Java의 "Write Once, Run Anywhere" 이점을 Ruby 앱에 적용합니다.
  • `warble` 명령어를 통해 Ruby 유틸리티를 JRuby 런타임 및 모든 Gem 종속성을 포함하는 독립 실행형 JAR 파일로 손쉽게 생성할 수 있습니다.
The Awesome Ruby 2025년 10월 21일
  • Ruby Central이 RubyGems 및 Bundler 프로젝트의 오랜 유지보수 담당자들의 GitHub 권한을 회수하며 '적대적 인수' 논란이 발생했습니다.
  • Ruby Central은 공급망 보안 강화를 이유로 들었으나, 이전 유지보수 담당자들은 자금 문제와 주요 스폰서(Shopify)의 압력 때문이라고 주장하며 gem.coop이라는 대체 서비스를 준비 중입니다.
  • 논란 끝에 RubyGems와 Bundler 저장소 소유권은 Ruby 코어 팀으로 이전되었으나, 기존 유지보수 담당자들은 이 과정에서 배제되었다고 밝히며 커뮤니티 내 불신이 깊어지고 있습니다.
HackerNews 2025년 10월 20일

Papercraft 3.0 출시

Papercraft 3.0 Released - Noteflakes

  • Papercraft 3.0은 템플릿 렌더링을 위한 새로운 API를 도입하여 `Proc` 확장 문제를 해결하고, `Papercraft` 모듈의 싱글톤 메서드를 통해 명시적인 함수형 스타일을 강화했습니다.
  • XML 렌더링 지원이 개선되어 `Papercraft.xml`을 통한 XML 템플릿 처리 및 자체 닫힘 태그 생성이 가능해졌으며, `Papercraft::Template` 클래스도 간소화되었습니다.
  • 향후 자동 인라이닝 기능 도입을 통해 복잡한 HTML 구성 시 렌더링 성능 저하 문제를 해결할 계획이며, AST 변형 및 결합을 통해 이를 구현할 예정입니다.
Hotwire Weekly 2025년 10월 20일
  • Open Graph 이미지는 소셜 미디어 공유 시 콘텐츠의 시각적 매력을 결정하는 핵심 요소이며, Rails 애플리케이션에서 Ruby를 통해 자동 생성할 수 있습니다.
  • MiniMagick Gem을 사용하여 ImageMagick의 강력한 기능을 활용해 프로그래밍 방식으로 이미지를 생성할 수 있으나, CSS 기반 레이아웃은 복잡합니다.
  • Ferrum Gem과 헤드리스 브라우저를 활용하면 HTML/CSS 기반으로 Open Graph 이미지를 유연하게 생성할 수 있으며, Active Storage와 Active Job을 통해 자동화됩니다.
HackerNews 2025년 10월 20일

InvoicePrinter 새 버전 출시: QR 코드 및 Ruby 3.4 지원 추가

InvoicePrinter 2.5 with QR images and Ruby 3.4 support

  • InvoicePrinter 라이브러리에 QR 코드 이미지 삽입 기능이 추가되어 문서 활용성이 향상되었습니다.
  • Ruby 3.4 버전 지원이 공식적으로 추가되어 3.1부터 3.4까지의 Ruby 환경에서 안정적인 사용이 가능합니다.
  • 새로운 기여자 Simon Neutert의 참여로 프로젝트 커뮤니티가 확장되었습니다.
HackerNews 2025년 10월 20일
  • 루비의 반복문은 단순한 '루프'가 아닌 '메시지 패싱' 패러다임에 기반하며, 객체가 메시지에 응답하는 방식입니다.
  • Smalltalk에서 영감을 받은 루비는 '구문보다는 프로토콜'을 중시하며, `for` 루프는 이러한 루비의 본질적인 철학과 상이합니다.
  • `.times`, `.each`와 같은 메서드 호출은 객체에 반복의 의미를 직접 부여하고 객체 자율성을 강조하는 루비다운 방식입니다.
HackerNews 2025년 10월 20일
  • CTE(Common Table Expressions) 내에서 `Arel::Nodes::BoundSqlLiteral`을 지원하여 SQL 리터럴 처리 기능이 확장되었습니다.
  • `bin/rails console` 실행 시 `bin/rails dbconsole`과 유사하게 도움말 사용법 힌트가 표시되도록 개선되었습니다.
  • `has_secure_token` 헬퍼에 `prefix` 옵션이 추가되어 생성되는 토큰에 사용자 정의 접두사를 쉽게 적용할 수 있게 되었습니다.
This Week in Rails 2025년 10월 20일

Ruby Butler: RubyGems와 Bundler 재고의 시간

Ruby Butler: It's Time to Rethink RubyGems and Bundler

  • Ruby Butler는 RubyGems와 Bundler의 정체된 혁신을 극복하고, 현대적인 개발 경험을 제공하기 위한 새로운 Ruby 환경 관리 및 프로젝트 스크립트 실행 도구입니다.
  • `uv`와 `package.json`에서 영감을 받아, Ruby Butler는 임시적이고 격리된 환경에서 Ruby 버전을 자동으로 관리하고, `rbproject.toml`을 통해 프로젝트별 스크립트를 정의하여 개발 워크플로우를 간소화합니다.
  • Rust로 구현된 Ruby Butler는 기존 Ruby 설정과 충돌 없이 작동하며, `bundle exec` 없이 명령어를 실행하고, Bundler 환경을 자동으로 설정하는 등 개발자 경험을 크게 향상시키지만, 아직 프로덕션 사용은 권장되지 않습니다.
HackerNews 2025년 10월 19일

hokusai pocket: 휴대용 앱 및 게임 개발 프레임워크

Show HN: Hokusai Pocket (WIP) – Portable GUIs with MRuby

  • hokusai pocket은 Ruby 기반으로 휴대용 앱 및 게임을 개발하기 위한 프레임워크로, mruby, Raylib, tree-sitter를 통합합니다.
  • C 컴파일러와 Ruby/Rake 환경에서 작동하며, `hokusai-pocket new` 명령어로 프로젝트를 설정하고 다양한 타겟 시스템을 위한 빌드를 지원합니다.
  • 애플리케이션 백엔드는 `Hokusai::Backend`를 통해 설정되며, 폰트 등록 및 `require_relative`와 같은 Ruby 기능을 활용합니다.
HackerNews 2025년 10월 19일
  • Ruby 공식 문서에 쿼리 파라미터 기반 검색 기능이 도입되어, 오래된 서드파티 문서 대신 최신 정보를 직접 검색할 수 있게 되었습니다.
  • Kagi Search의 '!rb' 뱅(bang) 기능과 Firefox, Chrome 브라우저의 사용자 정의 검색 단축키 설정을 통해 공식 문서에 빠르게 접근할 수 있습니다.
  • 이 개선 사항은 부정확한 외부 문서로 인한 사용자 불편을 해소하고, Stan Lo가 검색 결과 품질 향상 작업을 진행 중입니다.
HackerNews 2025년 10월 19일
  • Rails 폼에서 Stimulus를 활용하여 필드 변경 시 자동 제출을 구현하고, Turbo Frames 및 Streams로 페이지의 특정 영역만 동적으로 업데이트하는 방법을 시연합니다.
  • 폼 외부에 위치한 버튼이 `form` 속성을 통해 폼을 제출하고, `formaction`, `formmethod`로 제출 URL과 방식을 유연하게 변경하는 HTML 표준 활용법을 소개합니다.
  • `data-turbo-action`을 사용하여 Turbo 기반의 비동기 폼 제출 시 브라우저 URL을 업데이트하고, GET 요청 시 민감 정보 로깅 및 Enter 키 제출 동작에 대한 주의사항을 강조합니다.
Ruby Australia 2025년 10월 18일

면접 코딩 챌린지에서 RSpec 테스트 실패를 겪은 이야기

How trustworthy is Rspec? How I Fell into an RSpec Pitfall - Chenxu Zhao

  • RSpec 테스트가 `SystemExit`로 인해 중간에 종료되어 모든 테스트가 실행되지 않는 문제 발생.
  • `initialize` 메서드 내 `super` 호출과 광범위한 `rescue ArgumentError`가 `exit(1)`을 유발하여 RSpec의 비정상 종료를 초래.
  • RSpec 테스트의 신뢰성을 높이기 위해 테스트 순서 무작위화, 터미널 종료 코드 표시, CI/CD 설정 도입을 권장.
Ruby Australia 2025년 10월 18일
  • Ruby Central이 RubyGems와 Bundler 저장소 소유권을 Ruby 핵심 팀에 이전했으나, 이는 이전 유지보수 담당자들의 통제권을 회복시키지 못했습니다.
  • 이전 유지보수 담당자들은 Ruby Central의 조치를 '적대적 인수'로 규정하며, 재정적 어려움과 Shopify의 영향력에 대한 의혹을 제기했습니다.
  • Ruby 핵심 팀이 안정성을 위해 프로젝트 관리를 맡지만, Ruby Central과의 협력을 지속하며 커뮤니티 내 갈등은 여전히 해소되지 않은 상태입니다.
HackerNews 2025년 10월 18일