Rails 8: 단순성, 자립성, 그리고 새로운 웹 개발 패러다임

Rails World 2024 Opening Keynote - David Heinemeier Hansson - YouTube

  • Rails 8은 복잡한 빌드 파이프라인과 외부 서비스 의존성을 최소화하여 웹 개발 및 배포 과정을 혁신적으로 단순화합니다.
  • Solid Cable, Solid Cache, Solid Queue를 통해 단일 데이터베이스 기반의 웹소켓, 캐싱, 백그라운드 작업을 구현하며, Kamal 2와 Thruster로 간소화된 직접 배포를 지원합니다.
  • 개발자가 서버를 직접 제어하고, 비용 효율적인 운영을 가능하게 하며, 'One-person framework' 비전을 통해 웹 개발의 복잡성을 줄이는 데 집중합니다.
Unknown 2024년 09월 27일

Rails World 2024 Day 1: 주요 발표와 커뮤니티의 열정

Rails World Day 1: What did you think? - YouTube

  • Rails World 2024 첫날, Kamal 배포 도구, 새로운 Solid 젬, 내장 인증 기능 등 주요 업데이트가 공개되었습니다.
  • 참가자들은 DHH의 기조연설과 Ruby on Rails의 효율성에 대한 깊은 만족감을 표현했습니다.
  • 컨퍼런스의 핵심 가치로 커뮤니티와의 교류와 즉각적인 코드 작성의 영감이 강조되었습니다.
Unknown 2024년 09월 27일

DHH, Rails 8 베타 및 PaaS 의존성 탈피에 대한 비전 제시

Quick chat with DHH: What to expect from today's Rails World Opening Keynote - YouTube

  • Ruby on Rails 창시자 DHH는 Rails 8 베타, Solid Queue 1.0, Kamal 2.0 등 새로운 소프트웨어 출시를 발표하며 흥분을 표했습니다.
  • 특히 PaaS에 대한 의존성 없이 Rails 애플리케이션을 자유롭게 배포할 수 있도록 하는 비전을 강조하며, 개발자 자율성을 높였습니다.
  • Rails World를 통해 초보 개발자부터 핵심 기여자까지 성장할 수 있는 커뮤니티의 중요성과 기여의 길을 제시했습니다.
Unknown 2024년 09월 27일
  • Solid Queue v1.0.0이 공식 출시되었으며, 37signals의 HEY 서비스에 성공적으로 적용되어 일일 2천만 건의 작업을 처리합니다.
  • 이 버전은 배치 작업, 반복 작업, 개선된 로깅 및 설치 등 다양한 기능 향상과 함께 프로덕션 환경의 안정성을 입증했습니다.
  • 커뮤니티의 기여와 Basecamp 4로의 확장 계획을 통해 Solid Queue는 더욱 발전할 차세대 백그라운드 작업 큐 솔루션으로 자리매김하고 있습니다.
Unknown 2024년 09월 26일
  • Kamal 2.0이 VM 및 베어메탈 서버 웹 앱 배포 도구로 출시되었으며, 모든 규모에서 사용 편의성 향상에 중점을 두었습니다.
  • 이전 Traefik 대신 자체 개발한 `kamal-proxy`를 도입하여 배포 명령과 프록시 명령 간의 1:1 매핑을 제공하며 과정을 간소화했습니다.
  • 이 새로운 프록시는 유지보수 모드, 요청 일시 중지, 카나리 배포와 같은 향후 기능 구현의 기반을 마련합니다.
Unknown 2024년 09월 26일
  • Hotwire Native는 기존 Turbo Native와 Strada 라이브러리를 통합하여 혼란을 해소하고 하이브리드 모바일 앱 개발을 간소화한 새로운 프레임워크입니다.
  • 이 프레임워크는 '웹 우선' 접근 방식을 통해 기존 Hotwire 웹 앱을 활용하며, 점진적 개선을 통해 네이티브 기능을 유연하게 추가할 수 있도록 지원합니다.
  • 단순 통합을 넘어 앱 설정, 내비게이션, 컴포넌트 통합 등 핵심 기능이 대폭 개선되었으며, 기존 라이브러리는 향후 Hotwire Native로 대체될 예정입니다.
Unknown 2024년 09월 25일

제품 출시: 제약을 통한 효율성 극대화

37signals Dev — The gift of constraints

  • 제품 출시는 완벽주의와 유한한 시간 사이의 모순을 해결하는 것이 핵심입니다.
  • 개발자들이 '충분히 좋은' 결과물을 만들도록 유도하려면, 비용을 최우선으로 고려하는 작업 환경을 조성해야 합니다.
  • 이를 위해 타임박싱과 희소성 같은 제약을 적극적으로 활용하여 효율적인 제품 완성을 추구해야 합니다.
Unknown 2024년 09월 09일
  • Rails 6.1에 도입된 Delegated Types는 다중 테이블 상속을 통해 데이터베이스 내 객체 지향 상속을 처리하는 새로운 방식입니다.
  • 이는 Single Table Inheritance(STI)의 단점인 불필요한 속성으로 인한 공간 낭비와 혼란을 해결하며, 각 모델이 자체 테이블을 가집니다.
  • Delegated Types는 명시적이고 타입 안전하며, 특정 하위 모델에 대한 간소화된 쿼리 및 메서드 호출을 제공하여 더 나은 유효성 검사 및 쿼리 최적화를 가능하게 합니다.
Unknown 2024년 09월 02일

루비 창시자가 말하는 루비의 현재와 미래: RubyKaigi 2024 키노트 요약

[JA][Keynote] Matz Keynote / Yukihiro "Matz" Matsumoto @yukihiro_matz - YouTube

  • 루비 창시자 마츠모토 유키히로가 RubyKaigi 2024에서 루비의 현재와 미래 비전을 제시했습니다.
  • 루비는 개발자 행복과 생산성을 중시하며, 성능 최적화, 메모리 효율, 동시성 개선, 개발 도구 지원을 통해 지속적으로 발전하고 있습니다.
  • 커뮤니티의 힘을 강조하며, 미래의 루비 4.0과 자원 효율적인 루비를 향한 꿈을 공유했습니다.
stadia 2024년 08월 23일

Ruby on Rails와 Falcon을 활용한 실시간 상호작용

[EN][Keynote] Leveraging Falcon and Rails for Real-Time Interactivity / Samuel Williams @ioquatix - YouTube

  • Ruby on Rails는 Falcon 웹 서버와 `Async` 라이브러리를 통해 실시간 상호작용 기능을 강화하고 있습니다.
  • `Async`는 Ruby의 동시성 한계를 극복하며 비동기 이벤트 기반 I/O를 가능하게 합니다.
  • Falcon과 Rails의 통합은 복잡한 실시간 웹 애플리케이션 개발을 간소화하고 미래 지향적인 웹 환경을 제공합니다.
stadia 2024년 08월 23일

2024년 상반기 Ruby LSP 코드 네비게이션 주요 개선 사항

Mastering Ruby Code Navigation: Major Ruby LSP Enhancements in the First Half of 2024 | Rails at Scale

  • 2024년 상반기, Ruby LSP는 인덱서 발전을 통해 코드 네비게이션 기능을 획기적으로 개선했습니다.
  • 싱글톤, 상속, 코어 라이브러리 지원 강화와 Rails 애드온, ERB 파일 지원 추가가 핵심입니다.
  • 이를 통해 Ruby 개발자의 생산성 및 코드 이해도를 크게 향상시켰습니다.
stadia 2024년 07월 18일

2024년 상반기 IRB 및 Rails Console 개선 사항 중간 검토

Mid-Year Review: IRB and Rails Console Enhancements in the First Half of 2024 | Rails at Scale

  • 2024년 상반기 동안 IRB는 도움말 기능 개선, 새로운 확장 API 도입, `disable_irb`, `cd` 등 신규 명령어 추가를 통해 사용성이 크게 향상되었습니다.
  • 기존 명령어(`show_source`, `irb:rdbg`)의 버그 수정 및 기능 강화로 디버깅 경험이 개선되었습니다.
  • Rails Console은 전용 프롬프트 도입 및 IRB 도움말과의 통합을 통해 환경 식별 및 명령어 탐색이 용이해졌습니다.
stadia 2024년 07월 11일

동형문자 공격 방어: Ruby에서의 구현 사례

37signals Dev — Homographic Spoofing: a new Ruby toolkit

  • 동형문자 공격은 시각적으로 유사한 문자를 사용하여 신원을 위장하는 피싱 공격으로, 국제화 도메인 이름(IDN) 도입 이후 심각한 보안 위협으로 부상했습니다.
  • 이러한 공격을 방어하기 위해 유니코드 문자를 푸니코드(Punycode)로 변환하는 방식이 사용되며, 유니코드 기술 표준 #39(UTS #39)는 보안 위협 감지에 대한 지침을 제공합니다.
  • HEY는 UTS #39를 준수하는 동형문자 공격 방어용 루비 Gem을 자체 개발하여 오픈 소스로 공개하였으며, 이는 IDN과 이메일 주소 보호에 효과적으로 활용될 수 있습니다.
Unknown 2024년 06월 25일

당신은 더 이상 루비를 모를 수도 있습니다!

You Don’t Know Ruby (Anymore!). Caution: If you are a senior Ruby… | by Ihcène Medjber | Medium

  • 많은 루비 개발자들이 최신 기능 도입에 저항하며 과거의 코딩 방식에 머물러 있습니다.
  • 루비는 RBS, 패턴 매칭, 지연 열거자 등 코드 품질과 생산성을 크게 향상시키는 다양한 현대적 기능들을 도입했습니다.
  • 현대 루비 개발 표준에 맞추고 더 나은 코드를 작성하기 위해 이러한 새로운 기능들을 학습하고 활용하는 것이 중요합니다.
stadia 2024년 06월 06일
  • 37signals는 Rails 앱의 Prometheus 메트릭스를 Yabeda를 통해 수집하며, 성능 문제 해결을 위해 `yabeda-prometheus-mmap`과 PID 제공자 설정을 적용했습니다.
  • 다중 컨테이너 환경에서 메트릭스 통합을 위해 OpenTelemetry Collector를 Kamal 액세서리로 활용하여 단일 엔드포인트를 제공합니다.
  • 이 시스템은 복잡한 설정 없이 효율적인 메트릭스 집계와 모니터링을 가능하게 합니다.
Unknown 2024년 05월 23일