지난 글들

747개의 글이 있습니다

  • 본 문서는 Ruby on Rails의 강력한 문자열 조작 기능을 JavaScript 환경에서 구현하기 위한 경량 헬퍼 라이브러리 개발 방법을 제시합니다.
  • 특히 `camelize`, `ordinalize`와 같은 핵심 변환 함수들의 JavaScript 코드 예시와 함께 Rails 애플리케이션 내 Stimulus 컨트롤러에서의 실제 적용 사례를 상세히 설명합니다.
  • ActiveSupport inflectors에서 착안한 다양한 문자열 변환 헬퍼들을 제공하며, Rails 개발자가 JavaScript 코드베이스에서 Ruby와 유사한 편의성을 누릴 수 있도록 통합 전략을 안내합니다.
HackerNews 2025년 08월 14일
  • RailsConf 2024는 필라델피아에서 열리는 마지막 RailsConf로, 공동 의장인 Chris Oliver가 행사 준비 과정과 주요 내용을 공개합니다.
  • 이번 컨퍼런스는 Rails의 역사와 최신 기술을 아우르며, 특히 대면 교류의 중요성을 강조하고 Hotwire 테스트 및 API 래퍼 설계와 같은 실제 기술적 도전을 다룹니다.
  • 참가자들은 Ruby 생태계를 강화하고 개인의 성장을 도모할 수 있는 귀중한 네트워킹과 학습의 기회를 얻게 될 것입니다.
The Awesome Ruby 2025년 08월 14일

Ruby Data 클래스: 값 객체 정의 및 Comparable 모듈 활용

Ruby `Data` Class – A Convenient Way to Create Value Objects

  • Ruby 3.2에 도입된 `Data` 클래스는 불변하며 값에 의한 동등성을 가지는 값 객체(Value Object)를 간편하게 정의할 수 있도록 지원합니다.
  • 값 객체는 도메인 모델에서 의미론적 명확성과 동작을 캡슐화하며, 원시 타입의 한계를 극복하고 코드의 가독성과 정확성을 높입니다.
  • `Comparable` 모듈을 포함하고 `<=>` 연산자를 정의함으로써 `Data` 인스턴스 간의 비교 기능을 확장할 수 있으며, 필요에 따라 커스텀 유효성 검사 로직을 추가할 수 있습니다.
The Awesome Ruby 2025년 08월 14일

AttendList의 프로덕션 Ruby on Rails 스택

Our production Ruby on Rails stack

  • AttendList는 Google Meet 출석 추적기로, Ruby on Rails 백엔드와 Chrome 확장 프로그램으로 구축되었습니다.
  • 이 문서는 AttendList 개발에 활용된 핵심 인프라 및 Ruby Gem 선택에 대한 심층적인 분석을 제공합니다.
  • PostgreSQL, Redis, Sidekiq 등 기본 스택부터 인증, UI, 성능 최적화, 배포에 이르는 광범위한 기술 스택을 상세히 설명합니다.
The Awesome Ruby 2025년 08월 14일

루비로 BASIC 인터프리터 만들기: Part 1

BASIC interpreter in Ruby from scratch part 1

  • 본 문서는 루비(Ruby) 언어를 사용하여 BASIC 언어 인터프리터를 처음부터 구축하는 과정의 첫 번째 부분을 상세히 설명합니다.
  • Lexer, Parser, REPL, 변수 관리, 수식 파싱, 그리고 GOTO 및 IF-ELSE와 같은 기본적인 제어 흐름 구현을 다룹니다.
  • 이 파트에서는 복잡한 산술, 논리 및 비트와이즈 연산을 처리할 수 있는 견고한 파싱 엔진의 구축을 목표로 합니다.
The Awesome Ruby 2025년 08월 14일

Rails에서의 리다이렉트 이해하기

Redirects in Rails: Manual, Helper, and Internals

  • Rails에서 `redirect_to` 헬퍼 메서드는 HTTP 리다이렉트를 간결하게 처리하며, 내부적으로는 특정 HTTP 상태 코드와 Location 헤더를 설정합니다.
  • 리다이렉트에는 영구적(301, 308) 및 임시적(302, 303, 307) 유형이 있으며, 선택하는 상태 코드에 따라 검색 엔진 최적화(SEO) 및 후속 요청의 HTTP 메서드 처리 방식이 달라집니다.
  • `redirect_to`는 다양한 인풋을 지원하고 안전한 외부 리다이렉트, 이전 페이지로의 리다이렉트(`redirect_back_or_to`) 등 유연한 기능을 제공하며, 내부적으로는 오류 방지 및 URL 유효성 검사를 수행합니다.
The Awesome Ruby 2025년 08월 14일

Ruby on Rails의 역사: 코드 컨벤션과 혁신

The History of Ruby on Rails: Code, Convention, and a Little Rebellion

  • Ruby on Rails는 2004년 출시 이후 '설정보다 관례(Convention over Configuration)' 철학을 바탕으로 웹 개발에 혁명적인 변화를 가져왔습니다.
  • 개발자 행복, 통합 시스템, 지속적 혁신 등 9가지 핵심 철학(Rails Doctrine)을 기반으로 합니다.
  • 꾸준한 버전업을 통해 현대 웹 환경에 맞춰 진화하며, 개발자들에게 효율적이고 즐거운 경험을 제공하고 있습니다.
The Awesome Ruby 2025년 08월 14일
  • Vladimir Dementyev는 WebAssembly를 활용하여 브라우저에서 Ruby on Rails를 실행하는 혁신적인 프로젝트를 진행 중입니다.
  • 이 프로젝트는 Rails 학습의 진입 장벽을 낮추고, 설치 과정 없이 공식 튜토리얼을 통해 Ruby on Rails를 경험할 수 있도록 돕습니다.
  • 그는 또한 샌프란시스코 Ruby 컨퍼런스 조직, AnyCable 확장, 기술 서적 업데이트 등 Ruby 생태계에 다방면으로 기여하고 있습니다.
The Awesome Ruby 2025년 08월 14일
  • 본 아티클은 Rails 앱에 AI 기능 통합, `extract_options!` 활용, 민감 데이터 보호 등 다양한 Ruby on Rails 개발 팁과 모범 사례를 다룹니다.
  • Thoughtbot의 ChatGPT 연동 사례, RailsEventStore의 배치 매퍼 기능, Ruby 디버거 작동 방식 등 심층적인 기술 주제를 탐구합니다.
  • 클린 코드 작성, 성능 최적화, 효율적인 테스트 전략 등 실용적인 가이드를 통해 Rails 개발 생산성 향상에 기여합니다.
The Awesome Ruby 2025년 08월 14일

추상화의 개념과 오해

Abstraction != abstractness

  • 추상화는 특정 주제를 쉽게 다루기 위해 하위 수준 정보를 상위 수준 정보로 대체하는 과정입니다.
  • 추상화는 또한 특정 세부 수준에서 세상의 일부를 모델링한 결과물인 '추상' 그 자체를 의미하기도 합니다.
  • 프로그래밍 커뮤니티에서 추상화가 종종 일반화로 오해되지만, 추상화의 본질은 개념을 적절한 수준의 세부 정보로 다루는 것입니다.
The Awesome Ruby 2025년 08월 14일

Rails 애플리케이션에서 PostgreSQL 읽기 복제본을 활용한 확장: 1부 - 기본 이해

Scaling Rails with PostgreSQL Read Replicas: Part 1 - Understanding the Basics

  • Rails 애플리케이션의 읽기 중심 워크로드 확장을 위해 PostgreSQL 읽기 복제본 활용의 기본 개념을 다룹니다.
  • 복제본이 필요한 시점과 아닌 시점을 명확히 하고, PostgreSQL 스트리밍 복제의 작동 방식을 설명합니다.
  • Rails에서 읽기 복제본을 설정하고 분석 쿼리를 오프로드하는 실제 구현 방법과 모니터링, 일반적인 함정을 제시합니다.
The Awesome Ruby 2025년 08월 14일

PostgreSQL 17의 MERGE with RETURNING: Rails 개발자들이 기다려온 혁신

PostgreSQL 17's MERGE with RETURNING: The Game-Changer Rails Developers Have Been Waiting For

  • PostgreSQL 17의 MERGE with RETURNING 기능은 데이터 동기화 시 발생하는 N+1 쿼리 및 경쟁 조건 문제를 해결합니다.
  • 이 기능은 단일 원자적 쿼리로 삽입, 업데이트, 삭제 작업을 수행하며, 어떤 작업이 수행되었는지 반환합니다.
  • Active Record의 기본 지원은 없지만, Ruby on Rails 개발자가 이 강력한 기능을 활용할 수 있는 실용적인 구현 방법을 제시합니다.
The Awesome Ruby 2025년 08월 14일
  • 기존 Cucumber BDD의 엄격한 구문 제약은 테스트 유지보수를 어렵게 하며 비즈니스와의 소통을 저해합니다.
  • Botrytis BDD는 LLM을 활용하여 테스트 단계의 의미를 유연하게 해석, 인간적인 언어 사용을 가능하게 합니다.
  • 이를 통해 개발자는 구문 오류보다 비즈니스 로직에 집중하고, 더 견고하고 유연한 테스트를 작성할 수 있습니다.
The Awesome Ruby 2025년 08월 14일

Rails 8, Parameters#expect 도입으로 안전한 파라미터 처리 구현

Rails 8 introduces Parameters#expect for safer parameter handling

  • Rails 8에서 새로 도입된 `Parameters#expect`는 기존 `Strong Parameters`의 취약점을 보완합니다.
  • 이 기능은 잘못 구성된 파라미터에 대해 500 에러 대신 400 Bad Request를 반환하여 애플리케이션 보안을 강화합니다.
  • 특히 복잡한 중첩 파라미터 처리 시 API의 견고성을 높이고 명확한 오류 피드백을 제공합니다.
The Awesome Ruby 2025년 08월 14일

루비 3.4의 Happy Eyeballs v2: Rails API 타임아웃 문제 해결

Ruby 3.4's Happy Eyeballs v2: Solving Rails API Timeout Hell

  • Ruby 3.4에 도입된 Happy Eyeballs v2는 IPv4/IPv6 듀얼 스택 환경에서 발생하는 네트워크 연결 지연 및 타임아웃 문제를 해결합니다.
  • 이 기능은 병렬 DNS 쿼리 및 연결 시도를 통해 기존의 순차적 방식보다 훨씬 빠른 연결을 가능하게 합니다.
  • Rails 애플리케이션은 별도의 코드 변경 없이 자동으로 이 개선된 네트워크 성능의 이점을 누릴 수 있습니다.
The Awesome Ruby 2025년 08월 14일