در اینجا نحوه ایجاد UUID در Rust با و بدون استفاده از جعبه های شخص ثالث آورده شده است.
UUID ها (Universally Unique Identifiers) وسیله ای قابل اعتماد برای شناسایی منحصر به فرد اشیاء در سیستم های توزیع شده هستند زیرا نیاز به هماهنگی متمرکز را از بین می برند. UUID ها یکپارچگی داده ها را تقویت می کنند و قابلیت همکاری بین سیستم ها را با منحصر به فرد بودن و ماهیت مقاوم در برابر برخوردشان ارتقا می دهند.
Rust در زمینه هایی که شناسه های منحصر به فرد ضروری هستند، از جمله شبکه سازی، ساخت برنامه های کاربردی وب و سیستم های توزیع شده محبوب است. جعبه های زیادی برای تولید و سفارشی سازی UUID با Rust وجود دارد، به علاوه می توانید کد Rust را برای اجرای دستور uuid بر روی دستگاه خود بنویسید و یک UUID را بازیابی کنید.
تولید UUID با uuid Crate
جعبه uuid محبوب ترین ابزار برای تولید UUID در Rust است.
جعبه uuid را به عنوان یکی از وابستگی های پروژه خود در فایل Cargo.toml خود اضافه کنید:
[dependencies]
uuid = { version = "0.8", features = ["serde", "v4"] }
تولید UUID با بسته ساده است. میتوانید از تابع new_v4 برای تولید UUID نسخه چهار استفاده کنید:
use uuid::Uuid;
fn main() {
// new_v4 generates a version 4 UUID
let my_uuid = Uuid::new_v4();
println!("{}", my_uuid);
}
تابع main یک UUID جدید با تابع new_v4 تولید می کند و UUID را با println روی کنسول چاپ می کند! کلان.
میتوانید نسل UUID خود را با ماژولهای Builder و Version جعبههای uuid سفارشی کنید.
در اینجا نحوه ایجاد یک UUID RFC4122 از یک نسخه تصادفی با جعبه uuid آورده شده است:
// Import the necessary modules from the uuid crate
use uuid::{Builder, Version};
fn main() {
// Create a new Builder and initialize it with an array of 16 zero bytes
let uuid_result = Builder::from_bytes([0; 16])
// Set the UUID version to Random
.set_version(Version::Random)
// Set the UUID variant to RFC4122
.set_variant(uuid::Variant::RFC4122)
// Build the UUID
.build();
// Print the customized UUID in hyphenated format
println!("Customized UUID: {}", uuid_result.to_hyphenated());
}
تابع اصلی UUID را با یک نمونه Builder جدید ایجاد می کند که با تابع from_bytes ایجاد شده است که آرایه ای از شانزده بایت را به عنوان آرگومان می گیرد (در این مورد، آرایه ای از صفر). سازنده، نسل UUID را با تنظیم نسخه روی Random و نوع آن روی RFC4122 پیکربندی می کند.
در نهایت، تابع main UUID را با فراخوانی متد ساخت در سازنده میسازد و UUID را در کنسول چاپ میکند.
تولید UUID با اجرای دستور UUID
ممکن است برای تولید UUID به وابستگی های شخص ثالث در Rust نیاز نداشته باشید، به خصوص اگر قصد سفارشی کردن UUID را بر اساس مورد استفاده خود نداشته باشید. اکثر سیستم عامل ها یک ابزار تولید UUID نصب کرده اند که اکثر برنامه ها برای تولید UUID آن را فراخوانی می کنند. می توانید کد Rust را برای اجرای ابزار خط فرمان UUID بنویسید و UUID را برای برنامه خود بازیابی کنید.
می توانید از ماژول داخلی Rust std::process::Command برای ایجاد و تعامل با فرآیندهای جدید استفاده کنید. برای تولید UUID با ماژول Command، باید نام ابزار تولید UUID را در سیستم عامل خود شناسایی کنید. در macOS، ابزار تولید UUID uuigen نام دارد.
در اینجا نحوه تولید و بازیابی UUID از کد Rust با اجرای دستور uuidgen با ماژول Command آورده شده است:
use std::process::Command;
fn generate_uuid() -> Result<String, std::io::Error> {
let output = Command::new("uuidgen").output()?;
let uuid = String::from_utf8_lossy(&output.stdout).into_owned();
Ok(uuid)
}
fn main() {
match generate_uuid() {
Ok(uuid) => println!("Generated UUID: {}", uuid),
Err(e) => eprintln!("Error generating UUID: {}", e),
}
}
تابعgene_uuid نسخه رشته ای UUID و یک خطا را برمی گرداند. تابعgene_uuid یک فرآیند جدید را با روش جدید ماژول Command ایجاد می کند، خروجی را با تابع خروجی بازیابی می کند و UUID را به رشته ای با تابع from_utf8_lossy تبدیل می کند.
تابع اصلی تابع generate_uuid را با یک دستور مطابقت فراخوانی می کند، خطا را مدیریت می کند و UUID یا یک پیام خطا را بر اساس وضعیت عملیات خروجی می دهد.
شما می توانید برنامه های وب پیچیده با Rust بسازید
UUID ها در توسعه نرم افزارهای امروزی بسیار مهم هستند. اکثر برنامه های روزمره شما از UUID استفاده می کنند و ابزارهای تولید UUID در اکثر سیستم عامل ها از جمله Microsoft Windows، Linux، و macOS نصب شده اند.
می توانید از UUID برای شناسایی کاربران برنامه های وب خود استفاده کنید. این یک راه عالی برای اطمینان از داشتن یک شناسه منحصر به فرد کاربران است که می توانند از آن برای ردیابی فعالیت خود استفاده کنند. علاوه بر این، می توانید از UUID ها برای شناسایی اشیاء دیگر در برنامه وب خود، از فایل ها گرفته تا اسناد و محصولات، استفاده کنید.