thảo luận Tương lai của Ruby 3.0.

Ông lớn thì ngoài Shopify ra thì Github cũng dùng Rails
https://github.blog/2019-09-09-running-github-on-rails-6-0

Nhìn chung scale lớn lớn lên thì Ruby/Rails sẽ có vấn đề (chủ yếu là performance, nhưng mà tốn kém để scale chứ không phải không scale, app to thì cũng chỉ cỡ Shopify, Github là cùng) rồi bị chửi, rồi tách ra các service bằng các ngôn ngữ khác để migrate dần. Nhưng build sản phẩm ban đầu (startup) thì Ruby/Rails vẫn là ngon, các startup một thời: Gitlab, Stripe, Zendesk, ThemeForest, Fiverr, Dribbble, SlideShare, Indiegogo... cũng built từ Rails mà thành công cả.

Cơ mà cái gì cũng có thời của nó, dân IT thì hay thích cái mới/trào lưu và Ruby/Rails giờ là thoái trào rồi.
 
Ông lớn thì ngoài Shopify ra thì Github cũng dùng Rails
https://github.blog/2019-09-09-running-github-on-rails-6-0

Nhìn chung scale lớn lớn lên thì Ruby/Rails sẽ có vấn đề (chủ yếu là performance, nhưng mà tốn kém để scale chứ không phải không scale, app to thì cũng chỉ cỡ Shopify, Github là cùng) rồi bị chửi, rồi tách ra các service bằng các ngôn ngữ khác để migrate dần. Nhưng build sản phẩm ban đầu (startup) thì Ruby/Rails vẫn là ngon, các startup một thời: Gitlab, Stripe, Zendesk, ThemeForest, Fiverr, Dribbble, SlideShare, Indiegogo... cũng built từ Rails mà thành công cả.

Cơ mà cái gì cũng có thời của nó, dân IT thì hay thích cái mới/trào lưu và Ruby/Rails giờ là thoái trào rồi.
Đúng là thoái trào thật. Bây giờ người ta theo trend statically-typed language như Go, Rust hoặc đổi qua Python chứ RoR các start up cũng ít dùng dần.

Scale của Ruby on Rails tốn resource hơn vì chạy multi-process như kiểu Puma hay Unicorn tốn resources ban đầu khá nhiều để chạy main process quản lý (vài trăm MB RAM và vài trăm millicore CPU) nếu so sánh với các ngôn ngữ khác chỉ cần chạy binary file.

Để scale lên được thì Stripe, Shopify hay Github đều phải customize reference implementation của Ruby chứ không dùng Ruby chuẩn từ MRI hay YARV được.
 
Qua nay đang search mà k có nhiều thông tin. Là dùng nó với xu thế iOt đang thịnh hiện tại, ít thấy ai làm nhỉ. Toàn qua python ko
 
Vậy hiện tại nó dùng rails để làm core. Xung quanh nó sẽ dùng thêm các ngôn ngữ khác để làm microservice

Chả biết sao, bọn này chạy công nhận nhanh thật đó.

Haravan với sapo cũng tương tự
Rails nếu dùng chạy CRUD thì rất nhanh mà bạn, không thua các framework của các ngôn ngữ khác. Nó chỉ kém khoản concurrency thôi.
 
Qua nay đang search mà k có nhiều thông tin. Là dùng nó với xu thế iOt đang thịnh hiện tại, ít thấy ai làm nhỉ. Toàn qua python ko
IoT thì thường đi kèm với data analytics, mà python có rất nhiều libraries phục vụ sẵn cho data analytics. Như vậy lúc implement backend cho IoT thì dùng python sẽ tiện hơn vì cả team đều dùng python thay vì học thêm ngôn ngữ mới.
 
Rails nếu dùng chạy CRUD thì rất nhanh mà bạn, không thua các framework của các ngôn ngữ khác. Nó chỉ kém khoản concurrency thôi.
Mình đang làm quen 1 hệ thống trên ruby, nó đòi RAM cao quá :(. chưa có truy cập cũng thấy nhanh đó

Để thời gian xem sao, do mới bước chân vô thằng này.
 
IoT thì thường đi kèm với data analytics, mà python có rất nhiều libraries phục vụ sẵn cho data analytics. Như vậy lúc implement backend cho IoT thì dùng python sẽ tiện hơn vì cả team đều dùng python thay vì học thêm ngôn ngữ mới.
à à, nhưng thằng ruby có ai từng làm bên đó chưa nhỉ. Cái này hỏi thật, vì nhu cầu cũng chỉ để đọc sổ liệu từ các cảm biến thôi

Với lại hình như ruby nó k tác động được các thiết bị ngoại vi phải k
 
Mình đang làm quen 1 hệ thống trên ruby, nó đòi RAM cao quá :(. chưa có truy cập cũng thấy nhanh đó

Để thời gian xem sao, do mới bước chân vô thằng này.
Mình nghĩ thường hệ thống chạy multi-process thì mới cần nhiều RAM (vì mỗi process dùng isolated memory). Mà ruby chỉ chạy single thread nên nếu muống concurrency phải chạy multi process dẫn tới ngốn RAM
 
à à, nhưng thằng ruby có ai từng làm bên đó chưa nhỉ. Cái này hỏi thật, vì nhu cầu cũng chỉ để đọc sổ liệu từ các cảm biến thôi

Với lại hình như ruby nó k tác động được các thiết bị ngoại vi phải k
Google ruby for IoT thấy được cái này là first result http://artoo.io/

Tác động thiết bị ngoại vi là tác động thế nào bạn. Thường là do protocol giữa devices và server có được implemented bằng ngôn ngữ đó không thôi chứ. Mà mình nghĩ bình thường đều dùng TCP hoặc UDP cả thì tại sao ruby lại không được nhỉ? Hay là bạn đề cập tới 1 protocol khác.
 
Mình nghĩ thường hệ thống chạy multi-process thì mới cần nhiều RAM (vì mỗi process dùng isolated memory). Mà ruby chỉ chạy single thread nên nếu muống concurrency phải chạy multi process dẫn tới ngốn RAM
8GB mà k xi nhê với nó luôn. Mới cài 3 con app mà muốn khóc lên 16GB rồi.

TƯơng lai nâng thêm ssd với ram cho nó. Tốn tiền quá

Mà bọn này ít nâng cấp quá nhỉ, rề rề vài năm có 1 vài update. Đâu như mấy thằng khác, nâng cấp liên tục
 
Google ruby for IoT thấy được cái này là first result http://artoo.io/

Tác động thiết bị ngoại vi là tác động thế nào bạn. Thường là do protocol giữa devices và server có được implemented bằng ngôn ngữ đó không thôi chứ. Mà mình nghĩ bình thường đều dùng TCP hoặc UDP cả thì tại sao ruby lại không được nhỉ? Hay là bạn đề cập tới 1 protocol khác.
Thiết bị ngoại vi, như mình cắm module sim vô rasberry đi, sau đó dùng lệnh để tác động vô module sim đó để gửi

Hoặc cảm biến về nhiệt độ, nó sẽ nhận được kết quả của cảm biến đó mà lưu db. Kiểu vậy đó ấy
 
8GB mà k xi nhê với nó luôn. Mới cài 3 con app mà muốn khóc lên 16GB rồi.

TƯơng lai nâng thêm ssd với ram cho nó. Tốn tiền quá

Mà bọn này ít nâng cấp quá nhỉ, rề rề vài năm có 1 vài update. Đâu như mấy thằng khác, nâng cấp liên tục
Ngôn ngữ nó cũng khá mature rồi nên ít update. Bây h chỉ có chạy trend thêm Statically Type check với Concurrency vào Ruby 3.x thôi

8GB RAM thì nhiều khi là system của mình không optimize chứ không phải do Ruby đâu nhé :LOL:)
 
Ngôn ngữ nó cũng khá mature rồi nên ít update. Bây h chỉ có chạy trend thêm Statically Type check với Concurrency vào Ruby 3.x thôi

8GB RAM thì nhiều khi là system của mình không optimize chứ không phải do Ruby đâu nhé :LOL:)
Document nó yêu cầu luôn mà, min phải 8GB
 
Thiết bị ngoại vi, như mình cắm module sim vô rasberry đi, sau đó dùng lệnh để tác động vô module sim đó để gửi

Hoặc cảm biến về nhiệt độ, nó sẽ nhận được kết quả của cảm biến đó mà lưu db. Kiểu vậy đó ấy
Trường hợp 1: bạn có thể gửi command qua TCP hoặc HTTP server trên rasberry rồi tác động vào module sim được mà?

Trường hợp 2: cảm biến gửi data về server cũng qua TCP thôi mà. Hay mình đang hiểu sai gì nhỉ?
 
Trường hợp 1: bạn có thể gửi command qua TCP hoặc HTTP server trên rasberry rồi tác động vào module sim được mà?

Trường hợp 2: cảm biến gửi data về server cũng qua TCP thôi mà. Hay mình đang hiểu sai gì nhỉ?
Ko, ý mình ruby nó tác động trực tiếp vô luôn

Ruby được cài đặt trên rasberry, và nó tác động vô sim để gửi. Như thằng python nó đang làm vậy á, nó có module để làm luôn

Trường hợp 2: cũng vậy. Cảm biến có số liệu rồi thằng ruby nó nhận trưc tiếp số liệu luôn. Y như thằng C,C++ nó làm ấy
 
Ko, ý mình ruby nó tác động trực tiếp vô luôn

Ruby được cài đặt trên rasberry, và nó tác động vô sim để gửi. Như thằng python nó đang làm vậy á, nó có module để làm luôn

Trường hợp 2: cũng vậy. Cảm biến có số liệu rồi thằng ruby nó nhận trưc tiếp số liệu luôn. Y như thằng C,C++ nó làm ấy
À à nếu chạy app Ruby trên rasberry thì mình chưa gặp bao h.
 
Back
Top