IRB에서의 Ruby 코드 분석: Ripper에서 Prism으로의 전환
[JA] Analyzing Ruby Code in IRB / tomoya ishida @tompng
- IRB는 구문 강조, 자동 들여쓰기, 자동 완성 등 다양한 Ruby 코드 분석 기능을 제공합니다.
- 기존 `Ripper::Lexer` 기반의 분석은 불완전 코드 처리 및 유지보수 문제로 한계에 직면했습니다.
- `Prism`으로의 전환을 통해 구문 분석의 정확성을 높이고, 하이브리드 방식을 활용하여 코드 분석 기능을 개선하고 있습니다.
Unknown
2025년 05월 27일
루비 프로젝트를 원 바이너리로 만드는 도구 'Compo'의 업데이트 및 구현 내용
[JA] The Ruby One-Binary Tool, Enhanced with Kompo / ahogappa @ahogappa
- Compo는 루비 프로젝트를 단일 실행 파일로 묶어 배포하는 도구로, 환경 의존성 문제를 해결하고 배포 편의성을 높입니다.
- 이전 버전의 한계(Rails 지원 불가, `require` 오버라이딩 문제)를 극복하기 위해 가상 파일 시스템과 동적 함수 주소 획득 기법을 도입했습니다.
- 현재 Rails 프로젝트를 성공적으로 원 바이너리화하여 실행할 수 있으며, 향후 젬화 및 크로스 플랫폼 지원을 목표로 합니다.
Unknown
2025년 05월 27일
RBS와 Steep의 문서화 시스템 아키텍처 및 효율성 개선을 위한 인덱스 API 제안
[EN] API for docs / Soutaro Matsumoto @soutaro
- Steep은 RBS 기반으로 Ruby 코드의 문서화 기능을 제공하며, 편집기 내에서 실시간으로 문서 정보를 표시합니다.
- 현재 문서 변경 시 불필요한 타입 검사가 발생하는 문제를 해결하기 위해, 문서 시스템과 타입 검사기 간의 명확한 인덱스 API 도입이 제안됩니다.
- 이 API는 정규화된 메서드 타입을 식별자로 사용하여 효율성을 높이고, 향후 다른 도구들과의 통합 가능성을 제시합니다.
Unknown
2025년 05월 27일
루비 애플리케이션 성능 최적화를 위한 벤치마크 기반 개발(BDD) 전략 및 Zinetra 사례 연구
[EN] Profile and benchmark every single change / Daisuke Aritomo @osyoyu
- 벤치마크 기반 개발(BDD)은 코드 작성 전 벤치마크 설계를 통해 성능 목표를 설정하고 지속적으로 최적화하는 방법론입니다.
- 루비 프로파일러(PS2)와 맞춤형 벤치마킹 프레임워크는 미묘한 성능 저하 지점을 식별하고 개선하는 데 필수적인 도구입니다.
- 이러한 BDD 접근법을 적용하여 개발된 Zinetra는 Sinatra의 라우팅 및 핸들링 로직을 최대 100배 빠르게 만들었습니다.
Unknown
2025년 05월 27일
Picoruby를 ESP32에 포팅하는 방법
[JA] Porting PicoRuby to Another Microcontroller: ESP32 / Yuhei Okazaki @Y_uuu
- 본 발표는 Picoruby를 ESP32 마이컴에 포팅하는 상세한 절차와 그 과정에서 발생할 수 있는 주요 문제점 및 해결책을 다룹니다.
- 포팅 과정은 소스 코드 빌드, 라이브러리 링크, 표준 입출력 지원, 그리고 기타 MRB Gems 포팅의 네 가지 핵심 단계로 구성됩니다.
- Watchdog Timer 오류, require 미작동, 스택 오버플로우, CSI 명령어 문제 등 실제 발생 가능한 다양한 기술적 난관과 이를 극복한 실질적인 방법을 제시합니다.
Unknown
2025년 05월 27일
Monoruby: 더 빠르고 효율적인 Ruby 구현을 위한 최적화 전략
[EN] Improving my own Ruby / monochrome @s_isshiki1969
- Monoruby는 기존 CRuby 인터프리터 대비 3~10배 빠른 성능을 목표로 하는 Ruby의 또 다른 구현체입니다.
- JIT 컴파일러, 레지스터 상태 추적, 그리고 특수화(Specialization)와 같은 다양한 최적화 기법을 활용하여 성능을 향상시킵니다.
- 특히 `yield`와 같은 블록 호출의 비효율성을 개선하고 반복 작업에서 뛰어난 성능을 보여주며, 이는 동적인 Ruby 언어의 최적화 가능성을 제시합니다.
Unknown
2025년 05월 27일
Ruby LSP: 정적 분석을 통한 Ruby DSL 이해 및 확장
[EN] Embracing Ruby magic: Statically analyzing DSLs / Vinicius Stock @vinistock
- Ruby LSP는 새로운 API를 통해 Ruby DSL의 정적 분석을 효율적으로 지원합니다.
- 선언형 DSL과 호출 사이트 DSL을 구분하여 처리하며, 성능과 정확성 사이의 균형을 추구합니다.
- 커뮤니티 애드온을 통해 확장성을 제공하고, LLM과 같은 AI 도구와의 통합 가능성을 열었습니다.
Unknown
2025년 05월 27일
Roadite: 순수 Ruby로 구현된 WebAssembly 런타임
[EN] Running ruby.wasm on Pure Ruby Wasm Runtime / Uchio KONDO @udzura
- Roadite는 순수 Ruby로 작성된 WebAssembly 런타임으로, Ruby 환경에서 WebAssembly 바이너리를 실행할 수 있게 합니다.
- 높은 이식성과 Ruby 표준 라이브러리에만 의존하는 순수성을 특징으로 하며, WASI를 지원하여 복잡한 애플리케이션 실행을 가능하게 합니다.
- 성능 최적화를 통해 실행 시간을 크게 단축했으며, 향후 WebAssembly Component Model 지원을 목표로 합니다.
Unknown
2025년 05월 27일
Sigstore Ruby: 소프트웨어 출처 검증을 위한 순수 Ruby 구현의 도전과 교훈
[EN] The Challenges of Building sigstore-ruby / Samuel Giddins @segiddins
- Sigstore Ruby는 소프트웨어 아티팩트의 출처를 암호학적으로 검증하는 순수 Ruby 구현체입니다.
- 이 프로젝트는 OpenSSL gem의 한계와 여러 암호화 원시 요소의 부재로 인해 예상보다 훨씬 복잡하고 오랜 시간이 소요되었습니다.
- 개발자는 Sigstore 클라이언트 구축의 어려움을 극복하고 커뮤니티의 발전에 기여한 경험을 공유하며, 미래의 구현을 위한 개선점을 제시합니다.
Unknown
2025년 05월 27일
RBS Trace: 테스트 기반 타입 선언 자동 생성 젬
[JA] Automatically generating types by running tests / Takumi Shotoku @sinsoku_listy
- RBS Trace는 Ruby 테스트 실행 결과를 바탕으로 RBS 타입 선언을 자동으로 생성하는 젬입니다.
- TracePoint, Binding, Prism 등의 Ruby 내부 도구를 활용하여 메서드 호출, 인자, 반환 값 정보를 수집하고 보이드 타입을 판별합니다.
- ActiveRecord Relation 이름 문제, 보이드 타입 처리, 병렬 테스트 지원 등 다양한 기술적 난관을 해결하며 실제 Rails 애플리케이션(Redmine, Mastodon 등)에서 동작함을 확인했습니다.
Unknown
2025년 05월 27일
루비 컨퍼런스 라이트닝 토크: 루비의 다양한 활용 사례와 혁신
[EN][JA] Lightning Talks
- 본 영상은 루비 컨퍼런스에서 진행된 다양한 주제의 라이트닝 토크들을 담고 있습니다.
- 참가자들은 Picoruby를 활용한 임베디드 시스템 제어, 루비를 이용한 8비트 음악 생성, 언어 처리 프론트엔드 구축, 파서 시각화 등 루비의 광범위한 적용 사례를 공유했습니다.
- 이는 루비 커뮤니티의 활발한 혁신과 루비 언어의 유연성 및 다양한 분야에서의 가능성을 잘 보여줍니다.
Unknown
2025년 05월 27일
JRuby 10: 성능 최적화와 루비 생태계 확장 기회
[EN] Optimizing JRuby 10 / Charles Nutter @headius
- JRuby 10은 루비 3.4 호환성을 달성하며 C 루비와의 격차를 최소화하고, JVM의 최신 기능을 적극 활용하여 성능을 대폭 향상시켰습니다.
- 시작 시간 단축, 객체 할당 효율성 증대, 그리고 진정한 병렬 처리 능력을 통해 JRuby는 다양한 벤치마크에서 C 루비 대비 우월한 성능을 입증합니다.
- JRuby는 루비 애플리케이션이 자바 생태계의 이점을 활용하고, 더 넓은 영역으로 확장될 수 있는 핵심적인 기회를 제공합니다.
Unknown
2025년 05월 27일
Ruby를 활용한 종단 간 암호화(End-to-End Encryption)와 MLS (Messaging Layer Security) 구현
[EN] You Can Save Lives With End-to-end Encryption in Ruby / Ryo Kajiwara @s01
- 본 강연은 억압과 전쟁 상황에서 생명을 구할 수 있는 종단 간 암호화(E2E)의 중요성을 강조합니다.
- Ruby를 이용하여 상호 운용 가능한 메시징 레이어 보안(MLS) 프로토콜을 구현하는 복잡한 기술적 과정과 특징을 상세히 다룹니다.
- Ruby 생태계에 현대 암호화 기술을 통합하고 통일된 API를 구축하여 Ruby의 지속적인 관련성과 인터넷의 자유로운 발전을 도모할 필요성을 역설합니다.
Unknown
2025년 05월 27일
Ruby 호출 분류학: 인자 전달의 심층 분석
[EN] A taxonomy of Ruby calls / Alan Wu @alanwusx
- 본 발표는 Ruby 메서드 호출 시 인자 전달 방식의 복잡성과 그에 따른 분류 체계를 다룹니다.
- 인자 처리 과정에서 발생하는 최적화 기회, 숨겨진 데이터 전달, 그리고 객체 할당의 미묘한 차이를 분석합니다.
- 이를 통해 Ruby 언어의 내부 동작 방식과 의미론적 깊이를 이해하고, 잠재적 버그 및 성능 개선 포인트를 제시합니다.
Unknown
2025년 05월 27일
HTMLware ERB 툴링: Herp, Ruby on Rails 개발자 도구의 새로운 지평
[EN] Empowering Developers with HTML-Aware ERB Tooling / Marco Roth @marcoroth
- Herp는 Ruby on Rails의 HTML 및 ERB 템플릿 파일 작업을 위한 새로운 파서, 포매터, 린터 도구입니다.
- 기존 LSP의 ERB 지원 부족 문제를 해결하여, HTML과 ERB 코드를 통합적으로 분석하고 정확한 문맥 정보를 제공합니다.
- 향후 스마트한 ERB 렌더링 엔진과 다양한 템플릿 언어 통합을 통해 Ruby 개발 경험을 혁신할 잠재력을 지닙니다.
Unknown
2025년 05월 27일