지난 글들
1166개의 글이 있습니다
Shopify에서의 Ruby 오픈소스 안식년 경험 공유
A Ruby open-source sabbatical
- Shopify의 Ruby 개발자가 Ruby LSP 인덱서 최적화를 위한 오픈소스 안식년을 보내며 기술적 성장을 도모하고 있습니다.
- 안식년 동안 Ruby LSP의 성능, 캐싱, 메모리 사용량 개선에 집중하며, 인터프리터 및 Rust 프로그래밍 관련 심층 학습을 병행합니다.
- 이 경험은 오픈소스 기여와 개인의 기술 역량 강화를 목표로 하며, Ruby 커뮤니티에 긍정적인 영향을 미칠 것으로 기대됩니다.
Rails at Scale
2025년 07월 01일
Ruby on Rails에서 Mongoid를 사용하여 MongoDB 활용하기: 실용적인 예제
🚀 Using MongoDB in Ruby on Rails with Mongoid: A Practical Example
- Rails 애플리케이션에서 유연한 스키마와 문서 지향적 데이터 관리가 필요할 때 MongoDB와 Mongoid를 효과적으로 통합할 수 있습니다.
- Mongoid는 MongoDB를 Rails에 쉽게 설정하고, 마이그레이션 없이 필드를 추가하며, NoSQL 데이터베이스의 이점을 활용하게 합니다.
- 이 가이드는 디지털 도서관 예제를 통해 MongoDB와 Mongoid를 이용한 모델 생성, 데이터 쿼리, API 구축 방법을 실용적으로 보여줍니다.
Ruby Stack News
2025년 07월 01일
Rails Engine에서 프레임워크 독립적인 솔루션으로: Ruby 생태계 확장 전략
OasRails: From a Rails Engine to a Framework-Agnostic Solution
- Ruby의 장기적인 발전을 위해 Ruby on Rails에 국한되지 않는 생태계 다각화가 필수적입니다.
- 저자는 기존 Rails Engine 기반의 OasRails 젬을 OasCore로 분리하여 프레임워크 독립적인 솔루션으로 전환했습니다.
- 이는 OasRage, OasHanami와 같은 어댑터를 통해 다양한 Ruby 프레임워크에서 활용 가능한 범용적인 개발 방식을 제시합니다.
The Awesome Ruby
2025년 07월 01일
Decant 소개: Ruby 기반 정적 콘텐츠 관리 라이브러리
Introducing Decant
- Decant는 Ruby 기반의 의존성 없는 프런트매터 인식 프레임워크 독립적 라이브러리로, 정적 콘텐츠 디렉토리를 효율적으로 관리합니다.
- Parklife 및 선호하는 Ruby 웹 프레임워크와 결합하여 콘텐츠 중심의 정적 웹사이트를 쉽게 구축할 수 있도록 돕습니다.
- 콘텐츠 클래스 정의, 프런트매터 및 사용자 정의 메서드 접근, 파일 중첩 및 컬렉션 관리 기능을 제공하며, 마크다운 처리는 사용자가 선택한 라이브러리에 위임합니다.
The Awesome Ruby
2025년 06월 30일
Ruby의 숨겨진 능력 탐구: 순수 Ruby로 전체 시스템 정보 얻기
🔍 Exploring Ruby’s Hidden Powers: Getting Full System Info with Pure Ruby
- Ruby는 외부 도구나 시스템 명령어 없이도 코드 실행 환경에 대한 모든 시스템 정보를 기본 제공 기능으로 접근할 수 있게 합니다.
- ENV, File, Pathname, RbConfig, Etc, Socket 등 내장된 도구들을 활용하여 환경 변수, 파일 경로, 사용자 데이터, 런타임 구성 등을 상세히 조사할 수 있습니다.
- 이러한 Ruby의 강력한 자체 검사(Introspection) 기능은 크로스 플랫폼 CLI 도구나 디버그 리포트 생성 등 다양한 개발 작업에 매우 유용합니다.
Ruby Stack News
2025년 06월 30일
Rails의 delegated_type 명확하게 만들기
Making Rails delegated_type’s clearer - Kasper Timm Hansen
- Rails의 `delegated_type`은 다중 테이블 상속을 위임(delegation) 방식으로 구현하지만, 현재 구조와 명칭은 도메인 모델링 및 코드 가독성 측면에서 개선이 필요합니다.
- 작성자는 내부 타입의 독립성 부족, `-able` 접미사 사용, `ActiveSupport::Concern` 활용 방식 등 여러 문제점을 지적하며, 이는 개발자가 기능을 오해할 수 있게 만든다고 설명합니다.
- 이에 대한 해결책으로 명확한 네이밍 컨벤션, 추상 부모 클래스 도입, 네임스페이스 활용, 그리고 `composed_with_delegate`와 같은 새로운 명칭 제안을 통해 `delegated_type`의 사용성과 일관성을 높이는 방안을 제시합니다.
The Awesome Ruby
2025년 06월 29일
Hotwire Native 라이브 #4: 라우트 결정 핸들러 심층 분석
Route Decision Handlers - Hotwire Native LIVE #3
- Hotwire Native iOS 1.2에 도입된 라우트 결정 핸들러(Route Decision Handlers)의 개념과 활용법을 심층적으로 다룹니다.
- 앱 네비게이션, Safari 뷰 컨트롤러, 시스템 네비게이션 등 내장 핸들러와 커스텀 핸들러 구현 방법을 설명합니다.
- 외부 URL 처리 및 특정 URL 스킴(mail-to)에 대한 사용자 경험 개선 방안을 실제 코드 예시와 함께 시연합니다.
Hotwire Weekly
2025년 06월 27일
Ruby Events 플랫폼: Ruby 커뮤니티를 위한 통합 이벤트 허브
Marco Roth - RubyEvents.org: The platform for all things Ruby events
- Ruby Events는 Ruby 관련 컨퍼런스와 밋업 정보를 한데 모아 제공하는 통합 플랫폼입니다.
- 이 플랫폼은 Ruby 커뮤니티의 이벤트 참여를 장려하고, 관련 정보를 쉽게 찾을 수 있도록 돕습니다.
- 오픈 소스로 개발되었으며, 모던 Rails 및 Hotwire 기술을 활용한 레퍼런스 애플리케이션을 지향합니다.
Helvetic Ruby
2025년 06월 27일
그래프로 데이터를 오도하는 5가지 방법
Josua Schmid - Bullshit Graphs
- 이 발표는 그래프를 통해 데이터를 오도할 수 있는 다섯 가지 일반적인 방법에 대해 설명합니다.
- 사과와 오렌지를 비교하거나, 상관관계를 인과관계로 오해하고, 축을 조작하며, 시각적 비율을 왜곡하는 등의 사례를 다룹니다.
- 데이터 시각화의 함정을 이해하고 비판적으로 해석하는 것의 중요성을 강조합니다.
Helvetic Ruby
2025년 06월 27일
Rubocop을 활용한 커스텀 Cop 개발 및 런타임 정보 분석
Andreas Maierhofer - Custom RuboCop Rule
- Rubocop은 Ruby 코드 품질 향상 및 일관된 스타일 유지를 위한 강력한 도구로, 사용자 정의 Cop을 통해 기능을 확장할 수 있습니다.
- AST 기반의 기본적인 코드 분석을 넘어, 애플리케이션의 런타임 정보를 활용하여 코드베이스 내 템플릿 메서드와 같은 동적 패턴을 식별하는 고급 기법을 소개합니다.
- 이를 통해 개발자는 코드 스타일 자동 수정, 잠재적 문제점 발견, 그리고 복잡한 코드 구조 이해를 통한 생산성 향상을 기대할 수 있습니다.
Helvetic Ruby
2025년 06월 27일
루비 우선 기업 문화 구축 및 커뮤니티 성장을 위한 비결
Magdalena Havlickova - Shaping a Great Engineering Culture & Crowing the Ruby Community
- Baste는 Ruby on Rails를 핵심 스택으로 사용하면서도, 루비 경험이 없는 엔지니어들을 채용하여 루비 우선 기업 문화를 성공적으로 구축했습니다.
- 핵심은 기술 스택보다 문제 해결 능력, 열정, 학습 의지를 중시하고, 급여를 포함한 급진적인 투명성을 통해 직원 성장을 지원하는 것입니다.
- 이러한 접근 방식은 개인의 성장을 도모하고 루비 커뮤니티를 의도적으로 확장하며, 강력한 기업 문화를 육성하는 데 기여합니다.
Helvetic Ruby
2025년 06월 27일
코드의 예술: 예술 원리를 통해 더 나은 코드를 작성하는 방법
Yara Debian - The art of code: Finding Aesthetics in logic. 🎨
- 코딩은 단순히 기술적인 작업을 넘어 예술과 유사한 창의적 행위입니다.
- 예술의 구조, 반복, 원칙, 맥락, 유연성 등 다양한 요소를 코딩에 적용하여 더 나은 코드를 만들 수 있습니다.
- 최소주의, 세부 사항에 대한 주의, 유연성, 그리고 사용자 경험을 고려한 코딩을 통해 긍정적인 영향을 창출해야 합니다.
Helvetic Ruby
2025년 06월 27일
Ruby와 DDD(Domain-Driven Design)를 활용한 천문학 소프트웨어 개발
Rémy Hannequin - Modelling the Cosmos in Ruby: Applying OOP and DDD to Astronomical Concepts
- 본 발표는 복잡한 도메인 모델링과 코드 디자인 기법, 특히 DDD(Domain-Driven Design)를 Ruby 프로그래밍 언어에 적용하는 방법을 다룹니다.
- 발표자는 자신이 개발한 Ruby Gem 'Astronoby'를 사례로 들어, DDD의 핵심 개념인 유비쿼터스 언어, 리포지토리, 도메인 서비스, 값 객체, 엔티티를 설명합니다.
- Ruby의 객체 지향적 특성과 표현력이 DDD에 적합하며, 이를 통해 과학 컴퓨팅 분야에서 Ruby의 활용 가능성을 높일 수 있음을 강조합니다.
Helvetic Ruby
2025년 06월 27일
Rails 애플리케이션 확장을 위한 모범 사례
Kinsey Durham - Grace Beyond Caching: Best Practices for Scaling your Rails Application
- Rails 애플리케이션 확장은 캐싱을 넘어 데이터 분리, 외부 의존성 관리, 효율적인 데이터베이스 및 작업 유지보수를 포함합니다.
- Active Record 모델에서 비즈니스 로직을 분리하고, 서비스 객체와 상태 비저장 코드를 활용하여 수평적 확장을 가능하게 합니다.
- Sorbet, AASM과 같은 유용한 Ruby 젬을 활용하고, 철저한 모니터링, 사고 대응 계획, 그리고 팀 협력을 통해 안정적이고 확장 가능한 시스템을 구축할 수 있습니다.
jeff
2025년 06월 27일
피드백: 양이 곧 질이 되는 과정
Kyle d'Oliveira - More feedback! Quantity becomes quality
- 소프트웨어 개발에서 양질의 성장을 위해서는 완벽함보다는 지속적인 피드백과 반복적인 학습이 중요합니다.
- 의도적인 연습(Deliberate Practice)은 목표 설정, 경험 축적, 피드백 반영, 그리고 반복의 학습 사이클을 통해 특정 기술 향상에 집중하는 방식입니다.
- 코드 리뷰 및 디버깅과 같은 실제 개발 활동에서 피드백의 양을 극대화하고 이를 신속하게 반영하는 것이 실력 향상의 핵심입니다.
Helvetic Ruby
2025년 06월 27일