지난 글들
1171개의 글이 있습니다
Minitest::Spec이란 무엇인가? RSpec 스타일 테스트 확장
What is Minitest::Spec? - Remi Mercier
- Minitest::Spec은 Minitest의 RSpec 스타일 확장으로, `it`, `before`, `expect` 구문을 사용하여 테스트를 작성합니다.
- 기존 Minitest의 어설션(`assert_equal`)과 달리, Minitest::Spec은 기대(`expect(actual).must_equal expected`)를 통해 실제 동작이 예상 결과와 일치하는지 확인합니다.
- Ruby 애플리케이션에서는 `Minitest::Spec`을 상속하고, Rails에서는 `test_helper.rb`에서 `minitest/spec`을 require하고 `ActiveSupport::TestCase`에 `Minitest::Spec::DSL`을 확장하여 활성화합니다.
Ruby Weekly
2025년 10월 13일
Hotwire Native 디버깅: 명확한 질문부터 시작하기
Debugging Hotwire Native - Start with the Obvious Questions | William Kennedy
- Hotwire Native 앱의 문제 해결을 위해 Turbo JS 설치 여부, 다양한 로그 확인, 디버거 사용법을 체계적으로 점검하는 것이 중요합니다.
- 서버, 웹 콘솔, 네이티브 앱 로그를 활성화하고 활용하여 Hotwire Native 컴포넌트의 메시지 전송 및 수신 과정을 면밀히 추적해야 합니다.
- 브릿지 컴포넌트 및 프래그먼트의 올바른 등록과 경로 설정(Path Configuration)의 JSON 유효성 검사는 디버깅 시 흔히 발생하는 오류를 방지하는 핵심 단계입니다.
Hotwire Weekly
2025년 10월 13일
Rails 앱에 브레드크럼 추가하기: 사용자 경험 및 SEO 개선
Adding Breadcrumbs to a Rails Application
- Rails 애플리케이션에 브레드크럼을 추가하여 사용자 내비게이션 및 경험을 향상시키고 SEO를 개선하는 방법을 설명합니다.
- 계층적, 필터 기반, 기록 기반 세 가지 유형의 브레드크럼을 소개하고, ViewComponent를 활용한 구현 방안을 제시합니다.
- 브레드크럼 컴포넌트에 스키마 마크업을 적용하여 검색 엔진이 사이트 구조를 더 잘 이해하고 검색 결과에 노출되도록 돕습니다.
HackerNews
2025년 10월 13일
Papercraft 업데이트: IRB 지원, 버그 수정 및 속도 향상
Noteflakes - Papercraft update: IRB Support, Bug Fixes, More Speed
- Papercraft가 IRB 세션 내에서 즉석 템플릿 정의 및 렌더링을 지원하게 되어 개발 편의성이 크게 향상되었습니다.
- 빈 템플릿 컴파일, 무효(void) 요소 처리, 'apply' 파라미터 핸들링 등 Papercraft의 여러 버그가 수정되어 안정성이 강화되었습니다.
- ERB의 'html_escape' 메서드 구현이 최적화되어 HTML 이스케이핑 속도가 약 35% 빨라졌으며, 이는 전체 Ruby 생태계에 긍정적인 영향을 미칩니다.
The Awesome Ruby
2025년 10월 12일
다중 테넌트 Rails 애플리케이션의 용량 계획 및 메모리 관리 전략
Capacity Planning for Multi-Tenant SQLite Applications
- 다중 사용자 및 SQLite 환경에서 엄격한 메모리 제한으로 인한 용량 계획의 어려움을 분석하고 해결책을 모색합니다.
- Fly.io 환경에서 cgroup v1을 활용하여 Rails 애플리케이션의 테넌트별 메모리 제한을 성공적으로 구현하여 안정성을 확보합니다.
- jemalloc을 통한 메모리 단편화 감소 및 Fly.io의 유휴 머신 서스펜션 기능을 활용하여 자원 효율성을 개선합니다.
Ruby Weekly
2025년 10월 12일
rv 0.2 출시 발표
Announcing rv 0.2
- rv 0.2 버전이 출시되었으며, Ruby, 쉘, 아키텍처 지원이 대폭 확장되었습니다.
- Ruby 3.3이 추가되었고, Ruby 3.3 및 3.4 버전은 YJIT과 함께 재컴파일되어 성능이 향상되었습니다.
- bash, fish, nushell 쉘과 macOS x86, Linux ARM 아키텍처에 대한 지원이 추가되었습니다.
Ruby Weekly
2025년 10월 11일
Internator, 최신 OpenAI Codex v0.46.0으로 업데이트 및 PR 자동화 강화
Internator now works with the latest OpenAI Codex (v0.46.0) - RubyFlow
- Internator는 OpenAI와 연동하여 PR 작업을 자동화하는 Ruby CLI 기반의 가상 인턴 도구입니다.
- 단계별 변경 적용, AI 기반 커밋 메시지 생성, 자동 푸시 등 반복적인 개발 작업을 효율적으로 처리합니다.
- 최신 OpenAI Codex v0.46.0 버전과 새로운 로그인 시스템에 맞춰 업데이트되어 안정성과 성능이 향상되었습니다.
Ruby AI News
2025년 10월 11일
이번 주 Rails 소식: RemoteIp 신뢰 범위 확장 및 has_secure_token 만료 설정 기능 추가 (2025년 10월 10일)
RemoteIp trusts link-local IP ranges, and has_secure_token expiration gets config
- RemoteIp 미들웨어에 링크-로컬 IP 범위가 신뢰 프록시로 추가되었으며, has_secure_password의 토큰 만료 시간을 설정할 수 있는 기능이 도입되었습니다.
- request.variant API가 추가되어 컨텍스트 기반 요청 처리가 가능해졌고, X-Forwarded-For 헤더에 포트가 포함된 IP 주소 처리 로직이 개선되었습니다.
- Rails 초기화 가이드 문서화 PR이 공개되었고, activesupport gemspec에 json gem 의존성이 명시적으로 추가되는 등 전반적인 코드베이스가 개선되었습니다.
RubyOnRails
2025년 10월 10일
Rails 및 Hotwire를 활용한 드래그 앤 드롭 칸반 보드 구현
Create a Kanban board with Rails and Hotwire | Rails Designer
- Rails와 Hotwire를 활용하여 SortableJS, Rails Request.js, Positioning Gem으로 드래그 앤 드롭 칸반 보드를 구현하는 방법을 제시합니다.
- 30줄 미만의 Stimulus 컨트롤러로 컬럼 내/간 카드 정렬 및 위치 업데이트 기능을 효율적으로 처리합니다.
- 폴리모픽 연관 관계를 통해 카드에 다양한 리소스를 연결하여 기능의 재사용성과 유연성을 극대화합니다.
Ruby Weekly
2025년 10월 09일
조용한 수호자: Bundler 체크섬이 애플리케이션에 혁신적인 변화를 가져오는 이유
The Silent Guardian: Why Bundler Checksums Are a Game-Changer for Your Applications
- Bundler 2.6의 체크섬 검증 기능은 RubyGems 공급망 공격으로부터 젬의 무결성을 보호하는 핵심 보안 메커니즘입니다.
- 이 기능은 Gemfile.lock에 기록된 젬의 암호화된 지문(SHA256 체크섬)을 사용하여 설치 시 젬의 변조 여부를 자동으로 감지하고 차단합니다.
- 체크섬 검증은 특히 기존 젬 버전의 변조 공격을 방지하며, 개인 레지스트리의 보안을 강화하여 사용자 및 유지보수자 모두에게 신뢰를 제공합니다.
Rails Upgrade News
2025년 10월 09일
Ruby Central 주간 업데이트: 10월 3일 금요일 현황
Weekly Update — Friday, October 3
- RubyGems.org 운영 서비스는 안정적으로 유지되며, 젬 게시 및 설치는 정상적으로 진행 중입니다.
- 고급 권한은 최소 권한 및 MFA 확인이 완료될 때까지 임시 보류 상태로 유지됩니다.
- Ruby Central은 거버넌스 프레임워크를 초안 작성 중이며, 기업 후원 프로그램을 시작하여 지원을 요청하고 있습니다.
Rails Upgrade News
2025년 10월 09일
실제 Ruby AI: 효과적인 실용 시스템 구축 사례
Real-World Ruby AI: Practical Systems That Work
- Ombulabs는 Rails 업그레이드 자동화 로드맵, 내부 지식 기반 Slack 챗봇, 마케팅 자동화 등 다양한 AI 솔루션을 개발하여 운영 효율성을 높이고 있습니다.
- AI 개발 시 고객의 AI 이해도에 따라 맞춤형 접근 방식을 취하며, LLM의 한계를 인지하고 전통적인 ML 모델이나 규칙 기반 시스템이 더 적합한 경우를 구분합니다.
- 환각(hallucination) 방지를 위해 Guardrails AI와 같은 라이브러리를 활용하고, 에이전트와 워크플로우의 명확한 구분 및 멀티 에이전트 시스템을 통해 복잡한 작업을 처리합니다.
Rails Upgrade News
2025년 10월 09일
Ruby를 활용한 언어 모델: Gavin Morrice 강연 요약
Language models in Ruby
- Gavin Morrice가 ScotRUG에서 발표한 Ruby 기반 언어 모델 구현 및 활용에 대한 강연입니다.
- 강연 슬라이드, Ruby 소스 코드, 관련 서적 및 논문 등 포괄적인 학습 자료를 제공합니다.
- Ruby on Rails 백엔드 엔지니어 등 Cleo의 원격 채용 정보가 포함되어 있습니다.
Ruby AI News
2025년 10월 09일
Kamal 배포를 위한 로컬 Docker 레지스트리 활용 가이드
How to use local Docker registry in Kamal | Deploy Linux Blog
- 로컬 Docker 레지스트리는 DockerHub와 같은 원격 서비스 대신 이미지를 로컬에 저장 및 관리하여 비용 절감, 속도 향상, 보안 강화 및 설정 단순화 등의 이점을 제공합니다.
- Kamal 배포 시 `config/deploy.yml` 파일에서 `registry: server: "localhost:5555"`와 같이 설정하여 로컬 레지스트리를 쉽게 활용할 수 있으며, 이는 Kamal의 메인 브랜치와 Docker 28.3.3 이상 버전에서 지원됩니다.
- Kamal은 `registry` 공식 Docker 이미지를 실행하여 로컬 레지스트리를 구현하며, `kamal registry setup` 및 `kamal registry remove` 명령어를 통해 관리되지만, 로컬 환경에 국한되어 팀 공유에는 제약이 있습니다.
Ruby Weekly
2025년 10월 09일
RubyGems 보안 사고: André Arko의 진실 규명
The RubyGems "Security Incident"
- André Arko는 RubyGems.org 보안 사고에 대한 Ruby Central의 주장이 과장되거나 오해의 소지가 있다고 반박하며, 자신의 행동은 서비스 방어를 위한 것이었음을 강조했습니다.
- Arko는 Ruby Central이 자신의 GitHub 권한 및 AWS 루트 계정 접근 권한을 제거하지 못했으며, 다른 운영팀 공유 자격 증명도 회전시키지 않아 보안 감사 실패를 직접 보고했음을 밝혔습니다.
- Ruby Central은 Arko의 보안 취약점 보고에 늦게 응답하고, 그가 선의로 정보를 제공하는 동안 그를 해킹 혐의로 고발하는 법적 조치를 취했습니다.
HackerNews
2025년 10월 09일