지난 글들
1256개의 글이 있습니다
Hotwire Native의 미래 지향성: iOS 업데이트에 코드 변경 없이 대응
Hotwire Native is extremely future proof | Paagman.dev
- Hotwire Native 앱은 iOS 26의 'liquid glass'와 같은 대규모 UI 변화에 코드 변경 없이 대응하여 미래 지향적입니다.
 - Xcode 업데이트 및 재빌드만으로 앱이 최신 iOS 디자인과 애니메이션을 자동으로 반영하여 사용자는 항상 최신 경험을 누릴 수 있습니다.
 - Hotwire Native는 Rails 앱과 네이티브 앱을 결합하는 최적의 방법으로, 웹 앱 변경사항과 플랫폼 업데이트가 자동으로 적용되어 개발 효율성을 극대화합니다.
 
        
          
                   Hotwire Weekly
        
        
          
          2025년 09월 16일
        
      
    Rails의 `cycle` 활용: 뷰를 위한 숨겨진 보석
Unlocking Rails cycle: A Hidden Gem for Views
- `cycle`은 Rails 뷰에서 값을 순환하며 반복적인 UI 패턴을 간결하게 처리하는 ActionView 헬퍼입니다.
 - 테이블 행 색상 교차, 특정 값 순환, 제한된 데이터로 레이아웃 테스트 등 다양한 상황에서 활용됩니다.
 - `name:` 옵션으로 독립적인 사이클을 관리하고, 현대 CSS와 상호 보완적으로 사용하여 뷰 로직을 간소화할 수 있습니다.
 
        
          
                   Hotwire Weekly
        
        
          
          2025년 09월 16일
        
      
    Ruby on Rails 개발자를 위한 추가적인 일상 성능 규칙
More everyday performance rules for Ruby on Rails developers - RorVsWild
- 뷰 렌더링 시 루프 내 파셜 호출 대신 컬렉션 렌더링 및 캐싱을 활용하여 ActionView 조회 및 계측 오버헤드를 줄여 성능을 향상시킵니다.
 - 대량 데이터 처리 및 백그라운드 작업 시 `insert_all`, `activerecord-import`, Redis 파이프라이닝, `ActiveJob.perform_all_later`를 통해 데이터베이스 왕복 횟수와 작업 큐잉 시간을 최소화합니다.
 - 작은 파셜 사용을 지양하고, 모델 메서드에서 관계 반환 방식을 최적화하며, 정렬된 배열에서 `Array#bsearch`를 활용하여 애플리케이션 전반의 효율성을 높입니다.
 
        
          
                  Ruby Weekly
        
        
          
          2025년 09월 16일
        
      
    Rails 애플리케이션에서 Canonical URL을 추가하는 방법
Canonical URLs in Rails applications - Avo
- Canonical URL은 중복/유사 콘텐츠 문제를 해결하고 링크 자산(link equity)을 통합하여 검색 엔진 최적화(SEO)에 필수적입니다.
 - Rails 애플리케이션에서 Canonical URL은 `meta-tags` 젬을 활용하거나 수동으로 `<link rel="canonical">` 태그를 추가하여 설정할 수 있습니다.
 - 페이지네이션, 제품 variants, 필터링, 다국어 콘텐츠 등 시나리오별로 적절한 Canonical URL 설정 전략을 통해 크롤링 예산을 효율적으로 관리해야 합니다.
 
        
          
                  The Awesome Ruby
        
        
          
          2025년 09월 16일
        
      
    Ruby 3.4.6 릴리스
Ruby 3.4.6 Released
- Ruby 3.4.6 버전이 버그 수정을 포함한 정기 업데이트로 공식 릴리스되었습니다.
 - 현재 안정 버전인 Ruby 3.4 계열은 두 달 간격으로 정기적인 업데이트가 예정되어 있으며, 3.4.7은 11월, 3.4.8은 1월에 예정되어 있습니다.
 - GitHub 릴리스 노트를 통해 상세한 변경 사항을 확인할 수 있으며, 다양한 형식의 다운로드 링크와 체크섬 정보가 제공됩니다.
 
        
          
                  Ruby-Lang
        
        
          
          2025년 09월 16일
        
      
    루비(Ruby)의 차세대 가비지 컬렉터: MMTk 통합의 도전과 해결책
Reworking Memory Management in CRuby
- 호주국립대학교(ANU)와 Shopify는 Ruby에 고성능 가비지 컬렉터 프레임워크인 MMTk를 통합하여 차세대 GC를 개발 중입니다.
 - MMTk 통합 과정에서 객체 이동(Copying GC) 및 병렬 파이널라이제이션 성능 저하 문제가 발생했으며, PPP(Potentially Pinning Parents) 개념 도입과 malloc 사용 회피로 해결했습니다.
 - MMTk는 Ruby의 기본 GC보다 훨씬 정교한 다양한 GC 알고리즘을 제공하며, 이를 통해 Ruby의 메모리 관리 성능을 크게 향상시킬 잠재력을 가지고 있습니다.
 
        
          
                  Rails at Scale
        
        
          
          2025년 09월 16일
        
      
    Bridgetown 2.0 '리버 시티' 출시!
Good Times in River City: Bridgetown 2.0 is Here! | Bridgetown
- Bridgetown 2.0 'River City'가 출시되어 정적 사이트부터 풀스택 애플리케이션까지 아우르는 Ruby 웹 프레임워크로서의 입지를 강화했습니다.
 - ERB 기본 템플릿, Ruby 3.1.4 및 Node 20.6 최소 요구사항, esbuild 중심의 현대적인 프론트엔드 빌드 시스템으로 개발자 경험이 크게 향상되었습니다.
 - Fast Refresh, Roda 통합 강화, Streamlined 라이브러리 도입, Foundation Gem을 통한 Active Support 의존성 감소 등 핵심 기능들이 업데이트되었습니다.
 
        
          
                  The Awesome Ruby
        
        
          
          2025년 09월 16일
        
      
    RSpec과 함께하는 레일즈 테스팅 서적 2025년 9월 업데이트
Everyday Rails Testing with RSpec Updated
- "Everyday Rails Testing with RSpec" 최신판이 Leanpub에 출시되었으며, 기존 구매자에게는 무료 업데이트가 제공됩니다.
 - 2024년 봄부터 약 1년 반에 걸쳐 거의 모든 내용이 대대적으로 개편되어 현대적인 테스트 접근 방식과 철학을 반영합니다.
 - 파일 업로드, 이메일 전송, 백그라운드 작업, 커버리지 측정 등 "나머지 테스트" 챕터가 재작성되었고, TDD 챕터 및 연습 문제가 추가되었습니다.
 
        
          
                  HackerNews
        
        
          
          2025년 09월 16일
        
      
    Bridgetown 서버 렌더링 라우트
Server-Rendered Routes | Bridgetown
- Bridgetown은 Rack, Puma, Roda를 기반으로 강력한 서버 렌더링 라우트 및 SSR 기능을 제공하여 정적 사이트 생성과 동적 콘텐츠 제공을 결합합니다.
 - `bridgetown-routes` 플러그인을 통해 파일 기반의 동적 라우트와 템플릿을 손쉽게 정의할 수 있으며, URL 플레이스홀더를 지원하여 유연한 라우팅이 가능합니다.
 - `Bridgetown::RodaCallable` 믹스인을 활용한 호출 가능 객체 및 Viewable 컴포넌트를 사용하여 라우트 블록 내에서 모델, 리소스, 커스텀 객체를 객체 지향적으로 렌더링할 수 있습니다.
 
        
          
                  Ruby Weekly
        
        
          
          2025년 09월 16일
        
      
    Rails World 2025 회고 - 모든 강연 영상 온라인 공개!
Rails World 2025 Recap - All talks now online!
- Rails World 2025의 모든 강연 영상이 온라인에 공개되어 참석하지 못한 개발자들도 최신 Rails 소식을 접할 수 있게 되었습니다.
 - DHH의 Rails 8.1 베타 발표, Hotwire Native 소개, Ruby 핵심 개발자들의 대담 등 다양한 키노트와 Rails at Scale Summit이 진행되었습니다.
 - 814명의 개발자가 참여한 이번 행사에서는 기술 세션 외에도 Ruby Embassy, Ruby Phone 등 독특한 즐길 거리가 제공되었으며, 다음 행사는 2026년 오스틴에서 개최될 예정입니다.
 
        
          
                  RubyOnRails
        
        
          
          2025년 09월 15일
        
      
    Rails 앱 스케일링: 레시피는 Ruby로 유지하고, 주방 도구는 Go, C, Rust로 업그레이드
Baking with Rails at scale: recipes in Ruby, cookware from Go, C, and Rust
- Rails 앱의 비즈니스 로직은 Ruby로 유지하고, 성능 병목 구간의 CPU 집약적 작업은 Go, C, Rust 등 고성능 언어로 개발된 외부 도구에 위임하여 스케일링합니다.
 - Rails의 기존 확장 포인트를 활용하여 외부 도구를 통합하고, 해당 도구는 비즈니스 로직을 알 필요 없이 순수하게 작업 실행에만 집중하도록 설계해야 합니다.
 - imgproxy, Playbook.com의 클라우드 처리, AnyCable 등 실제 사례를 통해 Rails의 생산성을 유지하면서 성능을 향상시키는 전략을 제시합니다.
 
        
          
                  Evil Martians
        
        
          
          2025년 09월 15일
        
      
    Active Job 및 Turbo Broadcast Later를 위한 ViewComponent 직렬화
Serializing ViewComponent for Active Job and Turbo broadcast later | Island94.org
- ViewComponent를 Active Job 및 Turbo Broadcast Later와 연동하여 Hotwire 컴포넌트의 백그라운드 업데이트를 구현하는 방법을 제시합니다.
 - ViewComponent 인스턴스를 Active Job에서 직렬화하기 위해 `serializable` 클래스 메서드와 `ViewComponent::Serializable` 모듈을 개발하여 초기화 인수를 저장합니다.
 - Active Job 커스텀 Serializer를 통해 ViewComponent 객체를 직렬화하고, 백그라운드 작업에서 재구성하여 렌더링할 수 있도록 지원합니다.
 
        
          
                   Hotwire Weekly
        
        
          
          2025년 09월 14일
        
      
    Active Job 및 Turbo Broadcast Later를 위한 ViewComponent 직렬화
Serializing ViewComponent for Active Job and Turbo Broadcast Later
- ViewComponent를 Active Job의 `broadcast_action_later_to`와 연동하기 위한 직렬화 방안이 제시되었습니다.
 - ViewComponent의 `initialize` 메서드 제약으로 인해 `serializable` 클래스 메서드와 커스텀 `ViewComponentSerializer`를 활용한 해결책이 제안되었습니다.
 - Hotwire 컴포넌트의 비동기적 백그라운드 갱신을 가능하게 하여 DOM ID 및 스트림 타겟 관리의 복잡성을 줄이는 것이 핵심 목표입니다.
 
        
          
                  Island94.org
        
        
          
          2025년 09월 14일
        
      
    Ruby 3.5의 Ractor와 ZJIT: 병렬 처리 및 성능 최적화를 위한 새로운 지평
Aaron Patterson - Rails World 2025 Closing Keynote
- Ruby 3.5에서는 Ractor를 통해 CPU 바운드 작업을 위한 진정한 병렬 처리를 제공하며, 이는 기존 C 확장과 유사하게 GVL을 해제하는 'No GVL 블록'처럼 활용될 수 있습니다.
 - 새로운 JIT 컴파일러인 ZJIT은 메서드 기반 접근 방식을 통해 단일 코어 성능을 향상시키며, JIT 친화적인 코드를 작성하기 위해 호출 사이트 단형화(monomorphization)와 일관된 인스턴스 변수 설정이 중요합니다.
 - Ractor 내부의 전역 해시 테이블 잠금 경합 문제 해결 및 객체 할당 속도 70% 개선 등, Ruby 3.5는 상당한 성능 향상을 제공하여 즉각적인 업그레이드가 권장됩니다.
 
        
          
                  HackerNews
        
        
          
          2025년 09월 13일
        
      
    Ruby on Rails에서 n+1 쿼리 문제 이해하기
Understanding n+1 query problems in Ruby on Rails
- n+1 쿼리는 웹 애플리케이션에서 흔히 발생하는 성능 저하 요인으로, 데이터베이스 자원 소모 및 응답 시간 증가를 유발합니다.
 - n+1 쿼리 문제는 코드의 특정 패턴(반복문, 계층 분리, 메타 프로그래밍, Law of Demeter 위반, Delegate 패턴)으로 인해 발생하며, 코드만으로는 식별하기 어렵습니다.
 - n+1 쿼리 최적화는 애플리케이션 로그 분석과 SLO, 캐싱 전략, 실제 성능 벤치마킹을 고려하여 신중하게 결정해야 합니다.
 
        
          
                  HackerNews
        
        
          
          2025년 09월 12일