지난 글들
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 모델과 현실 세계 연결
Tools | RubyLLM
- RubyLLM의 도구(Tools)는 AI 모델이 외부 시스템과 상호작용하고 실제 세계의 작업을 수행할 수 있도록 하는 핵심 기능입니다.
- 개발자는 `RubyLLM::Tool` 클래스를 상속하여 도구를 정의하고, `description`, `param`, `execute` 메서드를 통해 기능을 구현하여 AI의 능력을 확장할 수 있습니다.
- 이 도구들은 실시간 데이터 조회, 데이터베이스 연동, 외부 API 호출 등 다양한 활용 사례를 통해 AI 기반 애플리케이션의 기능을 크게 확장시킵니다.
Ruby AI News
2025년 08월 13일
RubyLLM을 활용한 에이전트 기반 워크플로우 구축
Agentic Workflows | RubyLLM
- 이 문서는 RubyLLM 라이브러리를 활용하여 지능형 에이전트 기반 워크플로우를 구축하는 방법을 설명합니다.
- 다양한 AI 모델 라우팅, PostgreSQL을 이용한 RAG 구현, 그리고 병렬 및 다중 에이전트 시스템 설계 기법을 다룹니다.
- 실제 코드 예시를 통해 Ruby 개발자가 복잡한 AI 시스템을 효율적으로 구축할 수 있도록 안내합니다.
Ruby AI News
2025년 08월 13일
mise를 활용한 Ruby 개발 환경 설정 및 버전 관리
Install any Ruby version in minutes
- 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일
Ryan Stawarz & Austin Story: Doximity의 15년 Rails 모놀리스 내부 이야기
Doximity's 15-Year Rails Monolith
- 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일
테스트 주도 개발: DAMP 원칙과 효과적인 테스트 전략
TDD: Why does it fail? - Michael Milewski
- 테스트는 '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일