지난 글들

752개의 글이 있습니다

Hotwire 앱에서 자체 업데이트 컴포넌트 구현 전략

Hotwire components that refresh themselves | Boring Rails: Skip the bullshit and ship fast

  • Hotwire 기반 애플리케이션에서 UI 업데이트 시 발생하는 파셜 및 식별자 관리의 복잡성을 개선하는 패턴을 제시합니다.
  • ViewComponent를 활용하여 컴포넌트가 자체적으로 UI 갱신 로직을 포함하도록 하여 코드의 응집도를 높이는 방법을 소개합니다.
  • 컴포넌트 내부에 `dom_id`와 ActionCable 브로드캐스트 채널을 캡슐화하여 유지보수성과 재사용성을 향상시킵니다.
The Awesome Ruby 2025년 07월 07일

RailsConf 2025 Hotwire Native 워크숍 및 저자 만남 안내

Hotwire Native at RailsConf | Masilotti.com

  • RailsConf 2025에서 Hotwire Native 워크숍이 수요일 오전 10시 15분에 개최되며, Swift/Kotlin 경험 없이 iOS 및 Android 앱 구축을 실습합니다.
  • 본 워크숍은 Rails 코드베이스 변경만으로 세 플랫폼(iOS, Android, 웹)에 동시 업데이트를 가능하게 하는 Hotwire Native의 핵심 원리와 실용적인 팁을 다룹니다.
  • 워크숍 당일 오후 3시에는 'Meet the Authors' 세션에서 저서 'Hotwire Native for Rails Developers'에 대한 정보, 할인 코드, 도서 증정 이벤트가 진행됩니다.
Hotwire Weekly 2025년 07월 07일

Ruby의 zip 메서드: 우아한 배열 병합의 용이성

🔗 Ruby’s zip: Elegant Array Merging Made Easy

  • Ruby의 `zip` 메서드는 여러 배열을 인덱스별로 효율적으로 결합하여 데이터를 우아하게 변환합니다.
  • 이 메서드는 배열의 길이가 달라도 유연하게 처리하며, `nil` 값을 사용하여 길이를 맞춥니다.
  • 배열을 해시로 변환하거나 요소별 계산을 수행하는 등 다양하고 실용적인 데이터 처리 시나리오에 활용됩니다.
Ruby Stack News 2025년 07월 07일
  • Stimulus와 TomSelect를 사용하여 웹 애플리케이션에서 동적 종속 선택 박스를 효율적으로 구현합니다.
  • 상위 선택 박스의 값 변경 시 AJAX 요청을 통해 하위 선택 박스의 옵션을 실시간으로 업데이트합니다.
  • Rails 컨트롤러는 필터링된 데이터를 JSON 형태로 제공하며, Stimulus 컨트롤러가 이를 받아 UI를 동적으로 조작합니다.
Hotwire Weekly 2025년 07월 06일

Rails Conf 2024와 Ruby Central 오픈 소스 프로그램: 회고와 미래

Ruby Talks: Marty Haught on 20 Years of RailsConf Memories & Leading the Open Source Program

  • Ruby Central의 오픈 소스 디렉터 마티 호크는 마지막 Rails Conf 2024에서 패널로 참여하며 컨퍼런스의 과거, 현재, 미래에 대한 통찰을 공유합니다.
  • RubyGems 팀은 Rails Conf에서 rubygeems.org의 개발 역사와 보안, 확장성 문제를 다룬 발표를 진행하며, 이는 신규 개발자들에게 중요한 맥락을 제공할 것입니다.
  • Ruby Central의 오픈 소스 프로그램은 RubyGems, Bundler 등 핵심 인프라를 유지 관리하며, 미래에는 영향력 있는 오픈 소스 프로젝트 지원 및 차세대 개발자 양성으로 확장될 계획입니다.
Ruby Central 2025년 07월 05일

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.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일

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일
  • Active Record에 연관 관계를 deprecated로 표시하고 사용을 보고하는 기능이 추가되었습니다.
  • 새로운 Rails 애플리케이션 생성 시 브라우저 차단 기본 설정이 `importmap-rails` 사용 여부에 따라 조건부로 적용되도록 변경되었습니다.
  • `ActiveSupport::BacktraceCleaner`에 `Thread::Backtrace::Location` 객체 배열을 정리하는 `clean_locations` 메서드가 도입되어 백트레이스 관리가 용이해졌습니다.
This Week in Rails 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는 Ruby 및 Rails 개발자를 위한 VS Code 확장 프로그램으로, 개발 생산성을 크게 향상시킵니다.
  • 모델 스키마 확인, 코드 정의 및 경로 탐색, 테스트 실행 등 다양한 고급 기능을 제공하여 효율적인 개발 환경을 구축합니다.
  • Ruby LSP는 Rails 애드온을 기본 포함하고 있어, Rails 프로젝트에 최적화된 강력한 코드 인텔리전스 기능을 제공합니다.
Ruby on Rails Youtube 2025년 07월 02일
  • Rails Concerns는 코드 재사용성을 높이고 애플리케이션을 깔끔하게 유지하기 위한 효과적인 방법입니다.
  • 이는 ActiveSupport::Concern을 확장한 모듈로, DRY(Don't Repeat Yourself) 및 SRP(Single Responsibility Principle) 원칙을 지원합니다.
  • 인증, 분류, 로깅 등 다양한 공통 기능을 여러 모델이나 컨트롤러에서 공유할 때 유용하지만, 과도한 사용은 코드 복잡성을 증가시킬 수 있으므로 신중해야 합니다.
Ruby on Rails Youtube 2025년 07월 02일