Ruby on Rails: 지난 10년간의 여정과 현재
Jason Charnes - Don't Call It a Comeback - Rails World 2023 - YouTube
- Ruby on Rails는 웹 개발의 혁명을 가져왔으며, 개발자에게 생산성과 즐거움을 선사했습니다.
- JavaScript 생태계의 부상으로 한때 도전을 겪었지만, Rails는 지속적으로 혁신하고 적응하며 그 가치를 증명했습니다.
- 현재 Rails는 여전히 활발하며, 커뮤니티는 그 성공을 이어가기 위해 지속적인 사용, 학습, 기여 및 아이디어 공유를 독려합니다.
Unknown
2023년 10월 20일
Ruby Gem과 Rails 애플리케이션의 깊은 이해: 설치, 종속성 관리, 그리고 보안
Jenny Shen - Demystifying the Ruby package ecosystem - Rails World 2023 - YouTube
- 본 발표는 RubyGems와 Bundler가 Ruby on Rails 애플리케이션에서 Gem을 설치하고 종속성을 관리하는 내부 원리를 상세히 설명합니다.
- 특히, `gem install` 및 `bundle install`의 기술적 작동 방식과 Rails 애플리케이션 내에서 Gem이 원활하게 통합되는 과정을 다룹니다.
- 나아가, 타이포스쿼팅, 계정 탈취 등 Ruby Gem 생태계의 보안 위협과 이를 완화하기 위한 RubyGems.org의 노력 및 사용자 권장 사항을 제시합니다.
Unknown
2023년 10월 19일
Ruby on Rails 7.1: 복합 기본 키(Composite Primary Keys)의 활용과 이점
Nikita Vasilevsky - Implementing Native Composite Primary Key Support in Rails 7.1 - Rails World '23 - YouTube
- Ruby on Rails 7.1은 복잡한 데이터 관계 및 다중 테넌트 환경에 최적화된 복합 기본 키를 기본으로 지원합니다.
- 조인 테이블과 같이 단일 키로는 표현하기 어려운 고유한 관계를 정의하는 데 이상적이며, 다중 테넌트 애플리케이션의 쿼리 성능을 크게 향상시킵니다.
- 성능 향상에는 데이터 삽입 속도 저하라는 트레이드오프가 있으나, '가상 기본 키' 기능을 통해 스키마 변경 없이 유연하게 적용할 수 있습니다.
Unknown
2023년 10월 19일
Intercom의 다중 테넌트 Rails 시스템에서 데이터 격리 강화: Guard Rails 프로젝트
Miles McGuire - Guardrails: Keeping customer data separate in a multi tenant system - Rails World - YouTube
- Intercom은 12년 된 거대 Rails 코드베이스에서 다중 테넌트 데이터 격리 문제를 해결하기 위해 'Guard Rails' 프로젝트를 추진했습니다.
- 이 프로젝트는 각 요청에 대한 '올바른 앱' 컨텍스트를 정의하고, Active Record 객체 로딩 및 Rails 캐시 사용 시 데이터 유출을 방지하는 시스템을 구축했습니다.
- 수백 건의 코드 변경과 광범위한 리팩토링을 통해 데이터 보안을 강화하고, 예상치 못한 추가적인 운영 효율성 개선 효과를 얻었습니다.
Unknown
2023년 10월 19일
Solid Cache: Rails 애플리케이션을 위한 디스크 기반 캐시 솔루션
Donal McBreen - Solid Cache: A disk backed Rails cache - Rails World 2023 - YouTube
- Solid Cache는 Rails 애플리케이션을 위한 새로운 디스크 기반 캐시 솔루션으로, 기존 메모리 기반 캐시의 높은 비용과 용량 한계를 극복합니다.
- FIFO(선입선출) 알고리즘을 사용하여 데이터베이스 파편화를 방지하고 읽기 시 불필요한 쓰기 작업을 없애는 등 단순성과 효율성을 추구합니다.
- 37signals의 Basecamp에 적용한 결과, 스토리지 비용을 20배 절감하고 캐시 미스율을 낮추는 등 전반적인 애플리케이션 성능 향상을 입증했습니다.
Unknown
2023년 10월 19일
Rails World 2023 어워드 발표: Chris Oliver와 Tobi Lütke 수상
Rails Luminary Award Winners - Rails World 2023 - YouTube
- Rails World 2023에서 첫 Rails Luminary Award는 GoRails의 Chris Oliver에게 수여되었고, Rails 커뮤니티에 대한 교육 및 기여를 인정받았습니다.
- Rails 생태계에 대한 평생의 공헌을 기리는 Lifetime Award는 Shopify의 창립자이자 전 Rails 핵심 멤버인 Tobi Lütke에게 돌아갔습니다.
- 이번 시상식은 Rails 커뮤니티의 중요한 인물들의 노고와 혁신적인 기여를 공식적으로 인정하는 자리였습니다.
Unknown
2023년 10월 19일
Rails 7의 새로운 자산 파이프라인: Propshaft의 이해와 활용
Breno Gazzola - Propshaft and the Modern Asset Pipeline - Rails World 2023 - YouTube
- Rails 7의 새로운 자산 파이프라인인 Propshaft는 기존 Sprockets의 복잡성을 줄이고 현대 웹 기술에 맞춰 재설계되었습니다.
- Propshaft는 트랜스파일링과 번들링을 제거하고, 향상된 지문 인식 기능을 제공하며, Node.js 기반 번들러와의 통합을 강화합니다.
- 개발자는 Node.js 사용 여부에 따라 Sprockets 또는 Propshaft를 선택하여 효율적인 프론트엔드 개발 환경을 구축할 수 있습니다.
Unknown
2023년 10월 19일
Hotwire 에코시스템의 미래와 비전
Marco Roth - The Future of Rails as a Full-Stack Framework powered by Hotwire - Rails World 2023 - YouTube
- Hotwire는 Turbolinks에서 진화한 'HTML over the Wire' 접근 방식으로, Rails 7에 기본 포함되어 서버 렌더링 애플리케이션 개발의 복잡성을 줄입니다.
- 새로운 Turbo 기능, StimulusUse, Turbo Power, Turbo Boost 등 다양한 라이브러리와 향상된 툴링으로 개발자 경험과 사용자 경험을 개선합니다.
- Hotwire.io와 커뮤니티 주도적 노력을 통해 문서화와 생태계 탐색을 개선하며, React와 같은 SPA의 장점을 통합하고 있습니다.
Unknown
2023년 10월 19일
Action Cable 내부 탐구 및 문제 해결 전략
Vladimir Dementyev - Untangling cables and demystifying twisted transistors - Rails World 2023 - YouTube
- Rails의 Action Cable은 추상화를 통해 실시간 통신을 간소화하지만, 내부 메커니즘을 이해하는 것이 중요합니다.
- Action Cable은 동시성 처리 및 재연결 시 발생하는 'Connection Avalanche'와 같은 성능 문제를 내재하고 있습니다.
- 이러한 프로토콜의 한계와 내부 스레딩 모델을 이해하고, 재연결 무작위화, 구독 병합, 명령 직렬화 등의 전략으로 문제에 대응할 수 있습니다.
Unknown
2023년 10월 19일
Ruby on Rails Turbo의 혁신: 개발자 행복을 위한 모핑 기반 페이지 새로고침 및 브로드캐스팅 개선
Jorge Manrubia - Making a difference with Turbo - Rails World 2023 - YouTube
- Turbo는 새로운 '페이지 새로고침 모핑' 기능을 도입하여 전체 페이지를 새로고침할 때도 스크롤 위치 등 클라이언트 상태를 유지하며 부드러운 UI 전환을 제공합니다.
- 이는 복잡한 프론트엔드 코드 없이도 뛰어난 사용자 경험과 개발 생산성을 동시에 달성하기 위한 Rails의 '개발자 행복' 철학을 강화합니다.
- 또한, 이 모핑 기술은 서버에서 발생하는 변경 사항을 브라우저에 브로드캐스트하는 과정을 획기적으로 단순화하여 프론트엔드 개발의 부담을 줄입니다.
Unknown
2023년 10월 19일
Tailwind CSS: Rails 애플리케이션에서의 효율적인 UI 개발
Adam Wathan - Tailwind CSS: It looks awful, and it works - Rails World 2023 - YouTube
- Tailwind CSS는 유틸리티 클래스를 HTML에 직접 적용하여 UI를 구축하는 방식의 CSS 프레임워크입니다.
- 이 방식은 초기에는 복잡해 보일 수 있으나, 반응형 디자인, 다크 모드, 동적 스타일링 등을 효율적으로 구현하여 개발 생산성을 높입니다.
- Rails의 partial과 같은 템플릿 기능을 활용하면 코드 중복을 최소화하고, 유지보수성이 뛰어난 UI 개발이 가능합니다.
Unknown
2023년 10월 19일
Ruby on Rails에서 다중 데이터베이스 활용 전략 및 Harvest 사례 연구
Julia López -Using Multiple Databases with Active Record - Rails World 2023 - YouTube
- 본 발표는 Ruby on Rails 환경에서 다중 데이터베이스를 효과적으로 활용하는 전략과 Harvest의 실제 구현 사례를 공유합니다.
- 고가용성, 샤딩, 보안 및 규정 준수 등 다중 데이터베이스 도입의 주요 동기와 이점, 그리고 고려해야 할 단점들을 설명합니다.
- Rails 6에 도입된 다중 데이터베이스 기능(수동 및 자동 연결 전환)을 중심으로 Harvest가 직면한 도전과 커스터마이징 솔루션을 상세히 다룹니다.
Unknown
2023년 10월 19일
Rails HTML5 Sanitization: 과거의 유산과 현재의 진화
Mike Dalessio - Rails::HTML5: the strange and remarkable three-year journey - Rails World 2023 - YouTube
- Rails는 HTML4 기반의 Sanitizer와 HTML5 브라우저 간의 파싱 불일치로 인한 Mutation XSS 취약점에 직면했습니다.
- 이 문제를 해결하기 위해 Rails Sanitizer 스택 전체를 HTML5 파서를 사용하도록 진화시키는 과정이 진행되었습니다.
- 그 결과 Rails 7.1부터 HTML5 Sanitization이 공식적으로 지원되어 사용자 보안이 강화되었습니다.
Unknown
2023년 10월 19일
Rails 개발자를 위한 Turbo Native: 웹을 네이티브 앱으로
Joe Masilotti - Just enough Turbo Native to be dangerous - Rails World 2023 - YouTube
- Turbo Native는 Rails 개발자가 서버 측 HTML을 활용하여 iOS 및 Android 네이티브 앱을 신속하게 구축할 수 있도록 지원합니다.
- 이는 기존 Rails 코드베이스를 재활용하여 개발 시간과 비용을 크게 절감하며, 필요에 따라 네이티브 기능을 통합할 수 있는 유연성을 제공합니다.
- 핵심은 웹 뷰의 장점을 극대화하면서 네이티브 앱과 같은 사용자 경험을 제공하는 효율적인 하이브리드 개발 방식입니다.
Unknown
2023년 10월 19일
Ruby Zeitwerk 라이브러리의 코드 로딩 메커니즘 심층 분석
Xavier Noria - Zeitwerk Internals - Rails World 2023 - YouTube
- Zeitwerk는 Ruby 프로젝트에서 코드 자동 로딩, 재로딩, 즉시 로딩을 투명하고 효율적으로 관리하는 라이브러리입니다.
- 이 라이브러리는 Ruby의 상수 모델과 `Module#autoload` API를 활용하여 필요한 코드만 지연 로딩하며 성능을 최적화합니다.
- Rails 애플리케이션에서 `require` 문 없이도 코드를 자동으로 로드하게 함으로써 개발 편의성과 시스템 효율성을 높입니다.
Unknown
2023년 10월 19일