
This week's Rails codebase changes include: a new this_quarter? method on Date/Time that returns true if the date falls within the current quarter; a new ActiveJob::DeserializationError::RecordNotFound exception for missing records during argument deserialization; introduction of Rails::Application#ractorize! to prepare apps for Ractor sharing; a fix for ActionController::Live streams hanging on client disconnect due to a missing terminator in the buffer abort path; support for endless and beginless ranges in number_field_tag and range_field_tag; a fix for color_field ignoring explicit value: nil; and deprecation of the ActionController::Renderers::RENDERERS constant in favor of the public API. 26 contributors participated this week.
Nguồn: https://world.hey.com/this.week.in.rails/date-this_quarter-and-more-375a34b2. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
RubyGems 4.0.16 và Bundler 4.0.16 đã được phát hành, trong đó RubyGems tích hợp sẵn Bundler 4.0.16 và sửa lỗi tương thích với BSD make, còn Bundler cải tiến hỗ trợ mật mã hậu lượng tử (PQC) và khắc phục nhiều lỗi trên Windows.
Lập trình viên cần đọc để cập nhật kiến thức về các cải tiến mới trong RubyGems và Bundler, đặc biệt là PQC (tương lai bảo mật chống máy tính lượng tử) và cách tối ưu hóa việc quản lý dự án, tránh lỗi phổ biến như lỗi đường dẫn Windows hoặc file lockfile không tương thích.
Hanami 3.0, phiên bản lớn mới của framework web Ruby, vừa được phát hành với nhiều cải tiến quan trọng như mailers, hỗ trợ i18n, tích hợp Minitest, và tối ưu hiệu suất đáng kể. Bản phát hành này là kết quả của 8 tháng làm việc liên tục, hơn 150 pull request, cùng hai gem mới và tài liệu hướng dẫn mở rộng, kèm theo bản vá 3.0.1 và bộ benchmark công khai.
Lập trình viên Ruby nên đọc bài này vì Hanami 3.0 mang đến những cải tiến mạnh mẽ về hiệu suất và tính đa quốc gia, giúp tối ưu hóa ứng dụng web cho các dự án hiện đại và mở rộng khả năng phát triển với các tính năng mới như tích hợp Minitest và công cụ logging chuyên dụng.

Hướng dẫn tạo lệnh gạch chéo (skills) cho Claude nhằm truy vấn dữ liệu ứng dụng Rails sản xuất. Ví dụ xây dựng lệnh /analytics biến Claude thành nhà phân tích dữ liệu, chạy truy vấn ActiveRecord chỉ đọc qua bin/rails runner để trả lời câu hỏi kinh doanh về khách hàng, đơn hàng và doanh thu. Tệp lệnh thiết lập quy tắc nghiêm ngặt: chỉ truy vấn đọc, kiểm tra lược đồ trước, giới hạn 5–6 bước truy vấn lặp, và chuyển đổi tiền tệ từ cent sang dollar khi hiển thị.
Lập trình viên cần đọc bài này để học cách tích hợp các công cụ AI vào ứng dụng Rails một cách hiệu quả, giúp tự động hóa phân tích dữ liệu và trả lời câu hỏi kinh doanh mà không cần viết thêm mã thủ công.
Bài viết hướng dẫn triển khai sáu mẫu thiết kế cổ điển (Factory, Builder, Adapter, Decorator, Proxy, Facade) theo phong cách Ruby, sử dụng các tính năng ngôn ngữ như duck typing, modules, tap và SimpleDelegator để giảm boilerplate. Ruby ưu tiên composition hơn inheritance, điều này thể hiện xuyên suốt các mẫu thiết kế được trình bày.
Lập trình viên Ruby nên đọc bài này để hiểu cách áp dụng các mẫu thiết kế classic theo phong cách Ruby hiện đại, tiết kiệm thời gian và tránh sự phức tạp của các ngôn ngữ khác nhờ sự linh hoạt của duck typing và prefer composition over inheritance.

Thay vì tạo lớp ActiveJob mỏng để gọi phương thức đơn lẻ trong file recurring.yml, lập trình viên Ruby on Rails có thể sử dụng khóa command: để gọi trực tiếp phương thức lớp Ruby thuần. Cách này giảm boilerplate, giữ logic trong đối tượng Ruby thuần, và chỉ cần worker cấu hình cho queue solid_queue_recurring. Có thể ghi đè queue cho mỗi tác vụ.
Lập trình viên Ruby on Rails nên đọc bài này để tiết kiệm thời gian và tránh việc tạo lớp ActiveJob thừa khi chỉ cần xử lý nhiệm vụ định kỳ đơn giản, đồng thời tối ưu hóa cấu trúc mã bằng cách sử dụng Solid Queue một cách hiệu quả.
Bảng tham chiếu tương thích này liệt kê phiên bản JRuby từ 9.2 đến 10.1, bao gồm mức ngôn ngữ Ruby, phiên bản Java tối thiểu và phiên bản Rails hỗ trợ. JRuby 10 cải thiện thời gian khởi động nhờ AppCDS và Project CRaC, trong khi lợi thế của JRuby so với CRuby MRI bao gồm đa luồng thực sự (không có GVL), truy cập hệ sinh thái JVM và triển khai dưới dạng một artifact duy nhất.
Lập trình viên phát triển ứng dụng Rails cần tham khảo bảng so sánh này để chọn phiên bản JRuby phù hợp với yêu cầu Ruby version, Java cốt lõi và Rails version, giúp tối ưu hiệu năng, tương thích và triển khai nhanh chóng.
A guide to setting up open-source, self-hosted Application Performance Monitoring (APM) for Rails applications, covering the three pillars of observability: traces, metrics, and logs. It walks through using OpenTelemetry with Jaeger or Zipkin for tracing, Prometheus with yabeda-prometheus for metrics, and Loki for log aggregation, with Grafana or Kibana as unified visualization layers. Also covers simpler alternatives like the rails_performance gem (Redis-backed) and solid_telemetry (SQLite-backed) for smaller apps that don't need a full external stack.

Số 808 của Ruby Weekly đề cập nhiều cập nhật trong hệ sinh thái Ruby và Rails, bao gồm trang thống kê mới của RubyGems chạy trên ClickHouse, đề xuất tối ưu hóa cấp phát chuỗi trong CRuby của Aaron Patterson, và bản phát hành mới như Extralite 3.0, AASM 6.0 cùng Lexxy (trình soạn thảo văn bản giàu hiện đại của 37signals).
Nếu bạn đang làm việc với Ruby, Rails hoặc hệ sinh thái phát triển ứng dụng web, bài này sẽ giúp bạn cập nhật những tiến bộ mới về hiệu năng, tính năng mới và giải pháp thực tế từ các công cụ và thư viện quan trọng, từ đó tối ưu hóa công việc và tránh những lỗi phổ biến như Sidekiq.