지난 글들

1256개의 글이 있습니다

  • 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년 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일

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일

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일

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일

이번 주 Rails 소식

Support for rack.response_finished callbacks in executor

  • Rails 프레임워크의 최신 업데이트 및 개선 사항을 다룹니다.
  • Action Dispatch Executor의 콜백 지원, Action View 렌더 트래커 설정, 새로운 credentials:fetch 명령어 등이 포함됩니다.
  • Logger의 FrozenError 해결 및 HTML 이스케이프 최적화 등 다양한 개선이 이루어졌습니다.
RubyOnRails 2025년 08월 09일
  • Remote Ruby 팟캐스트에서 ERB 템플릿의 문제점과 Marco Roth의 'Herb' 프로젝트가 논의되었습니다.
  • 'Herb'는 ERB 템플릿의 문법 검사, 포맷팅, 오류 감지 및 React 컴포넌트 통합을 목표로 합니다.
  • 이 프로젝트는 Ruby on Rails 개발 경험을 향상시키고 커뮤니티 협력을 강조합니다.
The Awesome Ruby 2025년 08월 08일

Ruby 및 Rails로 AI 에이전트 구축하기: 아무도 알려주지 않는 것들

Building an AI Agent with Ruby and Rails from Scratch — What No One Tells You | by Dieter S. | Code and Coffee | Aug, 2025 | Medium

  • AI 에이전트 구축은 툴 호출, 상태 관리, 엄격한 컨텍스트 제어가 필요한 복잡한 과정이며, 단순한 코드 리팩토링보다 훨씬 어렵습니다.
  • MCP(Model Context Protocol) 서버는 툴과 리소스를 노출하는 핵심 인프라 역할을 하며, RAG(검색 증강 생성)는 임베딩, 검색, 청킹 등을 포함하는 별도의 데이터 처리 영역입니다.
  • LLM 선택 시 툴 호출을 지원하는 모델을 사용하고, 컨텍스트 창 제한을 엄격히 준수하며, Ruby SDK의 잠재적 문제점을 인지하고 철저히 로깅 및 디버깅해야 합니다.
jeff 2025년 08월 08일

Ruby on Rails 디자인 패턴 — 1부

RUBY ON RAILS — DESIGN PATTERNS- PART 1 | by Kallamadi Shireesha | Aug, 2025 | Medium

  • 객체 지향 프로젝트에서 디자인 패턴의 필요성과 중요성을 설명합니다.
  • 디자인 패턴을 생성(Creational), 구조(Structural), 행위(Behavioral)의 세 가지 주요 유형으로 분류합니다.
  • 이 패턴들은 객체 생성, 구성 및 상호작용 관리에 있어 유연하고 효율적인 접근 방식을 제공합니다.
jeff 2025년 08월 08일