지난 글들

747개의 글이 있습니다

Rack 미들웨어: Rails를 넘어선 웹 개발의 핵심

Rack Fundamentals Revisited - Simon Hildebrandt

  • Rails의 거대한 규모와 복잡성 속에서 Rack 미들웨어의 중요성을 깨닫고, 웹 개발의 근간을 이루는 Rack의 역할에 대한 깊이 있는 탐구가 시작되었습니다.
  • Rack은 HTTP 요청을 처리하는 모듈화된 미들웨어 스택으로, 정적 자산 서빙, 인증 처리 등 다양한 기능을 메인 애플리케이션에 도달하기 전에 효율적으로 수행합니다.
  • 경량 웹 애플리케이션, 특수 목적 API, 성능 최적화가 필요한 서비스 등 Rails가 과도한 시나리오에서 Rack 미들웨어를 직접 활용하여 더 빠르고 유연한 솔루션을 구축할 수 있습니다.
Ruby Australia 2025년 04월 23일
  • Rails 애플리케이션에서 비즈니스 로직을 캡슐화하는 다양한 패턴(ActiveJob, 서비스 객체, 인터랙터, Dry::Operation, 순수 Ruby 객체)과 그 장단점을 탐구합니다.
  • Active Interaction과 Active Record Associated Objects와 같은 특정 Gem 활용 사례 및 모델 내 코로케이션(co-location)을 통한 구조화 방안이 논의되었습니다.
  • 순수 Ruby 객체 사용의 간결성과 테스트 용이성을 강조하며, 비동기 작업 처리 시 ActiveJob의 활용과 그에 따른 고려사항이 제시되었습니다.
jeff 2025년 04월 23일

Hotwire Native v1.2 발표

37signals Dev — Announcing Hotwire Native 1.2

  • Hotwire Native v1.2가 출시되었으며, 주요 개선사항, 버그 수정 및 플랫폼 간 API 일관성 향상이 포함되었습니다.
  • RouteDecisionHandler 도입, 서버 기반 히스토리컬 위치 URL 지원, 하단 탭 내비게이션 기능이 추가되어 앱 제어 및 UI 유연성이 증대되었습니다.
  • 새로운 iOS 및 Android 데모 앱과 Rails 웹 앱이 제공되어 Hotwire Native의 기능 시연 및 개발 시작을 용이하게 합니다.
jeff 2025년 04월 23일
  • Shopify는 Ruby 개발 경험 개선을 위해 Sorbet의 강력한 타입 검사 기능을 유지하면서 RBS의 간결한 문법을 통합했습니다.
  • 기존 Sorbet의 장황한 DSL을 대체하기 위해 Ruby 3.0에 도입된 RBS를 인라인 주석 형태로 활용하여 코드 가독성과 유지보수성을 높였습니다.
  • 이 새로운 기능은 Sorbet의 타입 검사 파이프라인에 RBS 파싱 및 재작성 단계를 추가하여 구현되었으며, 점진적인 마이그레이션을 지원합니다.
Rails at Scale 2025년 04월 23일

성급한 설계는 설계가 아니다

Premature Design Is Not Design - Pragdave

  • 성급한 설계는 불필요한 복잡성을 초래하며, 이는 코드의 변경 용이성을 저해합니다.
  • 설계는 초기에 완벽하게 정의하는 것이 아니라, 실제 필요가 발생했을 때 점진적으로 발전시켜야 합니다.
  • DRY(Don't Repeat Yourself) 원칙은 단순히 코드 중복을 피하는 것이 아닌, '지식의 중복'을 방지하는 데 중점을 둡니다.
The Awesome Ruby 2025년 04월 22일

Rails 캐시 키 크기 설정 기능 추가 및 변경 사항

Improved leap year counting performance and more!

  • Rails 캐시 키의 최대 크기를 설정할 수 있는 기능이 추가되었으며, 기본 제한은 250바이트입니다.
  • 캐시 키가 설정된 제한을 초과할 경우, 키가 잘리고 나머지 부분의 다이제스트가 추가됩니다.
  • ActiveSupport::Cache::RedisCacheStore의 캐시 키 제한이 기존 1KB에서 250바이트로 축소되었습니다.
This Week in Rails 2025년 04월 18일

Ruby 3.5.0-preview1 출시

Ruby 3.5.0 preview1 Released

  • Ruby 3.5.0-preview1이 공식적으로 출시되었으며, 이는 Ruby의 다음 주요 업데이트를 미리 보여줍니다.
  • 이번 프리뷰 버전에서는 Unicode 15.1.0 업데이트와 함께 언어 및 핵심 클래스에 여러 중요한 변경사항이 적용되었습니다.
  • 특히 `nil` 처리 방식 변경, `Binding` 및 `IO`, `String` 클래스 개선이 주요 특징이며, 다양한 표준 라이브러리도 업데이트되었습니다.
Ruby-Lang 2025년 04월 18일

모놀리스는 문제인가?

10. Chikahiro Tokoro - Is the monolith a problem? - wroc_love.rb 2025

  • 본 발표는 모놀리식 아키텍처에 대한 일반적인 비판에 도전하며, 모놀리스 자체가 아닌 '갓 오브젝트'와 잘못된 모델링이 핵심 문제임을 주장합니다.
  • Shopify와 Amazon Prime Video 사례를 통해 모놀리스의 확장성과 효율성을 입증하고, 아키텍처 트렌드의 주기적인 변화를 설명합니다.
  • 문제 해결을 위해 DRY 원칙과 도메인 주도 설계(DDD)를 통한 모델 개선, 그리고 명확한 비즈니스 목표를 가진 점진적인 리팩토링의 중요성을 강조합니다.
wrocloverb 2025년 04월 17일
  • Ruby Conf의 다양한 라이트닝 토크는 Decider 패턴, OpenTelemetry, RSpec 활용법 등 최신 개발 패러다임과 도구 활용법을 공유합니다.
  • 관찰 가능성(Observability)의 중요성, 비즈니스 프로세스 관리, 그리고 Ruby on Rails 개발 생산성을 높이는 Ray Spotlight 같은 실용적인 도구들이 소개되었습니다.
  • 기술 역량을 넘어선 커리어 성장 전략, 효과적인 피드백의 중요성, 그리고 컨퍼런스 발표 준비 팁 등 개발자 개인의 성장과 커뮤니티 기여 방안에 대한 인사이트를 제공합니다.
wrocloverb 2025년 04월 17일

Ruby on Rails에서 Flex를 활용한 아름다운 UI 구축

11. Seth Horsley - Building Beautiful UIs with Ruby: A Rails-Native Approach - wroc_love.rb 2025

  • MERN 스택에서 Ruby on Rails로 전환하며 효율적인 UI 구축 방안을 모색했습니다.
  • ERB, View Components 등의 대안을 검토 후, Ruby 기반의 객체 지향 HTML 뷰 라이브러리인 Flex를 최적의 솔루션으로 채택했습니다.
  • Flex는 Ruby UI 라이브러리와 함께 재사용 가능하고 구성 가능한 컴포넌트 기반 UI 개발을 가능하게 하며, 성능 및 테스트 용이성 측면에서 이점을 제공합니다.
jeff 2025년 04월 17일
  • 작은 스타트업이 PostgreSQL에서 SQLite로 Rails 애플리케이션을 성공적으로 마이그레이션하여 운영 비용을 대폭 절감하고 애플리케이션 성능을 향상시켰습니다.
  • SQLite의 내장형 데이터베이스 특성, 단순한 배포 및 낮은 지연 시간은 N+1 쿼리 문제 완화 및 개발 효율성 증대에 기여했습니다.
  • 마이그레이션 과정에서 데이터 타입 변환, 제약 조건 처리, 동시성 및 외래 키 오류 디버깅과 같은 도전 과제를 극복하며 실질적인 이점을 확인했습니다.
wrocloverb 2025년 04월 17일
  • Rails 애플리케이션의 권한 부여 방식은 암묵적 방식, CanCan, Pundit을 거쳐 발전했으며, 각 방식은 앱 규모에 따라 확장성과 관리 용이성 측면에서 한계를 드러냈습니다.
  • Pundit은 유연하지만 복잡성 증가 시 리팩토링, 성능, 디버깅, 역방향 조회에서 어려움이 있습니다.
  • Google Zanzibar 프로젝트 기반의 Fine-Grained Authorization(FGA)은 관계형 데이터를 그래프 형태로 저장하고 규칙을 정의하여 이러한 한계를 극복하며, `granity` 젬을 통해 Rails에서 구현 가능합니다.
wrocloverb 2025년 04월 17일

아담의 소프트웨어 개발 실패 사례와 교훈

13. Adam Piotrowski - It is not so bad, after all - wroc_love.rb 2025

  • 루비 컨퍼런스에서 아담이 경험한 소프트웨어 개발 프로젝트의 다양한 문제 상황과 실패 사례를 공유합니다.
  • 채용, 팀 관리, 고객 관계, 클라우드 비용, 시스템 통합 등 비기술적 측면의 어려움과 그로부터 얻은 교훈을 이야기합니다.
  • 신뢰의 중요성, 명확한 소통의 필요성, 오래된 시스템 관리의 위험성 등을 강조하며 업계의 현실을 유머러스하게 전달합니다.
wrocloverb 2025년 04월 17일

Yippi: Ruby 웹 개발의 새로운 지평을 열다

4. Stephen Margheim - On the tasteful journey to Yippee - wroc_love.rb 2025

  • Yippi는 SQLite 데이터베이스를 기반으로 단일 머신 배포에 최적화된 새로운 Ruby 웹 프레임워크입니다.
  • 이 프레임워크는 개발 경험의 혁신적인 개선을 목표로 하며, 밀리초 단위의 앱 시작 시간과 테스트 실행 속도를 추구합니다.
  • 모델, 컨트롤러, 뷰, 테스트, 배포 등 웹 애플리케이션의 모든 계층에서 단순성과 효율성을 극대화하는 독특한 접근 방식을 제시합니다.
wrocloverb 2025년 04월 17일

레거시 시스템 자신감 있게 현대화하기: Ruby on Rails 모놀리스 사례

6. Szymon Fiedler - Rewrite with confidence - wroc_love.rb 2025

  • 보험 산업의 복잡한 Ruby on Rails 레거시 시스템을 안전하게 현대화하는 방법론을 제시합니다.
  • 기존 시스템의 동작을 '사실상의 사양'으로 간주하고, 프로덕션 데이터를 샘플링하여 비즈니스 규칙을 검증합니다.
  • HTTP 요청 스텁 및 트랜잭션 롤백 기법으로 프로덕션 환경에 부작용 없이 정확한 재작업을 성공적으로 완료했습니다.
wrocloverb 2025년 04월 17일