지난 글들

1166개의 글이 있습니다

Rails 애플리케이션을 위한 SQLite: 성능 최적화 및 프로덕션 활용 전략

Stephen Margheim - SQLite on Rails: Everything you need to know

  • Ruby on Rails 환경에서 SQLite의 성능 병목 현상을 해결하고, 프로덕션 환경에서의 활용 가능성을 극대화하는 방안을 제시합니다.
  • `active_record_enhanced_sqlite3_adapter` gem을 통해 SQLite의 고유한 동시성 문제를 해결하고, Rails 8에서 기본 제공될 주요 개선 사항들을 소개합니다.
  • Solid Gems (Solid Queue, Cache, Cable, Errors) 및 Lightstream을 활용하여 Rails 핵심 컴포넌트를 SQLite 기반으로 운영하고 데이터 백업 솔루션을 구축하는 방법을 설명합니다.
Friendly rb 2025년 07월 01일

과도한 생각 멈추고 사이드 프로젝트로 개발자 역량 강화하기

Olly Headey - Stop overthinking and go create things

  • 프로그래머의 과도한 생각은 창의성과 생산성을 저해하며, 제한된 시간은 오히려 효과적인 문제 해결을 위한 제약 조건으로 활용될 수 있습니다.
  • 사이드 프로젝트는 새로운 기술 학습, 숙련된 장인정신 발휘, 개발 능력 향상, 그리고 취업 경쟁력 강화에 기여하는 강력한 도구입니다.
  • Ruby on Rails와 GitHub Copilot 같은 AI 도구의 강력한 조합을 활용하여 아이디어를 빠르게 구현하고, 단순함을 유지하며, 프로젝트를 완수하는 것이 중요합니다.
Friendly rb 2025년 07월 01일
  • 유럽 연합은 2025년 6월 28일부터 웹 및 모바일 앱에 대한 접근성 표준 준수를 의무화하며, 미준수 시 기업에 벌금이 부과될 예정입니다.
  • 웹 접근성 구현을 위해 키보드 내비게이션, 스크린 리더 지원(ARIA 역할, alt 텍스트), 명확한 색상 대비와 같은 핵심 요소를 우선적으로 고려해야 합니다.
  • Ruby Gem(예: `accessibility`, `accessibility_rails`, RuboCop fork)과 Lighthouse, Wave 같은 도구를 활용하여 웹사이트의 접근성을 테스트하고 개선할 수 있습니다.
Friendly rb 2025년 07월 01일

Stripe의 대규모 Ruby 시스템 운영: 개발자의 하루와 확장 전략

James Carr - A day in the life of 2,000 developers

  • Stripe는 150만 개 이상의 Ruby 테스트와 2,500만 라인 이상의 코드를 가진 대규모 모노레포 환경에서 Sorbet 타입 체커, 스마트 테스트 선택, 자동화된 배포 시스템을 통해 개발 생산성과 안정성을 극대화합니다.
  • 테스트 시간을 99.5% 단축하는 변경 영향도 기반 테스트 선택 시스템과 통합 브랜치 전략으로 CI/CD 효율성을 높이고, Ruby 3.3 및 YJIT 도입으로 25%의 CPU 성능 향상을 달성했습니다.
  • 개발자의 '슬픔'을 제거하는 것을 목표로 정적 분석, QA 환경, 블루/그린 배포 및 트래픽 전환 등 다층적인 방어 체계를 구축하여 프로덕션 배포의 안정성과 속도를 확보합니다.
Friendly rb 2025년 07월 01일

Dragon Ruby를 활용한 Ruby 게임 개발: 웹을 넘어 게임의 세계로

Julian Cheal - Make a Massively Multiplayer Ruby Game with Dragon Ruby

  • Dragon Ruby는 Ruby 개발자들이 익숙한 Ruby 언어로 2D 게임을 개발할 수 있도록 지원하는 전문 게임 엔진입니다.
  • 이 엔진은 Windows, Mac, Linux, 웹, 주요 게임 콘솔 및 모바일 등 광범위한 플랫폼에 배포 가능하며, 실시간 코드 변경 반영(Live Reloading) 기능을 제공하여 신속한 개발을 가능하게 합니다.
  • 강연자는 간단한 캐릭터 움직임부터 맵 통합, 충돌 감지, 애니메이션, 그리고 다중 사용자 게임 시도까지 Dragon Ruby를 활용한 다양한 게임 개발 과정을 시연하며 그 잠재력을 보여주었습니다.
Friendly rb 2025년 07월 01일

8초의 악몽: 쿼리 최적화를 통한 99.9% 지연 시간 감소 사례

Nabeelah Yousuph - The 8-Second Nightmare: How One Change Reduced Latency by 99.9%

  • 프로덕션 시스템에서 8초 이상 소요되던 지연 쿼리를 `EXPLAIN` 및 `EXPLAIN ANALYZE`를 활용하여 심층 분석했습니다.
  • 복합 인덱스 규칙 미준수와 불필요하게 많은 레코드 스캔이 성능 저하의 주원인임을 식별했습니다.
  • employee_id를 기준으로 attendant_shift 테이블을 먼저 필터링하는 한 줄의 코드 변경으로 쿼리 지연 시간을 99.9% 단축했습니다.
Friendly rb 2025년 07월 01일

Rails 프론트엔드: 십계명과 일곱 가지 대죄

Yaroslav Shmarov - Rails frontend: 10 commandments and 7 deadly sins in 2025

  • Rails 7/8 환경에서 프론트엔드 개발의 모범 사례와 피해야 할 함정들을 '십계명과 일곱 가지 대죄'에 비유하여 설명하며, 효율적인 개발 전략을 제시합니다.
  • 반응형 레이아웃 디자인, View Components 및 Stimulus를 활용한 UI 요소 구현, Hotwire(Turbo Drive, Frames, Streams)의 올바른 사용법 등 실용적인 가이드를 제공합니다.
  • 모든 권장 사항을 맹목적으로 따르기보다 프로젝트의 특성에 맞춰 최적의 솔루션을 선택하고, 불필요한 복잡성(예: 다크 모드 이중 구현)을 피할 것을 강조합니다.
Friendly rb 2025년 07월 01일
  • 루비의 다양한 피보나치 수열 계산 알고리즘(재귀, 베넷 공식, 행렬 거듭제곱, 빠른 배가)과 성능 최적화 기법을 심층 분석합니다.
  • BigDecimal, Rational, 꼬리 재귀 최적화, 비트 연산, Hash의 default_proc 등 루비의 강력한 내장 기능을 활용하여 계산 효율성을 극대화하는 방법을 제시합니다.
  • 단순 재귀 방식의 비효율성부터 10억 번째 피보나치 수를 10초 만에 계산하는 '빠른 배가' 알고리즘까지, 루비의 계산 성능 한계를 확장하는 과정을 보여줍니다.
Friendly rb 2025년 07월 01일
  • Ruby on Rails는 GitHub, Zendesk, Shopify 등 실제 대규모 서비스에서 성공적으로 확장되고 있으며, 기술적 성능과 개발 생산성 모두에서 강점을 보입니다.
  • 성능 최적화는 모니터링을 통한 병목 지점 식별(DB 접근, 캐싱)과 YJIT, RuboCop Performance Gem 활용 등 실용적인 접근 방식이 중요하며, Ruby VM은 지속적으로 개선되고 있습니다.
  • 대규모 팀 환경에서는 Code Owners, Packwerk, Feature Flags, 자동화된 테스트, 리팩토링 문화가 효과적인 협업과 빠른 기능 배포를 가능하게 합니다.
Friendly rb 2025년 07월 01일
  • 불필요한 기능과 복잡성을 최소화하여 개발 및 운영의 민첩성을 극대화하는 '매스 최적화' 전략을 강조합니다.
  • 미래 예측 대신 실험과 고객 피드백을 통해 제품을 점진적으로 발전시키며, 첫 릴리스의 불편함을 수용하는 자세가 중요하다고 역설합니다.
  • 성공을 명확히 정의하고, 행복을 극대화하며, 마케팅 및 고객 지원과 같은 소프트웨어 외적 요소의 중요성을 인지하여 비즈니스 비전을 확립해야 합니다.
Friendly rb 2025년 07월 01일
  • Ruby 언어와 그 강력한 생태계를 활용하여 수십억 건의 데이터베이스 레코드 동기화 시간을 7일에서 20시간으로 획기적으로 단축했습니다.
  • Kafka를 핵심 아키텍처로 도입하고 Ruby의 Racecar 및 Delivery Boy Gem을 사용하여 대규모 데이터 처리 및 Elasticsearch 동기화 문제를 성공적으로 해결했습니다.
  • 분산 시스템 환경에서 Ruby의 뛰어난 테스트 용이성, Active Record의 데이터 평탄화 기능, 그리고 강력한 계측(instrumentation) 지원이 프로젝트 성공에 결정적인 역할을 했습니다.
Friendly rb 2025년 07월 01일

불확실성을 포용하기: 복잡성과 레거시 코드 속에서 번성하는 방법

Benjamin Wood - Embracing Uncertainty: Thriving in Complexity and Legacy Code

  • 불확실성은 피할 수 없는 현실이며, 이를 관리하고 포용하는 능력은 개발자의 회복탄력성과 성장을 촉진합니다.
  • 불확실성은 의사결정 피로, 작업 기억 손상, 과잉 경계 등 인지 기능에 부정적인 영향을 미치지만, 마음가짐을 바꾸면 이를 극복할 수 있습니다.
  • 근사적인 정신 모델 구축, 가설 설정 및 테스트, 복잡성 구획화 등 실용적인 전략을 통해 불확실한 상황에 효과적으로 대처할 수 있습니다.
Friendly rb 2025년 07월 01일

Rails 개발자를 위한 OWASP Top 10

Greg Molnar - OWASP Top 10 for Rails developers

  • 모든 기능은 구현 전 기획 단계부터 보안 관점에서 고려해야 하며, OWASP Top 10 취약점에 대한 이해와 대비가 필수적입니다.
  • Rails는 서버 측 요청 위조(SSRF), 인증 및 식별 실패, 인젝션 등 주요 웹 보안 취약점을 완화하기 위한 다양한 내장 기능과 헬퍼를 제공합니다.
  • 강력한 인증 정책, 최신 컴포넌트 유지, 적절한 로깅 및 모니터링, 그리고 견고한 접근 제어 구현을 통해 안전한 애플리케이션을 구축해야 합니다.
Friendly rb 2025년 07월 01일

RailsConf 연사 Ratnadep Deshman 인터뷰: Ruby, AI, 그리고 Rails의 디자인 결정

Ruby Talks: Ratnadeep Deshmane on Design Decisions in Rails, Vibe Coding, & RailsConf 2025

  • Ratnadep Deshman은 Ruby on Rails 개발자이자 Betacraft 창립자로, 마지막 RailsConf에서 Rails의 디자인 결정에 대한 강연을 진행하며 커뮤니티와의 교류를 강조합니다.
  • 그는 Ruby의 가독성과 표현력을 높이 평가하며, 비영어권 학습자를 위해 마라티어, 힌디어 등 지역 언어로 Ruby 코드를 작성할 수 있는 학습 도구인 'Ruby Warak' 프로젝트를 개발했습니다.
  • GenAI를 활용한 Rails 개발에서 Rails의 강력한 컨벤션 덕분에 다른 언어보다 높은 생산성 향상을 경험했으며, L1/L2/L3 프로그래머 모델을 통해 효율적인 AI 활용 전략을 모색 중입니다.
Ruby Central 2025년 07월 01일

Rails 8을 활용한 애자일 웹 개발

Agile Web Development with Rails 8 by Sam Ruby

  • Rails 8은 프로덕션 환경에 최적화된 애플리케이션 개발에 중점을 두며, Kamal 2, Thruster 등 새로운 기능으로 복잡성을 줄이고 생산성을 극대화합니다.
  • 이 책은 Rails 8의 최신 기능과 모범 사례를 다루며, 단계별 튜토리얼을 통해 실제 웹 애플리케이션 구축 과정을 안내합니다.
  • Ruby on Rails를 사용하여 고품질 웹 애플리케이션을 빠르게 개발하고, 테스트, 국제화, 배포까지 전반적인 과정을 다루는 포괄적인 가이드입니다.
Ruby on Rails 소식지 2025년 07월 01일