안녕하세요 구독자님,
크리스마스가 바로 코앞으로 다가왔어요. 이번 주 뉴스레터는 ShortRuby의 휴간으로 자체적으로 수집한 소식으로 준비해 봤어요. 연말의 바쁜 일정 속에서도 잠시 여유를 가지며 재미있게 읽어주시면 좋겠어요.
이번 주 소식은 Ruby on Rails 블로그의 여러 소식과 Shopify의 3D 라이브 글로브 구현 이야기, Rails Conf 2025, Rails8에서 제공하는 기능 몇 가지, Rails로 만들어진 오픈소시 이야기 외에도 다양한 소식을 다뤄봤어요.
새로운 소식
Ruby 3.4.0 릴리즈 예정
뉴스레터를 작성하는 시점에 Ruby 3.4.0 릴리즈 태그가 생성됐어요. 아마도 25일이나 뉴스레터를 발송하는 시점이나 그 전후로 공식 릴리즈가 될 것으로 예상하고 있어요. rc 릴리즈에서 큰 변화는 없을 것으로 예상되는데 릴리즈 내용에 대해 관심 있으신 분들은 Ruby 3.4.0 rc1 릴리즈 소식과 GitHub Release 페이지를 참고해주세요.
Ruby on Rails: 새로운 Docs 랜딩 페이지 소개
Ruby on Rails에서 Rails Docs 랜딩 페이지를 소개했어요. Rails를 설치하고 배우며 더 깊이 이해하고 커뮤니티에 참여하는 모든 과정을 시작할 수 있는 친절한 새로운 출발점이 마련됐다고 소개했어요.
주요 내용은 아래와 같아요.
- 설치 가이드와 튜토리얼, 가이드에서 API 문서와 포럼까지, 모든 자료를 통합한 랜딩 페이지 제공.
- 기존의 "Contribute"는 Source로 이름 변경, 기여 가이드 접근성 개선.
- "Team"은 Community로 바뀌어 Rails 팀과 기여자 정보를 한눈에 확인 가능.
- "Blog"는 이제 News로, Rails 관련 소식과 뉴스레터를 포함.
- 새롭게 추가된 Merch와 Events 섹션.
자세한 내용은 Docs 랜딩 페이지를 확인해보세요.
Rails Foundation의 2024년 활동 결산
DHH는 2024년을 Rails와 Rails Foundation의 특별한 해로 평가하며, 커뮤니티와 Rails 생태계를 위해 헌신한 모든 멤버들에게 감사를 전했어요.
Rails 커뮤니티에 대한 지속적인 투자:
프레임워크의 개선뿐 아니라 문서화, 이벤트, 마케팅 등 커뮤니티 전반에 걸쳐 자원을 집중.
Rails Foundation의 핵심 역할
- 문서화 개선과 튜토리얼 제공 등 개발자 경험을 혁신.
- 다양한 활동으로 Rails의 가치를 더 널리 알림.
커뮤니티와 멤버십의 성장
Core 및 Contributing 멤버들의 헌신 덕분에 커뮤니티가 더욱 단단해짐.
DHH의 메시지와 함께, Rails Foundation의 2024년 결산 블로그를 통해 더 자세한 내용을 확인해보세요.
Shopify의 혁신적인 3D 라이브 글로브 구축 사례
Shopify는 2024년 블랙 프라이데이와 사이버 먼데이(BFCM) 기간 동안 실시간 판매 데이터를 시각화하는 3D 라이브 글로브를 선보였어요. 이 프로젝트는 AR/VR 분야의 수석 엔지니어인 Daniel Beauchamp가 이끌었으며, 약 2개월의 개발 기간 동안 6명의 팀원이 참여했어요.
주요 기술 스택:
- 프론트엔드: React 및 React Three Fiber(R3F)을 활용하여 3D 인터페이스를 구현했어요.
- 백엔드: Go로 작성된 이벤트 서버와 Ruby on Rails 기반의 API 서버를 사용했어요.
- 데이터 파이프라인: Apache Kafka와 Apache Flink를 통해 실시간 데이터 스트리밍을 처리했어요.
시스템 아키텍처:
- 데이터 수집: Shopify 플랫폼에서 발생하는 실시간 주문 및 트래픽 데이터를 수집했어요.
- 데이터 처리: 수집된 데이터를 Kafka와 Flink를 통해 실시간으로 처리하여 시각화에 필요한 형식으로 변환했어요.
- 데이터 전송: 처리된 데이터를 서버-전송 이벤트(Server-Sent Events, SSE)를 통해 프론트엔드 애플리케이션에 전달했어요.
- 시각화 및 인터랙션: React와 R3F를 사용하여 사용자에게 3D 지구본 형태로 데이터를 시각화하고, 다양한 인터랙션을 제공했어요.
개발 과정:
- 아이디어 구상: 팀은 기존의 라이브 글로브를 개선하여 사용자 경험을 향상시키기 위해 새로운 디자인과 기능을 구상했어요.
- 디자인 및 프로토타입: 우주선 내부를 연상시키는 인터페이스를 디자인하고, 초기 프로토타입을 제작하여 사용자 피드백을 수집했어요.
- 구현: 성능 최적화와 안정성을 고려하여 코드를 작성하고, 다양한 이스터 에그(예: 음악 신시사이저, 보블헤드, 긴급 종료 시퀀스)를 추가하여 재미 요소를 더했어요.
- 테스트 및 배포: 철저한 테스트를 거쳐 시스템의 안정성을 확인한 후, 블랙 프라이데이 시작과 함께 라이브 글로브를 공개했어요.
성과 및 반응: 이 프로젝트는 사용자들에게 실시간 데이터 시각화의 새로운 경험을 제공하며 큰 호응을 얻었어요. 또한, 라스베이거스의 새로운 랜드마크인 ‘The Sphere’에 라이브 스트리밍되어 더욱 주목받기도 했어요.
공개 당시 저도 소식지에 두 가지 이야기로 소식을 전하기도 했어요. 이전 소식지 보기
자세한 내용은 Pragmatic Engineer의 뉴스레터에서 확인하실 수 있고, 유료 구독을 하면 시스템 아키텍쳐와 같은 더 기술적인 이야기들을 볼 수 있어요.
RailsConf의 새로운 전환: 2025년을 끝으로 RailsConf 종료
Ruby Central은 RailsConf 2025를 마지막으로 더 이상 RailsConf를 개최하지 않겠다고 발표했어요. 이는 Ruby와 Rails 커뮤니티를 더욱 전문적으로 지원하기 위한 전략적 변화로, Ruby Central과 Rails Foundation이 각각의 역할에 집중하는 계기가 될 예정이라고 해요.
Rails의 창시자인 David Heinemeier Hansson(DHH)는 이 변화에 대해 긍정적인 평가를 내렸어요. 그는 다음과 같은 견해를 밝혔어요:
- Ruby Central은 Ruby에, Rails Foundation은 Rails에 각각 집중함으로써 두 조직이 더 효과적으로 협력할 수 있을 것.
- Ruby와 Rails가 서로의 강점을 극대화하여 “Ruby on Rails의 강력한 조합”을 만들어 갈 것이라는 기대.
RailsConf의 유산과 2025년의 중요성
- RailsConf는 지난 수년간 Rails 커뮤니티에 중요한 만남의 장을 제공하며, 여러 혁신적인 아이디어와 프로젝트가 탄생한 배경이 되었어요.
- RailsConf 2025는 과거의 성공을 기념하고 커뮤니티의 새로운 미래를 향한 전환점이 될 예정이라고 해요.
향후 계획
- Ruby Central은 RubyConf와 지역 이벤트 지원에 더욱 집중하고,
- Rails Foundation은 Rails 중심의 이벤트와 커뮤니티 프로그램 개발에 주력할 예정이라고 해요.
Rails 라우팅 성능 개선: 해시 키 매핑 방식 사용 중단
Rails 라우팅의 성능을 최대 1.5배까지 향상시키기 위해, Greg Molnar와 Rails Core 팀은 해시 키를 사용한 라우트 매핑 방식을 2024년에 공식적으로 폐지했다고 전했어요.
변경 배경 및 이유
성능 최적화
- 키워드 기반 매핑으로 전환하면 라우팅 처리 속도가 현저히 향상.
- 라우팅의 복잡성을 줄이고 유지보수성을 높임.
이전 방식과 새로운 방식 비교
Greg는 이 변경 사항을 통해 “라우팅의 간소화와 효율성 개선”을 목표로 했으며, 이는 Rails 8에서 기본적으로 적용될 예정이라고 설명했어요. 자세한 논의는 GitHub PR #52422와 Greg Molnar의 트윗을 참고해보세요.
Rails 8의 새로운 컨트롤러 헬퍼 allow_browser 소개
Rails 8에서 도입된 allow_browser 컨트롤러 헬퍼는 애플리케이션에서 지원할 최소 브라우저 버전을 간단하게 설정할 수 있도록 설계되었어요. 이 기능은 브라우저 호환성 관리를 단순화하고 사용자 경험을 개선하기 위해 만들어졌다고 해요.
- 특정 브라우저와 버전에 대해 접근을 제한할 수 있습니다.
- :modern 키워드를 사용하여 WebP 이미지, CSS nesting 등 최신 웹 기술을 지원하는 브라우저만 허용 가능
- 최소 요구사항 미달 브라우저는 HTTP 426 상태 코드와 함께 public/426.html 파일로 리다이렉트됩니다.
- 특정 컨트롤러 액션에만 적용하거나 제외 가능
- ActiveSupport::Notifications를 활용해 차단된 브라우저 이벤트를 모니터링할 수 있습니다.
주요 목적
- 브라우저 호환성 문제를 사전에 방지하고 최신 웹 기술 활용을 장려.
- 개발자가 원하는 브라우저 환경을 유지하면서 사용자 경험 최적화.
이 기능은 GitHub PR #50505에서 DHH와 Rails Core 팀의 논의를 통해 도입되었어요.
Rails8로 업그레이드하고 프로젝트 페이지를 크롬의 개발자도구를 통해 모바일 화면을 조회할때마다 426 에러가 나는 바람에 알게 된 내용인데 최근 Greg Molnar의 공유가 있기도 해서 공유해봐요.
Hotwire Spark: Rails 앱을 위한 라이브 리로딩 기능 출시
Hotwire Spark는 Rails 애플리케이션 개발에서 즉각적인 피드백 루프를 가능하게 하는 새로운 라이브 리로딩 시스템이에요. 이 시스템은 HTML, CSS, Stimulus 컨트롤러의 변경 사항을 탐지하여 부드럽고 매끄럽게 화면에 반영하는 기능을 제공하고 있어요. 그리고 nobuild 철할에 맞게 설계되어, 번들링 없이도 효율적으로 CSS와 JS 파일을 독립적으로 관리한다고 해요.
다음 Rails 버전에 기본으로 포함될 예정이지만, 지금도 사용이 가능하다고 해요. 이 기능은 37signals의 엔지니어인 Jorge가 주도적으로 개발했으며, 37signals에서 제공하는 또 하나의 선물이라고 소개했어요.
더 자세한 내용은 공식 발표 블로그에서 확인해보세요. (DHH의 트윗 Jorge의 트윗)
Rails로 만들어진 작은 규모의 오픈소스들
최근 Josef Strzibny가 37signals의 Writeboard처럼 Rails로 만들어진 작은 규모의 오픈소스 프로젝트를 묻는 질문을 GitHub에 올렸고, 여러 흥미로운 프로젝트들이 소개되어 공유해 보려 해요. (참고로 Writeboard는 오픈소스는 아니에요.)
beta.gouv.fr: 프랑스 정부에서 제공하는 오픈소스들로 대부분 Rails로 개발됐어요
Ruby for Good: 비영리 단체들을 지원하기 위해 특화된 소프트웨어 개발 솔루션을 제공하는 자원봉사 기반의 비영리 조직이에요. 이 단체는 기술 커뮤니티의 포용성을 증진하고, 소외된 지역 사회에 기술 교육 기회를 제공하는 것을 목표로 한다고 해요.
Redash: Redash는 기술 숙련도와 관계없이 누구나 데이터를 활용할 수 있도록 설계된 도구에요. SQL 사용자들이 다양한 데이터 소스를 탐색하고, 쿼리를 실행하며, 데이터를 시각화하고, 공유할 수 있는 기능을 제공해요.
DocuSeal: 오픈 소스 기반의 문서 서명 플랫폼으로, 누구나 접근 가능하며 사용하기 쉽고 보안과 개인정보 보호에 중점을 둔 솔루션을 제공해요.
특히 프랑스 정부의 오픈소스 활용과 Ruby for Good의 비영리 단체 지원 활동은 Rails가 사회적 가치를 창출하는 데 어떻게 사용될 수 있는지 보여준다고 생각해요. Rails 개발자에게 기술적인 영감뿐만 아니라 사회적 기여의 가능성을 생각해볼 기회를 제공하는 사례라고 느꼈어요.
이벤트
이 이벤트 정보는 참여를 위한 것이라기보다는 Ruby와 Rails 해외 커뮤니티의 활발한 활동을 알리기 위한 것이에요. Ruby와 Rails는 여전히 활기차게 움직이고 있다는 것을 매번 새롭게 느끼게 되네요.
Meetups
25 Dec, in Kaohsiung, Taiwan → Rails Taiwan - 高雄 Rails Meetup December 2024
27 Dec, in Adelaide, Australia → Ruby and Rails Adelaide - Ruby Burgers
28 Dec, in Online → African Ruby Community - Kampala Chapter Mini workshop December 2024
31 Dec, in Jacksonville, FL → RubyJax - Open Hax December 2024
출처: RubyConferences
채용
Ruby와 Rails는 여전히 전 세계의 많은 회사들에서 활발히 사용되고 있으며, 다양한 프로젝트와 서비스를 지원하는 데 중요한 역할을 하고 있어요. 직접적인 채용의 정보도 되겠지만 어떤 회사에서 사용하고 있는지를 간접적으로 알 수 있는 정보라고 생각해서 공유해요.
Ruby on Rails를 사용하는 회사에서 채용 소식을 알리고 싶으시다면 링크드인으로 연락해 주세요.
이전에 소개된 공고
당근마켓, Software Engineer, Backend - 중고거래
당근마켓, Software Engineer, Backend - 운영개발
Guston, Product Infrastructure Engineer
Instacart, Staff Software Engineer, Order Quality
의견을 남겨주세요