지난 글들
1705개의 글이 있습니다
레일즈를 활용한 인공적 설계 입문
Railsによる人工的「設計」入門 / Yasuko Ohba (nay3) - Kaigi on Rails 2025
- 설계는 코드 수준이 아닌 추상적인 전체 구조를 상상하고 필요한 요소를 역산하는 활동입니다.
- 초보 개발자가 설계에 어려움을 겪는 이유는 시스템을 코드로만 인지하고 절차를 설계로 오해하기 때문입니다.
- 완성된 시스템을 구체적으로 상상하고 본질적인 목표부터 역산하여 필요한 디자인 파트를 도출하는 인공적 설계 방법을 제안합니다.
Kaigi on Rails
2025년 11월 25일
서비스 클래스에 대해 다시 생각하다: 한 레일즈 개발자의 10년
今改めてServiceクラスについて考える 〜あるRails開発者の10年〜 / Tomohiro Hashidate (joker1007) - Kaigi on Rails 2025
- 서비스 클래스와 폼 클래스는 복잡성 해결의 만능 해결책이 아니며, 핵심은 도메인 이해와 ActiveRecord의 효과적인 관리입니다.
- 팀 개발 환경에서 예측 가능하고 일관성 있는 코드 구조를 유지하며, 개발자 간의 공통 인식을 형성하는 것이 지속적인 개발의 핵심입니다.
- 모듈러 모놀리스 아키텍처와 같은 구조적 접근을 통해 컴포넌트 간의 경계를 명확히 하고, 코드 가시성을 제어하는 것이 중요합니다.
Kaigi on Rails
2025년 11월 25일
Delayed Job에서 Solid Queue로의 완전 이행 여정
非同期処理実行基盤、Delayed脱出〜SolidQueue完全移行への旅路。 / Shohei Kobayashi - Kaigi on Rails 2025
- 오래된 Rails 서비스의 비동기 처리 시스템인 Delayed Job의 선형적 스케일 아웃 불가능 문제와 트랜잭션 락킹 이슈를 해결하기 위해 Solid Queue로의 전환을 단행했습니다.
- Solid Queue는 `FOR UPDATE SKIP LOCKED` 메커니즘을 통해 높은 성능과 선형적 확장성을 제공하며, 기존 Aurora 인스턴스를 활용하여 새로운 인프라 리소스 추가 없이 운영 효율성을 확보했습니다.
- Rails 7.1에서의 `enqueue_after_transaction_commit` 미지원 문제로 인한 트랜잭션 내 비동기 잡 호출 실패 및 Solid Queue의 과도한 처리 속도로 인한 DB 과부하 등 실제 이행 과정에서 발생한 장애 사례와 해결책을 상세히 공유합니다.
Kaigi on Rails
2025년 11월 25일
웹 애플리케이션 비동기 작업의 필요성과 설계 지침
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則 / morihirok - Kaigi on Rails 2025
- 웹 서버의 장시간 요청 처리 한계로 인해 비동기 작업(Asynchronous Job)은 웹 애플리케이션의 성능과 효율성을 위한 필수적인 요소입니다.
- 비동기 작업은 짧고, 단순하며, 멱등성(Idempotent)과 트랜잭션(Transactional)을 보장하도록 설계하여 복잡성을 최소화하고 안정적인 운영을 도모해야 합니다.
- 장시간 비동기 작업이 불가피할 경우, Active Job Continuations, Sidekiq Iteration, AWS Step Functions 등 전용 라이브러리나 외부 서비스를 활용하여 안전하게 처리해야 합니다.
- 비동기 작업 도입 전에 해당 처리가 정말 필요한지, 혹은 배치(Batch) 처리로 대체할 수 없는지 신중하게 검토해야 합니다.
Kaigi on Rails
2025년 11월 25일
GraphQL Rails 앱의 데이터베이스 부하 분산: 월간 3천만 사용자 서비스를 무중단으로
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で / Koya Masuda - Kaigi on Rails 2025
- GraphQL Rails 애플리케이션에서 데이터베이스 부하 분산은 쿼리와 뮤테이션의 책임 분리를 통해 효과적으로 구현할 수 있습니다.
- 기술 도입 시에는 조직의 역량과 변화에 대한 저항성을 고려하여 지속 가능한 개발 속도를 유지하는 관점이 중요합니다.
- 무중단 서비스 릴리스를 위해 화이트리스트 방식으로 작은 범위부터 적용하고 성공 경험을 바탕으로 점진적 확장을 통해 위험을 관리해야 합니다.
Kaigi on Rails
2025년 11월 25일
레일즈 애플리케이션 개발자를 위한 북 가이드
Railsアプリケーション開発者のためのブックガイド / Masayoshi Takahashi - Kaigi on Rails 2025
- AI 시대에도 레일즈 애플리케이션 개발자에게 책 읽기의 중요성과 가치를 강조하며, 단순한 정보 습득을 넘어 팀과 문화 구축에 기여하는 책의 역할을 설명합니다.
- 리눅스, 네트워크, 보안, 데이터베이스, 설계, 코딩 등 레일즈 개발에 필요한 광범위한 기술 분야별 추천 도서 목록을 제시합니다.
- 책을 읽는 부담을 줄이고 효율적으로 활용하는 방법을 제안하며, 공유재로서 책이 갖는 가치를 역설합니다.
Kaigi on Rails
2025년 11월 25일
PostgreSQL 다중 범위형을 활용한 예약 시스템 로직 단순화
Range on Rails ― 「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ / 梅田智大 - Kaigi on Rails 2025
- 초코자프의 유연한 예약 시스템 개발 난제를 PostgreSQL 다중 범위형을 활용하여 예약 불가능 기간의 좌집합 연산으로 예약 가능 기간을 도출함으로써 복잡한 로직을 단순화했습니다.
- 일반 범위형이 다룰 수 없는 불연속적인 여러 기간을 하나의 데이터로 처리하는 다중 범위형의 특징과 교집합, 좌집합 등의 연산 활용법을 설명하며, 예약 시스템 외 다양한 집계 시나리오에서의 잠재적 활용성을 제시했습니다.
- Rails 환경에서 다중 범위형 데이터를 효율적으로 다루기 위해 `range_agg` 및 `unnest` 함수를 활용하여 개별 범위 객체로 변환하고, SQL 뷰를 통해 복잡한 집계 로직을 캡슐화하여 코드 가독성과 유지보수성을 높이는 방안을 제안했습니다.
Kaigi on Rails
2025년 11월 25일
5년간의 핀테크 X Rails 실천에서 배우는 기본에 충실한 운영으로 구축하는 미래 시스템
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / ohbarye - Kaigi on Rails 2025
- 핀테크 규제 산업에서 5년간 Rails를 활용하여 신뢰성 높은 시스템을 구축하고 운영한 경험과 노하우를 공유합니다.
- PCI DSS, 자금이동업 등 핀테크 특유의 규제를 준수하기 위한 아키텍처 설계, 개발 및 운영상의 구체적인 접근 방식을 제시합니다.
- 장애 예방, 신속한 탐지, 효율적인 해결을 위한 모니터링, SLI/SLO, 배치 관리, 알림 트리아지, 런북 등 체계적인 운영 전략을 소개합니다.
Kaigi on Rails
2025년 11월 25일
Rails on SQLite: 새로운 배포 방식의 장점과 도전 과제
Rails on SQLite: exciting new ways to cause outages / André Arko - Kaigi on Rails 2025
- SQLite는 웹 서버 프로세스 내부에 내장되어 단일 파일로 데이터를 관리하며, 이는 배포 간소화와 비용 절감에 큰 이점을 제공합니다.
- SQLite 사용 시 데이터 유실 방지를 위한 영구 저장소 사용, 동시성 문제 해결을 위한 WAL 모드 활성화 및 다중 DB 파일 활용, 그리고 백그라운드 작업 처리 방식에 대한 고려가 필수적입니다.
- 수직 스케일링, 단일 서버의 한계, 무중단 배포의 어려움 등 SQLite 기반 Rails 앱의 고유한 운영 및 배포 제약 사항을 이해하고 적절한 솔루션(LiteStream, LiteFS)을 적용해야 합니다.
Kaigi on Rails
2025년 11월 25일
기술 부채를 방지하는 확실한 권한 관리 설계 및 구현
「技術負債にならない・間違えない」権限管理の設計と実装 / naro143 (Yusuke Ishimi) - Kaigi on Rails 2025
- 권한 관리의 중요성을 이해하고, 역할(Role)에 의존하는 안티패턴을 피하며, 권한(Permission) 기반의 명시적 설계로 기술 부채를 줄일 수 있습니다.
- 권한 관리의 핵심 요소를 대상, 역할, 조작, 조건으로 분리하고, Ruby on Rails 모듈을 통해 이를 체계적으로 구현하여 가독성과 유지보수성을 극대화합니다.
- 구현된 모듈은 서비스 신뢰성 향상, 개발 생산성 증대, 그리고 Next.js 클라이언트 단의 기술 부채 방지까지 전반적인 긍정적 영향을 가져왔습니다.
Kaigi on Rails
2025년 11월 25일
Rails G Authentication으로 배우는 Rails 8.0 시대의 인증
rails g authenticationから学ぶRails8.0時代の認証 / Shinichi Maeshima - Kaigi on Rails 2025
- Rails 8.0에 도입된 `rails g authentication` 명령은 간단한 인증 기능을 생성하여 Rails의 네이티브 인증 구현 방법을 제시하지만, 복잡한 요구사항에는 여전히 Device Gem이 필요합니다.
- 생성된 인증 코드는 `has_secure_password`, `ActiveSupport::CurrentAttributes`, 세션 모델 활용 등 Rails의 최신 인증 관련 기능을 활용하여 타이밍 공격 방지 및 세션 탈취 대응과 같은 보안 고려사항을 반영합니다.
- 인증 기능 구현은 단순히 기능적인 측면을 넘어 BCrypt의 비용 조정, 타이밍 공격 방지, 세션 관리 등 깊이 있는 보안 지식과 지속적인 학습을 요구하며, 어떤 도구를 사용하든 개발자의 책임이 중요합니다.
Kaigi on Rails
2025년 11월 25일
Rails 애플리케이션 개발 시 흔히 발생하는 위험 요소와 해결 방안
全問正解率約3%: RubyKaigiで出題したやりがちな危険コード5選 / Yuta Nakashima - Kaigi on Rails 2025
- 레일즈 애플리케이션에서 SQL 쿼리 최적화, 트랜잭션 관리, 비동기 처리, 오류 핸들링 등 실제 프로덕션 코드에서 발생할 수 있는 5가지 주요 문제점과 해결책을 제시합니다.
- N+1 문제, 트랜잭션 내 외부 API 호출 및 비동기 작업 실행, 광범위한 예외 처리 등 성능, 안정성, 보안에 영향을 미치는 일반적인 개발 실수를 다룹니다.
- 효율적인 데이터베이스 접근, 트랜잭션 외부 로직 분리, 구체적인 오류 분기 처리를 통해 애플리케이션의 견고성과 유지보수성을 향상시키는 방안을 강조합니다.
Kaigi on Rails
2025년 11월 25일
Falcon을 활용한 Ruby 웹 애플리케이션의 성능, 확장성 및 우아함 극대화
Building and Deploying Interactive Rails Applications with.. / Samuel Williams - Kaigi on Rails 2025
- Falcon 웹 서버는 Fiber 기반의 효율적인 동시성 모델을 통해 Ruby 애플리케이션의 성능과 확장성을 혁신하며, Shopify에서 일일 300억 건 이상의 요청을 처리하며 성공적으로 운영되고 있습니다.
- Falcon은 HTTP/2, TLS, Active Record, Active Job, Action Cable 등 Rails 8의 주요 기능과 완벽하게 통합되며, Async, Traces, Metrics, Console과 같은 보조 Gem을 통해 개발, 배포, 모니터링을 위한 포괄적인 솔루션을 제공합니다.
- 개발자는 Falcon Rails Gem과 Agent Context Gem을 활용하여 AI 에이전트의 도움을 받아 차세대 대화형 Ruby 웹 애플리케이션을 쉽고 빠르게 구축하고 배포할 수 있습니다.
Kaigi on Rails
2025년 11월 25일
Kamal, 편리한가? AWS에서 3가지 사내 프로젝트를 Kamal로 운영한 경험
Kamalって便利?社内プロジェクト3つをKamal + AWSで運用した体験談 / yappu - Kaigi on Rails 2025
- Kamal은 서버와 Docker 환경만 준비하면 웹 애플리케이션을 손쉽게 배포할 수 있는 도구로, YAML 기반의 간결한 설정과 블루/그린 배포를 지원합니다.
- ALB 헬스 체크 문제와 다인 개발 환경 배포 불편함 등의 난관이 있었으나, 자동 SSL, 간편한 유지보수/디버깅, 환경별 배포 용이성 등 다양한 이점을 제공합니다.
- Rails 8부터 기본 탑재된 Kamal은 인프라 지식이 적은 개발자도 AWS 환경에서 효율적으로 애플리케이션을 배포하고 관리할 수 있도록 돕는 유용한 솔루션입니다.
Kaigi on Rails
2025년 11월 25일
Rails의 PostgreSQL 18 대응 전략
RailsのPostgreSQL 18対応 / Yasuo Honda - Kaigi on Rails 2025
- Rails는 PostgreSQL 18 버전 호환성 및 신기능(가상 생성 열 등) 지원을 위해 PG Gem 의존성 관리 및 내부 API 변경 등 다각적인 업데이트를 진행했습니다.
- PostgreSQL 18의 프로토콜 변경(긴 취소 키 지원)에 따라 PG Gem 1.6.0 이상 버전 사용을 권장하며, Rails는 내부적으로 취소 로직을 조정하여 하위 PG Gem 버전과의 호환성도 유지했습니다.
- PostgreSQL 18의 가상 생성 열(Virtual Generated Columns) 지원으로 Rails는 데이터베이스 어댑터 간 생성 열 API 동작을 통일하고, Rails 8.1부터 해당 기능을 활용할 수 있게 되었습니다.
Kaigi on Rails
2025년 11월 25일