지난 글들
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년 웹 접근성: 유럽 연합 규제 준수 및 구현 전략
Victor Motogna - Web Accessibility by 2025
- 유럽 연합은 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일
피보나치 펀하우스: 루비로 풀어보는 알고리즘 최적화
Kyle d'Oliveira - Fibonacci Funhouse
- 루비의 다양한 피보나치 수열 계산 알고리즘(재귀, 베넷 공식, 행렬 거듭제곱, 빠른 배가)과 성능 최적화 기법을 심층 분석합니다.
- BigDecimal, Rational, 꼬리 재귀 최적화, 비트 연산, Hash의 default_proc 등 루비의 강력한 내장 기능을 활용하여 계산 효율성을 극대화하는 방법을 제시합니다.
- 단순 재귀 방식의 비효율성부터 10억 번째 피보나치 수를 10초 만에 계산하는 '빠른 배가' 알고리즘까지, 루비의 계산 성능 한계를 확장하는 과정을 보여줍니다.
Friendly rb
2025년 07월 01일
Ruby on Rails: 대규모 애플리케이션 확장성 및 개발 효율성 심층 분석
Ruby at Scale
- Ruby on Rails는 GitHub, Zendesk, Shopify 등 실제 대규모 서비스에서 성공적으로 확장되고 있으며, 기술적 성능과 개발 생산성 모두에서 강점을 보입니다.
- 성능 최적화는 모니터링을 통한 병목 지점 식별(DB 접근, 캐싱)과 YJIT, RuboCop Performance Gem 활용 등 실용적인 접근 방식이 중요하며, Ruby VM은 지속적으로 개선되고 있습니다.
- 대규모 팀 환경에서는 Code Owners, Packwerk, Feature Flags, 자동화된 테스트, 리팩토링 문화가 효과적인 협업과 빠른 기능 배포를 가능하게 합니다.
Friendly rb
2025년 07월 01일
매스 최적화와 비전 설정을 통한 Ruby on Rails SaaS 제품 개발 및 성장 전략
Tom Rossi - SaaS Lessons Learned
- 불필요한 기능과 복잡성을 최소화하여 개발 및 운영의 민첩성을 극대화하는 '매스 최적화' 전략을 강조합니다.
- 미래 예측 대신 실험과 고객 피드백을 통해 제품을 점진적으로 발전시키며, 첫 릴리스의 불편함을 수용하는 자세가 중요하다고 역설합니다.
- 성공을 명확히 정의하고, 행복을 극대화하며, 마케팅 및 고객 지원과 같은 소프트웨어 외적 요소의 중요성을 인지하여 비즈니스 비전을 확립해야 합니다.
Friendly rb
2025년 07월 01일
Ruby를 활용한 수십억 데이터베이스 레코드 처리: 7일에서 20시간으로 단축
Celso Fernandez - Ruby in the Billions
- 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일