4 điểm bởi GN⁺ 2024-12-26 | 2 bình luận | Chia sẻ qua WhatsApp
  • Giống như các năm trước, Ruby 3.4.0 đã được phát hành vào ngày 12/25.

  • Các cập nhật chính bao gồm thêm tham chiếu tham số khối it, chuyển trình phân tích cú pháp mặc định sang Prism, thêm hỗ trợ Happy Eyeballs phiên bản 2 cho thư viện socket, cải thiện YJIT, bổ sung GC mô-đun, v.v.

  • Tham chiếu tham số khối it

    • Đã giới thiệu it, cho phép tham chiếu biến tham số khối mà không cần tên biến. Nó hoạt động tương tự như _1 và rất tiện dụng cho các block đơn giản.
  • Chuyển đổi trình phân tích cú pháp mặc định sang Prism

    • Bộ phân tích cú pháp mặc định đã chuyển từ parse.y sang Prism. Với người dùng sẽ không có thay đổi đáng kể; nếu có vấn đề về tương thích, hãy báo cáo.
  • Happy Eyeballs Version 2 cho thư viện socket

    • Đã bổ sung hỗ trợ Happy Eyeballs Version 2 (RFC 8305) trong thư viện socket, cung cấp kết nối mạng hiệu quả và đáng tin cậy hơn phù hợp với môi trường internet hiện đại.
  • Cải thiện YJIT

    • Có cải thiện hiệu năng trong hầu hết các benchmark, giảm mức sử dụng bộ nhớ, sửa nhiều lỗi và bổ sung các tính năng mới.
  • GC mô-đun

    • Đã bổ sung tính năng GC mô-đun để có thể nạp động các triển khai thu gom rác (GC) thay thế. Cần có Rust toolchain.
  • Thay đổi ngôn ngữ

    • Phát sinh cảnh báo khi literal chuỗi trong file không có comment frozen_string_literal bị thay đổi. Bao gồm nhiều thay đổi khác như hỗ trợ keyword splatting **nil.
  • Cập nhật lớp lõi

    • Bao gồm nhiều cập nhật lớp lõi khác, chẳng hạn cho phép Exception#set_backtrace nhận mảng Thread::Backtrace::Location.
  • Cập nhật thư viện chuẩn

    • Cải thiện hiệu năng và bổ sung tính năng cho nhiều thư viện chuẩn như RubyGems, Bundler, JSON và Tempfile.
  • Các vấn đề tương thích

    • Bao gồm các thay đổi liên quan đến tương thích như thay đổi cách hiển thị thông điệp lỗi và backtrace, thay đổi cách hiển thị Hash#inspect.
  • Cập nhật C API

    • Bao gồm các cập nhật C API như việc loại bỏ các hàm rb_newobjrb_newobj_of.
  • Thay đổi khác

    • Bao gồm nhiều thay đổi khác, chẳng hạn như cảnh báo khi truyền một block không dùng tới cho một phương thức.

2 bình luận

 
GN⁺ 2024-12-26
Ý kiến Hacker News
  • Việc đổi mới bộ phân tích cú pháp của Ruby rất đáng mong đợi. Trước đây người ta dạy dùng yacc, nhưng giờ Ruby đã bước vào nhóm ngôn ngữ có bộ parser viết tay.

    • Việc thay thế parse.y 16k dòng bằng prism.c 22k dòng là một bước đi khá táo bạo.
  • Phiên bản Ruby 3.4.1 đã lỗi thời rồi.

  • Hiệu năng của Ruby, đặc biệt trong vài năm gần đây, đã cải thiện đáng kể. Kể từ bản 3.3 trở đi, tôi chạy mọi app với tùy chọn --yjit, và thấy sự khác biệt rất rõ.

  • Chiến lược của Shopify cũng giống với câu chuyện về YJIT: nếu không thể refactor service, họ sẵn sàng refactor Ruby.

  • Việc cải thiện hiệu năng ở mức JIT và GC là một điểm cộng rất đáng mừng.

  • Như truyền thống Giáng sinh mỗi năm, tôi rất mong chờ bản phát hành Ruby.

  • Mỗi năm cuối năm, tôi thường cập nhật các ứng dụng Rails, và gần đây việc cập nhật dễ dàng hơn nhờ nó ổn định hơn và hiệu năng tốt hơn.

  • Gửi lời chúc mừng và cảm ơn đội ngũ Ruby.

  • Sau thông tin về Rails 8 tôi muốn thử Ruby nhưng đã bỏ cuộc vì việc cài đặt quá khó.

    • Việc cài đặt Ruby 3.3 trên cả Mac và Windows đã là một thử thách lớn.
    • Cần phải chỉnh sửa version trong Docker, và cũng có vấn đề ở devContainers nữa.
    • Sau khi cài xong, trong VSCode và các editor khác, cú pháp tô sáng của các file html.erb trong Rails bị hỏng hoàn toàn.
    • Tôi đã cố gắng tìm giải pháp trực tuyến nhưng thất bại, nên cuối cùng buộc phải dừng lại.
    • Tôi đã thử trên Mac, Windows và Linux nhưng đều không thành công; nếu ai đó giải quyết được vấn đề này thì sẽ là một món quà Giáng sinh.
 
eajrezz 2024-12-26

Sau khi có tin về Rails 8, tôi muốn thử Ruby, nhưng quá trình cài đặt quá khó nên tôi đã bỏ cuộc.

Trên macOS có một script giúp cài đặt Rails rất dễ dàng. =>
https://rails.new/