지난 글들
747개의 글이 있습니다
RubyGems 설치 문제: 15년간 해결되지 않는 근본 원인과 해결책
Ruby gems still broken after 15 years
- RubyGems는 15년 동안 기본 설치 경로 문제(시스템 디렉토리)를 해결하지 못해 사용자에게 지속적인 불편을 초래하고 있습니다.
- 문제의 근본 원인은 RubyGems 프로젝트 내 `gem`과 `bundler` 간의 불일치, 복잡한 코드베이스, 그리고 개발자들의 외부 기여 거부 및 '나에게는 잘 작동한다'는 태도에 있습니다.
- 저자는 단 한 줄의 코드로 이 문제를 해결할 수 있는 간단한 패치를 제시했지만, 프로젝트 리더들의 자존심과 비협조적인 태도로 인해 적용되지 못하고 있습니다.
HackerNews
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일
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에 구조화된 이벤트 보고 기능 도입 및 최신 업데이트
Structured Event Reporting lands in Rails!
- Rails에 통합된 API를 갖춘 구조화된 이벤트 보고(Structured Event Reporting) 기능이 도입되어 시스템 관측 가능성이 향상되었습니다.
- 테스트 헬퍼 `#assert_events_reported`와 이메일 일괄 전송 기능 `deliver_all_later` 등 개발 및 성능 개선 기능이 추가되었습니다.
- 개발자 경험 향상을 위해 에러 페이지에 'Copy as Text' 버튼이 추가되었으며, Action Cable 및 속도 제한 기능도 개선되었습니다.
RubyOnRails
2025년 08월 15일
Rails 최신 업데이트: 구조화된 이벤트 보고 및 주요 기능 개선
Structured Event Reporting lands in Rails!
- Rails에 통합된 API를 갖춘 구조화된 이벤트 보고 기능이 추가되어 애플리케이션 원격 측정 및 관찰 가능성이 향상되었습니다.
- 테스트 헬퍼 `assert_events_reported`가 도입되어 여러 이벤트 보고를 유연하게 검증할 수 있게 되었으며, `deliver_all_later`를 통해 한 번에 여러 이메일을 효율적으로 대기열에 추가할 수 있습니다.
- 개발자 경험 개선을 위해 오류 페이지에 '텍스트로 복사' 버튼이 추가되고, `button_to`의 숨겨진 입력 필드에서 `autocomplete="off"` 속성 제거 등 다양한 편의 기능이 업데이트되었습니다.
This Week in Rails
2025년 08월 15일
마지막 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 비교
A Tale of 3 Aliases
- Ruby는 메서드 및 속성 별칭을 위해 `alias`, `alias_method`, `alias_attribute` 세 가지 도구를 제공합니다.
- `alias`는 키워드로 정적 이름에 적합하며 정의된 곳에 복사본을 생성하고, `alias_method`는 `Module`의 메서드로 동적 이름에 유용하며 런타임에 호출된 객체에 복사본을 생성합니다.
- `alias_attribute`는 Rails 전용으로 Active Record 모델 속성 별칭에 사용되며, 각 도구는 특정 사용 사례에 맞춰 선택되어야 합니다.
FastRuby.io
2025년 08월 14일
Ruby와 Heroku: 버전 호환성 가이드
Heroku & Ruby Compatibility Table
- 이 문서는 Ruby 애플리케이션의 Heroku 배포를 위한 Ruby 및 Heroku 스택 버전 호환성 정보를 제공합니다.
- Heroku 스택의 EOL(End-of-Life) 정책과 각 스택별 지원 Ruby 버전, Bundler 호환성 정보가 상세히 설명됩니다.
- 안정적인 애플리케이션 운영과 보안 유지를 위해 최신 Heroku 스택 및 Ruby 버전으로의 업그레이드가 강조됩니다.
FastRuby.io
2025년 08월 14일
Rails 애플리케이션을 위한 개발 컨테이너 설정
Setting Up Rails with Dev Containers
- 개발 컨테이너는 재현 가능한 개발 환경을 제공하여 팀 내 애플리케이션 설정 및 코드 공유를 용이하게 합니다.
- 이는 본질적으로 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일
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 애플리케이션에서 발생하는 흔한 문제와 전략적 관리 방안
The Hidden Costs of Technical Debt in Rails: Lessons from Client Projects
- 기술 부채는 종종 조용히 축적되며, 코드 변경 지연, 버그 증가, 개발자 사기 저하 등 다양한 형태로 숨겨진 비용을 발생시킵니다.
- Rails 애플리케이션에서 대규모 컨트롤러나 오래된 의존성으로 인해 개발 속도가 저하되고 성장이 저해되는 실제 사례들이 보고됩니다.
- 기술 부채는 전면적인 재작성 없이도 점진적인 리팩토링, 테스트 스위트 정리, 의존성 검토 등 전략적인 접근을 통해 효과적으로 관리될 수 있습니다.
FastRuby.io
2025년 08월 14일