지난 글들
1164개의 글이 있습니다
Ruby on Rails 애플리케이션의 비즈니스 로직 캡슐화 전략: 서비스 객체와 다양한 접근 방식
Objects to Encapsulate Business Logic - Julian Pinzon Eslava and Adam Rice
- 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일
Sorbet에 RBS 주석 지원 추가: Shopify의 Ruby 개발 경험 개선
Inline RBS comments support for Sorbet
- 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일
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일
Rails 캐시 키 크기 설정 기능 추가 및 변경 사항
Improved leap year counting performance and more!
- Rails 캐시 키의 최대 크기를 설정할 수 있는 기능이 추가되었으며, 기본 제한은 250바이트입니다.
- 캐시 키가 설정된 제한을 초과할 경우, 키가 잘리고 나머지 부분의 다이제스트가 추가됩니다.
- ActiveSupport::Cache::RedisCacheStore의 캐시 키 제한이 기존 1KB에서 250바이트로 축소되었습니다.
This Week in Rails
2025년 04월 18일
Ruby Conf 라이트닝 토크 요약: 개발 트렌드, 도구, 그리고 커리어 성장 전략
9. Lightning Talks - wroc_love.rb 2025
- Ruby Conf의 다양한 라이트닝 토크는 Decider 패턴, OpenTelemetry, RSpec 활용법 등 최신 개발 패러다임과 도구 활용법을 공유합니다.
- 관찰 가능성(Observability)의 중요성, 비즈니스 프로세스 관리, 그리고 Ruby on Rails 개발 생산성을 높이는 Ray Spotlight 같은 실용적인 도구들이 소개되었습니다.
- 기술 역량을 넘어선 커리어 성장 전략, 효과적인 피드백의 중요성, 그리고 컨퍼런스 발표 준비 팁 등 개발자 개인의 성장과 커뮤니티 기여 방안에 대한 인사이트를 제공합니다.
wrocloverb
2025년 04월 17일
모놀리스는 문제인가?
10. Chikahiro Tokoro - Is the monolith a problem? - wroc_love.rb 2025
- 본 발표는 모놀리식 아키텍처에 대한 일반적인 비판에 도전하며, 모놀리스 자체가 아닌 '갓 오브젝트'와 잘못된 모델링이 핵심 문제임을 주장합니다.
- Shopify와 Amazon Prime Video 사례를 통해 모놀리스의 확장성과 효율성을 입증하고, 아키텍처 트렌드의 주기적인 변화를 설명합니다.
- 문제 해결을 위해 DRY 원칙과 도메인 주도 설계(DDD)를 통한 모델 개선, 그리고 명확한 비즈니스 목표를 가진 점진적인 리팩토링의 중요성을 강조합니다.
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일
이벤트 모델링을 통한 효과적인 도메인 주도 설계 및 애플리케이션 개발 전략
7. Mateusz Nowak - Might & Magic of Domain-Driven Design - wroc_love.rb 2025
- 기존 데이터베이스 중심의 애플리케이션 설계 방식에서 벗어나, 비즈니스 프로세스와 행위에 초점을 맞춘 이벤트 중심 사고의 중요성을 강조합니다.
- 이벤트 모델링은 도메인 전문가와 개발자 간의 공유된 이해를 구축하고, 시스템 경계를 명확히 하여 모듈화된 애플리케이션을 설계하는 강력한 도구임을 제시합니다.
- 계획 단계에서의 철저한 모델 검증과 아키텍처 실행을 통해 개발 효율성을 높이고, 비즈니스 변화에 신속하게 대응할 수 있는 유연한 시스템 구축을 목표로 합니다.
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일
Yippi: Ruby 웹 개발의 새로운 지평을 열다
4. Stephen Margheim - On the tasteful journey to Yippee - wroc_love.rb 2025
- Yippi는 SQLite 데이터베이스를 기반으로 단일 머신 배포에 최적화된 새로운 Ruby 웹 프레임워크입니다.
- 이 프레임워크는 개발 경험의 혁신적인 개선을 목표로 하며, 밀리초 단위의 앱 시작 시간과 테스트 실행 속도를 추구합니다.
- 모델, 컨트롤러, 뷰, 테스트, 배포 등 웹 애플리케이션의 모든 계층에서 단순성과 효율성을 극대화하는 독특한 접근 방식을 제시합니다.
wrocloverb
2025년 04월 17일
PostgreSQL에서 SQLite로의 Ruby on Rails 애플리케이션 마이그레이션: 단순성, 비용 절감 및 성능 향상
12. Wojtek Wrona - From PostgreSQL to SQLite in Rails - wroc_love.rb 2025
- 작은 스타트업이 PostgreSQL에서 SQLite로 Rails 애플리케이션을 성공적으로 마이그레이션하여 운영 비용을 대폭 절감하고 애플리케이션 성능을 향상시켰습니다.
- SQLite의 내장형 데이터베이스 특성, 단순한 배포 및 낮은 지연 시간은 N+1 쿼리 문제 완화 및 개발 효율성 증대에 기여했습니다.
- 마이그레이션 과정에서 데이터 타입 변환, 제약 조건 처리, 동시성 및 외래 키 오류 디버깅과 같은 도전 과제를 극복하며 실질적인 이점을 확인했습니다.
wrocloverb
2025년 04월 17일
Ruby는 항상 타입을 가지고 있었다: 런타임 타입으로 더 적은 코드, 더 적은 버그
1. Joel Drapper - Ruby has literally always had types - wroc_love.rb 2025
- Ruby는 전통적인 정적 타입이 아닌 런타임 타입 개념을 통해 항상 타입을 내재하고 있었으며, `===` 연산자가 이를 대표하는 인터페이스입니다.
- `literal` 라이브러리는 이 `===` 인터페이스를 활용하여 유연하고 강력한 런타임 타입 검사 및 객체 정의를 가능하게 합니다.
- 이를 통해 개발자는 적은 코드로 더 적은 버그를 발생시키며, 메타 프로그래밍의 장점을 유지하면서 코드의 안정성과 가독성을 높일 수 있습니다.
wrocloverb
2025년 04월 17일
달력의 역사와 프로그래밍: 시간, 성능 그리고 시스템 재작성 원칙
8. Norbert Wójtowicz - Gregorian Calendar - wroc_love.rb 2025
- 달력의 복잡한 역사, 특히 로마 시대의 결정들이 현대 소프트웨어의 날짜/시간 처리 로직에 깊은 영향을 미칩니다.
- 현대 CPU 아키텍처의 특성을 이해하고 실제 벤치마킹을 통해 성능을 최적화하며, 직관에 반하는 '더 많은 작업'이 때로는 더 빠를 수 있음을 인지해야 합니다.
- C++ Chrono 라이브러리처럼 명확한 추상화와 원칙을 기반으로 시스템을 설계하고, 대규모 변경을 배포할 때는 역사적 교훈을 통해 신중한 접근이 필요합니다.
wrocloverb
2025년 04월 17일