지난 글들

1260개의 글이 있습니다

  • RubyGems는 15년 동안 기본 설치 경로 문제(시스템 디렉토리)를 해결하지 못해 사용자에게 지속적인 불편을 초래하고 있습니다.
  • 문제의 근본 원인은 RubyGems 프로젝트 내 `gem`과 `bundler` 간의 불일치, 복잡한 코드베이스, 그리고 개발자들의 외부 기여 거부 및 '나에게는 잘 작동한다'는 태도에 있습니다.
  • 저자는 단 한 줄의 코드로 이 문제를 해결할 수 있는 간단한 패치를 제시했지만, 프로젝트 리더들의 자존심과 비협조적인 태도로 인해 적용되지 못하고 있습니다.
HackerNews 2025년 08월 17일
  • 조직의 기능 장애와 에이전트 아키텍처의 한계를 인식하며 Stafford Beer의 VSM(Viable System Model)을 AI 에이전트 설계에 적용하는 아이디어를 탐색합니다.
  • Ruby의 동적 런타임과 메타 프로그래밍 기능이 자기 수정 및 재귀적 구조를 가진 AI 에이전트 시스템을 구축하는 데 이상적임을 강조합니다.
  • VSM 개념을 구현한 Ruby Gem 'vsm'과 CLI 코딩 에이전트 'airb'를 소개하며, 미래 AI 에이전트 개발의 새로운 방향을 제시합니다.
The Awesome Ruby 2025년 08월 17일

HTML Partials + 서버 리듀서: React 스타일 SPA의 대안

HTML Partials + Server Reducers: An Alternative to React-Style SPAs

  • React SPA의 복잡성을 피하고 즉각적인 사용자 경험을 제공하는 HTML-first, 서버 사이드 리듀서(SSR+) 아키텍처를 소개합니다.
  • 서버에서 HTML 조각을 렌더링하고 React의 `useReducer`와 유사한 방식으로 상태를 관리하며, 클라이언트는 최소한의 역할로 DOM을 업데이트합니다.
  • 관리 대시보드 및 B2B 애플리케이션에 적합하며, 단순한 상태 관리, 쉬운 테스트, 예측 가능한 성능을 통해 개발 복잡성을 줄입니다.
Hotwire Weekly 2025년 08월 16일

확장하지 않는 일을 하고, 그 다음에는 확장하지 마세요

Do things that don’t scale, and then don’t scale | by Adam Derewecki | Aug, 2025 | Medium

  • AI 기반 개발 도구의 발전으로 소규모의 개인적인 소프트웨어 개발이 용이해졌으며, 이를 굳이 확장할 필요가 없다는 새로운 관점을 제시합니다.
  • 성장을 지양하고 소규모를 유지함으로써 얻을 수 있는 이점(친밀감, 통제력, 문제 회피)을 실제 사례를 통해 설명합니다.
  • 개인의 필요를 충족시키는 가장 작고 단순한 솔루션을 구축하고, 이를 확장하려는 유혹에 저항하는 것이 진정한 가치임을 강조합니다.
이원섭 2025년 08월 16일

레일즈의 실제 이야기: 20년간의 설계와 결정

RailsConf 2025 The Rails Story: Two Decades of Design and Decisions by Ratnadeep Deshmane

  • Ruby on Rails는 PHP와 Java의 문제점을 해결하고 개발자 행복을 최우선으로 하여 DHH가 Basecamp에서 추출한 프레임워크입니다.
  • 컨벤션 오버 컨피규레이션, DRY, MVC, Active Record, REST 등 핵심 원칙과 패턴은 XML 헬과 같은 당시의 문제점을 해결하기 위해 채택되었습니다.
  • MERB와의 통합으로 모듈성을 강화하고, Strong Parameters 도입으로 보안을 개선하는 등 Rails는 지속적으로 발전하며 개발 생태계를 혁신했습니다.
jeff 2025년 08월 15일

Hotwire Native 앱에서 네이티브 화면 제목 설정하기

Set native screen titles in Hotwire Native

  • Hotwire Native 앱은 웹 콘텐츠를 기반으로 네이티브 화면 제목을 자동으로 설정하며, 이는 HTML의 `<title>` 속성을 통해 이루어집니다.
  • iOS의 내비게이션 바 제목과 Android의 액션 바 제목은 `<title>` 태그의 내용으로 자동 설정되어 별도의 Swift 또는 Kotlin 코드 없이 네이티브 느낌을 제공합니다.
  • Ruby on Rails의 `content_for` 헬퍼를 사용하여 `<title>`을 동적으로 설정함으로써 앱의 네이티브 경험을 향상시키고, 앱 스토어 업데이트 없이 변경 사항을 적용할 수 있습니다.
HackerNews 2025년 08월 15일
  • Rails에 통합된 API를 갖춘 구조화된 이벤트 보고(Structured Event Reporting) 기능이 도입되어 시스템 관측 가능성이 향상되었습니다.
  • 테스트 헬퍼 `#assert_events_reported`와 이메일 일괄 전송 기능 `deliver_all_later` 등 개발 및 성능 개선 기능이 추가되었습니다.
  • 개발자 경험 향상을 위해 에러 페이지에 'Copy as Text' 버튼이 추가되었으며, Action Cable 및 속도 제한 기능도 개선되었습니다.
RubyOnRails 2025년 08월 15일
  • Rails에 통합된 API를 갖춘 구조화된 이벤트 보고 기능이 추가되어 애플리케이션 원격 측정 및 관찰 가능성이 향상되었습니다.
  • 테스트 헬퍼 `assert_events_reported`가 도입되어 여러 이벤트 보고를 유연하게 검증할 수 있게 되었으며, `deliver_all_later`를 통해 한 번에 여러 이메일을 효율적으로 대기열에 추가할 수 있습니다.
  • 개발자 경험 개선을 위해 오류 페이지에 '텍스트로 복사' 버튼이 추가되고, `button_to`의 숨겨진 입력 필드에서 `autocomplete="off"` 속성 제거 등 다양한 편의 기능이 업데이트되었습니다.
This Week in Rails 2025년 08월 15일

스타트업 MVP 개발을 위한 Ruby on Rails의 이점과 활용 전략

Why Startups Choose Ruby on Rails for Rapid MVP Development

  • Ruby on Rails는 빠른 개발, 비용 효율성, 확장성, 보안 기본 제공, 풍부한 개발자 및 커뮤니티 지원을 통해 스타트업 MVP 개발에 최적화된 프레임워크입니다.
  • '설정보다 관례', '반복하지 마라', '모든 기능 포함' 등의 원칙과 Devise, ActiveAdmin, Solid Queue, Kamal 같은 내장 도구 및 Gem을 통해 개발 속도를 극대화합니다.
  • 성능, 리소스 사용량, 실시간 앱 한계 등의 잠재적 단점은 경험 많은 팀의 전략적 최적화와 필요시 마이크로서비스 전환을 통해 효과적으로 관리할 수 있습니다.
Rubyroid Labs 2025년 08월 14일

마지막 RailsConf에서 thoughtbot의 추억들

A few thoughtbot memories from the final RailsConf

  • RailsConf 2025가 막을 내렸으며, thoughtbot은 여러 발표와 이벤트를 통해 커뮤니티에 활발히 기여했습니다.
  • Aji Slater의 기조연설과 Joël Quenneville의 강연은 Rails 커뮤니티의 역사와 발전에 대한 깊이 있는 통찰을 제공했습니다.
  • thoughtbot 팀원들은 Ruby 내부 동작 및 ActiveRecord API와 같은 기술적 주제를 다루었으며, 'Ruby Underground' 행사를 성공적으로 개최했습니다.
thoughtbot 2025년 08월 14일

Valid Eval 사례 연구: FastRuby.io와 함께 Ruby on Rails 성능 및 보안 개선

Valid Eval Achieves 2-5x Performance Gains, Improves Security for Ruby on Rails Architecture

  • Valid Eval은 Ruby on Rails 기반 시스템의 Puma 웹 서버 성능 및 메모리 문제에 직면했습니다.
  • FastRuby.io는 서버 설정 최적화, Ruby 및 Rails 버전 업그레이드, 정보 보안 강화를 통해 이러한 문제를 해결했습니다.
  • 이 협력을 통해 Valid Eval은 시스템 성능 향상, 기술 부채 감소, 정부 계약 경쟁력 강화 등 실질적인 이점을 얻었습니다.
FastRuby.io 2025년 08월 14일
  • Ruby는 메서드 및 속성 별칭을 위해 `alias`, `alias_method`, `alias_attribute` 세 가지 도구를 제공합니다.
  • `alias`는 키워드로 정적 이름에 적합하며 정의된 곳에 복사본을 생성하고, `alias_method`는 `Module`의 메서드로 동적 이름에 유용하며 런타임에 호출된 객체에 복사본을 생성합니다.
  • `alias_attribute`는 Rails 전용으로 Active Record 모델 속성 별칭에 사용되며, 각 도구는 특정 사용 사례에 맞춰 선택되어야 합니다.
FastRuby.io 2025년 08월 14일

Ruby와 Heroku: 버전 호환성 가이드

Heroku &amp; Ruby Compatibility Table

  • 이 문서는 Ruby 애플리케이션의 Heroku 배포를 위한 Ruby 및 Heroku 스택 버전 호환성 정보를 제공합니다.
  • Heroku 스택의 EOL(End-of-Life) 정책과 각 스택별 지원 Ruby 버전, Bundler 호환성 정보가 상세히 설명됩니다.
  • 안정적인 애플리케이션 운영과 보안 유지를 위해 최신 Heroku 스택 및 Ruby 버전으로의 업그레이드가 강조됩니다.
FastRuby.io 2025년 08월 14일
  • 개발 컨테이너는 재현 가능한 개발 환경을 제공하여 팀 내 애플리케이션 설정 및 코드 공유를 용이하게 합니다.
  • 이는 본질적으로 Docker 컨테이너이며, .devcontainer 폴더와 devcontainer.json 파일과 같은 컨벤션을 통해 에디터 및 IDE 통합을 강화합니다.
  • 이 글은 기존 Rails 애플리케이션에 Dockerfile, docker-compose.yml, entrypoint 스크립트를 활용하여 개발 컨테이너를 설정하는 실용적인 방법을 제시합니다.
FastRuby.io 2025년 08월 14일

Rails Deprecation 경고 추출: AST와 Tree-sitter 활용

Extracting Deprecation Warnings from the Rails Source Code

  • Rails 애플리케이션의 업그레이드 및 코드 분석을 위해 소스 코드에서 Deprecation 경고를 효과적으로 추출하는 방법을 제시합니다.
  • 정규 표현식 대신 추상 구문 트리(AST)와 `tree-sitter` 라이브러리를 활용하여 경고 메시지를 식별하고 분석합니다.
  • heredoc, 문자열, 변수 할당 등 다양한 형태의 경고 메시지를 처리하는 상세한 AST 탐색 및 추출 로직을 설명합니다.
FastRuby.io 2025년 08월 14일