Skip to content

Ruby

  • Published on
    Ruby 4.0은 2025년 12월 25일에 ZJIT을 실었지만, 켜지지 않은 채로 실었습니다 — 바이너리에 컴파일돼 있을 뿐 기본 JIT은 여전히 YJIT입니다. 공식 릴리스 노트의 문장은 "ZJIT은 인터프리터보다 빠르지만 아직 YJIT만큼 빠르지는 않다"였고, 바로 다음 문장이 "Ruby 4.1 ZJIT을 기대해 달라"였습니다. 그 4.1을 겨냥한 작업의 중심에 Lightweight Frames가 있습니다 — 메서드 호출마다 인터프리터 프레임에 pc, iseq, block_code를 쓰는 대신 포인터 하나만 쓰고, 나머지는 백트레이스나 예외처럼 실제로 읽힐 때 되살리는 설계입니다. 흥미로운 건 같은 아이디어가 2023년에 이미 한 번 실패했다는 점입니다. 그때는 인터프리터가 느려져서 폐기됐고, 이번 설계는 정확히 그 지점을 피하려고 다시 그려졌습니다. 이 글은 Lightweight Frames가 무엇을 지우는지, 첫 PR이 왜 거의 빨라지지 않았는지(저자 본인이 그렇게 썼습니다), 그 뒤 넉 달 동안 인라이너와 스택 스필과 버전 수 상한이 어떻게 붙었는지, 그리고 오늘 기준으로 ZJIT이 아직 기본이 아니라는 사실을 정리합니다.
  • Published on
    2026년에 Ruby와 Rails는 죽지 않았다 — 오히려 가장 조용하게 가장 많이 일하는 스택이 되었다. Ruby 3.4의 YJIT, Rails 8의 Solid 트리오(Queue/Cache/Cable)로 Redis 의존성을 떼어낸 것, Hotwire로 React 없이도 인터랙티브 UI를 만드는 법, Stripe가 만든 Sorbet과 Tapioca로 점진적 타입을 입히는 법, 37signals의 Kamal 2로 `kamal deploy` 한 줄에 배포하는 법, Mission Control로 잡을 모니터링하는 법, Propshaft와 Action Notifier 같은 Rails 8의 새 기본기, RuboCop·Standard·Brakeman으로 코드 품질을 잡는 법, 그리고 Hanami 2·Roda·Sinatra·dry-rb 같은 대안까지 — 1-2인부터 B2B SaaS까지 누가 왜 Ruby/Rails를 골라야 하는지 한 번에 정리한다.
  • Published on
    에디터를 띄우고, 코드를 친다. 그러면 비트가 나온다. 한 줄을 고치면 다음 마디부터 다른 비트가 나온다. 라이브 코딩 음악은 개발자라는 직업이 가질 수 있는 가장 즐거운 취미다. Sam Aaron의 Sonic Pi가 Ruby로 입문의 문턱을 낮추고, Alex McLean의 TidalCycles가 Haskell 안에서 미니 노테이션이라는 자신만의 언어를 키워냈고, Strudel이 그 모든 걸 브라우저로 옮겨놓았다. 이 글은 라이브 코딩이 뭔지, 30분 안에 첫 비트를 찍는 법, Algorave라는 씬, 그리고 왜 이게 개발자가 할 수 있는 가장 행복한 일 중 하나인지 한 호흡으로 정리한다.