코인체크의 거대 Ruby on Rails 모놀리스 시스템 리팩토링: Packwerk를 활용한 인가 로직 통합 사례
サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話 / Kota Kusama - Kaigi on Rails 2024
- 코인체크는 복잡하고 거대한 Ruby on Rails 모놀리스 시스템의 인가 로직이 여러 곳에 분산된 문제를 겪고 있었습니다.
- Packwerk를 활용한 모듈러 모놀리스 구조 도입을 통해 인가 로직을 하나의 패키지로 집약하고 인터페이스를 통일했습니다.
- 이는 시스템의 사용성을 명확히 하고 복잡도를 낮추며, 거대 모놀리스를 안전하게 개선하는 첫걸음이 되었습니다.
Unknown
2024년 12월 11일
레일즈 애플리케이션의 유지보수성을 높이는 모델 설계 전략
Railsの仕組みを理解してモデルを上手に育てる - モデルを見つける、モデルを分割する良いタイミング - / 五十嵐邦明 - Kaigi on Rails 2024
- 레일즈 모델 설계 시 행위를 기록하는 이벤트형 모델을 활용하여 책임을 명확히 분리합니다.
- 데이터베이스와 무관한 객체는 PORO를 사용하여 관리하며, 서비스 레이어 도입은 레일즈의 설계 철학을 고려하여 신중히 결정합니다.
- 모델의 검증 로직이 복잡해질 때(조건부 분기 필요) 폼 오브젝트를 활용하여 화면별 검증 책임을 분리하는 것이 효과적인 모델 분할 시점입니다.
Unknown
2024년 12월 11일
Rails에서의 데이터 마이그레이션 전략: 다양한 접근 방식과 선택 기준
Data Migration on Rails / ohbarye - Kaigi on Rails 2024
- Rails 프로젝트에서 데이터 마이그레이션은 필수적인 작업이나, 공식적인 표준 접근 방식이 부재합니다.
- SQL 직접 실행, Rails 콘솔, DB 마이그레이션, Rake 태스크, 전용 Gem 등 다양한 방식이 존재하며 각각 장단점과 위험이 있습니다.
- 팀과 프로젝트의 특성을 고려하여 데이터 무결성, 운영 효율성, 위험 관리 등의 요소를 바탕으로 최적의 방식을 선택하는 것이 중요합니다.
Unknown
2024년 12월 11일
ActiveRecord 인스턴스 메모리 사용량 분석: 컬럼 추가 시 오버헤드
そのカラム追加、ちょっと待って!カラム追加で増えるActiveRecordのメモリサイズ、イメージできますか? / Asayama Kodai - Kaigi on Rails 2024
- Rails ActiveRecord 인스턴스에 정수형 컬럼 하나 추가 시 메모리 오버헤드는 224바이트입니다.
- 이 오버헤드는 컬럼 이름 문자열, 어트리뷰트 객체, 타입 객체, Range 객체 등의 메모리 증가에 기인합니다.
- 메모리 크기는 C Ruby의 객체 표현 방식(RVALUE, VALUE 임베딩)에 의해 결정됩니다.
Unknown
2024년 12월 11일
레일즈 애플리케이션에서의 사용자 아이덴티티 분석
Identifying User Identity / MOROHASHI Kyosuke - Kaigi on Rails 2024
- 레일즈에서 사용자 아이덴티티는 본질적으로 '존재' 자체를 의미하며, User 모델은 최소한의 정보만 가집니다.
- 프로필, 인증 정보 등은 별도 테이블로 분리하여 관리하며, 이는 데이터 모델의 명확성을 높입니다.
- 이러한 구조는 회원가입, 로그인, 탈퇴 등 복잡한 사용자 관련 기능을 체계적으로 구현하는 데 유리합니다.
Unknown
2024년 12월 11일
Rails 백그라운드 워커: Sidekiq vs Solid Queue 비교 분석
Sidekiq vs Solid Queue / Shinichi Maeshima - Kaigi on Rails 2024
- Rails 백그라운드 워커 선택 시 Sidekiq과 Solid Queue 비교가 중요합니다.
- Sidekiq은 Redis 기반으로 다양한 기능을 제공하며, 대규모/고급 기능 필요 시 Sidekiq Enterprise가 유리합니다.
- Solid Queue는 RDB 기반으로 설정이 간편하며 소규모 서비스에 적합하나, 운영 규모와 요구 기능에 따라 선택이 달라집니다.
Unknown
2024년 12월 11일
Sidekiq 장시간 비동기 처리의 중단 및 재개 구현
Sidekiqで実現する長時間非同期処理の中断と再開 / hypermkt - Kaigi on Rails 2024
- Sidekiq 장시간 비동기 처리는 배포 시 데이터 불일치 및 재실행 시간 증가 등 문제를 야기합니다.
- 안정적인 배포를 위해 비동기 처리의 중단 및 재개 구현이 필수적이며, SmartHR은 Redis를 활용한 독자적인 방식을 개발했습니다.
- 최근 Sidekiq Iteration 기능이 공식적으로 도입되어 중단/재개 구현이 더 용이해질 전망입니다.
Unknown
2024년 12월 11일
30만 명이 이용하는 채팅 서비스, Firebase Realtime Database에서 Action Cable로 이전하기
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法 / Ryosuke Uchida - Kaigi on Rails 2024
- 사용자 증가로 인한 채팅 지연 문제 해결을 위해 일본 최대 매칭 앱 'Patto'가 Firebase Realtime Database에서 Ruby on Rails의 Action Cable로 마이그레이션했습니다.
- Firebase의 리전 제약, 요청 한도 등의 기술적 난관과 복잡한 데이터 이관 과정을 거쳐 Action Cable을 성공적으로 도입하고 서비스 안정화를 이루었습니다.
- 마이그레이션을 통해 성능 및 사용자 경험을 개선하였으며, 향후 확장 및 운영 유연성을 확보했으나 데이터베이스 활용 및 인프라 비용 효율화 등 추가 개선 과제가 남아있습니다.
Unknown
2024년 12월 11일
Gusto, Rails Foundation에 기여 회원으로 합류
Gusto joins the Rails Foundation as a Contributing member
- HR, 급여 및 복지 솔루션 선도 기업인 Gusto가 Rails Foundation의 새로운 기여 회원으로 합류했습니다.
- Gusto는 수백 명의 Rails 개발자를 보유하고 있으며, 코드 모듈화, 성능 개선 및 보안 도구 유지보수 등 Rails 생태계에 적극적으로 기여해 왔습니다.
- 이번 합류는 Gusto의 오픈 소스 헌신과 커뮤니티 성장을 위한 노력을 반영하며, Rails Foundation의 사명과 완벽하게 일치합니다.
Unknown
2024년 12월 11일
Rails 버전 7.0.8.7, 7.1.5.1, 7.2.2.1 및 8.0.0.1 릴리스
Rails Versions 7.0.8.7, 7.1.5.1, 7.2.2.1, and 8.0.0.1 have been released!
https://rubyonrails.org/2024/12/10/Rails-Versions-8-0-0-1-7-2-2-1-7-1-5-1-7-0-8-7-have-been-released
- 최신 Rails 버전 7.0.8.7, 7.1.5.1, 7.2.2.1, 8.0.0.1이 보안 패치로 릴리스되었습니다.
- 이 업데이트는 `content_security_policy` 헬퍼의 취약점을 해결하여 브라우저 CSP 우회를 방지합니다.
- 안전한 사용을 위해 모든 사용자에게 업그레이드가 권장되며, 오래된 버전은 지원되지 않습니다.
Unknown
2024년 12월 10일
Mission Control — Jobs v1.0.0 출시: 백그라운드 작업 관리의 새로운 지평
37signals Dev — Mission Control — Jobs 1.0 released
- Mission Control — Jobs v1.0.0이 공식 출시되었으며, 백그라운드 작업 운영을 위한 강력한 대시보드와 확장 기능을 제공합니다.
- 이번 버전은 Solid Queue 반복 작업 지원, API 전용 앱 호환성, 실패한 작업의 백트레이스 정리, 그리고 강화된 기본 인증 등 핵심 개선 사항을 포함합니다.
- 현재 HEY와 Basecamp 4에서 성공적으로 활용 중이며, 향후 Rails에 Solid Queue와 함께 기본으로 통합될 목표를 가지고 있습니다.
Unknown
2024년 12월 04일
Rails Foundation, 1Password를 핵심 멤버로 환영
The Rails Foundation welcomes 1Password as Core member
- Rails Foundation이 핵심 멤버십을 확장하기로 결정했습니다.
- 1Password가 Rails Foundation의 첫 번째 새로운 핵심 멤버로 합류했습니다.
- 1Password는 Rails를 활용하여 Kolide를 구축하고 Rails 커뮤니티에 적극적으로 기여하고 있습니다.
Unknown
2024년 12월 02일
Ruby 해부하기 ♦️ (2/3): 어디에나 있는 객체들
Demystifying Ruby ♦️ (2/3): Objects, Objects everywhere -
- Ruby는 숫자, 문자열, 클래스 등 모든 것이 객체로 취급되며, 각 객체는 고유 ID와 상태/행동을 가집니다.
- 메서드 호출 시 싱글톤 클래스, 클래스, 모듈, 상속 체인, Kernel, Object, BasicObject 순으로 탐색합니다.
- Ruby는 오픈 클래스와 메타프로그래밍을 통해 동적으로 코드를 변경하는 강력한 유연성을 제공하지만, 신중한 사용이 요구됩니다.
stadia
2024년 11월 18일
루비 온 레일즈: 헬로 월드에서 IPO까지
Rails 8: The Demo - YouTube
- 이 영상은 Ruby on Rails를 사용하여 간단한 웹 애플리케이션을 구축하고 배포하는 과정을 시연합니다.
- Rails의 스캐폴딩, 컨트롤러, 모델, 뷰, Action Text, Hotwire, Action Cable, 그리고 Kamal을 통한 배포 및 인증 기능이 소개됩니다.
- 'No Build' 철학을 통해 빠르고 효율적인 개발 및 배포가 가능함을 보여주며, 프로덕션 환경에서의 실제 사용법을 제시합니다.
Unknown
2024년 11월 15일
Cal Proxy 소개
Kevin McConnell - Introducing Kamal Proxy - Rails World 2024 - YouTube
- Cal Proxy는 Kamal 1의 기존 프록시를 대체하며, Rails 애플리케이션 배포의 무중단성을 강화하고 성능 및 운영 편의성을 극대화합니다.
- 자동 HTTPS, HTTP/2, 캐싱 등 다양한 기능을 내장하여 프로덕션 환경에 최적화된 배포를 지원합니다.
- 이를 통해 개발자는 더 쉽고 효율적으로 애플리케이션을 배포하고 관리할 수 있습니다.
Unknown
2024년 11월 12일