Tuần này trong Rails có nhiều bản sửa lỗi và cải tiến, bao gồm tính năng tùy chọn tuân thủ RFC 9110 cho Accept header, sửa lỗi dotenv liên quan đến comment nội tuyến và lưu trữ đường dẫn, cùng nhiều cải tiến về Active Record, Ractor safety, và các vấn đề khác.
Vì sao nên đọc: Lập trình viên Ruby/Rails nên đọc bài này vì những sửa lỗi quan trọng về sécurit hóa HTTP (Accept headers RFC 9110), đọc file `.env` hiệu quả và an toàn đồng thời (Ractor), giúp tránh các bug nguy hiểm trong ứng dụng.
Nguồn: https://rubyonrails.org/2026/6/26/this-week-in-rails. 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.

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.
Bài viết cung cấp thông tin về độ phức tạp thời gian (time complexity) của các thuật toán, các thuật toán sắp xếp phổ biến và các thao tác trên cấu trúc dữ liệu thường dùng.
Lập trình viên nên đọc bài này để hiểu rõ cách phân tích hiệu suất thuật toán và chọn lựa các giải pháp tối ưu cho vấn đề thực tế, từ đó giảm thiểu thời gian chạy và tối đa hóa hiệu năng ứng dụng.
AlchemyCMS 8.3 has been released with a completely redesigned admin dashboard featuring configurable, lazy-loaded widgets. New wildcard URL support allows dynamic content routing via URL pattern matching. The release also replaces the custom select web component with Tom Select (removing a jQuery dependency), updates TinyMCE to 8.6.0, adds automatic element cache invalidation on related object changes, and includes several developer ergonomics improvements. Breaking changes include removal of the AlchemyHTMLElement base class and soft-removal of Ruby 3.2 from the test matrix. Upgrading requires bumping the gem version and running the built-in upgrader.
A step-by-step guide to migrating a NestJS REST API to tRPC within a pnpm monorepo shared with a Next.js frontend. Covers replacing NestJS controllers with typed tRPC routers using nestjs-trpc, defining Zod input/output schemas, setting up per-request context, implementing protected middleware for auth, generating the AppRouter type via CLI, and wiring up the Next.js client with fully typed hooks. The key benefit demonstrated is compile-time detection of backend-to-frontend type mismatches, eliminating the need for manually maintained type definitions on the client.
Design patterns from the Gang of Four still matter in Ruby, but Ruby's language features change how they're implemented. Duck typing, blocks, modules, and metaprogramming compress many classic patterns into simpler, more idiomatic solutions. For example, the Strategy pattern needs no interfaces or abstract classes in Ruby — duck typing handles it naturally. Blocks replace entire class hierarchies for callbacks, and modules encourage composition over inheritance. The Singleton pattern is built into Ruby's standard library. The key insight is that patterns describe design decisions and shared vocabulary, not specific code templates, so understanding them remains valuable even when Ruby makes the implementations much smaller.
Bài viết hướng dẫn chi tiết cách viết Software Design Document (SDD) hiệu quả dựa trên kinh nghiệm từ Google và Microsoft, bao gồm thời điểm viết, mức độ đầu tư, các phần quan trọng (mục tiêu, bối cảnh, SLOs, monitoring, dependencies, security, logging, v.v.), cùng ví dụ thực tế về thiết kế lớp caching. Ngoài ra, tài liệu cũng chia sẻ cách triển khai SDD qua quá trình review nhóm.
Lập trình viên nên đọc bài này để hiểu cách xây dựng tài liệu thiết kế hiệu quả, từ đó tránh rủi ro trong quá trình phát triển phần mềm và cải thiện chất lượng dự án.
Mike Dalessio, maintainer of nokogiri, loofah, and mechanize, discusses how AI has transformed open source maintenance — particularly around security. He describes a flood of AI-generated vulnerability reports (17 in two weeks vs. single digits per year previously), the shutdown of HackerOne's Internet Bug Bounty program due to AI-generated report volume, and how AI is both useful (repeatable security processes, fuzz-like pattern matching) and harmful (low contributor engagement, security theater). He also reflects on maintainer burnout through the lens of Christina Maslach's burnout research, noting that all six burnout dimensions apply to open source maintainers, and shares coping strategies like slowing down and not treating every security report as an emergency.