지난 글들
744개의 글이 있습니다
SQLite를 활용한 Ruby on Rails 애플리케이션 최적화 워크숍
Stephen Margheim, SQLite on Rails: From rails new to 50k concurrent users and everything in between
- Ruby on Rails 애플리케이션에서 SQLite의 성능 병목 현상을 해결하고, 데이터 무결성 및 고가용성을 확보하는 방법을 다룹니다.
- Rails 8에서 기본으로 제공될 SQLite 최적화 기능들을 Rails 7.x 버전에서도 적용하는 구체적인 기술적 접근 방식을 제시합니다.
- 단일 서버 환경에서 SQLite 기반의 Rails 애플리케이션이 어떻게 완전한 기능을 갖추고 안정적으로 운영될 수 있는지 설명합니다.
EuRuKo
2025년 02월 24일
Ruby에서의 동시성(Concurrency)과 병렬성(Parallelism) - 스레드, 파이버, 랙터
Magesh, "Concurrency in Ruby: Threads, Fibers, and Ractors Demystified"
- Ruby는 CPU 활용 효율을 높이기 위해 스레드, 파이버, 랙터와 같은 동시성 및 병렬성 도구를 제공합니다.
- 스레드와 파이버는 주로 I/O 바운드 작업에 적합하며 동시성을 제공하지만, 랙터는 CPU 바운드 작업에 적합하며 진정한 병렬성을 구현합니다.
- 각 도구는 고유한 장단점과 사용 사례를 가지므로, 작업 특성에 맞춰 적절한 도구를 선택하는 것이 중요합니다.
EuRuKo
2025년 02월 24일
대규모 제품 리빌딩 여정: 성공적인 시스템 재구축을 위한 교훈
Prakriti Mateti, "One does not simply... rebuild a product"
- Culture Amp의 성능 제품 팀은 심각한 기술 부채와 모놀리스 아키텍처의 한계로 인해 혁신이 불가능한 상황에 직면하여 전면적인 제품 리빌딩을 단행했습니다.
- 이들은 기술 부채를 명확히 정의하고, 전사적인 동의를 얻으며, 'Like-for-like' 원칙하에 첫 번째 핵심 기능을 성공적으로 재구축하여 실행 가능성을 입증했습니다.
- 리빌딩을 통해 고객 경험(LCP 개선)과 개발자 경험(배포 시간 단축)을 획기적으로 향상시켰으며, 이는 유사한 문제에 직면한 조직에게 리빌딩이 최선의 해결책이 될 수 있음을 시사합니다.
EuRuKo
2025년 02월 24일
Ruby로 구축한 주유소 시뮬레이터: 취미 프로젝트에서 비즈니스 통찰까지
Jakub Godawa, "Visualized multi-threaded simulators in Ruby"
- 루비(Ruby)를 활용하여 주유소 운영 시뮬레이터를 개발한 경험과 그 과정에서 얻은 기술적 통찰을 공유합니다.
- 시뮬레이터는 YAML 설정을 통해 다양한 시나리오를 비교하고, 스레드, 뮤텍스, 조건 변수 등 루비의 동시성 기능을 활용하여 구현되었습니다.
- 이 프로젝트는 개발자의 취미 활동이 실제 업무 코드 품질 향상에 기여할 수 있음을 보여줍니다.
EuRuKo
2025년 02월 24일
동적 언어를 위한 Interprocedural Sparse Conditional Type Propagation 분석
Interprocedural Sparse Conditional Type Propagation
- 이 글은 Ruby와 같은 동적 언어 컴파일러의 정밀한 타입 정보 확보를 위한 프로토타입 정적 타입 분석 기법을 소개합니다.
- Sparse Conditional Constant Propagation(SCCP)을 확장하여 유한 높이 래티스 및 함수 간 분석을 통해 타입 추론의 정확성을 높이는 방법을 설명합니다.
- 대규모 합성 테스트를 통해 이 분석 기법이 실제 대규모 Ruby 프로그램에도 적용 가능할 정도로 빠르고 효율적임을 입증합니다.
Rails at Scale
2025년 02월 24일
GitHub 초기 Rails 커뮤니티와 Mass Assignment 보안 취약점 사례
Ruby on Rails가 여전히 중요한 이유 - Next.js 세상에서 오래된 도구가 살 | GeekNews
- GitHub은 초기에 Ruby on Rails 커뮤니티를 중심으로 성장하며 밀접한 관계를 맺었습니다.
- Ruby on Rails의 Mass Assignment 취약점이 GitHub에서 실제 공격으로 성공하며 큰 파장을 일으켰습니다.
- 이 사건은 개발자의 책임과 시스템적 보안 조치 사이의 근본적인 논쟁을 촉발시켰습니다.
Ruby on Rails 소식지
2025년 02월 24일
Puma 아키텍처 심층 분석: Rails 애플리케이션을 위한 웹 서버 이해
Inner Workings of Puma - Joshua Young. Ruby Melbourne Meetup January 2025
- Puma는 Rack 호환 HTTP 1.1 Ruby 웹 서버로, 단일 및 클러스터 모드를 통해 병렬 처리와 동시성을 지원하며 Rails 5부터 기본 서버로 사용됩니다.
- Puma는 Ragel로 작성된 Mongrel의 HTTP 파서를 활용하고, `preload_app` 기능과 Copy-on-Write 최적화를 통해 메모리 효율성을 극대화합니다.
- Puma는 Reactor 스레드로 미완료 요청을 버퍼링하고, Reaper 및 Trimmer 스레드로 스레드 풀을 관리하며, 바쁜 워커에 작은 지연을 주어 로드 밸런싱을 개선합니다.
Ruby Australia
2025년 02월 19일
Higher Pixels, Rails Foundation의 기여 회원으로 합류
Higher Pixels joins the Rails Foundation as a Contributing member
- 인기 팟캐스트 플랫폼 Buzzsprout의 개발사 Higher Pixels가 Rails Foundation의 기여 회원으로 공식 합류했습니다.
- Higher Pixels는 2005년부터 Ruby on Rails를 사용하여 여러 성공적인 제품을 개발했으며, Rails의 프레임워크, 원칙, 커뮤니티가 비즈니스 성장에 핵심적인 역할을 했음을 강조합니다.
- 이번 합류는 Rails Foundation이 기존 개발자를 지원하고 새로운 개발자를 커뮤니티로 유입시키는 미션을 수행하는 데 중요한 기여를 할 것입니다.
Ruby on Rails 소식지
2025년 02월 18일
Ruby 3.4.2 릴리스
Ruby 3.4.2 Released
- Ruby 3.4.2 버전이 버그 수정이 포함된 정기 업데이트로 공식 릴리스되었습니다.
- Ruby 3.4 버전은 두 달 간격으로 정기적인 업데이트가 예정되어 있어 안정적인 개선이 지속됩니다.
- 상세 내용은 GitHub 릴리스 노트를 통해 확인할 수 있으며, 다양한 패키지 형식으로 다운로드가 가능합니다.
Ruby on Rails 소식지
2025년 02월 14일
Rails 주요 업데이트: 라우트 조회 최적화 및 PostgreSQL 개선 사항
Routes Lookup Optimizations, PostgreSQL Alter Table improvements and more!
- Rails 라우트 조회 기능이 2-2.5배 빨라지는 등 성능 최적화가 이루어졌습니다.
- Rails.error.handle 예외 처리 기능이 개선되었으며, ActiveModel 값 타입이 기본적으로 변경 가능하도록 변경되었습니다.
- PostgreSQL 어댑터 테이블 메서드에 키워드 인자 전달이 가능해지는 등 다양한 개선 사항이 포함되었습니다.
This Week in Rails
2025년 02월 14일
이번 주 Rails 소식: 2025년 2월 14일
Routes Lookup Optimizations, PostgreSQL Alter Table improvements and more!
- Rails 프레임워크의 라우팅 성능이 10-20% 향상되고, 경로 탐색 과정이 최대 2.5배 빨라지는 등 핵심적인 최적화가 이루어졌습니다.
- 예외 처리 메커니즘이 확장되어 모든 Exception을 포괄적으로 다룰 수 있게 되었으며, ActiveModel의 값 유형이 기본적으로 가변(mutable)으로 변경되었습니다.
- PostgreSQL 어댑터 메서드가 키워드 인수를 지원하게 되었고, 쿼리 효율성 및 ActiveModel의 HashWithIndifferentAccess 처리 방식이 개선되었습니다.
Ruby on Rails 소식지
2025년 02월 14일
SF Ruby 밋업: GitHub의 UI 아키텍처, Rails 기반 금융 플랫폼 구축, 그리고 실시간 웹 애플리케이션 개발
SF Bay Area Ruby Meetup GitHub, February 11, 2025 livestream
- GitHub은 Rails 모놀리스를 기반으로 UI 아키텍처를 발전시키며, '네이티브가 새로운 기준'이라는 인식 하에 React를 도입하고 프런트엔드 복잡성 관리의 중요성을 강조합니다.
- Hack Club은 Ruby on Rails를 활용하여 복잡한 금융 서비스 플랫폼(HCB)을 구축하고, 거래 엔진, 신용카드 처리, 다양한 금융 기능을 구현하며 Rails의 유연성과 강력함을 입증합니다.
- AnyCable은 Action Cable의 한계를 극복하는 고성능 실시간 서버로, 정교한 사용자 '프레즌스' 관리 및 Hotwire와의 통합을 통해 Rails 앱의 실시간 기능을 강화합니다.
Ruby on Rails 소식지
2025년 02월 13일
CRuby에서 더 빠른 FFI를 위한 Tiny JIT
Tiny JITs for a Faster FFI
- CRuby의 FFI는 네이티브 코드 호출 시 C 확장보다 성능 오버헤드가 커서 병목 현상을 유발합니다.
- FJIT(FFI JIT)는 FFI 호출에 필요한 머신 코드를 런타임에 JIT 컴파일하여 오버헤드를 줄이는 새로운 접근 방식입니다.
- FJIT는 기존 FFI보다 2배 이상 빠르고 C 확장과 유사하거나 더 나은 성능을 보여, Ruby의 네이티브 코드 호출 효율성을 크게 향상시킬 잠재력을 가집니다.
Rails at Scale
2025년 02월 12일
Rails 앱을 Tailwind v4로 업그레이드하기
Upgrading a Rails App to Tailwind v4 - HYBRD
- Rails 앱을 Tailwind v4로 업그레이드하는 과정과 주요 고려사항을 다룹니다.
- PostCSS 사용 여부, 업그레이드 도구 활용, JavaScript 설정 파일 변경, 새로운 기본값 처리 등 실제 경험을 공유합니다.
- 이 가이드는 Tailwind와 PostCSS를 사용하는 Rails 앱에 특히 유용하며, 업그레이드 시간을 절약하는 데 도움을 줍니다.
Ruby on Rails 소식지
2025년 02월 09일
이번 주 Rails 업데이트: Postgresql 및 SQLite의 update_all JOIN 지원 및 기타 개선 사항
Support joins in update_all for PG and SQLite and more
- Rails는 Postgresql 및 SQLite에서 `update_all` 쿼리의 JOIN 절 사용을 지원하여 데이터베이스 작업의 유연성을 높였습니다.
- 인증 생성기에 비밀번호 재설정 속도 제한 기능이 추가되어 무단 접근 시도를 완화하는 데 기여합니다.
- 연결 오류 시 쿼리 재시도 기능 및 다중 데이터베이스 마이그레이션 관련 버그가 수정되어 시스템 안정성이 향상되었습니다.
Ruby on Rails 소식지
2025년 02월 07일