지난 글들

752개의 글이 있습니다

Rails에서 prepend_view_path를 사용하여 메일러 템플릿 구성하기

Organizing Mailer Templates with prepend_view_path in Rails

  • Rails의 `prepend_view_path`는 분산된 메일러 템플릿을 중앙 집중화하여 관리하는 효율적인 방법입니다.
  • `ApplicationMailer`에 경로를 추가함으로써 기본 뷰 경로보다 먼저 특정 디렉토리에서 메일러 템플릿을 검색하도록 설정할 수 있습니다.
  • 이 방법은 대규모 Rails 애플리케이션에서 메일러 템플릿의 가독성과 유지보수성을 크게 향상시키는 아키텍처 개선을 제공합니다.
Ruby Weekly 2025년 08월 13일
  • RubyLLM의 도구(Tools)는 AI 모델이 외부 시스템과 상호작용하고 실제 세계의 작업을 수행할 수 있도록 하는 핵심 기능입니다.
  • 개발자는 `RubyLLM::Tool` 클래스를 상속하여 도구를 정의하고, `description`, `param`, `execute` 메서드를 통해 기능을 구현하여 AI의 능력을 확장할 수 있습니다.
  • 이 도구들은 실시간 데이터 조회, 데이터베이스 연동, 외부 API 호출 등 다양한 활용 사례를 통해 AI 기반 애플리케이션의 기능을 크게 확장시킵니다.
Ruby AI News 2025년 08월 13일
  • 이 문서는 RubyLLM 라이브러리를 활용하여 지능형 에이전트 기반 워크플로우를 구축하는 방법을 설명합니다.
  • 다양한 AI 모델 라우팅, PostgreSQL을 이용한 RAG 구현, 그리고 병렬 및 다중 에이전트 시스템 설계 기법을 다룹니다.
  • 실제 코드 예시를 통해 Ruby 개발자가 복잡한 AI 시스템을 효율적으로 구축할 수 있도록 안내합니다.
Ruby AI News 2025년 08월 13일
  • mise는 복잡한 Ruby 개발 환경 설정 및 버전 관리 문제를 효과적으로 해결하는 다국어 개발 도구입니다.
  • mise 설치는 간단한 스크립트 실행과 셸 활성화 과정으로 15분 이내에 완료됩니다.
  • mise use ruby@버전 명령어를 통해 프로젝트별로 필요한 Ruby 버전을 손쉽게 설치하고 활용할 수 있습니다.
HackerNews 2025년 08월 12일

Rails 위에서 Doximity의 15년: 모놀리스 확장, GraphQL, 그리고 개발 문화

Ryan Stawarz & Austin Story: Inside Doximity’s 15-Year Rails Monolith

  • Doximity는 15년 이상 Ruby on Rails 모놀리스를 100명 이상의 엔지니어를 지원하는 규모로 확장하며 Rails를 핵심 경쟁력으로 활용하고 있습니다.
  • 프론트엔드 전략은 Backbone에서 Vue로 진화했으며, 모바일 클라이언트를 위해 GraphQL을 도입하고 Federation을 통해 대규모 서비스 통합 문제를 해결했습니다.
  • 실시간 기능, 데이터 관리, 개발 문화에 대한 실용적인 접근 방식을 통해 빠른 개발 속도와 높은 신뢰성을 유지하고 있습니다.
Ruby on Rails Youtube 2025년 08월 12일

2025년 Rails World 앱 업그레이드

Upgrading the Rails World App for 2025

  • Rails World 컨퍼런스 공식 앱이 2025년 행사를 위해 대규모로 업그레이드되었습니다.
  • 이번 업그레이드는 Rails 7.2에서 최신 Rails 8로의 전환과 Hotwire Native를 통한 iOS 및 Android 네이티브 앱 지원이 핵심입니다.
  • 이 프로젝트는 커뮤니티 주니어 개발자와 Telos Labs의 협력으로 진행되었으며, 오픈 소스 커뮤니티 협업의 성공적인 사례를 보여줍니다.
RubyOnRails 2025년 08월 12일
  • Doximity는 15년 이상 Ruby on Rails 모놀리스를 사용하여 100명 이상의 엔지니어를 지원하며 성공적으로 확장했습니다.
  • 모바일 우선 전략과 팀 협업을 위해 GraphQL을 도입하고, 시스템 복원력 및 개발 편의성 향상을 위해 GraphQL Federation으로 전환했습니다.
  • Rails의 실용성, 유연성, 그리고 신속한 개발 능력은 Doximity의 '비밀 병기'로 작용하며 지속적인 성장을 가능하게 했습니다.
HackerNews 2025년 08월 12일

우리는 루비를 사랑합니다 — 2025년 3월: RubyGems.org 생태계에 대한 첫 번째 심층 분석

We ❤️ Ruby — March 2025: Our First Deep Dive into the RubyGems.org Ecosystem | Ruby Elders

  • RubyElders.com은 RubyGems.org 생태계의 건강을 유지하기 위해 인기 있지만 관리되지 않는 젬들을 개선하는 프로젝트를 수행했습니다.
  • 자동화된 시스템과 AI 도구를 활용하여 CI 부재 등 잠재적인 유지보수 문제를 파악하고 해결했습니다.
  • 이 프로젝트를 통해 각 젬의 고유한 유지보수 요구사항을 이해하고, 안정적인 CI의 중요성을 강조했습니다.
The Awesome Ruby 2025년 08월 12일

UP 코드베이스 내 커맨드 패턴의 진화: 8년간의 여정 분석

Retrospective on the Command Pattern at Ferocia - Tom Dalling

  • UP 디지털 뱅킹 앱의 대규모 Ruby 모놀리스 백엔드에서 비즈니스 로직을 관리하기 위한 '커맨드 패턴'의 도입과 8년간의 진화 과정을 상세히 설명합니다.
  • 초기에는 순수 Ruby 객체로 시작하여 Sorbet 통합, 백그라운드 작업, DataDog 트레이싱 기능을 포함하는 CommandRunnable 모듈로 발전하며 재사용성과 관측 가능성을 높였습니다.
  • 명확한 개념 정의와 초기 문서화 부족으로 인해 '커맨드'의 의미가 모호해지고 유효성 검사 및 백그라운드 작업과의 역할 혼동 등 개선점이 존재함을 지적합니다.
Ruby Australia 2025년 08월 11일
  • 테스트는 'Arrange-Act-Assert' 패턴을 따르며, `let`이나 `described_class` 사용을 지양하여 자체 포함적이고 명확하게 작성해야 합니다.
  • DRY(Don't Repeat Yourself)보다 DAMP(Descriptive And Meaningful Phrases) 원칙을 적용하여 테스트 코드의 가독성과 이해도를 높이는 것이 중요합니다.
  • 외부 시스템은 모킹하고, 불필요한 데이터는 배제하며, 테스트 실패 메시지는 구체적으로 작성하여 테스트의 효율성과 신뢰성을 확보해야 합니다.
Ruby Australia 2025년 08월 11일

Ractors를 위한 Ruby 인스턴스 변수 접근 최적화

Unlocking Ractors: generic instance variables | byroot’s blog

  • Ruby Ractor의 병렬 처리 성능 저하를 야기했던 전역 VM 잠금 문제를 해결하기 위해 인스턴스 변수 접근 방식이 개선되었습니다.
  • 특히 T_STRUCT와 T_DATA 객체에 대한 인스턴스 변수 접근 시 전역 해시 테이블 대신 직접 참조 방식을 도입하여 성능을 향상시켰습니다.
  • ActiveSupport::SafeBuffer와 Set 객체의 최적화 사례를 통해 Ruby 코어와 라이브러 양단에서 성능 개선이 가능함을 보여주었습니다.
The Awesome Ruby 2025년 08월 11일

루비 온 레일즈 애플리케이션 배포의 역사: FTP에서 Kamal까지

RailsConf 2025 From FTP to Kamal: 20 Years of Deploying Rails by Ben Curtis

  • 웹 페이지 배포의 초기 HTML 시대부터 CGI, PHP를 거쳐 Rails 앱 배포의 기술적 도전과 해결 과정을 연대기적으로 조명합니다.
  • FastCGI의 한계를 극복하고 Mongrel, Capistrano, Passenger와 같은 혁신적인 도구들이 Ruby/Rails 개발자들의 배포 경험을 어떻게 변화시켰는지 설명합니다.
  • Heroku의 등장으로 배포 자동화의 전환점을 맞이하고, Docker와 Kamal을 통해 현대적인 컨테이너 기반 CI/CD 환경으로 발전한 과정을 상세히 다룹니다.
Ruby Weekly 2025년 08월 09일

이번 주 Rails 소식

Support for rack.response_finished callbacks in executor

  • Rails 프레임워크의 최신 업데이트 및 개선 사항을 다룹니다.
  • Action Dispatch Executor의 콜백 지원, Action View 렌더 트래커 설정, 새로운 credentials:fetch 명령어 등이 포함됩니다.
  • Logger의 FrozenError 해결 및 HTML 이스케이프 최적화 등 다양한 개선이 이루어졌습니다.
RubyOnRails 2025년 08월 09일

PostgreSQL 파티션 해시 계산을 통한 카탈로그 오버헤드 우회

Bypass PostgreSQL catalog overhead with direct partition hash calculations

  • PostgreSQL의 해시 파티셔닝은 대용량 테이블의 성능 향상에 기여하지만, 쿼리 시 발생하는 카탈로그 조회 오버헤드가 고처리량 애플리케이션의 병목이 될 수 있습니다.
  • Ruby Gem인 `pg_hash_func`는 PostgreSQL의 내부 해시 로직을 재구현하여 애플리케이션 단에서 직접 파티션 인덱스를 계산함으로써 이 오버헤드를 효과적으로 우회합니다.
  • 이러한 직접 계산 방식은 데이터베이스와의 네트워크 왕복 및 CPU 부하를 제거하여 SQL 기반 솔루션 대비 최대 20배 이상 빠른 성능을 제공합니다.
The Awesome Ruby 2025년 08월 09일

executor에서 rack.response_finished 콜백 지원

Support for rack.response_finished callbacks in executor

  • 이번 주 Rails 업데이트에서는 `rack.response_finished` 콜백에 대한 executor 지원이 추가되어 응답 처리 효율성을 높였습니다.
  • `ERB::Util.html_escape` 사용 시 유효하지 않은 UTF-8 문자열 처리 로직이 제거되어 메서드 성능이 최적화되었습니다.
  • 지난 한 주 동안 Rails 코드베이스에는 22명의 기여자가 참여하여 활발한 개발이 이루어졌습니다.
This Week in Rails 2025년 08월 09일