지난 글들

1164개의 글이 있습니다

Ruby의 난해한 명명법의 유쾌한 예술

Ruby Gem Naming: The Art of Delightful Obscurity | stevengharms.com

  • Ruby 커뮤니티는 라이브러리(gem) 명명에서 유머와 기발함을 추구하며, 예측 불가능하지만 일단 들으면 납득이 가는 이름을 선호합니다.
  • 이는 다른 언어의 직관적인 명명 방식과 대조되며, 'Nokogiri'와 같은 다층적인 농담을 통해 Ruby만의 독특한 문화를 형성합니다.
  • 이러한 유머러스한 명명 방식은 실용주의적인 현대 소프트웨어 개발 환경 속에서 Ruby 개발자들의 개성과 자유로운 표현을 상징합니다.
Ruby Weekly 2025년 06월 07일

Hotwire Native Bridge Components: 웹과 네이티브 UI의 강력한 연동

Hotwire Native LIVE Episode 2: Bridge Components

  • Hotwire Native Bridge Components는 웹 기반 애플리케이션에서 iOS 및 Android의 네이티브 UI 및 코드와 상호작용할 수 있도록 지원하는 핵심 기능입니다.
  • 이 컴포넌트를 통해 네이티브 버튼, 메뉴, 이미지 등을 HTML 속성 변경만으로 동적으로 업데이트하고 제어할 수 있어 앱 재배포 없이 유연한 기능 확장이 가능합니다.
  • 네이티브 컴포넌트를 '단순하게' 유지하고 비즈니스 로직은 Rails/Stimulus에서 처리함으로써 재사용성을 극대화하고, 네이티브 지원 여부에 따라 웹 기반 UI로 자동 전환되는 우아한 저하(Graceful Degradation)를 제공합니다.
Hotwire Weekly 2025년 06월 06일

Turbo를 활용한 폼 관리 및 프런트엔드 문제 해결 전략

How on earth do you manage forms with Turbo? - Matt Hood

  • Turbo Frames를 핵심으로 사용하여 페이지의 특정 영역만 업데이트함으로써, 전체 페이지 리로드 없이 일관된 사용자 경험을 제공합니다.
  • Turbo Streams의 DOM 직접 조작을 최소화하고, 커스텀 `redirect` 액션 및 Stimulus 컨트롤러를 활용하여 리다이렉트 및 실시간 유효성 검사와 같은 복잡한 폼 상호작용을 구현합니다.
  • 블러(blur) 이벤트 시 Turbo Frame 내에서 폼 전체를 서버에서 재렌더링하는 방식을 통해 Ruby 코드만으로 점진적 노출 및 선택적 유효성 검사를 효율적으로 처리하여 유지보수성과 테스트 용이성을 극대화합니다.
Hotwire Weekly 2025년 06월 06일

Ruby on Rails에서 SQLite 활용: 성능 개선, 백업, 고급 활용 사례

SQLite on Rails: To Production and Beyond - Dan Milne

  • Rails 7.1/8부터 SQLite 성능이 크게 향상되어 프로덕션 환경에서 사용을 고려할 수 있으며, 특히 WAL 모드와 트랜잭션 처리 개선이 핵심입니다.
  • Lightstream, SQLite3 Arsync, LiteFS 등 다양한 도구를 통해 SQLite 데이터베이스의 안정적인 백업 및 라이브 복제가 가능합니다.
  • SQLite는 단일 호스트 환경에서 높은 성능을 제공하며, API 대신 내부 데이터 동기화, 분산 엣지 캐시 등 Rails 앱의 보조 시스템 및 성능 최적화에 활용될 수 있습니다.
Ruby Australia 2025년 06월 06일

Rails 8, 매주 개선되는 여정

Improving Rails 8 week after week

  • Rails 8의 PostgreSQL 가이드가 API 문서로 통합되어 문서의 일관성과 접근성이 향상되었습니다.
  • Active Record 가이드가 데이터베이스 독립성을 강화하는 방향으로 업데이트되어 범용성이 증대되었습니다.
  • 지난주 12명의 기여자가 Rails 코드베이스에 참여하며 활발한 커뮤니티 기반의 발전이 이루어지고 있습니다.
This Week in Rails 2025년 06월 06일

Ruby를 활용한 AI 패턴 탐색: LLM 통합의 실제 사례

Exploring Common AI Patterns with Ruby | Kevin Sylvestre

  • 이 글은 Ruby 언어와 OmniAI 젬을 활용하여 애플리케이션에 LLM을 통합하는 세 가지 일반적인 패턴을 소개합니다.
  • PDF 영수증 CSV 파싱, 제품 매뉴얼 색인 및 검색(RAG), 그리고 AI 웹 브라우징 에이전트 구축 사례를 통해 실제 적용 방법을 보여줍니다.
  • Ruby 개발자가 LLM의 시각, 임베딩, 도구 활용 능력을 효과적으로 사용할 수 있음을 강조합니다.
The Awesome Ruby 2025년 06월 06일

Shopify가 Ruby 커뮤니티에 미친 부정적 영향과 비판적 고찰

Code Master Blog: Shopify Has Been Bad for the Ruby Community in the Last 10 Years

  • Shopify는 Montreal.rb 밋업 참여 부족, RubyConf에서의 차별적 태도, 과거 채용 과정의 불합리성으로 인해 Ruby 커뮤니티와의 관계에서 신뢰를 잃었습니다.
  • Shopify는 Ruby 기반 데스크톱/프론트엔드 개발 대신 외부 기술을 채택하고, Ruby 성능 최적화에 자원을 집중하여 Ruby 생태계의 잠재적 발전을 저해했다는 비판을 받습니다.
  • 저자는 Shopify의 영향으로 Ruby 커뮤니티가 과거의 개방적이고 혁신적인 MINASWAN 정신을 잃고, 새로운 아이디어에 배타적으로 변질되었다고 주장합니다.
이원섭 2025년 06월 04일

Junie와 RubyMine: 당신의 성공적인 조합

Junie and RubyMine: Your Winning Combo | The RubyMine Blog

  • JetBrains의 강력한 AI 코딩 에이전트 Junie가 RubyMine에 통합되어 사용 가능합니다.
  • Junie는 JetBrains IDE의 강력한 기능과 LLM을 활용하여 높은 정확도로 코딩 작업을 해결하며, SWE-bench Verified에서 60.8%의 높은 성공률을 보입니다.
  • Junie는 전체 Ruby 애플리케이션 빌드, 테스트 자동화, 코드 개선 제안 등 다양한 기능을 통해 개발자의 생산성을 혁신적으로 향상시킵니다.
The Awesome Ruby 2025년 06월 03일

Rails MCP 서버: 향상된 문서 접근성 및 AI 워크플로우 통합

Rails MCP Server: Enhanced Documentation Access | Mario Alberto Chávez

  • Rails MCP 서버는 LLM 클라이언트에 최신 Rails 문서를 일관되게 제공하며, AI 기반 개발 워크플로우를 혁신합니다.
  • Rails, Turbo, Stimulus, Kamal 등 5가지 공식 프레임워크 문서와 사용자 정의 문서를 통합하여 AI 응답의 정확성과 신뢰성을 높입니다.
  • MCP 프록시 및 Neovim 연동을 통해 Ruby 버전 관리 문제 해결과 실시간 편집 컨텍스트 활용을 지원하여 개발 생산성을 극대화합니다.
Hotwire Weekly 2025년 06월 03일

임베디드 TypedData 객체 구현

Implementing Embedded TypedData Objects | Rails at Scale

  • Ruby의 TypedData 객체는 내부적으로 네이티브 데이터를 효율적으로 저장하며, Time, Enumerator와 같은 핵심 객체에 사용됩니다.
  • Ruby 3.3에서 도입된 임베디드 TypedData 객체는 객체 데이터를 객체 자체 바로 뒤에 할당하여 메모리 할당 횟수를 줄이고 메모리 접근을 최적화합니다.
  • 이 기능은 Time.now에서 80%, Object#to_enum에서 68% 등 주요 TypedData 객체의 할당 성능을 크게 향상시켜 전반적인 런타임 효율성을 증대시켰습니다.
The Awesome Ruby 2025년 06월 03일
  • Hanami, Dry, Rom 프로젝트가 지속 가능한 개발을 위해 유료 유지보수 및 후원 프로그램을 공식적으로 시작했습니다.
  • 연간 7만 달러의 모금을 목표로 하며, 이는 개발자 경험 개선, 문서화, 커뮤니티 활성화 등 프로젝트 전반에 걸쳐 활용될 예정입니다.
  • 이번 이니셔티브는 Ruby 생태계의 건강하고 다양하며 포괄적인 미래를 구축하는 데 중요한 역할을 할 것입니다.
The Awesome Ruby 2025년 06월 03일

Hotwire Native: Path Configuration 사용자 정의 속성으로 웹 뷰 제어하기

Custom Path Configuration Properties in Hotwire Native iOS

  • Hotwire Native의 Path Configuration 규칙을 확장하여 URL 패턴별로 뷰의 동작을 사용자 정의하는 방법을 설명하며, 특히 문서에 명시되지 않은 사용자 정의 속성 활용법에 초점을 맞춥니다.
  • `Hotwire.config.pathConfiguration.properties(for: url)` 메서드를 통해 특정 URL에 매칭되는 사용자 정의 속성에 접근하고, 이를 `HotwireWebViewController` 서브클래스에서 활용하여 웹 뷰의 UI/UX를 제어하는 과정을 제시합니다.
  • /login 페이지에서 내비게이션 바를 숨기는 구체적인 예시를 통해 Path Configuration JSON 설정, 커스텀 뷰 컨트롤러 구현, 그리고 Hotwire의 기본 뷰 컨트롤러 설정 방법을 단계별로 안내합니다.
Hotwire Weekly 2025년 06월 02일

임베디드 루비 혁명: Picoruby를 활용한 실습 워크숍

Hitoshi Hasumi, "Embedded Ruby Revolution: A Hands-On Workshop with PicoRuby"

  • Picoruby는 마이크로컨트롤러(RP2040)를 위한 초소형 Ruby 구현체로, MRuby VM 기반으로 베어메탈 환경에서 동작합니다.
  • 본 워크숍은 Picoruby를 활용하여 LED 제어, 온도 센싱, LCD 디스플레이 등 마이크로컨트롤러 하드웨어를 Ruby로 직접 다루는 실습을 제공합니다.
  • IRB를 통한 증분 개발과 Unix-like 셸 기능을 지원하여 임베디드 시스템 개발에 Ruby의 유연성을 더합니다.
EuRuKo 2025년 06월 02일
  • FastRuby.io는 격주 뉴스레터 제작 워크플로우 효율화를 위해 AI 어시스턴트를 개발하여 수작업 큐레이션의 비효율성을 해소했습니다.
  • 이 AI 어시스턴트는 Sinatra, pgvector, Langchain.rb를 핵심 기술 스택으로 활용하여 기사 요약 및 콘텐츠 큐레이션 과정을 자동화합니다.
  • GPT-40 모델과 유사성 검색 기반의 '생성 및 검토' 전략을 통해 브랜드 스타일에 맞는 요약을 생성하며, 마케팅 팀의 피드백을 반영한 재생성 기능도 제공합니다.
jeff 2025년 06월 02일

Ruby 개발자를 위한 체계적인 테스트 방법론 워크숍

Lucian Ghinda, "Testing: How to write fewer tests and cover more cases"

  • 본 워크숍은 Ruby 개발자를 위한 체계적인 테스트 방법론을 다룹니다.
  • 동등 분할, 경계값 분석, 의사결정 테이블, 상태 전이의 네 가지 핵심 테스트 기법을 소개합니다.
  • 위험 수준을 고려하여 효율적인 테스트 케이스를 설계하고 코드 품질을 향상시키는 방법을 제시합니다.
EuRuKo 2025년 06월 01일