지난 글들

1164개의 글이 있습니다

  • Hotwire Turbo 8의 새로운 '페이지 새로고침(Page Refreshes)' 기능은 스크롤 위치를 보존하며 효율적인 UI 업데이트를 가능하게 하여 기존 Turbo Streams의 복잡성을 줄입니다.
  • `data-turbo-permanent` 속성을 통해 특정 HTML 요소의 상태(예: 드롭다운, 폼 입력값)를 페이지 새로고침 시에도 유지할 수 있습니다.
  • `broadcast_refreshes` 기능을 활용하여 여러 사용자 또는 탭 간에 페이지 변경 사항을 실시간으로 동기화할 수 있어 협업 환경에 유용합니다.
모리땅 2023년 12월 25일
  • Ruby 명령줄 옵션은 스크립트 실행 방식, 입출력 처리, 디버깅 및 환경 설정을 정교하게 제어하여 개발 효율성을 높입니다.
  • -e는 즉석 코드 실행, -n과 -p는 자동 루프를 통한 라인별 처리를 제공하여 스크립트 작성 및 테스트를 간소화합니다.
  • -W, -d, -E와 같은 옵션들은 경고 수준, 디버그 모드, 문자열 인코딩을 유연하게 설정하여 다양한 운영 환경에 최적화된 실행을 가능하게 합니다.
Ruby Weekly 2023년 12월 25일

위험할 정도로 충분한 Turbo Native: Rails 앱을 iOS/Android 앱으로 변환하기

Joe Masilotti - Just enough Turbo Native to be dangerous - Rails World 2023

  • Turbo Native는 Rails 개발자가 기존 서버-사이드 HTML을 활용하여 iOS 및 Android 앱을 빠르고 효율적으로 구축할 수 있도록 지원하며, 네이티브 SDK 접근성을 제공합니다.
  • 앱 스토어 승인 없이 서버 코드 변경 사항이 모바일 앱에 즉시 반영되는 "한 번 작성, 어디든 배포" 모델을 통해 개발 주기를 단축하고 Rails 개발에 집중할 수 있습니다.
  • Path Configuration과 Strada, Turbo Navigator와 같은 고급 기능을 통해 웹 UI의 한계를 넘어 특정 화면을 네이티브로 업그레이드하거나 네이티브 컴포넌트를 통합하여 유연성을 극대화할 수 있습니다.
모리땅 2023년 10월 19일
  • Pagy는 Ruby 환경에서 Keyset Pagination을 활용하여 대규모 데이터셋에 최적화된 초고속, 저자원 페이지네이션 기능을 제공하는 젬입니다.
  • ActiveRecord, Sequel 등 다양한 컬렉션 및 ORM과 호환되며, Bootstrap, Tailwind 같은 CSS 프레임워크와 JSON:API를 지원하는 높은 유연성을 갖추고 있습니다.
  • 쉬운 설정, 풍부한 확장 기능(extras), 그리고 100% 테스트 커버리지를 통해 안정적이고 개발자 친화적인 페이지네이션 솔루션을 제공합니다.
Ruby Weekly 2023년 09월 17일
  • Rubystacks의 Linux AMD64 환경을 위한 압축 파일(rubystacks-linux-amd64.zip)이 제공됩니다.
  • 해당 파일은 23 MB의 용량을 가지며, 2023년 4월 4일에 최신 버전으로 업데이트되었습니다.
  • 이 배포본은 Rubystacks 애플리케이션의 버전 8에 해당하며, 특정 플랫폼에 최적화되어 있습니다.
Ruby Weekly 2023년 04월 04일

뷰 컴포넌트

View Component. What’s a ViewComponent? | by Umeriqbal | Medium

  • ViewComponent는 React에서 영감을 받은 Ruby 객체 및 템플릿으로, 재사용 가능하고 테스트 용이하며 캡슐화된 뷰 컴포넌트를 생성하는 프레임워크입니다.
  • 이는 기존 파셜(partials) 대비 약 10배 빠르며, 테스트 속도는 100배 이상 향상되는 등 성능 및 테스트 용이성 측면에서 큰 이점을 제공합니다.
  • ViewComponent는 Ruby on Rails 프로젝트에 쉽게 통합되어 뷰 로직을 효율적으로 관리하고 코드를 간결하게 유지할 수 있도록 돕습니다.
jeff 2023년 02월 02일

Ruby on Rails의 새로운 성장과 커뮤니티 활성화

2024 Ruby on Rails Community Survey Results | 2024 Ruby on Rails Community Survey Results

  • Ruby on Rails는 역대 최고 응답률을 기록한 설문조사에서 나타나듯 새로운 성장과 활기를 맞이하고 있습니다.
  • Doximity, Shopify 등 영향력 있는 기업들의 지원을 받는 Rails Foundation이 설립되어 생태계 발전에 기여하고 있습니다.
  • Planet Argon은 Rails Foundation의 회원으로서 플랫폼의 성장을 적극적으로 지지하며, 전 세계적으로 활성화되는 Rails 커뮤니티 활동을 환영합니다.
Ruby Weekly 2022년 11월 14일

ViewComponent In The Wild: 현대적인 Rails 프론트엔드 구축하기

ViewComponent in the Wild I: building modern Rails frontends—Martian Chronicles, Evil Martians’ team blog

  • ViewComponent는 Rails 애플리케이션의 뷰 레이어 개발을 합리적으로 돕는 GitHub의 라이브러리로, 기존 partials 및 뷰 헬퍼 방식의 한계를 극복합니다.
  • 단일 페이지 애플리케이션(SPA) 대신 고전적인 서버 주도 MVC 방식에서 ViewComponent를 활용하여 현대적이고 유지보수 가능한 프론트엔드를 구축할 수 있습니다.
  • ViewComponent는 컴포넌트의 격리된 테스트, 재사용성 증대, 백엔드와 프론트엔드 팀 간의 협업 용이성 등 다양한 이점을 제공하여 코드 품질을 향상시킵니다.
jeff 2022년 10월 12일
  • DHH의 극우적 정치 성향 심화가 Rails 커뮤니티에 미치는 부정적 영향과 그의 독점적 통제권에 대한 우려가 제기되고 있습니다.
  • Ruby Central의 RubyGems 거버넌스 변경 논란과 Shopify의 재정적 영향력 등 Rails 커뮤니티 내 리더십 및 투명성 문제가 심화되고 있습니다.
  • DHH의 영향력을 배제한 새로운 거버넌스 또는 커뮤니티 포크의 필요성이 논의되지만, 현실적인 어려움으로 인해 해법 모색이 시급합니다.
HackerNews 2021년 07월 12일
  • 37signals에서 Typeform을 통해 원격 근무가 가능한 Ruby on Rails 개발자를 모집합니다.
  • 지원자는 자기소개, 이력서, GitHub 프로필 등 코딩 역량을 증명할 자료를 제출해야 합니다.
  • 본 채용은 장기적인 관점에서 37signals의 핵심 제품 개발에 기여할 숙련된 개발자를 찾고 있습니다.
Ruby on Rails 소식지 2020년 10월 14일

Ruby on Rails 뷰 캐싱: 성능 최적화 전략

How View Caching in Rails Works (2020)

  • 뷰 캐싱은 Rails 애플리케이션의 뷰 렌더링 속도를 향상시켜 데이터베이스 접근 및 복잡한 로직 실행 부담을 줄이는 핵심 기법입니다.
  • `cache` 헬퍼 메서드를 사용하여 전체 뷰 또는 부분 뷰를 캐싱할 수 있으며, `updated_at` 타임스탬프와 `touch: true`를 활용하여 캐시 무효화를 효율적으로 관리합니다.
  • 러시안 인형 캐싱(Russian doll caching)과 `cached: true` 옵션을 통해 중첩된 부분 뷰의 캐싱을 최적화하고, 동적 콘텐츠는 JavaScript 또는 부분 캐싱으로 분리하여 처리합니다.
HackerNews 2020년 10월 13일

Sidekiq 스케일링을 위한 궁극적인 가이드

The Ultimate Guide to Scaling Sidekiq

  • Sidekiq 스케일링은 동시성(concurrency) 최적화, 큐 지연 시간을 활용한 자동 스케일링, 그리고 특정 작업 유형에 따른 큐 전용 할당을 통해 효율성을 극대화할 수 있습니다.
  • CPU 사용률과 I/O 바운드 작업의 특성을 고려하여 Sidekiq 프로세스당 스레드 수(concurrency)를 조정하는 것이 중요하며, 과도한 설정은 성능 저하를 초래할 수 있습니다.
  • 데이터베이스 연결 풀 부족, Redis 클라이언트 제한, 메모리 비대화 등 일반적인 스케일링 문제에 대한 구체적인 해결책을 제시하며, Redis는 대부분의 경우 병목 지점이 아님을 강조합니다.
Ruby Weekly 2020년 05월 11일
  • 과거 DHH에 대한 비판적 시각을 담은 강연에 6년 만에 업데이트가 추가되었습니다.
  • DHH는 시간이 지나며 성숙해져 현재는 공정성, 평등 등 긍정적 가치를 옹호하는 인물로 변화했습니다.
  • 저자는 과거의 발언을 인정하며, 강연을 특정 시점의 기록으로 온라인에 유지하기로 결정했습니다.
The Awesome Ruby 2020년 02월 13일

Active Storage와 GraphQL을 활용한 다이렉트 업로드 통합

Active Storage meets GraphQL: Direct Uploads—Martian Chronicles, Evil Martians’ team blog

  • Active Storage의 다이렉트 업로드 기능을 GraphQL API와 통합하여 파일 업로드 워크플로우를 효율적으로 구현하는 방법을 설명합니다.
  • Rails의 DirectUploadsController 로직을 GraphQL 뮤테이션으로 변환하고, Active Storage의 JavaScript 라이브러리를 재활용하여 클라이언트 측 구현을 간소화합니다.
  • 파일 메타데이터(체크섬 포함) 획득, 업로드 자격 증명 요청, 그리고 클라우드 스토리지로의 직접 업로드 과정을 상세한 코드 예시와 함께 제시합니다.
jeff 2019년 04월 02일

Ruby에서 'self'의 이해: 초보자를 위한 가이드

Beginners guide to understanding ‘self’ in Ruby. | by Saphie Abayomi | Medium

  • Ruby에서 'self' 키워드는 사용되는 맥락에 따라 인스턴스 또는 클래스를 지칭하는 동적인 특성을 가집니다.
  • 인스턴스 메서드 내에서 'self'는 현재 객체 인스턴스를 참조하여 인스턴스 속성 및 메서드에 접근하는 데 사용됩니다.
  • 메서드 이름 앞에 'self'를 붙여 클래스 메서드를 정의할 때, 'self'는 클래스 자체를 나타내며 클래스 수준의 기능을 구현하는 데 활용됩니다.
jeff 2019년 01월 22일