Ruby on Rails #14번째 소식

이번 주 소식은 Rails World 2024에서 나온 여러 이야기와 Gumroad가 Rails에서 다른 기술로 전환을 고려하고 있다는 소식 등 여러 주제를 다루고 있어요.

2024.10.01 | 조회 384 |
0
|
Ruby on Rails 소식지의 프로필 이미지

Ruby on Rails 소식지

국내외 Ruby on Rails 관련 소식을 전해요

안녕하세요 구독자님,

지난주는 Ruby on Rails를 사용하는 분들이 가장 기다리던 'Rails World 2024'가 열린 주간이었어요. 저도 이번만큼은 Apple의 WWDC만큼이나 기다렸고 기대도 많았는데, 정말 많은 소식들이 나와서 오랜만에 새로운 것을 배우고 경험하는 시간을 가졌답니다.

Greg Molnar는 "And don't forget, a tide lifts all the boats, so let's make a huge one!"라는 말을 트위터(X)에 남겼는데, "A rising tide lifts all the boats"는 존 F. 케네디가 사용한 문구로 우리말로는 "밀물은 모든 배를 들어올린다"라고 번역할 수 있어요. 이는 모든 사람이 함께 성장하자는 의미로, 우리도 큰 변화를 함께 만들어가자는 메시지를 담고 있어요.

우리나라에서는 규모가 작게 느껴지는 Ruby on Rails 생태계이지만, 그동안의 이력만으로 본다면 카카오, 당근마켓 등 "HELLO WORLD to IPO"에 걸맞은 큰 성과를 이뤄왔다고 생각해요. 올해를 지나 내년에는 우리나라에도 더 많은 Ruby on Rails 기반의 서비스가 생겨나고, 이 기술의 진가를 느끼는 사람들이 더 많아지길 바라봅니다.

이번 주 소식은 Rails World 2024에서 나온 여러 이야기와 Gumroad가 Rails에서 다른 기술로 전환을 고려하고 있다는 소식 등 여러 주제를 다루고 있어요.

새로운 소식

DHH의 Rails World 2024 오프닝 키노트 영상 공개 소식

DHH가 Rails World 2024의 오프닝 키노트를 한 영상이 Ruby on Rails 유튜브 채널에 공개됐어요. 특유의 거침없는 이야기로 Rails 7과 현재 기술적인 트렌드에 대한 견해를 공유하고, Rails8의 주요 업데이트와 미래 비전에 대해 상세하게 소개했어요.

여러 키노트 영상을 접해왔지만, 한 시간 안에 이렇게 많은 내용을 빠르게 전달하는 것은 매우 인상적이었어요. 특히, 최근에 DHH가 공유했던 아이디어들을 종합하여 Rails의 방향성과 목표를 명확하게 제시했다는 점에서 큰 의미가 있다고 생각해요.

오프닝 키노트 영상은 아래 링크에서 확인할 수 있어요.

https://www.youtube.com/watch?v=-cEn_83zRFw

Rails 8.0 베타 1: PaaS 없이 더 쉬워진 배포

Ruby on Rails 8.0 베타 1이 발표되었으며, PaaS 없이도 간편하게 웹 애플리케이션을 배포할 수 있는 새로운 기능들을 소개하고 있어요. Kamal 2와 Thruster는 서버 설정을 단순화하며, Solid Cable, Cache, Queue는 Redis와 같은 외부 의존성을 줄여줘요. SQLite 성능 향상으로 데이터베이스 관리가 더욱 효율적이 되었으며, 새로운 Propshaft를 통해 Asset 관리를 단순화했어요. 자세한 내용은 Rails 공식 발표 블로그를 확인해보세요.

업그레이드 가이드 문서가 edgeguides에 생성되었지만, 아직 자세한 내용은 업데이트되지 않은 것 같아요. 기본적인 업그레이드 프로세스를 따라가봤을 때, 설정이 복잡한 서비스가 아닌 사이드 프로젝트 수준이라면 바로 올려도 크게 고칠 부분이 많지는 않아 보였어요.

업그레이드 시 `application.rb`, `production.rb`, `development.rb` 파일에서 몇 가지 설정을 수동으로 수정해야 하지만, 큰 어려움 없이 진행할 수 있었어요.

Solid Queue 1.0 출시: 안정적이고 확장 가능한 작업 큐 시스템

37signals는 Solid Queue 1.0을 출시하여 안정적인 배치 작업, 재시도, 해제 기능을 제공하며, 대규모 작업 처리 성능을 크게 향상시켰다고 해요. 이 시스템은 74개의 VM에서 하루에 2천만 개의 작업을 처리하며, 향후 확장성과 샤딩 기능 개선이 예정되어 있어요. Solid Queue는 별도의 데이터베이스에서 운영되며, 향후 Basecamp 4로의 완전한 마이그레이션도 계획 중이에요. 이를 통해 더욱 효율적인 작업 처리가 기대가 되는 부분이에요. 자세한 내용은 공식 블로그에서 확인해보세요.

이번 업데이트에서 저는 Solid 시리즈에 큰 관심을 갖게 되었는데, 특히 Redis 의존성을 없앨 수 있다는 점이 인상적이었어요. 물론 성능적인 부분이 실제로 잘 뒷받침되는지는 사용해 봐야 알 것 같아요. 하지만 이미 큰 트래픽과 이벤트를 다루는 서비스보다는, 시작하는 서비스나 사이드 프로젝트에서 복잡성을 줄이고 비즈니스 로직에 더 집중할 수 있다는 점이 큰 장점으로 작용할 것이라고 생각하고 있어요.

Kamal 2.0 출시: 더 빠르고 간편해진 배포 시스템

Kamal 2.0은 웹 애플리케이션 배포를 간소화하고 가속화하는 도구로, 다양한 규모의 서버에 유연하게 적용할 수 있습니다. 새로운 프록시를 사용해 중단 없는 배포를 지원하며, HTTPS 자동 설정과 비밀 관리 기능이 개선되었습니다. Kamal 2.0은 Rails 8.0에 기본 포함되지만, 다른 언어와 프레임워크에서도 사용 가능합니다. 자세한 내용은 공식 블로그에서 확인하세요.

저는 Kamal이 처음 나왔을 때부터 사용해왔고, 2.0에서 크게 변화한 프록시 부분을 가장 기대하고 있었어요. 기존 버전에서는 하나의 장비에 하나의 서비스만 올릴 수 있다는 점이 아쉬웠기 때문이에요. 그래서 Kamal 2.0이 릴리즈되자마자 업그레이드를 진행해보았고, 그 과정에서 겪었던 몇 가지 문제점에 대해 제 블로그에 작성해봤어요.

가이드 문서만 잘 따라가면 업그레이드가 크게 어렵지 않다는 점이 인상적이었어요. Cloudflare를 사용하면서 내부 인증서와 네트워크 처리 변경으로 인해 발생한 이슈 외에는 큰 문제 없이 잘 사용하고 있어요.

Hotwire Native: 웹 기반 하이브리드 모바일 앱 개발의 새 시대

Hotwire Native는 Turbo Native와 Strada 라이브러리를 통합한 새로운 프레임워크로, 기존 Hotwire 웹 앱을 활용해 iOS와 Android 앱을 쉽게 개발할 수 있게 해요. 웹 화면과 고성능 네이티브 기능을 결합하여 유연한 개발이 가능하며, 새로운 네이티브 네비게이션 레이어 및 구성 옵션을 제공해요. 기존 Turbo Native와 Strada는 곧 폐기될 예정이라고 해요. 더 자세한 내용은 공식 발표에서 확인하세요.

클라이언트 개발을 시작으로 일을 시작해왔지만, 백엔드 개발을 더 오래 해오다보니 모바일 앱은 사이드 프로젝트로 완성하기 어려웠어요. 그동안 다양한 프레임워크를 시도해봤지만 늘 마무리를 짓지 못했는데, 이번 Hotwire Native는 제대로 한 번 시도해보고 자리를 잡았으면 좋겠어요. 백엔드 개발 커리어의 시작점인 Ruby on Rails 생태계에서 나온 솔루션이라 더욱 특별하게 느껴지기도 해요.

Seapy의 Rails World 2024 토론토 Vlog

당근마켓의 CTO인 Seapy가 Rails World 2024에 참석하면서 남긴 vlog를 유튜브를 통해 공유했어요.

DHH의 키노트 발표에 대한 내용을 공유하고, 현장에서 느낀 점을 생생하게 이야기해주어 매우 재미있었어요. 또한, Rails World 2024가 열린 장소를 이곳저곳 돌아다니며 소개해주는 것을 보니, 마치 저도 그 곳을 다녀온 것 같은 느낌이 들었어요.

가장 재미있게 봤던 부분은 Seapy가 이야기를 하는 도중 근처에서 DHH가 다른 참석자들과 이야기를 나누는 장면이었어요. 그 장면이 배경인 DHH와의 인증샷들이 트위터(X) 타임라인에 올라오는 것도 vlog가 더 실감나게 해주는 포인트였어요.

Rails World 2024의 현장 분위기를 한국어 코멘트와 함께 보고 싶으신 분들은 아래 링크에서 영상을 확인해주세요.

https://www.youtube.com/watch?v=QDBcDTsmqIg

Gumroad, Next.js로 전환하며 Rails와 결별하다

Gumroad의 대표인 Sahil Lavingia가 Shortest라는 프로젝트를 소개하는 뉴스레터를 보내왔어요. 이 내용에서 Gumroad는 AI 발전과 더불어 TypeScript, React, Next.js로의 전환을 발표했어요. Gumroad는 창의성에 집중하기 위해 Ruby on Rails를 기술 부채로 판단하고, AI를 통해 코드 작성 및 테스트 자동화를 강화하는 것이 그 이유라고 해요. 새로운 프로젝트 'Shortest'는 테스트 자동화를 돕는 오픈소스 툴로, 특히 Next.js 레포지토리에 최적화되어 있어요. AI가 코드를 직접 배포하는 미래를 기대하며, 더 많은 테스트 자동화를 목표로 한다고 해요. 자세한 내용은 아래 링크에서 확인해보세요.

https://sahil.gumroad.com/p/shortest-com

Ruby on Rails로 만든 잘 만들어진 서비스라고 생각하고 있었는데, 이런 소식을 듣게 되어 아쉬웠어요. 이 소식과 함께 Ruby on Rails 채용 포지션도 없어졌더라구요.

Sahil Lavingia가 Rails World 2024 키노트를 봤다면 생각을 바꿨을까 싶기도 하지만 전환하는 배경이 AI로 생성된 코드의 퀄리티도 생각하는 것 같아 추구하는 바가 조금 다를수도 있겠다라는 생각도 들었어요.

Gumroad의 이탈은 아쉽지만, 앞으로 더 많은 훌륭한 서비스들이 Rails 생타계에서 나오길 기대해봅니다.

Rails 관련 서적 출간 소식

Pragmatic Programmers 출판사에서 새로운 Rails 관련 서적 두 권이 Beta로 출간되었어요.

Rails Scales!

Rails Scales!는 Ruby on Rails 애플리케이션의 성능 향상과 확장성에 초점을 맞춘 전문서에요. 이 책은 대규모 트래픽을 처리하고 복잡한 시스템을 관리하는 방법에 대한 실용적인 가이드와 모범 사례를 제공하고 있어요. Rails로 구축된 애플리케이션을 한 단계 업그레이드하고자 하는 개발자들에게 필수적인 지침서가 될 거라고 해요.

Agile Web Development with Rails 7.2

오랜 시간 사랑받아온 Agile Web Development with Rails 시리즈의 최신판인 7.2 버전이 출간되었어요. 이 책은 Rails 7.2의 새로운 기능과 개선 사항을 포함하여, 애자일한 웹 개발 방법론과 Rails 프레임워크를 결합한 실용적인 예제를 제공하고 있어요. 초보자부터 숙련된 개발자까지 모두에게 유용한 내용으로 구성되어 있다고 해요.

이 서적의 경우 Rails7에 대한 서적을 추가로 증정한다고 해요.

자세한 정보와 구매는 아래 링크에서 확인해주세요.

https://pragprog.com/categories/ruby-and-rails/


이벤트

이 이벤트 정보는 참여를 위한 것이라기보다는 Ruby와 Rails 해외 커뮤니티의 활발한 활동을 알리기 위한 것이에요. Ruby와 Rails는 여전히 활기차게 움직이고 있다는 것을 매번 새롭게 느끼게 되네요.

Meetups

30 Sep, Online → Orange County Ruby - Ruby Science September 2024

01 Oct, Lexington, KY → Bluegrass Ruby - October 2024

01 Oct, Brighton, UK → Brighton Ruby Group - We're Back From The Dead

01 Oct, Online → Charlotte Ruby - Ruby Hack Night October 2024

01 Oct, Jacksonville, FL → RubyJax - Open Hax October 2024

02 Oct, Barcelona, Spain → Barcelona.rb - meetup #October

02 Oct, Montréal, Canada → Montreal.rb - Tame Complex Queries with Database Views

02 Oct, Prague, Czechia → Prague.rb - First Wednesday Of The Month

02 Oct, Kaohsiung, Taiwan → 高雄 Rails Meetup October 2024

03 Oct, San Diego, CA → SD Ruby - Monthly Meetup October 2024

04 Oct, Adelaide, Australia → Ruby and Rails Adelaide - Ruby Burgers October 2024

05 Oct, Online → African Ruby Community - Kampala Chapter Mini workshop October 2024

05 Oct, Kathmandu, Nepal → Ruby Nepal - Ruby and Rails Nepal meetup - Episode #28

07 Oct, Boston, MA → Boston Ruby Group - Project Night October 2024

출처: RubyConferences


채용

Ruby와 Rails는 여전히 전 세계의 많은 회사들에서 활발히 사용되고 있으며, 다양한 프로젝트와 서비스를 지원하는 데 중요한 역할을 하고 있어요. 직접적인 채용의 정보도 되겠지만 어떤 회사에서 사용하고 있는지를 간접적으로 알 수 있는 정보라고 생각해서 공유해요.

Ruby on Rails를 사용하는 회사에서 채용 소식을 알리고 싶으시다면 링크드인으로 연락해 주세요.

GitLab - Full Remote

Backend Engineer, Foundations: Import and Integrate

https://job-boards.greenhouse.io/gitlab/jobs/7646752002

GitLab에서 새로운 포지션이 오픈 됐어요. 9월에도 5개 이상의 포지션이 오픈됐는데 여전히 Ruby on Rails 엔지니어를 채용하고 있고, Remote first 기업답게 Full Remote 포지션을 채용하고 있어요.

서비스에 대한 이해도가 높으면 포지션에 대한 이해도도 높아질 것 같아요. 그러나 GitHub만 사용하는 환경이다 보니 GitLab의 서비스에 대해 잘 모르는 점이 이 포지션을 소개하면서도, 관심을 가지는 엔지니어 입장에서도 아쉽네요. 🥲

이전에 소개된 공고

당근마켓 - Hybrid

Software Engineer, Backend - 중고거래

https://about.daangn.com/jobs/4300797003/

Software Engineer, Backend - 운영개발

https://about.daangn.com/jobs/5189631003/

SerpAPI - Full Remote

https://serpapi.com/careers/senior-fullstack-engineer

Meilisearch - Full Remote

https://jobs.lever.co/meili/2dbd6a9b-4e0d-4416-898d-7b3741f01f0c

더 많은 정보를 원하신다면?

📘 메일러의 블로그

최신 기술 트렌드와 유용한 팁을 공유하는 메일러의 블로그를 방문해 보세요.

블로그 방문하기

🔗 메일러의 링크드인

메일러와 네트워크를 확장하고 소통을 원하신다면 링크드인을 통해 연결해 보세요.

LinkedIn에서 연결하기

📚 Ruby on Rails 공식 가이드 따라잡기 - 인프런 강의

Ruby on Rails에 대해 배우고 싶으신가요? "Ruby on Rails 공식 가이드 따라잡기" 강의를 확인해보세요!

강의 바로가기

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

Ruby on Rails 소식지 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !
© 2024 Ruby on Rails 소식지

국내외 Ruby on Rails 관련 소식을 전해요

메일리 로고

자주 묻는 질문 서비스 소개서 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스