지난 글들

752개의 글이 있습니다

대규모 Rails 애플리케이션의 비즈니스 로직 분리 및 모듈화 전략

RailsConf 2025 Derailing Our Application: How and Why We... by Fito von Zastrow, Alan Ridlehoover

  • 대규모 Rails 애플리케이션의 복잡성과 테스트 용이성 문제를 해결하기 위해 비즈니스 로직을 Rails 컨스트럭트로부터 분리하고 모듈화하는 전략을 제시합니다.
  • 컨트롤러, 뷰(ERB), 모델에서 비즈니스 로직을 PORO(Plain Old Ruby Object)로 추출하고, 도메인 기반의 디렉토리 구조로 재구성하여 코드의 응집도를 높였습니다.
  • 도메인 경계를 설정하여 팀 자율성과 책임감을 강화하고, 이를 통해 테스트 커버리지 증가, 복잡성 감소, 문제 해결 속도 향상 등의 긍정적인 성과를 달성했습니다.
Ruby Central 2025년 07월 24일

Rescue에서 Solid Queue로의 성공적인 마이그레이션: Full Script의 경험

RailsConf 2025 From Resque to SolidQueue - Rethinking our background jobs for... by Andrew Markle

  • Full Script는 기존 백그라운드 큐 시스템인 Rescue의 불안정성과 의존성 문제를 해결하기 위해 Rails의 새로운 기본 큐 어댑터인 Solid Queue로 성공적으로 전환했습니다.
  • 큐 이름을 지연 시간 허용치(latency tolerance) 기반으로 재정의하여 개발자와 운영팀 모두에게 명확한 서비스 수준 목표(SLO)를 제공하고 모니터링 및 자동 확장을 용이하게 했습니다.
  • Solid Queue 마이그레이션 과정에서 발생한 데이터베이스 연결 부족, 메모리 부족, 느린 작업 처리 문제 등을 해결하며 시스템의 안정성과 성능을 크게 향상시켰습니다.
Ruby Central 2025년 07월 24일

Active Record Attributes API 재작성: 타입 캐스팅 개선과 유지보수성 향상

RailsConf 2025 An ActiveRecord Rewrite: the Story Behind the Attributes API by Tess Griffin

  • Active Record Attributes API는 타입 캐스팅 로직을 캡슐화하여 기존의 복잡하고 분산된 스파게티 코드를 개선하고 유지보수성을 극대화했습니다.
  • 초기 성능 저하를 객체 지연 초기화 방식으로 해결하여 효율성을 유지하며, 안정적인 Rails 버전 업그레이드와 외부 Gem 개발을 지원합니다.
  • 이 리팩토링은 코드의 가독성과 안정성을 높여 버그 발생 가능성을 줄이고, 오픈 소스 프로젝트의 지속 가능한 발전에 기여했습니다.
Ruby Central 2025년 07월 24일

Rails 애플리케이션을 위한 프로그레시브 웹 앱(PWA) 구축 전략

RailsConf 2025 The Future of: PWAs on Rails by Edy Silva

  • Rails 7.2 이상 버전에서 PWA 파일(manifest.json, service_worker.js)을 활용하여 웹 애플리케이션을 설치 가능하게 만들고 오프라인 기능을 제공할 수 있습니다.
  • Cache API, IndexedDB API, Push API 등 브라우저의 다양한 PWA API를 사용하여 오프라인 콘텐츠 접근, 백그라운드 데이터 동기화, 사용자 참여 증대를 위한 푸시 알림 기능을 구현할 수 있습니다.
  • Workbox와 Rails Generator를 통해 PWA 구현의 복잡성을 줄이고, Rails 친화적인 방식으로 PWA 기능을 통합하여 개발 효율성을 높이는 방법을 제시합니다.
Ruby Central 2025년 07월 24일

Rails가 발명하지 않았지만 유명하게 만든 5가지 아이디어

RailsConf 2025 Not Invented Here: Things Rails Didn't Innovate by Caleb Hearth

  • Rails는 MVC, REST, Convention over Configuration, Active Record, Merb와 같은 기존의 검증된 소프트웨어 개발 아이디어를 채택하고 대중화하여 성공을 거두었습니다.
  • 각 개념의 역사적 배경과 Rails가 이를 어떻게 해석하고 확장했는지 상세히 설명하며, Rails의 근본적인 설계 철학이 '바퀴를 재발명하지 않는 것'임을 강조합니다.
  • Merb와의 통합은 Rails 3에서 모듈화, 공개 API, 성능 개선을 가져와 프레임워크의 유연성과 확장성을 크게 향상시켰습니다.
Ruby Central 2025년 07월 24일

레일즈 프론트엔드의 오마카세: 제약이 이끄는 창의성과 효율성

RailsConf 2025 The Front-end is Omakase by Cameron Dutro

  • 레일즈의 '오마카세' 철학은 개발자의 선택을 제한하여 생산성을 높이며, 이는 프론트엔드 개발에도 핵심적으로 적용되어야 합니다.
  • 간결하고 효율적인 레일즈 프론트엔드 스택을 위해 npm, Vit, PostCSS, TypeScript, Hotwire, Stimulus, Web Components 사용을 권장합니다.
  • 과도한 자바스크립트 프레임워크 사용은 웹 성능을 저해하므로, 대부분의 애플리케이션에서는 불필요한 선택을 지양하고 본질에 집중해야 합니다.
Ruby Central 2025년 07월 24일

Rails 8의 인증 시스템 해부: 블랙박스를 넘어선 투명한 접근

RailsConf 2025 Unraveling the black box: past, present and future of... by Alicia Rojas

  • Rails 8은 투명하고 확장 가능한 내장 인증 시스템을 제공하여, 개발자가 인증 과정을 심도 깊게 이해하고 맞춤 설정할 수 있도록 돕습니다.
  • 패스워드리스(Passwordless) 및 OAuth/SSO와 같은 최신 인증 흐름은 사용자 편의성과 보안을 강화하며, Rails 8의 유연한 구조를 통해 효과적으로 구현될 수 있습니다.
  • 인증은 더 이상 단순한 백엔드 기능이 아닌 UX, 제품, 보안과 밀접하게 연결된 핵심 요소로, Rails는 이러한 복합적인 요구사항을 충족하는 견고한 기반을 제공합니다.
Ruby Central 2025년 07월 24일

Ruby on Rails 애플리케이션에 OpenTelemetry 적용하기 워크숍

RailsConf 2025 How to instrument your Rails app with OpenTelemetry by Kayla Reopelle

  • OpenTelemetry의 기본 개념과 Rails 앱에 Traces, Metrics, Logs를 통합하는 실용적인 방법을 다룹니다.
  • SDK, Exporter, Instrumentation을 설정하고, 커스텀 스팬, 속성, 메트릭 및 로그를 추가하는 과정을 상세히 설명합니다.
  • Ruby OpenTelemetry 프로젝트의 현황(안정성, 실험적 기능)과 커뮤니티 참여를 독려하며 향후 발전 방향을 제시합니다.
Ruby Central 2025년 07월 24일

Hotwire Native를 활용한 모바일 앱 개발 워크숍: Rails 개발자를 위한 비밀 도구

RailsConf 2025 Hotwire Native: A Rails developer’s secret tool to buildin... by Joe Masilotti

  • Hotwire Native는 기존 Rails 웹 화면과 비즈니스 로직을 재활용하여 iOS 및 Android 앱을 구축, 개발 시간과 비용을 획기적으로 절감합니다.
  • App Store 검토 과정 없이 웹 서버 배포만으로 앱 업데이트 및 새로운 기능 추가가 가능하여 빠른 개발 주기를 지원합니다.
  • 네이티브 탭 바, 브릿지 컴포넌트 등 점진적 개선(Progressive Enhancement)을 통해 웹뷰 기반 앱에 강력한 네이티브 기능을 통합할 수 있습니다.
Ruby Central 2025년 07월 24일

Rails 애플리케이션에서 비용을 유발하는 데이터베이스 실수 10가지

RailsConf 2025 10 Costly Database Performance Mistakes (and How to Fix Them) by Andrew Atkinson

  • Rails 애플리케이션의 데이터베이스 성능, 비용, 개발 민첩성에 영향을 미치는 10가지 흔한 실수를 분석하고 각 해결책을 제시합니다.
  • 잦은 릴리스, DB 전문성 강화, 강력한 제약 조건 활용, 쿼리 최적화, 안전한 DDL 변경 등 모범 사례를 통해 데이터베이스 문제를 예방합니다.
  • 데이터베이스의 작동 방식을 깊이 이해(Mechanical Sympathy)하고 그 강점을 활용하여 최적의 성능과 시스템 안정성을 달성하는 것이 중요합니다.
Ruby Central 2025년 07월 24일

Rails 애플리케이션 성능 최적화: 캐싱 전략과 CPU 캐시의 중요성

RailsConf 2025 Cache = Cash! 2.0 by Stefan Wintermeyer

  • CPU 캐시의 원리를 이해하고 데이터 접근 비용을 고려하는 것이 Rails 애플리케이션 성능 최적화의 핵심입니다.
  • Active Record의 `select` 활용, 데이터 타입 최적화, 인덱싱, 프래그먼트 및 HTTP 캐싱, 정적 페이지 생성 등 다양한 캐싱 전략을 통해 Rails 앱의 속도를 획기적으로 개선할 수 있습니다.
  • 웹 페이지 로딩 속도는 사용자 경험과 직결되며, 1초 이내 로딩을 목표로 하는 성능 최적화는 비즈니스 성과에 직접적인 영향을 미칩니다.
Ruby Central 2025년 07월 24일

액션 뷰 캐시의 유령: Rails 애플리케이션 최적화

RailsConf 2025 The Ghosts of Action View Cache by Hartley McGuire

  • Action View 프래그먼트 캐싱은 렌더링된 HTML을 캐시하여 성능을 향상시키고 객체 유형 관련 버그를 방지합니다.
  • Action View Precompiler는 ERB 템플릿을 애플리케이션 부팅 시 미리 컴파일하여 메모리 사용량을 최적화합니다.
  • Action View의 의존성 추적 기능을 활용하여 사용되지 않는 뷰 템플릿을 식별하고 제거하여 코드베이스를 깔끔하게 유지할 수 있습니다.
jeff 2025년 07월 24일

레일스 8 부트 타임 최적화: Shopify 모놀리스 사례를 중심으로

RailsConf 2025 Development Speed Optimizations in Rails 8 by Gannon McGibbon

  • 레일스 8에서는 파일 감시, 라우팅, 초기화 등 핵심 영역에서 부트 타임 최적화가 이루어져 개발 생산성이 크게 향상되었습니다.
  • `bin/rails boot` 명령과 프로파일링 도구를 활용하여 애플리케이션의 부트 타임 병목 지점을 정확히 식별하고 개선할 수 있습니다.
  • Shopify는 이러한 최적화를 통해 모놀리스 애플리케이션의 부트 타임을 12.5초에서 3.5초로 단축했으며, 레일스 8 업그레이드를 통해 모든 애플리케이션이 혜택을 받을 수 있습니다.
Ruby Central 2025년 07월 24일
  • 애런 패터슨은 지난 16년간의 RailsConf 키노트 경험을 유머러스하게 회고하며, 종종 "이유는 모르겠지만 재미있었기 때문"이라는 동기로 시작된 독특하고 기술적으로 도전적인 프로젝트들을 소개합니다.
  • 그는 AI가 코드 발견이나 반복적인 작업에 유용하지만, 생성하는 코드가 "평범"하며 인간의 창의성과 즐거움을 동반한 프로그래밍을 대체할 수 없다고 지적합니다.
  • 미래 프로그래밍 산업의 발전은 AI가 아닌, 순수한 즐거움과 호기심으로 코딩하는 "취미 프로그래머"들의 창의적인 노력에 달려 있다고 강조하며, 이를 통해 인간만이 이끌 수 있는 혁신을 촉구합니다.
Ruby Central 2025년 07월 24일

Action View의 진화: Herb를 통한 Rails 뷰 레이어 개선

RailsConf 2025 The Modern View Layer Rails Deserves: A Vision for 2025 and Beyond by Marco Roth

  • Herb는 HTML ERB 파일을 위한 새로운 파서, 포매터, 린터, 언어 서버 등 통합 도구 생태계로, Rails 뷰 레이어의 개발 경험을 혁신합니다.
  • Action View의 고질적인 문제점(도구, 테스트, 성능)을 해결하고, JavaScript 생태계의 고급 도구에서 영감을 받아 개발자 생산성을 향상시킵니다.
  • 궁극적으로 Herb는 유효한 HTML만 생성하는 새로운 ERB 엔진(Reaction View)을 목표로 하며, 반응형 템플릿 및 클라이언트 측 통합 가능성을 제시합니다.
jeff 2025년 07월 24일