지난 글들
1166개의 글이 있습니다
Hotwire Combobox를 활용한 다중 선택 구현
Multi Select with Hotwire Combobox | Hans Schnedlitz
- Hotwire Combobox를 사용하여 Ruby on Rails 애플리케이션에서 다중 선택 및 자동 완성 기능을 효율적으로 구현하는 방법을 설명합니다.
- 기존 스피커 선택 외에 자유 텍스트 입력으로 새로운 스피커를 추가하고, 최종 YAML에 스피커 이름만 반영하도록 값을 제어하는 방법을 다룹니다.
- Hotwire Combobox의 제한된 문서에도 불구하고 소스 코드 예제를 통해 다중 선택, 자유 텍스트 입력 및 값 매핑 기능을 성공적으로 통합했습니다.
Hotwire Weekly
2025년 07월 05일
Ruby 3.4 Frozen String Literals: Rails 개발자가 알아야 할 사항
Ruby 3.4 Frozen String Literals: What Rails Developers Actually Need to Know | Prateek Codes - Learn Building Scalable Backend Systems
- Ruby 3.4는 문자열 리터럴의 불변성(frozen) 기본값 전환을 위한 첫 단계로, 선택적 경고를 도입합니다.
- 기존 Rails 앱은 기본적으로 변경 없이 작동하지만, 경고를 활성화하여 성능 향상 및 미래 호환성 문제를 미리 파악할 수 있습니다.
- 성능 최적화와 잠재적 호환성 문제를 해결하기 위해 점진적으로 코드 수정을 준비하는 것이 중요합니다.
The Awesome Ruby
2025년 07월 05일
Rails 애플리케이션에서 Vite, Ruby, Inertia를 활용한 SSR(서버 사이드 렌더링) 설정 가이드
SSR / Server Side Rendering with Inertia Rails
- Rails 애플리케이션에서 Vite, Ruby, Inertia.js를 사용하여 SSR을 설정하는 과정을 상세히 설명합니다.
- SSR의 주요 이점인 SEO 최적화 및 JavaScript 비활성화 환경에서의 애플리케이션 동작 보장을 강조합니다.
- 설정 과정 중 발생할 수 있는 일반적인 문제점(예: 파일 확장자, 설정 오류)과 효과적인 디버깅 방법을 제시합니다.
Hotwire Weekly
2025년 07월 04일
Remote Ruby: Rails 업데이트, Ruby Gem의 진화, 모듈화 및 LLM의 영향
Conferences, Hotwire Native updates, and a surprise guest!
- Ruby Gems가 Python-style wheels와 보안 강화된 사전 컴파일 바이너리 형태로 진화하는 경향을 논의했습니다.
- Rails 애플리케이션에서 네임스페이스와 모듈화의 중요성 및 유지보수성 향상 방안을 분석했습니다.
- LLM이 솔로 개발자에게 미치는 영향과 접근성, QA, 컴포넌트 아키텍처 등 최신 개발 동향을 고찰했습니다.
Hotwire Weekly
2025년 07월 04일
Rails 업데이트: Deprecated Associations, 개선된 백트레이스, 그리고 더 스마트한 기본 설정
Deprecating Associations, Cleaner Backtraces, and Smarter Defaults
- Active Record에 연관 관계를 deprecated로 표시하고 사용을 보고하는 기능이 추가되었습니다.
- 새로운 Rails 애플리케이션 생성 시 브라우저 차단 기본 설정이 `importmap-rails` 사용 여부에 따라 조건부로 적용되도록 변경되었습니다.
- `ActiveSupport::BacktraceCleaner`에 `Thread::Backtrace::Location` 객체 배열을 정리하는 `clean_locations` 메서드가 도입되어 백트레이스 관리가 용이해졌습니다.
This Week in Rails
2025년 07월 04일
Ruby의 해시 변환: index_by vs index_with
🧠 Hash Transformations in Ruby: index_by vs index_with
- Ruby의 `index_by`와 `index_with` 메서드는 배열을 해시로 변환하는 강력하고 가독성 높은 방법을 제공합니다.
- `index_by`는 컬렉션의 특정 속성을 키로 사용하여 해시를 생성하며, 주로 빠른 조회 테이블을 만들 때 유용합니다.
- `index_with`는 기존 키에 값을 할당하여 해시를 구축하며, 다양한 데이터 변환 및 통계 계산 시 활용됩니다.
Ruby Stack News
2025년 07월 04일
Stimulus를 이용한 뷰포트 외부 YouTube 비디오 자동 일시정지 구현
Auto-pause YouTube Videos with Stimulus | Rails Designer
- Stimulus와 Intersection Observer API를 활용하여 뷰포트 외부의 YouTube 비디오를 자동으로 일시정지하고, 다시 뷰포트 내로 들어오면 재생하는 기능을 구현합니다.
- YouTube iframe API의 복잡성(API 로딩, 플레이어 상태 관리 등)을 처리하며, `enablejsapi=1` 설정을 통해 JavaScript 제어 기능을 활성화합니다.
- 이 컨트롤러는 HTML5 비디오 컨트롤러와 동일한 핵심 기능을 제공하면서 YouTube API의 특성을 효과적으로 통합합니다.
Hotwire Weekly
2025년 07월 03일
Ruby의 검색 전략에 대한 탐구
El que busca, encuentra: A Survey of Search Strategies in Ruby
- 본 문서는 Ruby 프로그래밍 언어에서 제공하는 다양한 검색 전략과 메서드를 포괄적으로 탐구합니다.
- Ruby는 선형 검색, 인덱스 기반 검색, 이진 검색, 해시 전용 조회 등 상황에 맞는 유연하고 표현적인 검색 도구를 제공합니다.
- Ruby의 검색 메서드는 명확하고 의도적인 프로그래밍 스타일을 가능하게 하며, 개발자가 효율적으로 정보를 찾을 수 있도록 돕는다는 철학을 담고 있습니다.
Ruby Stack News
2025년 07월 03일
Ruby LSP: Rails 개발 생산성을 극대화하는 VS Code 확장 프로그램
Ruby LSP - Rails in Focus
- Ruby LSP는 Ruby 및 Rails 개발자를 위한 VS Code 확장 프로그램으로, 개발 생산성을 크게 향상시킵니다.
- 모델 스키마 확인, 코드 정의 및 경로 탐색, 테스트 실행 등 다양한 고급 기능을 제공하여 효율적인 개발 환경을 구축합니다.
- Ruby LSP는 Rails 애드온을 기본 포함하고 있어, Rails 프로젝트에 최적화된 강력한 코드 인텔리전스 기능을 제공합니다.
Ruby on Rails Youtube
2025년 07월 02일
Rails Concerns: 코드 재사용 및 애플리케이션 구조화
Concerns - Rails in Focus
- Rails Concerns는 코드 재사용성을 높이고 애플리케이션을 깔끔하게 유지하기 위한 효과적인 방법입니다.
- 이는 ActiveSupport::Concern을 확장한 모듈로, DRY(Don't Repeat Yourself) 및 SRP(Single Responsibility Principle) 원칙을 지원합니다.
- 인증, 분류, 로깅 등 다양한 공통 기능을 여러 모델이나 컨트롤러에서 공유할 때 유용하지만, 과도한 사용은 코드 복잡성을 증가시킬 수 있으므로 신중해야 합니다.
Ruby on Rails Youtube
2025년 07월 02일
Rails 7의 Error Reporter API 활용: 효율적인 오류 관리를 위한 표준화된 접근 방식
Rails Error Reporter - Rails in Focus
- Rails 7에서 도입된 Error Reporter API는 애플리케이션 내 예외를 추적, 보고, 대응하는 표준화된 방법을 제공합니다.
- 이 API는 기존의 복잡한 오류 처리 방식을 대체하며, `handle`, `record`, `report` 메서드를 통해 유연한 오류 처리를 지원합니다.
- 구독자 객체를 설정하여 오류 정보를 중앙에서 관리하고, 프로덕션 환경에서는 Sentry와 같은 외부 서비스와 연동하여 효율적인 디버깅과 애플리케이션 안정성 향상에 기여합니다.
Ruby on Rails Youtube
2025년 07월 02일
Claude Code Hooks를 활용한 RuboCop 자동 포매팅
Automatic Rubocop Formatting with Claude Code Hooks
- Ruby 프로젝트에서 RuboCop을 자동으로 실행하기 위해 Claude Code Hooks를 활용하는 방법을 제시합니다.
- 기존 Claude의 직접 지시 방식의 비효율성을 개선하여 파일 생성 및 편집 시 RuboCop이 자동 실행되도록 설정합니다.
- 이 설정은 코드 스타일 일관성을 유지하고 개발 시간을 절약하는 데 기여합니다.
The Awesome Ruby
2025년 07월 02일
Rails에서 `shallow: true`를 사용하여 깊게 중첩된 경로 단순화
🧭 Simplifying Deeply Nested Routes in Rails with shallow: true
- Rails에서 깊게 중첩된 라우팅은 복잡한 URL과 컨트롤러 로직을 야기하여 개발 경험을 저해할 수 있습니다.
- `shallow: true` 옵션은 자식 리소스의 `index` 및 `create` 액션만 중첩시키고, 나머지 액션은 자식 리소스 ID를 사용한 최상위 경로로 생성하여 이를 해결합니다.
- 이 방식은 URL을 간결하게 만들고 컨트롤러 로직을 분리하며, RESTful 원칙을 준수하여 애플리케이션의 확장성과 유지보수성을 향상시킵니다.
Ruby Stack News
2025년 07월 02일
루비에서 문자열 인코딩의 깊은 이해: 유니코드, UTF-8, 그리고 실제 문제 해결
Rosa Gutierrez - Invalid byte sequence in UTF-8
- 컴퓨터는 바이트만 이해하며, 문자열은 올바른 인코딩 정보 없이는 의미를 가질 수 없습니다.
- 유니코드(Unicode)와 UTF-8은 다양한 언어와 이모지를 표현하기 위한 표준이며, Ruby는 문자열과 인코딩을 함께 관리합니다.
- Ruby의 encode, force_encoding, scrub, unicode_normalize 등의 메서드를 활용하여 인코딩 관련 버그를 효과적으로 해결할 수 있습니다.
Friendly rb
2025년 07월 01일
Rails로 웹과 모바일 앱 구축하기: 2024년의 프런트엔드 개발
Hana Harenčárová - Building for web and mobile in 2024
- Rails 애플리케이션을 기반으로 하이브리드 접근 방식을 통해 웹 및 모바일 앱을 효율적으로 구축하고, 단일 코드베이스로 빠른 개발 주기를 달성할 수 있습니다.
- 네이티브 모바일 알림(Firebase Messaging)과 브라우저 푸시 알림(Service Worker, Web Push Gem)을 모두 구현하여 사용자 요구사항을 충족하는 다양한 알림 전략을 소개합니다.
- Hotwire, Stimulus 등 Rails 생태계의 도구들을 활용하여 대화형 웹 경험을 제공하고, 앱 스토어 배포 및 업데이트 과정을 최적화하는 실용적인 팁을 공유합니다.
Friendly rb
2025년 07월 01일