지난 글들

1701개의 글이 있습니다

  • reverse_merge는 Ruby on Rails에서 해시의 기본값을 설정할 때 기존 값을 덮어쓰지 않고 누락된 값만 채우는 데 사용됩니다.
  • 이는 merge와 달리 호출자가 이미 제공한 값을 보존하여 깔끔한 기본 설정을 정의하고 반복적인 조건문을 피하는 데 유용합니다.
  • reverse_merge는 코드의 의도를 명확하게 하고, 기본값 설정 시 기존 값을 존중하는 Rails의 철학을 반영합니다.
Ruby Stack News 2025년 11월 26일

AI와 Rails 8을 활용한 효과적인 프로토타이핑 전략

Tips for effective prototyping with Rails 8 and Claude Code

  • AI 도구를 활용한 Rails 8 기반의 신속한 프로토타이핑은 초기 코드 품질 관리와 AI 피드백 시스템 구축을 통해 효율성을 극대화합니다.
  • Rails 8의 Solid* 스택은 외부 종속성을 줄여 빠른 개발을 지원하며, '적절한 수준의 코드 리뷰'를 통해 생산성과 코드 이해도를 균형 있게 유지합니다.
  • AI를 통한 자동화된 문서화와 Ruby/Rails의 유연성을 적극 활용하여 코드베이스를 관리하고, 필요 시 견고한 아키텍처로 전환할 수 있는 기반을 마련합니다.
HackerNews 2025년 11월 26일

AI 시대, 풀스택 Rails 개발자의 역할과 번영 전략

IndieRails | Brian Casel - Teaching Devs to Build with AI

  • AI가 소프트웨어 개발에 미치는 영향과 풀스택 Rails 개발자가 이 새로운 환경에서 어떻게 독점적인 위치를 차지하고 번영할 수 있는지 탐구합니다.
  • 개발자와 제품 관리자의 경계가 모호해지면서, Rails 개발자들이 수년간 길러온 제너럴리스트 사고방식이 AI 도구 변화 속에서 더욱 가치 있게 평가받고 있음을 강조합니다.
  • AI의 실제 코딩 워크플로우 적용 사례, 효과적인 부분과 과대평가된 부분을 분석하고, 끊임없이 변화하는 기술 환경에서 가장 중요한 기술들을 논의합니다.
Ruby AI News 2025년 11월 26일

Ruby를 활용한 문서 스크린샷 자동화: Cuprite 및 Sequel 통합 전략

How to Keep Documentation Screenshots Up-to-Date Using Ruby

  • Ruby, Capybara, Cuprite를 활용하여 문서 스크린샷을 자동 생성하고 최신 상태로 유지하는 방법을 설명합니다.
  • 실제 브라우저(Cuprite) 사용 시 발생하는 별도 서버 스레드 및 데이터베이스 트랜잭션 관리의 복잡성을 해결하는 기술적 접근을 제시합니다.
  • Puma 서버 스레드 동기화, Sequel의 공유 연결 설정, 그리고 스크린샷 생성 로직의 구조화된 구현 방안을 상세히 다룹니다.
HackerNews 2025년 11월 26일

웹 컴포넌트를 활용한 Hotwire 및 프론트엔드 프레임워크 컴포넌트 통합 전략

Web Componentsで実現する Hotwire とフロントエンドフレームワークの橋渡し / Daichi KUDO - Kaigi on Rails 2025

  • Hotwire 기반 Rails 서비스에 웹 컴포넌트(Web Components)를 활용하여 기존 Angular UI 컴포넌트를 점진적으로 통합하는 방안을 제시합니다.
  • 웹 컴포넌트와 Rails 간의 데이터 연동은 HTML 속성, DOM 프로퍼티, 그리고 보안을 고려한 커스텀 데이터 속성 방식을 활용하여 구현합니다.
  • Rails 폼 헬퍼(Form Helper)를 확장하여 UI 컴포넌트를 Rails 모델과 긴밀하게 연동함으로써, 재사용성을 높이고 개발 편의성을 확보하는 구체적인 방법을 설명합니다.
jeff 2025년 11월 25일

Rails로 가능한 예외 업무에 처리 흔적을 남기지 않는 설정 패턴

Railsだからできる、例外業務に禍根を残さない設定設計パターン / ei.ei.eiichi - Kaigi on Rails 2025

  • Rails 환경에서 복잡한 예외 업무를 효율적으로 관리하기 위한 6가지 설정 패턴과 각 패턴의 적용 기준을 제시합니다.
  • 비즈니스 담당자가 직접 설정을 변경하고 운영할 수 있도록 '설정의 이해 용이성'을 높이는 구체적인 방안들을 강조합니다.
  • 개발 초기에는 최소한의 투자로 유연하게 대응하고, 변경 빈도와 복잡성에 따라 적절한 설정 방식을 선택하는 것이 중요합니다.
Kaigi on Rails 2025년 11월 25일

바이템포럴 데이터 모델로 Rails 애플리케이션에서 이력 관리 구현 및 운영

履歴 on Rails : Bitemporal Data Modelで実現する履歴管理 / hypermkt - Kaigi on Rails 2025

  • 바이템포럴 데이터 모델은 유효 기간과 시스템 기간 두 가지 시간 축을 통해 현실과 시스템의 이력을 정확하게 기록하고 특정 시점의 상태를 재현할 수 있습니다.
  • Ruby on Rails 환경에서는 `active_record_bitemporal` Gem을 활용하여 복잡한 바이템포럴 데이터 모델을 Active Record 친화적으로 구현하고 관리할 수 있습니다.
  • 바이템포럴 모델 운영 시 데이터 조사 및 사양 복잡성 등의 도전 과제가 발생하며, 시각화 도구와 스프레드시트, 그리고 날짜 타입 변경 등의 전략으로 이를 해결할 수 있습니다.
Kaigi on Rails 2025년 11월 25일

계층 구조 데이터 표현 및 10배 성장 제품의 리팩토링 과제

階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜 / yuhi - Kaigi on Rails 2025

  • 관계형 데이터베이스에서 계층 구조를 표현하는 인접 리스트, 클로저 테이블, 재귀 CTE 세 가지 데이터 구조 및 쿼리 기법을 비교 분석합니다.
  • 제품의 급격한 성장에 따른 N+1 쿼리 문제 발생 시, 워크로드 특성을 고려하여 성능 최적화를 위한 리팩토링 전략을 수립하는 과정을 다룹니다.
  • 읽기 작업이 많은 대규모 계층 구조 환경에서 클로저 테이블이 인접 리스트 및 재귀 CTE 대비 월등한 성능 향상을 제공함을 실험을 통해 입증합니다.
Kaigi on Rails 2025년 11월 25일

ActiveRecord 사용자가 알아야 할 세상: 다른 ORM과의 비교를 통한 이해

ActiveRecord使いが知るべき世界:Java/Go/TypeScriptのORMアプローチ比較 / 河野裕隆 - Kaigi on Rails 2025

  • ActiveRecord는 컨벤션 기반의 올인원 ORM으로, 직관적인 데이터 조작과 유연한 DSL을 통해 SQL 지식 없이도 개발 가능한 강력한 장점을 가집니다.
  • 다른 언어의 ORM(Prisma, JPA, MyBatis, SQLC)은 타입 안정성, SQL 분리, 선언적 마이그레이션 등 ActiveRecord와 다른 접근 방식으로 다양한 개발 환경과 요구사항에 대응합니다.
  • ORM의 설계 철학과 책임 분리는 언어 특성 및 문화에 따라 다르며, 각 접근 방식은 안전성, 유연성, 개발 편의성 사이의 트레이드오프를 반영합니다.
Kaigi on Rails 2025년 11월 25일

접근성 트리로 AI의 시야를 해독하다

あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』 / Yusuke Iwaki - Kaigi on Rails 2025

  • AI 기반 브라우저 자동화 및 테스트 도구들은 웹 페이지 구조를 파악하는 핵심 메커니즘으로 '접근성 트리(Accessibility Tree)'를 활용합니다.
  • 접근성 트리를 올바르게 구축하지 않은 웹 서비스는 AI가 요소를 정확히 인식하고 상호작용하기 어려워 자동화 테스트의 효율과 정확성이 저하됩니다.
  • Capybara 드라이버에 접근성 트리 스냅샷을 도입한 결과, 기존 스크린샷 기반 방식보다 AI 테스트의 정확도와 속도가 크게 향상됨을 확인했습니다.
Kaigi on Rails 2025년 11월 25일

이중 요청 대응 핸드북

2重リクエスト完全攻略HANDBOOK / Shohei Mitani - Kaigi on Rails 2025

  • 이중 요청(Double Request) 문제의 정의, 발생 원인 및 심각성을 이해하고, 이에 대한 포괄적인 방어 전략을 학습합니다.
  • 클라이언트 및 백엔드 측면에서 이중 요청 방어를 위한 9가지 주요 전략을 소개하고 각 방법론의 특성과 적용 시 고려사항을 설명합니다.
  • 실제 서비스(One Bank)에서 결제, 입출금 등 중요 비즈니스 로직에 적용된 이중 요청 방어 사례와 각 전략의 선택 기준을 분석합니다.
Kaigi on Rails 2025년 11월 25일

레일즈를 활용한 인공적 설계 입문

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일