로드 밸런서 이후의 HTTP/2: Ruby 서버에서의 필요성

There Isn’t Much Point to HTTP/2 Past The Load Balancer | byroot’s blog

  • HTTP/2의 주요 이점인 멀티플렉싱은 주로 인터넷 환경에서 페이지 로딩 지연 감소에 효과적입니다.
  • 로드 밸런서나 리버스 프록시를 사용하는 데이터센터 내부 LAN 환경에서는 HTTP/2가 Ruby 애플리케이션 서버까지 도달할 때 얻는 성능 이점이 미미합니다.
  • 따라서 Ruby HTTP 서버에서 HTTP/2 지원은 대부분의 경우 필수적인 기능이 아니며, 로드 밸런서에서 처리하는 것이 효율적입니다.
Unknown 2025년 02월 24일

Ruby 3.4.2 출시

Ruby 3.4.2 Released

  • Ruby 3.4.2 버전이 버그 수정을 포함한 정기 업데이트로 출시되었습니다.
  • 이번 릴리스는 Ruby 3.4 시리즈의 2개월 간격 정기 릴리스 일정에 따라 제공됩니다.
  • 개발자들은 공식 웹사이트에서 다양한 형식의 파일을 다운로드하여 사용할 수 있습니다.
stadia 2025년 02월 15일

더 빠른 FFI를 위한 작은 JIT

Tiny JITs for a Faster FFI | Rails at Scale

  • CRuby의 FFI는 C 확장보다 성능 오버헤드가 큽니다.
  • 작은 JIT 컴파일러를 FFI 래퍼에 적용하여 성능을 개선할 수 있습니다.
  • 개념 증명(FJIT) 결과, FFI 대비 상당한 속도 향상을 보여주며 C 확장과 유사하거나 더 빠른 성능을 달성했습니다.
stadia 2025년 02월 12일
  • Ruby 애플리케이션의 메모리 누수 및 성능 문제를 다루는 `unicorn-worker-killer`의 두 가지 기능에 대해 논합니다.
  • `MaxRequests` 설정은 문제를 숨기는 코드 스멜인 반면, `MaxMemory` 설정은 필수적인 복원력 기능으로 시스템 충돌을 방지합니다.
  • 궁극적으로, 시스템은 모든 버그를 막을 수 없음을 인정하고 오류 발생 시 '폭발 반경'을 제한하도록 설계되어야 함을 강조합니다.
Unknown 2025년 02월 09일

루비 GVL 제거 논의의 복잡성 및 대안

So You Want To Remove The GVL? | byroot’s blog

  • 루비 GVL 제거는 기술적으로 복잡하며 기존 코드 호환성 및 성능 저하 문제를 야기합니다.
  • 단순 제거 또는 객체별 잠금 방식 모두 상당한 구현 노력과 오버헤드를 수반합니다.
  • 저자는 GVL 제거보다 스레드 스케줄러 개선이나 GVL 해제 영역 확장을 더 현실적인 대안으로 제시합니다.
Unknown 2025년 01월 29일

Rails 7 & 8 필수 명령어 가이드

Essential Rails 7 & 8 Commands Guide | by Ronak Bhatt | Medium

  • 이 가이드는 Rails 7 및 8 개발을 위한 핵심 명령어를 프로젝트 설정부터 배포까지 포괄적으로 안내합니다.
  • 애플리케이션 생성, 데이터베이스 관리, 컴포넌트 생성, 테스트 실행 등 필수적인 작업을 위한 다양한 명령어를 포함합니다.
  • 효율적인 Rails 개발 및 유지보수를 위해 이러한 명령어들을 숙지하고 필요에 따라 공식 문서를 참고하는 것이 중요합니다.
stadia 2025년 01월 27일

Ruby에서 fork(2)가 비판받는 이유

Why Does Everyone Hate fork(2)? | byroot’s blog

  • `fork(2)`는 Ruby를 포함한 여러 시스템에서 병렬 처리에 사용되지만, 파일 디스크립터 상속 및 멀티스레딩 문제로 비판받습니다.
  • 자식 프로세스의 부모 파일 디스크립터 상속은 유용하나, 부적절한 처리는 복잡한 버그를 유발하는 주요 원인입니다.
  • 멀티스레드 환경에서 `fork` 호출 시 특정 스레드만 복제되고 다른 스레드는 종료되어 예측 불가능한 상태나 데드락을 초래할 수 있습니다.
Unknown 2025년 01월 25일
  • 이번 주 레일즈는 PostgreSQL 스키마 로딩 최적화, 테스트 헬퍼 개선, 인덱스 관리 유연성 증가 등 다양한 코드베이스 변경 사항을 발표했습니다.
  • 특히, VSCode 없이 데브컨테이너를 활용할 수 있는 스크립트 추가와 PWA 지원 강화를 위한 메타 태그 도입이 눈에 띕니다.
  • 또한, 영구 저장되지 않은 레코드와 함께 `insert_all`/`upsert_all` 사용 시 경고를 발생시켜 Rails 8.2에서 오류로 전환될 중요한 비권장 사항이 포함되었습니다.
Unknown 2025년 01월 24일

Ruby IO 계측: 실제 IO 시간 측정의 복잡성 해소

Instrumenting Thread Stalling in Ruby Applications | byroot’s blog

  • Ruby에서 IO 시간 측정은 GC, GVL 등의 영향으로 복잡하며, 실제 IO 대기 시간과 구별하기 어렵습니다.
  • GC.total_time 및 GVL 계측 API와 같은 새로운 도구가 도입되어 이러한 '스레드 멈춤' 현상을 더 잘 이해하는 데 도움을 줍니다.
  • 이러한 도구는 Rails 계측 및 외부 gem을 통해 활용 가능하며, 애플리케이션 성능 병목 지점 분석에 기여합니다.
Unknown 2025년 01월 23일

Ruby Central, 신규 이사회 구성원 환영 및 임원진 임명 발표

Ruby Central Welcomes New Board Members & Announces Officer Appointments

  • Ruby Central은 최근 Freedom Dumlao와 Naijeria Toweett 두 명의 신규 이사회 구성원을 영입하고 네 명의 새로운 임원진을 임명했습니다.
  • Valerie Woolard가 회장, Kinsey Durham Grace가 부회장, Freedom Dumlao가 재무, Naijeria Toweett가 비서직을 맡아 조직의 리더십을 강화했습니다.
  • 이번 인사는 Ruby Central의 오픈 소스 프로그램 및 커뮤니티 개발 이니셔티브 확장을 위한 중요한 전환점에서 이루어졌습니다.
Unknown 2025년 01월 22일

이번 주 Rails 소식

Fresh Rails apps Dependabot updates reduced to weekly, and Auth generator gets a safer logout

  • 신규 Rails 앱의 Dependabot 업데이트 주기가 주간으로 변경되어 관리 부담이 줄었습니다.
  • 인증 생성기(Auth generator)의 로그아웃 시 브라우저 캐시를 삭제하여 데이터 유출 위험을 방지합니다.
  • 데이터베이스 메서드 일관성 개선, 성능 최적화 및 다양한 버그 수정이 이루어졌습니다.
Unknown 2025년 01월 17일
  • Ruby 3.3.7이 사소한 버그 수정을 포함한 정기 업데이트로 공식 출시되었습니다.
  • 이번 릴리스는 Ruby 생태계의 안정성을 강화하는 데 중점을 두었으며, 상세 내용은 GitHub 릴리스 노트를 통해 확인할 수 있습니다.
  • 많은 커미터, 개발자, 그리고 버그 보고자들의 기여 덕분에 본 업데이트가 가능했으며, 즉시 다운로드하여 적용할 수 있습니다.
Unknown 2025년 01월 15일

YJIT 3.4: 더욱 빠르고 메모리 효율적인 개선

YJIT 3.4: Even Faster and More Memory-Efficient | Rails at Scale

  • Ruby 3.4에 포함된 YJIT 3.4는 이전 버전 대비 5~7% 성능 향상과 상당한 메모리 사용량 감소를 제공합니다.
  • 개선된 인라이닝, 순수 Ruby 코어 메서드 활용, 바이너리 직렬화 가속 등 다양한 최적화가 적용되었습니다.
  • Shopify 프로덕션 환경에서도 YJIT 3.4는 이전 버전 대비 더 나은 성능과 메모리 효율성을 보여주었습니다.
stadia 2025년 01월 10일

스키마 덤퍼의 정렬된 컬럼, 기능 지원 중단 및 다양한 개선 사항

Sorted Columns in Schema Dumper, Deprecations, and lots of fixes!

  • Rails는 `schema.rb` 파일의 테이블 컬럼을 알파벳 순으로 정렬하고, 콘솔 프롬프트에 새로운 환경 색상을 추가하는 등 여러 개선 사항을 도입했습니다.
  • `app:update` 명령어, 템플릿 렌더링 시 ArgumentError 백트레이스, 레이아웃 로컬 변수 접근 등 주요 버그들이 수정되었습니다.
  • `String#mb_chars`, `AS::Multibyte::Chars`, `ActiveSupport::Configurable` 등 레거시 API가 공식적으로 지원 중단되었습니다.
Unknown 2025년 01월 10일

Saeloun, Rails Foundation의 기여 회원으로 합류

Saeloun joins the Rails Foundation as a Contributing member

  • Ruby on Rails 컨설팅 전문 기업 Saeloun이 Rails Foundation의 새로운 기여 회원으로 합류했습니다.
  • Saeloun은 오랜 기간 Rails 프레임워크와 커뮤니티에 적극적으로 기여해 왔으며, 주요 개발자들을 포함한 팀원들이 활발히 활동하고 있습니다.
  • 이번 합류는 Rails 생태계의 지속적인 성장과 발전에 기여하며, 프레임워크의 미래를 더욱 굳건히 할 것으로 기대됩니다.
Unknown 2025년 01월 10일