지난 글들

1260개의 글이 있습니다

Ruby 애플리케이션에서 로드된 Gem을 확인하는 방법

A Useful Command to Check If a Gem Is Loaded in Your Bundler Environment

  • Ruby 애플리케이션에서 `Gem.loaded_specs.keys.grep(/your_pattern_here/)` 명령어를 사용하여 로드된 특정 Gem의 존재 여부를 확인할 수 있습니다.
  • 이 명령어는 현재 환경에 로드된 Gem의 이름 목록을 정규 표현식을 통해 필터링하여 보여주며, 디버깅 및 의존성 확인에 유용합니다.
  • 설치되었으나 로드되지 않은 Gem이나 내부적으로 사용되는 Gem은 감지하지 못하는 한계가 있으므로, 사용 시 주의가 필요합니다.
FastRuby.io 2025년 08월 14일

Ruby 및 Rails 업그레이드를 위한 오픈소스 도구

DIY Ruby on Rails Upgrades: Essential Open Source Tools

  • FastRuby.io는 Ruby 및 Rails 업그레이드를 지원하는 다양한 오픈소스 도구를 제공하여 개발자들이 자체적으로 효율적인 업그레이드를 수행할 수 있도록 돕습니다.
  • 제공되는 도구들은 코드 품질 분석, 기술 부채 식별, 호환성 검사 및 보안 취약점 확인 등 업그레이드 과정의 여러 측면을 포괄합니다.
  • NextRails, RubyCritic, Skunk, RailsBump.org 등의 핵심 도구와 체계적인 워크플로우를 통해 안정적이고 간소화된 업그레이드 경험을 제공합니다.
FastRuby.io 2025년 08월 14일
  • 기술 부채는 종종 조용히 축적되며, 코드 변경 지연, 버그 증가, 개발자 사기 저하 등 다양한 형태로 숨겨진 비용을 발생시킵니다.
  • Rails 애플리케이션에서 대규모 컨트롤러나 오래된 의존성으로 인해 개발 속도가 저하되고 성장이 저해되는 실제 사례들이 보고됩니다.
  • 기술 부채는 전면적인 재작성 없이도 점진적인 리팩토링, 테스트 스위트 정리, 의존성 검토 등 전략적인 접근을 통해 효과적으로 관리될 수 있습니다.
FastRuby.io 2025년 08월 14일
  • 본 문서는 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일