지난 글들

1166개의 글이 있습니다

Ruby 메타 프로그래밍: Rails 코드의 마법을 해독하다

[28S06] A Metaprogramming Spell Book / Paolo "Nusco" Perrotta

  • Ruby 메타 프로그래밍은 Rails의 복잡한 내부 코드를 이해하는 핵심적인 열쇠입니다.
  • Ruby 객체 모델(객체, 클래스, 모듈, 특이 클래스)에 대한 깊은 이해는 강력한 메타 프로그래밍 기법의 기반이 됩니다.
  • Rails의 독특하고 방대한 클래스 설계는 Ruby 언어의 유연한 모듈 시스템과 메타 프로그래밍을 적극 활용한 결과입니다.
RubyKaigi 2025년 10월 05일
  • Ruby 스크립트를 C 언어로 미리 컴파일하는 AOT 컴파일러를 개발 중이며, Ruby 1.9 런타임과 협력하여 동작합니다.
  • 개발된 컴파일러는 Ruby 1.9 테스트의 대부분을 통과하여 높은 호환성과 이식성을 보였으나, 매크로 벤치마크에서는 성능 저하가 발생했습니다.
  • 주요 과제는 과도하게 커지는 생성 코드 크기를 줄여 캐시 미스 문제를 해결하고 컴파일 시간을 단축하는 것입니다.
RubyKaigi 2025년 10월 05일

Small Iggon Collider를 이용한 Ruby의 블랙홀 찾기

[18S03] Finding Black Holes in Ruby with the Small Eigen Collider (en)

  • Ruby 구현체 간의 미묘한 버그를 탐지하기 위해 무작위 Ruby 코드를 생성하고 실행 결과를 비교하는 Small Iggon Collider 도구를 소개합니다.
  • 발표자는 HIV 유전자 변이 분석을 위해 Ruby를 사용하며, C Ruby 1.9에서 JRuby나 Rubinius와 같은 더 빠른 구현체로 전환 시 발생할 수 있는 데이터 불일치 문제를 우려합니다.
  • Small Iggon Collider는 `send` 메타 프로그래밍을 활용하여 임의의 객체, 메서드, 파라미터를 조합하여 태스크를 생성하고, 이를 직렬화하여 여러 Ruby 구현체에서 동일하게 실행한 후 결과를 비교합니다.
RubyKaigi 2025년 10월 05일
  • 발표자의 개인적인 루비 커뮤니티 입문 경험과 기여 과정을 공유하며, 루비 커뮤니티 활동의 중요성을 강조합니다.
  • 청소년층의 루비 커뮤니티 참여 저조 원인을 분석하고, 이를 해결하기 위한 교육 이벤트 확대 및 참여 독려 방안을 제안합니다.
  • 효율적인 루비 버그 리포트 작성 가이드라인을 상세히 설명하며, 명확한 정보 제공의 중요성을 역설합니다.
RubyKaigi 2025년 10월 05일

Ruby에서 액터 모델을 활용한 동시성 프로그래밍

[17S01] Ruby goes to Hollywood (en) / Elise Huard

  • Ruby에서 액터 모델은 동시성 문제를 해결하기 위한 유망한 접근 방식이며, Celluloid와 같은 라이브러리를 통해 구현 가능합니다.
  • 액터 모델은 공유 상태 없이 비동기 메시지 전달을 통해 작동하며, Erlang, Elixir, Scala 등 다양한 언어에서 활용됩니다.
  • C Ruby의 GIL 제약으로 인해 JRuby와 같은 다른 Ruby 구현에서 액터 모델의 병렬 실행 이점을 온전히 활용할 수 있습니다.
RubyKaigi 2025년 10월 05일

CRuby GC의 병렬 세계

[16S05] Parallel world of CRuby's GC (ja)

  • CRuby의 단일 코어 GC 한계를 극복하기 위해 병렬 마킹(Parallel Marking)을 도입하여 GC 성능을 개선했습니다.
  • 락-프리 덱(Lock-Free Deque)과 태스크 스틸링(Task Stealing) 알고리즘을 활용하여 마킹 작업을 병렬화하고 경쟁 조건을 처리합니다.
  • 특정 벤치마크에서 GC 시간을 약 30% 단축하는 성과를 보였으나, 메모리 사용량 증가 및 초기 구동 시간 지연 등의 과제가 남아있습니다.
RubyKaigi 2025년 10월 05일

MongoDB를 활용한 실용적인 Ruby 프로젝트

[29M04] Practical Ruby Projects with MongoDB

  • 관계형 데이터베이스의 객체-관계 불일치 문제를 지적하고, MongoDB가 객체 중심의 데이터 모델링을 통해 이를 해결하는 방안을 제시합니다.
  • MongoDB의 스키마리스, 문서 지향, 확장성 등의 특징과 임베디드 문서, 캡트 컬렉션, 맵리듀스 같은 핵심 기능을 실제 프로젝트 예시로 설명합니다.
  • 회계 장부, 로깅 시스템(Bunion/Paper Mill), 블로그, 리포팅 애플리케이션 등 다양한 Ruby 프로젝트에서 MongoDB를 효과적으로 활용하는 방법을 시연합니다.
RubyKaigi 2025년 10월 05일
  • Ruby 애플리케이션의 메모리 누수 및 비효율적인 메모리 사용을 진단하고 최적화하기 위한 고급 메모리 프로파일러를 소개합니다.
  • `ardoc 2.2`의 실제 메모리 누수 문제를 시연하여 `Hash` 객체 누수를 발견하고 3줄의 코드 수정으로 성능을 크게 개선하는 과정을 보여줍니다.
  • 프로파일러는 온라인/오프라인 모드, 동적 연결/분리, 로컬/원격 지원, 데이터 수집 제어 기능을 제공하며, 유연한 아키텍처를 통해 오버헤드를 최소화하고 확장성을 확보합니다.
RubyKaigi 2025년 10월 05일
  • Ruby의 Random 모듈은 시드를 통해 결정론적이고 재현 가능한 의사 난수를 생성하여 테스트 및 가상 데이터 생성에 필수적인 역할을 수행합니다.
  • Random은 SecureRandom보다 훨씬 빠른 성능을 제공하며, Array#sample, Array#shuffle과 같은 표준 라이브러리 메서드와 연동하여 예측 가능한 무작위성을 구현합니다.
  • 테스트의 신뢰성을 높이고, Faker와 같은 라이브러리로 복잡한 가상 데이터를 생성하며, 성능 테스트를 위한 데이터 분포 시뮬레이션에 Random을 효과적으로 활용할 수 있습니다.
Ruby Weekly 2025년 10월 05일

Announcing gem.coop, a community gem server

  • HTTP 301 상태 코드는 요청된 리소스가 새로운 위치로 영구적으로 이동했음을 나타냅니다.
  • 클라이언트는 향후 모든 요청을 새 URL로 보내야 하며, 검색 엔진은 페이지 순위를 새 URL로 이전합니다.
  • Nginx는 웹 서버로서 이러한 301 리다이렉트를 설정하고 처리하는 데 사용될 수 있습니다.
The Awesome Ruby 2025년 10월 05일

Rails 개발자를 위한 Hanami - 1부: 모델 레이어

Hanami for Rails Developers – Part 1

  • Hanami는 Rails의 MVC 패턴을 채택하지만, 모델 레이어를 Repository, Relation, Struct로 세분화하여 관심사 분리 및 유지보수성을 향상합니다.
  • 데이터베이스 마이그레이션, 데이터 삽입 및 조회, 쿼리 스코핑 등 Hanami의 데이터베이스 상호작용 방식과 코드 예시를 제공합니다.
  • Repository는 애플리케이션과 데이터베이스 간의 상호작용을 정의하고, Relation은 복잡한 쿼리를 관리하며, Struct는 순수 Ruby 객체로 데이터베이스 행을 표현합니다.
HackerNews 2025년 10월 05일
  • 루비 젬 생태계를 위한 새로운 젬 서버 'gem.coop'이 rubygems.org의 전 팀원들에 의해 발표되었습니다.
  • 현재 RubyGems 및 Bundler와 즉시 호환되며, 보안 강화 및 패키징 속도 향상을 목표로 합니다.
  • 젬 게시 기능은 추후 지원 예정이며, 거버넌스 및 커뮤니티 참여를 통한 지속 가능한 운영을 강조합니다.
Ruby on Rails 소식지 2025년 10월 05일

Hanami에 Papercraft 연동하기

Hanami on Papercraft

  • Papercraft와 Hanami 웹 프레임워크의 통합을 위한 'hanami-papercraft' 젬이 새로 출시되었습니다.
  • 이 젬을 통해 Hanami 애플리케이션에서 ERB 대신 Papercraft 템플릿을 사용하여 간결하게 HTML을 작성할 수 있습니다.
  • 'hanami-papercraft'는 젬 추가, 뷰 클래스 설정, Papercraft 레이아웃 및 뷰 템플릿 사용 등의 명확한 단계를 통해 적용 가능합니다.
noteflakes 2025년 10월 05일
  • Thoughtbot은 프로덕트 디자인 스프린트 과정에 AI(Claude Code)를 도입하여 클릭 가능한 프로토타입 개발 속도를 획기적으로 향상시키고 있습니다.
  • 디자이너는 Claude MD 파일을 통해 프로젝트의 방대한 컨텍스트를 AI에 제공하고, 디자인 영감과 스크린샷을 활용하여 랜딩 페이지, 온보딩 플로우, 대시보드 등의 UI 코드를 생성합니다.
  • AI는 빠른 프로토타입 제작에 강력한 도구이나, 일관성 유지, 세부적인 디자인 조정, 이모지 남용과 같은 예기치 않은 오류 해결을 위한 인간 디자이너의 지속적인 개입과 전문성이 필수적입니다.
jeff 2025년 10월 04일

9월 SF Ruby 밋업: AI 통합과 혁신적인 Ruby 프로젝트

September SF Ruby Meetup at Binti | Yatish Mehta

  • Binti에서 개최된 9월 SF Ruby 밋업은 AI를 활용한 사회 복지 플랫폼과 다양한 Ruby 프로젝트를 소개했습니다.
  • SF Ruby 컨퍼런스 소식과 Ruby Central의 긍정적 변화가 공유되며 커뮤니티의 활기찬 분위기를 느낄 수 있었습니다.
  • rv.dev, llamapress, 의료 소프트웨어 등 웹 개발 외 분야에서도 Ruby의 혁신적 활용 사례들이 발표되었습니다.
Ruby on Rails 소식지 2025년 10월 04일