OpenGuild và Polkadot Đông Nam Á
OpenGuild là cộng đồng dành cho các nhà phát triển trên Web 3.0 có niềm đam mê với công nghệ của Polkadot
Building Rust
Production-ready system
Lịch sử của Rust và vấn đề C/C++ trong công nghệ hiện đại
Until late 2018 | From that point onward |
Rust là ngôn ngữ lập trình hệ thống chạy cực kỳ nhanh, ngăn ngừa lỗi segmentation fault, và đảm bảo an toàn cho luồng thực thi. | Giúp đỡ cho lập trình viên xây dựng phần mềm đáng tin cậy và hiệu quả. |
Ứng dụng thực tế của
RUST
trong hệ thống lớn
Discord
Thông số tài nguyên của Discord
với ngôn ngữ Go
Tại sao Go không đáp ứng được
nhu cầu về hiệu năng của Discord?
Đội ngũ Discord đã chuyển sang sử dụng Rust cho Read State Service của họ. Rust không có garbage collector, vì vậy họ cho rằng nó sẽ không gặp các vấn đề về độ trễ như Go.
Rust sử dụng một phương pháp quản lý bộ nhớ tương đối độc đáo mà tích hợp ý tưởng về "sở hữu bộ nhớ (ownership)".
Đơn giản là, Rust theo dõi ai có thể đọc và ghi vào bộ nhớ. Nó biết khi chương trình đang sử dụng bộ nhớ và ngay lập tức giải phóng bộ nhớ khi nó không còn cần thiết nữa. Rust thực thi các quy tắc về bộ nhớ tại thời điểm biên dịch, làm cho việc xảy ra lỗi bộ nhớ trong thời gian chạy gần như là không thể. Bạn không cần phải theo dõi bộ nhớ thủ công. Trình biên dịch sẽ lo việc đó.
Firecracker
Bài viết từ Amazon
Firecracker có gì hay ho và tại sao Firecracker lại sử dụng Rust?
Firecracker là một công nghệ ảo hóa mã nguồn mở được thiết kế đặc biệt để tạo và quản lý các dịch vụ đa người dùng và dựa trên container và chức năng một cách an toàn.
Firecracker cho phép bạn triển khai công việc trong các máy ảo nhẹ, gọi là microVMs, cung cấp tính bảo mật nâng cao và cô lập công việc hơn các VM truyền thống, đồng thời cho phép tốc độ và hiệu quả tài nguyên của các container. Firecracker được phát triển tại Amazon Web Services để cải thiện trải nghiệm của khách hàng với các dịch vụ như AWS Lambda và AWS Fargate.
Firecracker được sử dụng hoặc tích hợp với (theo thứ tự chữ cái): appfleet, containerd qua firecracker-containerd, Fly.io, Kata Containers, Koyeb, Northflank, OpenNebula, Qovery, UniK, Weave FireKube (qua Weave Ignite), webapp.io và microvm.nix. Firecracker có thể chạy các máy khách Linux và OSv. Đường lối phát triển mới nhất của chúng tôi có thể được tìm thấy tại đây.
Zed Editor
RETH
Rust Ethereum (RETH)
Reth (viết tắt của Rust Ethereum, cách phát âm) là một phiên bản mới của Ethereum full node được tập trung vào việc thân thiện với người dùng, cực kỳ linh hoạt, cũng như nhanh chóng và hiệu quả.
Reth là một Execution Layer (EL) và tương thích với tất cả các phiên bản Ethereum Consensus Layer (CL) hỗ trợ Engine API. Nó được xây dựng và đẩy mạnh ban đầu bởi Paradigm, và được cấp phép theo các giấy phép Apache và MIT.
Ứng dụng thực tế của
RUST
trong BLOCKCHAIN
Các Blockchain sử dụng Rust
Solana
Ethereum
Casper Network
Polkadot
Nếu cơ thể có 70 % là nước
Nước bao phủ 71% bề mặt Trái Đất
Polkadot có 98.9% được viết bằng Rust
Ví dụ cụ thể:
Parity Technologies - Polkadot SDK
Ví dụ cụ thể: RETH
Ethereum Execution Layer viết bằng Rust
Vì sao Rust phù hợp cho Blockchain?
Less Error-prone
Backward-compatibility
High Performance
Fearless Concurrency
Tính năng nổi bật
Vì sao Rust có hiệu năng và tốc độ cao?
Direct Compilation to Machine Code with LLVM
Efficient Stack Allocation
without Runtime
Khái niệm an toàn luồng trong Rust để giải quyết các vấn đề của C/C++
Quản lý bộ nhớ
Các chương trình cần phải theo dõi bộ nhớ.
Rust sử dụng mô hình “sở hữu” để quản lý bộ nhớ.
Bộ nhớ có thể được "chuyển nhượng" hoặc "mượn".
Ownership
Dữ liệu trong Rust luôn có một chủ sở hữu.
Dữ liệu có thể được chuyển nhượng (di chuyển) từ một chủ sở hữu này sang một chủ sở hữu khác.
Có khả năng "mượn" dữ liệu từ một chủ sở hữu.
Lifetimes
Đây là cách thông báo cho trình biên dịch rằng dữ liệu mượn sẽ còn hợp lệ tại một thời điểm cụ thể trong chương trình.
Cần thiết khi:
Mọi dữ liệu đều có lifetime:
Lifetimes
Open-Rust Course
Register Here
Learn more about OpenGuild
Join Here