지난 글들

2101개의 글이 있습니다

shoulda-matchers가 실제로 당신을 위해 하는 일

What Shoulda Matchers Is Actually Doing For You

  • shoulda-matchers는 Rails 테스트 코드를 간결하고 가독성 높게 만들어주며, 모델의 계약을 명확히 문서화합니다.
  • 각 매처는 Rails 기능 테스트를 위한 격리된 설정과 검증 패턴을 캡슐화하여 테스트의 견고성을 크게 향상시킵니다.
  • 수동 테스트의 취약점(예: 의도치 않은 통과)을 방지하고, 무관한 모델 변경에도 안정적인 단위 테스트를 제공합니다.
thoughtbot 2026년 01월 24일

Ruby 4.0, 프로세스 내 격리를 위한 Ruby::Box 도입 (1부)

Ruby 4.0 Introduces Ruby::Box for In-Process Isolation (Part 1)

  • Ruby 4.0에 도입된 Ruby::Box는 단일 Ruby 프로세스 내에서 격리된 네임스페이스를 제공하여 젬 간의 전역 수정 충돌 문제를 해결합니다.
  • Ruby::Box는 클래스, 상수, 전역 변수 및 최상위 메서드를 상자(box) 내부에 격리하며, `Ruby::Box.new`와 `eval`, `require` 등의 간단한 API를 제공합니다.
  • 이 기능은 기본적으로 비활성화되어 환경 변수로 활성화해야 하며, 보안 샌드박스가 아니며 일부 제한사항(네이티브 확장, ActiveSupport 호환성)이 있는 실험적 기능입니다.
The Awesome Ruby 2026년 01월 24일
  • "Giant Robots Smashing into Other Giant Robots" 팟캐스트의 600회 에피소드를 기념하며 ThoughtBot 팀원들과의 특별 인터뷰를 진행했습니다.
  • ThoughtBot 직원들은 동료들과의 협업, 학습 지향적인 문화, 그리고 서로를 배려하는 팀워크를 회사의 가장 큰 장점으로 꼽았습니다.
  • 2012년 첫 방송 이후 13년간 지속된 팟캐스트의 여정을 되돌아보며, 다양한 게스트들이 개인적인 경험과 유머러스한 질문을 공유했습니다.
thoughtbot Youtube 2026년 01월 23일

libgd-gis: Ruby 개발자를 위한 실용적인 GIS 렌더링 엔진

libgd-gis: A Practical GIS Rendering Engine for Ruby

  • libgd-gis는 브라우저 기반 도구나 무거운 GIS 스택 없이 Ruby 환경에서 정적 지도를 생성하기 위해 개발된 GIS 렌더링 엔진입니다.
  • 순수 Ruby API를 통해 래스터 베이스맵과 GeoJSON 오버레이(선, 폴리곤, 포인트 포함)를 지원하며, 보고서 및 자동화된 작업에 최적화되어 있습니다.
  • 결과물의 결정론적 출력과 예측 가능한 렌더링을 위해 스타일 강제 적용, 뷰포트 렌더링, 포스트 렌더링 오버레이 등 핵심 기능을 제공합니다.
Ruby Stack News 2026년 01월 23일
  • CSS 작업 없이 전문가 수준의 Rails 앱 UI를 신속하게 구축할 수 있습니다.
  • Rails, Hotwire, Tailwind CSS에 최적화된 200개 이상의 UI 컴포넌트와 프로덕션용 뷰 템플릿을 제공합니다.
  • 백엔드 중심 개발자, 인디 해커, 스타트업, 에이전시의 UI 개발 시간과 노력을 획기적으로 절감합니다.
jeff 2026년 01월 22일
  • Claude Skills를 활용하여 thoughtbot 모범 사례에 기반한 Rails 애플리케이션 코드 감사 자동화 도구를 구축했습니다.
  • 이 스킬은 코드 스멜, 테스트 누락, 보안 취약점 식별 및 PORO(Plain Old Ruby Object) 리팩토링 제안 등 다양한 코드 리뷰를 지원합니다.
  • 사용자 정의 가능한 마크다운 기반 스킬을 통해 개발 생산성을 향상시키고, 수일이 걸리던 코드 감사를 수분 내로 단축할 수 있습니다.
thoughtbot 2026년 01월 22일

자바스크립트 개발자를 위한 Rails 가이드: 모든 것은 어디에서 오는가?

A JavaScript developer's guide to Rails: Where Does Everything Come From?

  • Rails는 '설정보다 관례' 원칙에 따라 명시적인 import 없이도 모듈 포함, 상속, 동적 생성 등을 통해 메소드를 자동으로 제공합니다.
  • 모델, 컨트롤러, 뷰 등 각 계층별로 Rails가 자동으로 포함하거나 생성하는 메소드와 헬퍼의 출처를 이해하는 것이 중요합니다.
  • 메소드의 출처를 파악하기 위해서는 Rails API 문서, IDE 지원, Gemfile 확인, source_location 활용 등 다양한 탐색 기법이 필요합니다.
thoughtbot 2026년 01월 22일

Active Agent: Rails 애플리케이션에 AI 기능 통합하기

Justin Bowen: Building agents with Rails - Workshop. San Francisco Ruby Conference 2025

  • Active Agent는 Rails 개발자가 AI 복잡성을 압축하여 애플리케이션에 AI 기능을 쉽게 통합할 수 있도록 돕는 Ruby 프레임워크입니다.
  • Action Prompt를 통해 프롬프트 관리 및 뷰 레이어를 제공하고, Generation Provider를 통해 LLM 및 ONNX 런타임 등 다양한 AI 백엔드와 상호작용합니다.
  • 에이전트는 추상 컨트롤러 역할을 하며, 백그라운드 작업, JSON 스키마 기반 도구 사용, 구조화된 출력 등 Rails 친화적인 방식으로 고급 AI 기능을 지원합니다.
Evil Martians 2026년 01월 22일

Ruby의 동적 특성 활용 전략: 안전하고 효과적인 타입 관리

Noel Rappin: The dynamic Ruby toolkit - Workshop. San Francisco Ruby Conference 2025

  • Ruby의 동적 특성을 활용하여 타입 관련 오류를 방지하고 안전하며 효과적인 코드를 작성하는 방법을 제시합니다.
  • nil 값 처리, 문자열/심볼 불일치 등 Ruby에서 흔히 발생하는 타입 오류를 해결하기 위한 '폭파', '강제 변환', '최소화', '객체화' 전략을 소개합니다.
  • literal Gem과 같은 도구를 활용하여 유연하면서도 강력한 런타임 타입 검증을 구현하고, 코드 경계를 명확히 설정하는 중요성을 강조합니다.
Evil Martians 2026년 01월 22일

Rails 오픈 소스 코드 탐색 및 이해 워크숍

Kasper Timm Hansen: Workshop - Upskill your team by diving into Rails. SF Ruby Conference 2025

  • Rails 및 Ruby 오픈 소스 코드 읽기를 통해 개발자의 코드 이해력과 문제 해결 능력을 점진적으로 향상시키는 방법을 제시합니다.
  • 콘솔, 문서, 루비 내장 인트로스펙션 기능을 활용하여 복잡한 Rails 코드베이스를 능동적으로 탐색하고 검증하는 실용적인 접근 방식을 소개합니다.
  • RV(Ruby Version manager) 소개 및 `accepts_nested_attributes_for`, `Callbacks`, `Concerns` 등 Rails 내부 핵심 기능의 실제 구현 사례를 분석합니다.
Evil Martians 2026년 01월 22일

Inertia.js와 Rails를 활용한 사고방식: SPA 개발의 간소화

Brandon Shar, Svyatoslav Kryukov, and Brian Knoles: Inertia Rails workshop. SF Ruby Conference 2025

  • Inertia.js는 Rails의 MVC 모놀리스 구조를 유지하면서 React, Vue, Svelte와 같은 최신 JavaScript 프레임워크를 뷰 레이어로 활용하여 단일 페이지 애플리케이션(SPA) 경험을 제공하는 프로토콜입니다.
  • 복잡한 GraphQL/JSON API, JWT, 클라이언트 측 상태 관리 없이 Rails가 주도하는 방식으로 개발을 간소화하며, Turbolinks에서 영감을 받아 서버 응답에 따라 JSON 데이터만 교환하여 프런트엔드를 업데이트합니다.
  • 부분 새로고침(partial reloads), 지연 속성(deferred props), `inertia share` 같은 기능을 통해 효율적인 데이터 관리와 성능 최적화를 지원하며, `Alba` 및 `Typealizer`와 같은 도구로 백엔드에서 TypeScript 타입을 자동 생성하여 개발 생산성을 높입니다.
Evil Martians 2026년 01월 22일

Rails 8.1.2 버전 공식 출시

Rails Version 8.1.2 has been released!

  • Rails 8.1.2 버전이 공식적으로 출시되었으며, 이전 8.1.1 버전 이후의 변경 사항이 포함되었습니다.
  • GitHub의 CHANGELOG 및 전체 커밋 목록을 통해 각 젬별 변경 사항을 상세히 확인할 수 있습니다.
  • 릴리스된 젬의 무결성 검증을 위해 SHA-256 체크섬 목록이 제공되었습니다.
RubyOnRails 2026년 01월 22일

FIPS 구성, 종속성에는 무관합니다

FIPS Dependencies and Prebuilt Binaries

  • FIPS 준수 컨테이너 이미지에서도 종속성으로 인해 비FIPS 암호화 모듈이 사용될 수 있어 디버깅이 어렵습니다.
  • 특히 `pg` Gem과 같은 사전 빌드된 바이너리 종속성이 FIPS 구성된 OpenSSL을 우회하여 문제를 일으킬 수 있습니다.
  • FIPS 도입 시 사전 빌드 종속성 검증, 다단계 빌드 활용, 실제 실행 경로 테스트, 공급망 디버깅 예산 확보가 중요합니다.
HackerNews 2026년 01월 22일
  • 패키지 관리 시스템의 본질적 작동 방식을 추상화하는 참조 모델 또는 프로토콜의 필요성을 제안합니다.
  • 이 프로토콜은 사용자 명령, 매니페스트, 록파일, 레지스트리, 의존성 해결 등 다양한 계층과 행위자를 정의합니다.
  • 공통된 용어와 모델을 통해 패키지 관리자 간의 비교, 보안 연구, 상호 학습 및 소규모 생태계 지원을 가능하게 합니다.
HackerNews 2026년 01월 22일
  • libgd-gis는 전통적인 지도 라이브러리의 한계를 넘어 위성 이미지를 행성 관측 도구로 활용하는 새로운 접근 방식을 제시합니다.
  • NASA GIBS와 같은 사전 처리된 위성 데이터를 활용하여, libgd-gis는 다양한 스케일에서 위성 이미지를 '라이브 센서 피드'처럼 분석할 수 있게 되었습니다.
  • Ruby 기반의 libgd-gis는 지리공간 분석을 위한 유연하고 표현력 있는 플랫폼을 제공하며, 지도 렌더링을 넘어 지구 변화 관측 및 분석 도구로 진화했습니다.
Ruby Stack News 2026년 01월 22일