한 해가 저물어 가는 시점에서, AppSignal이 2024년 독자들에게 가장 많이 사랑받은 Ruby 아티클 다섯 편을 역순으로 소개해 드립니다. 5위: Ruby on Rails 7.2의 새로운 소식 — Active Record의 데이터베이스 기능 Ruby on Rails 7.2에 포함된 주목할 만한 변화, 특히 Active Record의 데이터베이스 관련 개선 사항을 자세히 살펴본 글입니다. 4위: Stimulus와 Turbo Frames로 구현하는 Rails Hotwire 모달 이 시리즈의 첫 번째 파트에서는 Rails 애플리케
AppSignal이 이제 장기 실행(long-running) 스트리밍 Rack 응답에 대한 개선된 모니터링 기능을 제공하게 되어 기쁘게 발표합니다. 이번 개선을 통해 Ruby 애플리케이션의 오래 실행되는 응답 상태를 더 깊이 있게 파악할 수 있으며, 요청 본문이 전송된 후 몇 분, 심지어 몇 시간 뒤에 발생하는 오류까지 놓치지 않고 감지할 수 있습니다. 이번 관찰 가능성(observability) 향상은 Cheddar Payments 엔지니어링 디렉터인 율릭 타르카노프(Julik Tarkhanov)의 소중한 기여에서 비롯되었습니다.
이 가이드에서는 AppSignal을 활용해 Ruby on Rails 애플리케이션의 성능 병목 지점을 탐지하고 진단하며 해결하는 방법과, 올바른 트레이싱(tracing) 적용 방법을 다룹니다. 트레이싱 설정부터 에러 캡처와 로깅까지 모든 과정을 안내해 드립니다. 이 글을 따라 하면 최대 부하 상황에서도 그 어느 때보다 매끄럽게 작동하는 애플리케이션을 만들 수 있습니다. 먼저 트레이싱이 무엇인지, 그리고 어떤 이점이 있는지 간단히 살펴보겠습니다. 트레이싱이란? 트레이싱은 애플리케이션 내에서 요청(request)과 작업(operation
이 시리즈의 이전 글에서 우리는 백그라운드 작업 처리 시스템이 필요하다면 Solid Queue가 훌륭한 선택이라는 사실을 확인했습니다. 모든 작업을 데이터베이스에 저장함으로써 외부 의존성을 최소화한다는 점 — Redis가 전혀 필요 없다는 점! — 이 인상적이면서도, 놀랍도록 뛰어난 성능까지 갖추고 있습니다. 하지만 프로덕션 환경에서 사용할 준비가 된 백그라운드 작업 시스템에는 뛰어난 성능만으로는 충분하지 않습니다. 오랜 세월 동안 Rails 개발자들은 훨씬 많은 것을 기대해왔습니다. 단순히 작업을 백그라운드에서 실행되도록 큐에 넣
Rails 8이 드디어 공개되었으며, 꽤 흥미로운 방식으로 업계에 변화를 일으키고 있습니다. Rails 커뮤니티에서 활동 중이라면 No PaaS Required(PaaS 불필요)라는 슬로건을 들어보셨을 것입니다.이는 다소 색다르지만 결코 놀랍지 않은 미션입니다. 이번 릴리스는 PaaS(Platform as a Service) 없이도 Rails 애플리케이션을 더 쉽게 배포할 수 있도록 만드는 데 초점을 맞추고 있습니다.플랫폼은 개발자가 코드를 실행하는 기반 인프라를 직접 관리하지 않고도 앱을 웹에 올릴 수 있는 방법을 제공합니다. H
Ruby의 전통대로 핵심 개발팀이 2024년 12월 25일, Ruby 3.4를 정식 출시했습니다! Ruby를 사랑하는 개발자라면 이번 버전에서 무엇이 달라졌는지 궁금하실 텐데요. 이번 릴리스에는 대격변 같은 변화는 없지만, 놓치면 아까운 꽤 멋진 기능들이 여럿 포함되어 있습니다. 가장 먼저 언어 자체의 변화부터 살펴보겠습니다. 언어 변경 사항 언어 변경 사항은 대부분의 Ruby 개발자에게 가장 직접적으로 영향을 미치는 부분입니다. 하나씩 빠르게 짚어 보겠습니다. 기본 적용되는 문자열 리터럴 동결(Frozen String Litera
웹 애플리케이션을 대규모로 운영할 때 백그라운드 작업은 빼놓을 수 없는 핵심 요소입니다. 기본 개념은 단순합니다. 클라이언트가 웹 애플리케이션에 요청을 보내면, 앱은 요청을 처리하는 과정에서 시간이 오래 걸리는 여러 작업을 수행하게 됩니다. 클라이언트에게 더 빠르게 응답하기 위해 앱은 이러한 무거운 작업을 백그라운드 처리 시스템으로 큐잉하고, 연산이나 I/O 작업 같은 헤비 리프팅은 모두 백그라운드 프로세싱이 담당하도록 하는 것이죠. 백그라운드 잡을 효과적으로 활용하는 것은 웹 애플리케이션 확장의 가장 중요한 빌딩 블록 중 하나입니
캐싱(Caching)은 컴퓨터 과학에서 매우 중요한 개념이며, 웹 애플리케이션 개발과도 직접적인 연관이 있습니다. 캐싱의 핵심 원리는 간단합니다. 메모리 조회가 데이터베이스 쿼리보다 훨씬 빠르고 컴퓨팅 자원도 적게 소모된다는 점을 활용하는 것입니다. 반복적으로 실행될 가능성이 높은 데이터베이스 쿼리가 있다면, 그 결과를 캐시에 저장해두는 것만으로도 실행 흐름 전체를 크게 가속할 수 있습니다. Rails 애플리케이션도 예외는 아니며, 많은 프로젝트에서 Redis 같은 메모리 기반 캐시를 사용해 데이터를 저장하고 애플리케이션 성능을 개
Rails 8은 과감한 전제로 출시되었습니다: 바로 “PaaS 불필요(No PaaS Required)”입니다. 클라우드 플랫폼 비용이 점점 더 부담스러워지면서, Ruby on Rails는 외부 인프라 의존성을 줄이는 방향으로 나아가고 있습니다. 그 목표는 개발자가 더 적은 서비스 의존성만으로 애플리케이션을 배포하고 운영할 수 있도록 하는 것입니다. 전통적으로 Rails 앱을 인터넷에 배포하려면 데이터베이스 서버(PostgreSQL 등)를 프로비저닝하고, 캐싱·백그라운드 작업·웹소켓 처리를 위한 Redis 같은 추가 서비스까지 준비
Rails 배포 20년의 역사: FTP에서 Kamal까지오늘은 Rails 배포의 역사를 돌아보는 특별한 시간을 준비했습니다. 처음부터 Rails를 함께해 온 베테랑 개발자분들께는 따뜻한 추억을 불러일으키는 시간이, 그렇지 않은 분들께는 배포 문화가 어떻게 진화해 왔는지 엿볼 수 있는 흥미로운 강연이 되기를 바랍니다. 우리 모함 좋은 기억을 함께 나누어 볼까요?FTP 시절부터 최신 배포 도구인 Kamal까지, Rails 앱 배포의 구술 역사(Oral History)를 담았습니다. 전체 이야기는 아래 영상에서 확인하실 수 있습니다!글쓴
웹 애플리케이션에서 실시간 기능의 중요성이 날로 커지고 있지만, 모든 Rails 개발자가 Rails에 내장된 WebSocket 라이브러리인 Action Cable에 익숙한 것은 아닙니다. Rails Action Cable은 오랫동안 웹소켓을 지원해 왔지만, 그만큼 추가적인 복잡성도 함께 따라왔습니다. Rails 8에는 Solid Cable이라는 새로운 데이터베이스 기반 어댑터가 도입되어 Redis 없이도 Action Cable을 사용할 수 있게 되었습니다. 이 가이드에서는 Solid Cable을 통해 Action Cable을 살펴보
Ruby 4.0은 2025년 12월 25일, 루비(Ruby) 탄생 30주년을 맞아 공개된 대형 릴리스입니다. 다만 이번에 메이저 버전이 올라간 것은 파격적인 변경 사항 때문이 아니라, 커뮤니티의 30년 역사를 기념하기 위해서입니다.사실 루비는 시맨틱 버전 관리(Semantic Versioning)를 엄격하게 따르지 않는 언어입니다. 창시자인 마츠모토 유키히로(마츠, Matz)는 변경 내용이 자신을 감동시킬 때 메이저 버전을 올립니다. 그리고 이번 버전에는 30년의 역사를 기념하며 언어를 한 단계 확장하는 기능들이 담겼습니다.루비 4
루비(Ruby)는 마츠모토 유키히로(Yukihiro Matsumoto)가 개발하여 1995년에 처음 공개한 객체 지향 프로그래밍 언어로, 2011년에는 새로운 버전이 출시되었습니다. 특히 Rails 프레임워크와 함께 사용되면서 큰 인기를 얻었으며, 사용하기 쉽고 유연성이 뛰어나 초보 프로그래머에게도 적합한 언어입니다. 이 글에서는 루비 온 레일즈(Ruby on Rails) 프로그래밍의 핵심을 살펴보고, 왜 배울 가치가 있는 언어인지 자세히 알아보겠습니다.루비는 Perl과 Python과 비슷한 문법 구조를 가진 고급 영어 기반 프로그
웹 애플리케이션 개발과 디자인 분야에서 조금이라도 경험이 있다면 Ruby on Rails라는 이름을 들어봤을 것입니다. Ruby는 오랜 역사를 지닌 검증된 프로그래밍 언어이며, 여기에 Rails(Ruby의 기능을 확장하는 소프트웨어 라이브러리)를 더하면 강력한 현대적 애플리케이션 개발 도구가 완성됩니다. Ruby on Rails를 배우는 데 도움이 되는 책은 수없이 많지만, 과연 어떤 책이 자신에게 맞는 선택일까요? 이 가이드는 독자의 학습 스타일과 목표에 맞는 최적의 책을 찾도록 돕기 위해 마련되었습니다. 프로그래밍과 앱 개발의
개발을 막 시작한 초보자라면 수많은 프로그래밍 언어와 전문 용어에 압도당하는 느낌이 들기 마련입니다. Java, JavaScript, C, C#, C++처럼 이름만 비슷한 언어가 넘쳐나니까요. 그중에서도 Ruby on Rails와 Ruby는 무엇이 다를까? 서로 관련이 있나?라는 궁금증을 가진 분들이 특히 많습니다.이 글에서는 그 궁금증을 한 번에 해소해 드립니다. Ruby와 Ruby on Rails가 어떤 관계인지, 각각 어떤 역할을 하는지 알아보고, 두 기술이 함께 작동해 여러분이 즐겨 쓰는 앱과 웹사이트를 만드는 과정까지 살펴
웹 개발 기술을 조사해 본 적이 있다면 루비 온 레일스(Ruby on Rails)라는 이름을 한 번쯤 들어보셨을 겁니다. 이 기술은 흔히 HTML이나 CSS와 같은 범주에서 언급되지만, 재미있게도 루비 온 레일스는 프로그래밍 언어가 아니라 웹 개발 프레임워크입니다. 그렇다면 루비 온 레일스는 정확히 무엇이고, 어떻게 작동할까요? 이 글에서는 루비(Ruby)와 루비 온 레일스의 기본 개념을 살펴보고, 최근 몇 년간 이 기술이 큰 주목을 받게 된 이유까지 알아보겠습니다. 루비 온 레일스란 무엇인가? 루비 온 레일스는 루비(Ruby) 프
명령줄 인터페이스(CLI)를 직접 만들어 보고 싶으신가요? 코딩 실력을 키우기에 정말 좋은 프로젝트입니다. 이 가이드에서는 Ruby를 사용해 명령줄 인터페이스를 구축하는 방법을 단계별로 살펴봅니다. 시작하기 전에 컴퓨터에 Ruby가 설치되어 있어야 하고, Unix 명령어를 실행할 수 있는 터미널을 사용할 수 있어야 합니다. Linux나 macOS를 사용 중이라면 이미 유닉스 호환 터미널이 기본으로 내장되어 있으니 별도로 준비할 필요가 없습니다. 이 두 가지만 갖춰졌다면 바로 시작할 준비가 된 것입니다! 명령줄 인터페이스란 무엇일까
RegEx(Regular Expressions, 정규 표현식)라는 용어를 들어본 적이 있을 것입니다. 처음에는 다소 어렵게 느껴질 수 있지만, 패턴의 의미와 실제 표현식을 구성하고 활용하는 방법에 익숙해지면 생각보다 어렵지 않습니다. 문자열과 텍스트를 좀 더 추상적인 관점에서 바라보는 사고에 익숙해지면, 데이터 집합에서 공통 패턴을 찾아야 하는 문제를 해결하는 데 강력한 도구가 됩니다. RegEx는 패턴 매칭(pattern matching) 방식입니다. 즉, 특정 패턴을 기준으로 문자열이나 텍스트를 필터링하여 원하는 텍스트를 추출하
웹 개발에 관심이 있다면 가장 먼저 프로그래밍 언어를 선택해야 합니다. HTML과 CSS만으로는 부족하며, 웹사이트의 다양한 요소를 만들기 위해서는 별도의 프로그래밍 언어가 필요합니다. 그 선택지 중 하나가 바로 루비(Ruby) 웹 개발입니다.루비는 1995년에 등장한 비교적 새로운 프로그래밍 언어로, 프로그래밍을 실용적으로 유지하면서도 더 자연스럽게 만드는 것을 목표로 설계되었습니다.루비 프로그래밍은 여러 면에서 독특합니다. 다른 프로그래밍 언어에 비해 초보자가 코드를 작성하기가 더 쉽고 관대하며, 사람이 말하는 방식과 유사한 코
루비(Ruby) 프로그래밍 언어에 대해 조금이라도 찾아본 적이 있다면 Ruby on Rails(루비 온 레일스)라는 이름을 들어보셨을 것입니다. 그렇다면 나도 Ruby on Rails를 배워야 할까?라는 고민을 해보셨을 수도 있죠. Ruby on Rails는 최근 몇 년간 웹 개발 분야에서 폭발적인 인기를 누린 프레임워크로, 웹사이트 제작에 관심이 있다면 충분히 배울 가치가 있는 기술입니다. 어떤 웹 프레임워크든 학습하면 경력과 프로그래밍 실력 모두에 가치를 더할 수 있습니다. 프레임워크를 익히면 기존 지식을 확장하고, 코드에 바로