Ruby's issue tracker FAQ links to David Goldberg's 1991 paper on floating-point arithmetic because the underlying problem — IEEE 754 binary representation of decimal values — hasn't changed. Many decimal values like 0.1 and 0.9 cannot be represented exactly in binary, causing unexpected results when comparing floats with ==. Ruby offers three numeric types to address this: Float for scientific work where small errors are acceptable, BigDecimal for exact decimal arithmetic in financial applications, and Rational for precise fractional math. The core recommendation is to choose the right numeric type for your domain rather than treating floating-point surprises as Ruby bugs.
Nguồn: https://rubystacknews.com/2026/07/08/why-rubys-issue-tracker-still-links-to-a-1991-paper-about-floating-point-numbers. 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.
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.
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.
Extralite 3.0.0, một thư viện Ruby cho SQLite, bổ sung tính năng biến đổi đồ thị đối tượng (object graph transforms) giúp chuyển đổi kết quả SQL phẳng thành cấu trúc lồng nhau mà không cần ORM. Phiên bản này cũng thay đổi mặc định SQLite sang WAL journaling, bật ràng buộc khóa ngoại, đồng thời chặn tải extension qua SQL thô, yêu cầu dùng phương thức Database#load_extension để bảo mật.
Nếu bạn đang tìm kiếm cách tối ưu hóa việc quản lý dữ liệu trong Ruby mà không cần ORM phức tạp, Extralite 3.0.0 sẽ giúp bạn chuyển đổi kết quả SQL thành cấu trúc đối tượng liên kết tự động, tiết kiệm thời gian và tránh rủi ro khi làm việc với các mối quan hệ dữ liệu phức tạp.
A Ruby on Rails podcast episode featuring Kyle D'Oliveira discussing topics related to Fibonacci, likely covering programming concepts or problem-solving in the Rails ecosystem. The episode runs approximately 26 minutes.
A security advisory (CVE-2026-38969) has been published for the Ruby WEBrick web server library through version 1.9.2. The vulnerability involves WEBrick reparsing trailer Content-Length headers into canonical request state, which enables HTTP request smuggling attacks. No patched versions are currently available.
Markus Schirp, creator of the mutant gem, discusses mutation testing in Ruby and how it can help verify code correctness — especially relevant as AI-generated code becomes more prevalent. The episode explores how mutation testing works and why it may be a valuable tool for catching bugs that traditional test suites miss.