지난 글들

744개의 글이 있습니다

  • 오픈소스는 개인의 성장, 커뮤니티 기여, 채용 등 다양한 이점을 제공하지만, 유지보수의 어려움과 기여자의 번아웃 문제로 지속 가능성 위기에 직면해 있습니다.
  • 기업의 금전적 기여 및 개발 시간 할당, 그리고 유지보수자의 명확한 기대치 설정이 문제 해결의 핵심 방안으로 논의되었습니다.
  • 오픈소스 프로젝트의 수익화 모델은 다양하며, 각 프로젝트에 맞는 맞춤형 접근 방식과 유지보수자에 대한 공감대 형성이 중요합니다.
EuRuKo 2025년 01월 13일
  • 베테랑 개발자가 10년간 Ruby on Rails에서 겪었던 두 가지 복잡한 버그 해결 경험을 공유했습니다.
  • 첫 번째는 Active Record 카운터 캐시의 동기화 문제였고, 두 번째는 Ruby 3.2 버전 업그레이드 시 발생한 Marshall 직렬화 오류였습니다.
  • 재현 가능한 테스트 케이스 확보와 심층적인 분석을 통해 문제를 해결했으며, 디버깅의 과학적 접근과 오픈소스 기여의 중요성을 강조합니다.
EuRuKo 2025년 01월 13일

루비 YARV 개발 20년: 회고와 미래

Koichi Sasada, keynote, "20th year of YARV"

  • 루비 YARV(Yet Another Ruby Virtual Machine)는 20년간의 개발을 통해 루비 인터프리터의 성능을 혁신적으로 개선했습니다.
  • 스택 머신 모델, 자동 명령어 생성, 지연된 클로저 생성 등 다양한 최적화 기법을 도입하여 루비의 동적 특성에도 불구하고 효율성을 높였습니다.
  • 향후 메서드 인라이닝, 지연 로딩, 유연한 JIT 컴파일러 연구 등 추가적인 성능 개선과 개발자 생태계 확장을 목표로 합니다.
EuRuKo 2025년 01월 13일

RubyGems 보안 취약점의 역사와 대응 전략

Samuel Giddins, "A survey of recent RubyGems CVEs"

  • RubyGems, Bundler, RubyGems.org 등 Ruby 패키징 생태계에서 발생한 다양한 보안 취약점(CVE)의 역사와 유형을 설명합니다.
  • 디렉토리 탐색, YAML 역직렬화, 서비스 거부 공격 등 주요 취약점 사례와 이에 대한 Ruby Central의 체계적인 대응 과정을 다룹니다.
  • 보안 강화를 위한 HackerOne 프로그램, 외부 감사, Sigstore, 신뢰할 수 있는 발행(Trusted Publishing) 등 현재 진행 중인 노력과 커뮤니티의 기여를 강조합니다.
EuRuKo 2025년 01월 13일

기존 Ruby on Rails 프로젝트에 Content Security Policy (CSP) 적용하기

Igor S Morozov, "Benefits and challenges of introducing a strict Content Security Policy"

  • Content Security Policy(CSP)는 웹 페이지의 콘텐츠 소스를 제한하여 XSS 및 인젝션 공격을 방어하는 웹 보안 표준입니다.
  • 기존 프로젝트에 CSP를 도입할 때는 Rails의 기본 정책으로 시작하여 'report-only' 모드를 통해 문제점을 파악하고 점진적으로 강화하는 것이 효과적입니다.
  • CSP 강화는 도메인 기반 제약 또는 'strict-dynamic' 방식으로 나뉘며, 프로젝트 특성과 개발 노력을 고려하여 적절한 전략을 선택해야 합니다.
EuRuKo 2025년 01월 13일

단순화와 경량화: Ruby on Rails 웹 개발의 현재와 미래

Piotr Szotkowski, "Simplify, Then Add Lightness"

  • 본 발표는 웹 개발의 복잡성 증가에 대응하여 '단순화하고 가볍게 하라'는 철학을 Ruby on Rails에 적용하는 방안을 제시합니다.
  • SQLite의 재조명과 Hotwire 같은 최신 Ruby 툴링을 통해 풀 스택 개발의 효율성과 생산성을 강조하며, '원-퍼슨 프레임워크'의 가능성을 보여줍니다.
  • 지속적인 업그레이드와 배포의 중요성을 역설하며, Ruby가 여전히 강력하고 실용적인 웹 개발 선택지임을 강조합니다.
EuRuKo 2025년 01월 13일
  • 이 강연은 Ruby 프로그래머 Rafael Peña가 Ruby의 영향을 받아 탄생한 Crystal 언어를 소개합니다.
  • Crystal은 Ruby의 우아함과 C의 성능을 결합한 정적 타입 컴파일 언어로, Ruby 개발자에게 친숙한 문법을 제공합니다.
  • 타입 추론, 닐 타입 처리, 파이버 기반 동시성, 매크로 등 Crystal의 주요 특징과 Ruby와의 차이점을 탐구하며, 두 언어의 미래 협력 가능성을 제시합니다.
EuRuKo 2025년 01월 13일

Ruby 프로젝트 의존성 관리를 위한 효과적인 전략 및 도구

Marko Ćilimković, "Lessons From Escaping the Dependency Upgrade Maze"

  • Ruby 프로젝트의 의존성 관리는 보안 취약점 및 호환성 문제 예방에 필수적입니다.
  • Infinum은 의존성 업데이트 문화를 구축하고, 이를 위한 체계적인 프로세스와 도구를 개발했습니다.
  • Reviser, Polariscope, Gorama와 같은 도구를 활용하여 의존성 상태를 추적하고, Dependabot을 통한 자동화된 업데이트를 권장합니다.
jeff 2025년 01월 13일

프로덕션 버그를 빠르게 해결하는 방법: 관측 가능성(Observability)을 통한 접근

John Gallagher, "Squash Production Defects Quickly - The Power of Structured Logging in Rails"

  • 생산 환경에서 발생하는 디버깅의 어려움을 해결하기 위해 'SOS(Steps to Observable Software)' 5단계 프로세스를 제안합니다.
  • 구조화된 로깅과 OpenTelemetry 표준을 적용하여 애플리케이션 가시성을 확보하고 문제를 신속하게 진단합니다.
  • 이러한 관측 가능성 도입으로 가동 중단 시간 98% 감소, 500 에러 83% 감소, 버그 해결 시간 20배 단축이라는 성과를 달성했습니다.
EuRuKo 2025년 01월 13일

프로그래밍 언어가 나에게 미친 영향: 개발 여정 탐색

Dave Thomas, keynote, "Love, Limerence, and Programming Languages"

  • 다양한 프로그래밍 언어(BASIC, Simula, Ruby, Elixir, Unison 등)가 개발자의 사고방식과 프로그래밍 스타일에 지대한 영향을 미쳤음을 역설합니다.
  • 각 언어는 객체 지향, 선언형, 제약 기반 프로그래밍 등 새로운 패러다임과 통찰을 제공하며 개발자로서의 성장에 기여했습니다.
  • 과거 기술에서 배우고, 새로운 언어를 탐색하며, 프로그래밍 과정에서 즐거움을 찾는 것이 지속적인 성장을 위한 핵심임을 강조합니다.
EuRuKo 2025년 01월 13일

더 나은 Ruby를 향하여: EuroRuby 2024 클로징 키노트

Yukihiro Matsumoto, keynote, "Better Ruby"

  • Ruby는 프로그래머의 즐거움과 자유를 추구하며, 커뮤니티의 사랑과 열정으로 지속적인 발전을 이루고 있습니다.
  • YARV, YJIT, Ractors, WASM 등 성능 개선과 새로운 기능 도입을 통해 Ruby는 더욱 빠르고 강력해지고 있습니다.
  • 미래에는 Namespace, Annotation 등 혁신적인 기능과 더 많은 개발 도구를 제공하여 Ruby 개발 경험을 향상시킬 것입니다.
EuRuKo 2025년 01월 13일

대규모 Ruby on Rails 프로젝트: 10년간의 경험과 기술적 통찰

Igor Jancev, "Patterns and solutions distilled from 10 years development and maintenance of a ..."

  • Igor Yanev는 Technical University of Vienna에서 10년간 대규모 Ruby on Rails 프로젝트를 운영하며 얻은 경험을 공유합니다.
  • 배치 작업 처리, API 문서화, 개발자 CLI 도구, 그리고 Rails 버전 마이그레이션 전략 등 실제 적용 사례를 다룹니다.
  • 복잡성을 기반 클래스에 숨기고 간결한 인터페이스를 제공하며, Ruby의 내장 기능을 활용하는 개발 철학을 강조합니다.
EuRuKo 2025년 01월 13일

실시간 AnyCable Pro의 진화

Irina Nazarova, keynote, "Evolution of real-time and AnyCable Pro"

  • AnyCable은 Rails Action Cable의 Go 기반 오픈소스 대체재로, 뛰어난 메모리 효율성과 안정적인 실시간 성능을 제공합니다.
  • AnyCable Pro는 대규모 조직을 위한 고급 기능(전달 보장, 재개 가능한 세션 등)을 추가하여 복잡한 실시간 통신 요구사항을 충족합니다.
  • 고객 피드백과 시장 요구에 따라 발전하며 다양한 실시간 사용 사례를 지원하고, 궁극적으로 Rails로 구축된 매니지드 서비스로 확장되었습니다.
EuRuKo 2025년 01월 13일

분석 작업을 위한 데이터베이스 최적화 방안

Karen Jex, "Optimising your database for analytics"

  • 트랜잭션(OLTP) 및 분석(OLAP) 워크로드가 혼합된 하이브리드 데이터베이스 환경의 성능 문제를 다룹니다.
  • 데이터베이스 설정 최적화, 인덱싱 전략, 계산된 컬럼 및 구체화된 뷰 활용으로 분석 쿼리 성능을 향상시킬 수 있습니다.
  • 물리적 또는 논리적 복제를 통해 분석 워크로드를 별도의 대기 데이터베이스로 분리하여 주 데이터베이스의 부하를 경감하는 것이 핵심입니다.
EuRuKo 2025년 01월 13일
  • Async Ruby는 Ruby 3.0에 도입된 Fiber 기반의 경량 I/O 동시성 모델로, 특히 다수의 HTTP 요청과 같은 I/O 바운드 작업에 최적화되어 있습니다.
  • Async Ruby는 'colorless' 패러다임을 통해 기존 동기 코드와 동일한 방식으로 비동기 작업을 작성할 수 있게 하여 개발 편의성을 높입니다.
  • 수천, 수백만 개의 동시 작업을 효율적으로 처리하며, 스레드 대비 낮은 오버헤드와 높은 제어 가능성을 제공하여 웹 크롤러, 채팅 앱 등 I/O 집약적인 애플리케이션에 이상적입니다.
EuRuKo 2025년 01월 13일