지난 글들

1164개의 글이 있습니다

Ruby on Rails 8: 인증 시스템 확장 및 사용자 경험 개선

Rails 8 Authentication Adding Signup Flow & User Profiles

  • Ruby on Rails 8의 기본 인증 시스템에 회원가입 기능을 추가하고 사용자 프로필 관리 기능을 확장하는 방법을 설명합니다.
  • Instrumental Components 라이브러리를 활용하여 로그인/회원가입 UI를 개선하고, 사용자 메뉴 및 반응형 레이아웃을 구현합니다.
  • Gravatar 연동, 타임존 자동 감지, 아바타 업로드 등 실제 애플리케이션에 필요한 다양한 사용자 경험 개선 요소를 다룹니다.
Ruby on Rails 소식지 2025년 01월 01일
  • Rails는 2024년에 555명의 기여자가 참여하여 약 4000건의 커밋과 50번의 릴리스를 기록하며 활발한 개발을 진행했습니다.
  • Rails 8 출시와 함께 PWA 지원 강화, 속도 제한 기능 추가, Kamal 및 Propshaft 기본 포함 등 다양한 핵심 기능이 도입되었습니다.
  • Solid Cache, Solid Queue, Solid Cable과 같은 새로운 기본 캐싱 및 작업 큐 백엔드를 도입하여 Redis 의존성을 줄이고 배포 효율성을 높였습니다.
Ruby on Rails 소식지 2024년 12월 27일

Ruby 3.4.0 릴리스

Ruby 3.4.0 Released

  • Ruby 3.4.0이 공식 릴리스되었으며, 새로운 기능과 성능 개선이 대거 포함되었습니다.
  • `it` 블록 파라미터 참조 도입, Prism 파서의 기본 채택, Happy Eyeballs Version 2 지원이 주요 특징입니다.
  • YJIT 성능 향상 및 Modular GC 도입을 통해 실행 속도와 메모리 효율성이 크게 개선되었습니다.
Ruby on Rails 소식지 2024년 12월 25일

Ruby JSON Gem 최적화: 1부

Optimizing Ruby’s JSON, Part 1 | byroot’s blog

  • json gem의 유지보수 담당자가 되어 성능 최적화에 집중하여 대부분의 벤치마크에서 Ruby용 가장 빠른 JSON 파서 및 제너레이터로 만들었습니다.
  • 성능 개선은 프로파일링 기반의 간단한 최적화로 이루어졌으며, 이는 C 코드뿐만 아니라 일반적인 코드에도 적용될 수 있는 보편적인 방법론을 제시합니다.
  • 이러한 최적화는 `oj`와 같은 대체 라이브러리의 불안정성과 몽키 패치로 인한 문제를 해결하고, 사용자에게 `json` gem의 성능적 매력을 높이는 데 목적이 있습니다.
Ruby Weekly 2024년 12월 15일

Rails 8 프로덕션 배포를 위한 Dockerfile 심층 분석

Inside the default Dockerfile | Rails 8 Unpacked

  • Rails 8은 Kamal과 Docker를 활용하여 애플리케이션 배포를 간소화하며, 'Hello World에서 IPO까지'라는 비전을 실현합니다.
  • Docker는 컨테이너, 이미지, Dockerfile의 세 가지 핵심 개념을 통해 애플리케이션과 그 종속성을 호스트 OS와 격리된 환경에서 실행할 수 있도록 지원합니다.
  • Rails 8의 기본 Dockerfile은 멀티 스테이지 빌드 방식을 사용하여 프로덕션에 최적화된 작고 안전한 이미지를 생성하며, Gem 설치, 에셋 컴파일, 데이터베이스 준비 등을 자동화합니다.
이원섭 2024년 12월 14일

Ruby의 `then` 메서드: 코드 가독성 향상을 위한 파이프라인 체이닝

The 'then' Ruby Keyword - What is it? – Ben Koshy – Rails, Tekla Open API, AutoDesk .NET

  • Ruby의 `then` 메서드는 파이프라인 형태의 메서드 체이닝을 통해 복잡한 연산의 가독성을 향상시킵니다.
  • `then`은 각 단계를 명확히 분리하여 함수형 프로그래밍의 커링(currying) 스타일을 Ruby 코드에 적용하는 데 효과적입니다.
  • `then`은 `yield_self`와 기능적으로 동일하며, `tap`과는 사용 목적이 달라 코드의 의도에 따라 적절히 선택해야 합니다.
The Awesome Ruby 2024년 12월 09일

Rails 애플리케이션에 MCP 서버 구축하기

Adding an MCP server to a Rails app

  • MCP는 LLM이 외부 서비스와 표준화된 방식으로 상호작용하도록 돕는 개방형 프로토콜로, 애플리케이션 컨텍스트 제공을 통해 작업 효율성을 증대시킵니다.
  • Ruby on Rails 애플리케이션에 `fast-mcp` Gem을 설치하여 MCP 서버를 구축하고, 리소스와 도구를 정의함으로써 LLM이 데이터 조회 및 특정 작업을 수행하도록 연동할 수 있습니다.
  • 구축된 MCP 서버는 Cursor, Claude Desktop과 같은 LLM 클라이언트와 연결되어 데이터 분석, 보고서 생성, DB 레코드 업데이트 등 복잡한 작업을 대화형으로 자동화합니다.
AVO 2024년 11월 25일
  • Ruby에서 Elixir와 유사한 파이프라인 연산자를 AST 변환 기법을 활용하여 구현하는 실험적 접근 방식을 소개합니다.
  • 기존 Ruby의 메서드 체이닝 및 `.then` 사용으로 파이프라인 연산자가 불필요하다는 회의론에도 불구하고, 새로운 관점의 제안과 Python 라이브러리에서 영감을 받아 구현되었습니다.
  • `pipe` 키워드로 메서드를 장식하고 `>>` 연산자를 사용하여 이전 단계의 결과를 `_`로 참조하거나 첫 번째 인자로 자동 전달하는 방식으로 동작합니다.
HackerNews 2024년 11월 16일

Rails 애플리케이션에서 웹 푸시 알림 구현 가이드

Joy of Rails | Sending Web Push Notifications from Rails

  • Rails 8에서 기본으로 제공될 웹 푸시 알림 기능을 현재 Rails 애플리케이션에 구현하는 방법을 상세히 다룹니다.
  • 웹 푸시 구현은 PWA 설정, 서비스 워커, VAPID 키 생성 및 권한 요청 등 클라이언트 및 서버 측의 복합적인 설정과 연동을 요구합니다.
  • `web-push` 젬을 활용하여 Rails 백엔드에서 푸시 알림을 트리거하고, 서비스 워커를 통해 사용자에게 알림을 표시하는 전체 과정을 설명합니다.
Ruby Weekly 2024년 10월 23일

Ruby에서 몽키 패치 감지

Tenderlove Making - Monkey Patch Detection in Ruby

  • CRuby는 핵심 메서드의 몽키 패치 여부를 감지하여 성능 최적화를 해제하는 메커니즘을 갖추고 있습니다.
  • 이 감지 시스템은 메서드 재정의 시 `ruby_vm_redefined_flag`라는 전역 변수의 비트맵 플래그를 설정하여 작동합니다.
  • 이를 통해 CRuby는 사용자 정의된 메서드를 존중하며, JIT 컴파일러의 디옵티마이징에도 활용됩니다.
The Awesome Ruby 2024년 10월 16일
  • ViewComponent는 Ruby on Rails 애플리케이션에서 재사용 가능하고 테스트 용이하며 캡슐화된 UI 컴포넌트를 구축하기 위한 프레임워크입니다.
  • 부분 템플릿(partials) 및 헬퍼(helpers) 대비 향상된 모듈성, 성능, 그리고 일관된 UI 요소를 제공하여 개발 효율성을 높입니다.
  • 내장된 제너레이터, 테스트 지원, 그리고 슬롯(slots) 기능을 통해 복잡한 UI 구성 요소를 체계적으로 관리하고 확장할 수 있습니다.
jeff 2024년 08월 01일

더 이상 루비를 좋아하지 않는 걸까?

Do I not like Ruby anymore? (2024)

  • 오랫동안 루비를 사랑하고 파이썬을 싫어했던 저자가 파이썬 환경에서 일하며 파이썬에 대한 인식이 긍정적으로 변화했음을 설명합니다.
  • 파이썬은 타입 힌트, 매치 구문 등 주요 기능이 발전하며 언어의 완성도를 높였고, 이는 저자의 언어 선택 기준 변화에 영향을 주었습니다.
  • 루비는 지난 10년간 큰 변화가 없어 저자는 다른 언어의 기능(특히 파이썬의 기능)을 그리워하게 되었고, 루비와의 결별을 암시합니다.
HackerNews 2024년 05월 28일

Honeybadger Insights: 이벤트 중심의 관측 가능성 플랫폼과 와이드 이벤트의 힘

Observable systems with wide events - Honeybadger Developer Blog

  • Honeybadger Insights는 기존 로그, 메트릭, 트레이스의 분리된 접근 방식을 이벤트 중심 전략으로 통합하여 시스템 관측 가능성을 향상시킵니다.
  • 비정형 로그를 JSON 형식의 구조화된 이벤트로 전환함으로써 BadgerQL을 통한 강력한 쿼리와 심층적인 데이터 분석이 가능해집니다.
  • ‘와이드 이벤트’는 실행에 대한 포괄적인 컨텍스트 데이터를 단일 이벤트에 담아, 미지의 문제 해결에 필수적인 풍부한 진단 정보를 제공합니다.
Ruby Weekly 2024년 04월 16일

mruby 3.3.0 출시

mruby 3.3.0 released

  • mruby 3.3.0 안정 버전이 출시되었으며, Docker 빌드 지원, DJGPP 및 Nintendo Wii 등 새로운 플랫폼 지원이 추가되었습니다.
  • C API, 메모리 관리 API, mrbgems 전반에 걸쳐 다양한 기능 개선 및 변경 사항이 적용되어 개발 편의성과 확장성이 향상되었습니다.
  • 총 763건의 커밋을 통해 다수의 버그가 수정되고 성능이 최적화되어 더욱 안정적인 mruby 환경을 제공합니다.
Ruby Weekly 2024년 02월 14일

Rails ViewComponent를 활용한 재사용 가능한 UI 컴포넌트 개발

Building reusable UI components in Rails with ViewComponent - Honeybadger Developer Blog

  • 재사용 가능한 UI 컴포넌트는 개발 시간 절약, 코드 품질 향상, 유지보수성 증대 및 애플리케이션 모듈화에 기여합니다.
  • ViewComponent는 Ruby on Rails 애플리케이션에서 재사용 가능하고 캡슐화된 UI 컴포넌트를 생성하는 데 사용되는 라이브러리입니다.
  • 이 가이드에서는 ViewComponent를 사용하여 내비게이션 바, 제품 카드 등 실제 UI 컴포넌트를 식별하고 개발하는 방법을 설명합니다.
jeff 2024년 02월 07일