루비 온 레일즈 Active Job을 위한 Solid Queue: 데이터베이스 기반의 새로운 백엔드 시스템

Rosa Gutiérrez - Solid Queue internals, externals and all the things in between - Rails World 2024 - YouTube

  • Solid Queue는 Rails 8의 Active Job 기본 백엔드로, 관계형 데이터베이스를 활용하여 기존 시스템의 한계를 극복합니다.
  • `SELECT FOR UPDATE SKIP LOCKED`와 최적화된 테이블 구조를 통해 대규모 작업 처리 시 동시성 문제를 해결하고 효율적인 폴링을 구현합니다.
  • Hey.com에서 하루 2천만 건 이상의 작업을 안정적으로 처리하며 프로덕션 환경에서의 견고함과 성능을 입증했습니다.
Unknown 2024년 11월 02일

Ruby on Rails를 활용한 PWA(Progressive Web App) 구축 가이드

Emmanuel Hayford - Progressive Web Apps for Rails developers - Rails World 2024 - YouTube

  • PWA는 오프라인 지원, 푸시 알림, 캐싱을 통해 사용자 경험을 향상시키며, 앱 스토어 검토 없이 배포 가능한 웹 애플리케이션입니다.
  • Rails 8은 PWA 구축을 위한 Manifest 파일, 서비스 워커, 보안 컨텍스트 설정을 기본적으로 지원합니다.
  • 서비스 워커와 Cache API를 활용하여 오프라인에서 정적 파일을 제공하고, Background Sync API와 IndexDB를 통해 오프라인 데이터 전송 기능을 구현할 수 있습니다.
Unknown 2024년 11월 02일

강력한 프로그래머를 위한 Rails: 'Better with Becky' 개발 사례

Justin Searls - The Empowered Programmer - Rails World 2024 - YouTube

  • 저스틴은 Rails World에서 마지막 강연을 통해 Rails가 단독 개발자를 어떻게 지원하는지 'Better with Becky' 앱 개발 사례를 들어 설명합니다.
  • 그는 용기, 탄력성, 효율성, 능숙함, 규율, 꼼꼼함이라는 여섯 가지 '강력한 프로그래머의 근육'을 강조하며 Rails의 다양한 기능을 소개합니다.
  • Active Storage, Tailwind CSS, Import Maps, 커스텀 유효성 검사, Playwright, 그리고 Hotwire를 활용한 실시간 동기화 등 실용적인 개발 팁과 철학을 공유합니다.
Unknown 2024년 11월 02일

Rails의 마법 이해하기: 메타 프로그래밍을 통한 심층 탐구

Ridhwana Khan - Demystifying some of the magic behind Rails - Rails World 2024 - YouTube

  • 이 발표는 Ruby on Rails의 소스 코드를 탐색하고 그 배경에 있는 마법, 특히 메타 프로그래밍 기술을 이해하는 전략을 제시합니다.
  • method_missing, class_eval, define_method, instance_eval, send와 같은 메타 프로그래밍 기법이 Rails에서 동적인 동작을 구현하는 방식에 대한 세 가지 예시를 통해 설명합니다.
  • 메타 프로그래밍의 장점(코드 중복 감소, 유연성)과 단점(추상화 증가, 디버깅 어려움)을 다루며, 개발자가 Rails를 더 깊이 이해하도록 돕습니다.
Unknown 2024년 11월 02일

Ruby 테스트 영향 분석: Datadog의 접근 방식

How we built a Ruby library that saves 50% in testing time | Datadog

  • 본 글은 Datadog 엔지니어링 팀이 Ruby 애플리케이션의 테스트 성능 개선을 위해 개발한 테스트 영향 분석(Test Impact Analysis) 라이브러리에 대한 기술적 여정을 설명합니다.
  • 기존 코드 커버리지 도구의 한계를 극복하고 TracePoint 및 C 확장을 활용하여 성능 오버헤드를 최소화하며 정확한 테스트-코드 매핑을 구축했습니다.
  • 이 라이브러리는 Datadog Intelligent Test Runner의 핵심으로, CI 파이프라인에서 불필요한 테스트 실행을 건너뛰어 테스트 시간을 절반 이상 단축시키는 효과를 가져왔습니다.
stadia 2024년 11월 01일

Active Storage 확장: 서드파티 서비스 연동 및 미디어 라이브러리 구축

Andrea Fomera - Pushing the boundaries with ActiveStorage - Rails World 2024 - YouTube

  • 본 강연은 Rails의 Active Storage를 확장하여 Wistia, Pexels와 같은 서드파티 서비스를 통합하고 효율적인 파일 관리를 위한 미디어 라이브러리를 구축하는 방안을 제시합니다.
  • Active Storage의 기본 기능을 넘어선 커스텀 서비스 및 'Active Storage Providers' 개념을 도입하여 다양한 파일 소스를 유연하게 처리하는 방법을 소개합니다.
  • 사용자별 파일 추적 및 검색 기능을 갖춘 미디어 라이브러리 구현을 통해 중복 업로드 문제를 해결하고 사용자 경험을 향상시키는 실용적인 기술을 공유합니다.
Unknown 2024년 10월 29일

차세대 아웃 오브 밴드 가비지 컬렉션

Next Generation Out of Band Garbage Collection | Rails at Scale

  • Shopify는 Ruby 요청 처리 중 주요 GC 발생을 막기 위해 `GC.config(rgengc_allow_full_mark: false)`를 활용한 새로운 OOB GC 기법을 개발했습니다.
  • 이 기법은 필요한 경우에만 요청 외 시간에 수동으로 주요 GC를 트리거하며, Ruby 3.4.0-preview2에 포함되었습니다.
  • 새로운 OOB GC는 테일 응답 시간의 GC 시간을 크게 줄이고 서비스 지연 시간을 개선하는 등 상당한 성능 향상을 가져왔습니다.
stadia 2024년 10월 23일

Ruby 병렬 처리 및 동시성 이해하기 (1/3): 스레드 심층 분석

Demystifying Ruby ♦️ (1/3): It's all about threads -

  • MRI Ruby는 GIL(Global Interpreter Lock)로 인해 한 번에 하나의 스레드만 실행되어 진정한 병렬 처리에 제약이 있습니다.
  • Ruby는 프로세스, Ractor, 스레드, Fiber 등 다양한 레벨에서 동시성 및 병렬성 메커니즘을 제공합니다.
  • 각 메커니즘은 관리 주체(OS vs VM), 메모리 공유 방식, 적합한 작업 유형(CPU vs I/O 바운드)이 다릅니다.
stadia 2024년 10월 20일
  • 37signals QA 팀은 두 명의 전문가로 구성되어 Shape Up 주기에 맞춰 수동 테스트를 수행합니다.
  • 이들은 기능 초기 단계부터 출시까지 참여하며, 사용자 관점에서 Usability와 Accessibility를 중점적으로 점검합니다.
  • 정형화된 테스트 케이스보다는 유연하고 실용적인 탐색적 테스트를 통해 효율적으로 제품 품질을 확보합니다.
Unknown 2024년 10월 15일

Rails World 2024 키노트: Rails 라우터의 역사와 성능 최적화

Aaron Patterson - Rails World 2024 Closing Keynote - YouTube

  • Aaron Patterson은 Rails 라우터의 부팅 시간 성능을 개선하기 위한 기술적 여정을 공유합니다.
  • 그는 객체 할당을 줄이기 위해 재귀 하향 파서와 최적화된 토크나이저를 사용하는 방법을 상세히 설명합니다.
  • 이러한 노력은 Rails 8의 'Lambo Routes'로 이어져 라우터의 부팅 시간을 약 10% 단축하는 성과를 가져왔습니다.
Unknown 2024년 10월 11일

모놀리식 Ruby on Rails 애플리케이션의 모듈화 신화: 기술적 문제인가, 문화적 문제인가?

Eileen Uchitelle - The Myth of the Modular Monolith - Rails World 2024 - YouTube

  • 대규모 Rails 애플리케이션의 복잡성은 아키텍처 문제가 아닌 조직 문화와 인적 요소에 기인합니다.
  • 모듈화 모놀리식은 표면적 해결책이나, 실제로는 새로운 문제를 야기하며 근본 원인을 해결하지 못합니다.
  • 개발자 교육, 코드 품질 우선, 협업 증진을 통해 대규모 Rails 프로젝트의 어려움을 극복하고 개발의 즐거움을 되찾아야 합니다.
Unknown 2024년 10월 11일

Ruby와 Rails: 지속 가능한 기술과 커뮤니티의 철학

Fireside Chat with DHH, Matz and Tobias Lütke - Rails World 2024 - YouTube

  • Ruby와 Rails는 창시자들의 확고한 철학과 고유한 가치관을 바탕으로 빠르게 변화하는 기술 환경 속에서도 오랜 기간 견고하게 유지되고 있습니다.
  • 이 프로젝트들은 개인적 선호, 사용자 신뢰, 그리고 명확한 원칙을 통한 자발적 공동체 형성을 중요시하며, 프로그래밍의 본질적인 즐거움에 집중합니다.
  • 변하지 않는 핵심 기술에 투자하고, 소수의 '진정한 팬'을 위한 커뮤니티를 지향하는 것이 Ruby와 Rails의 지속 가능한 성공 비결입니다.
Unknown 2024년 10월 08일

Ruby LSP 애드온 시스템 소개

An Introduction to the Ruby LSP Add-on System | Rails at Scale

  • Ruby LSP는 동적 특성과 DSL로 인한 코드 분석의 한계를 극복하기 위해 애드온 시스템을 도입했습니다.
  • 이 시스템은 다른 젬들이 Ruby LSP에 자신들의 DSL 처리 방법을 가르치고, 정적 분석의 한계를 넘는 기능을 추가할 수 있게 합니다.
  • 애드온은 개발 경험 향상, 반복 작업 감소, 리소스 효율성 증대에 기여하며, Rails, Standard 등 다양한 사례를 통해 효과가 입증되었습니다.
stadia 2024년 10월 03일

Rails World 참가자 인터뷰

Rails World Day 2: What's your favorite Rails gem? - YouTube

  • Rails World 컨퍼런스 이틀째, 참가자들이 컨퍼런스 경험, 인상 깊었던 강연, 선호하는 Rails 핵심 젬에 대해 이야기합니다.
  • 다양한 배경을 가진 참가자들은 컨퍼런스의 포괄적인 분위기와 강연 내용에 만족감을 표했습니다.
  • Rails의 테마곡 장르를 상상해보는 재치 있는 질문을 통해 참가자들의 개성적인 의견을 엿볼 수 있었습니다.
Unknown 2024년 09월 28일

Rails World 2024 인터뷰: Ruby와 Rails의 핵심 기여자들

Announcing the 2024 Rails Luminary Winners: Akira Matsuda & Yukihiro "Matz" Matsumoto - YouTube

  • Rails World 2024에서 아키라 마츠다와 유키히로 마츠모토(Matz)가 각각 Rails Luminary Award와 Rails Lifetime Award를 수상했습니다.
  • 아키라 마츠다는 15년간 Rails에 기여하며 Ruby와 Rails 커뮤니티를 잇는 다리 역할을 수행했고, Matz는 Rails가 Ruby의 전 세계적 인기에 결정적인 영향을 미쳤음을 강조했습니다.
  • 두 기여자는 Ruby와 Rails가 공통된 철학을 바탕으로 상호 협력하며 미래에도 지속적으로 성장하고 가치를 창출할 것이라는 비전을 공유했습니다.
Unknown 2024년 09월 28일