Outline
References:
Chương 1: Cài đặt
- Cài đặt
curl -sSfL https://www.shuttle.rs/install | bash
- Tạo project đầu tiên
curl -sSfL https://www.shuttle.rs/install | bash
Bài này chúng ta sẽ tìm hiểu các thao tác với File, Directory và xử Text trong Rust. Đây là các kỹ năng cần thiết
Gồm 4 lớp chính:
Presentation: Chứa các UI, API, giao diện người dùng. Lớp này phụ thuộc vào Application layer.
Application: Chứa các business logic. Lớp này phụ thuộc vào Domain layer.
Domain: Chứa các domain model. Đây là trung tâm của hệ thống, chứa các thực thể, trạng thái, logic nghiệp vụ.
Infrastructure: Chứa các technical detail như database, messaging, caching, ... Lớp này phụ thuộc vào Domain layer.
Cách sử dụng
app layer và ifras sử ụng domain, presentation sẽ giao tiếp với app layer
[dependencies]
serde = { version = "1.0.204", features = ["derive"] }
async-trait = "0.1.81"
diesel = { version = "2.2.1", features = ["postgres", "r2d2"] }
dotenv = "0.15.0"
r2d2 = "0.8.10"
actix-web = "4.8.0"
log = "0.4.22"
env_logger = "0.11.3"
.env
DATABASE_URL=postgres://rustddd:rustddd2024@45.119.83.244:6432/rust_ddd
cargo binstall diesel_cli
cargo install diesel_cli
May be we get an error and need to install
Compiling unicode-normalization v0.1.23
error: failed to run custom build command for `mysqlclient-sys v0.4.0`
Caused by:
process didn't exit successfully: `/tmp/cargo-installyi3JQ9/release/build/mysqlclient-sys-8ed54e8ffd0676e2/build-script-build` (exit status: 101)
>>
sudo apt-get install libmysqlclient-dev
cargo install diesel_cli --no-default-features --features postgres
Tham khảo link