पोर्टफोलियो में Rust: 5 प्रोजेक्ट जो किसी भी नियोक्ता को प्रभावित करेंगे

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

क्यों Rust आपके पोर्टफोलियो में एक तुरुप का पत्ता है

\n\n

यदि आप यह लेख पढ़ रहे हैं, तो संभवतः आप पहले से ही जानते हैं कि Rust सिर्फ एक और फैशनेबल भाषा नहीं है। यह एक ऐसी तकनीक है जिसे FAANG और ट्रेंडी स्टार्टअप में पसंद किया जाता है। लेकिन रिज्यूमे में "Rust जानता हूँ" कहना एक बात है, और एक काम करता प्रोजेक्ट दिखाना बिल्कुल दूसरी बात है। पोर्टफोलियो के बिना, शानदार कोड भी टेक्स्ट एडिटर में सिर्फ टेक्स्ट बनकर रह जाएगा।

\n\n

इस लेख में हम सिंटैक्स पर चर्चा नहीं करेंगे या आपको मूल बातें नहीं सिखाएंगे। हम आगे बढ़ेंगे: मैं आपको 5 वास्तविक प्रोजेक्ट विचार दिखाऊंगा जो बाजार की जरूरतों को पूरा करेंगे और भर्तीकर्ता को आपके रिज्यूमे पर क्लिक करने पर मजबूर कर देंगे। हर प्रोजेक्ट सिर्फ एक "टू-डू" नहीं है, बल्कि एक पूर्ण उपकरण है जिसे आप साक्षात्कार में दिखा सकते हैं या GitHub पर अपलोड कर सकते हैं।

\n\n

बोनस: मैंने कोड उदाहरण जोड़े हैं ताकि आप तुरंत शुरू कर सकें। चलिए शुरू करते हैं!

\n\n

प्रोजेक्ट #1: लॉग विश्लेषण के लिए CLI उपयोगिता

\n\n

Rust की दुनिया में प्रवेश करने का सबसे तेज़ तरीका कमांड लाइन के लिए कुछ उपयोगी लिखना है। CLI उपयोगिताएँ Rust डेवलपर के लिए रोटी और मक्खन की तरह हैं। वे तेज़, सुरक्षित हैं और std::fs, clap और त्रुटि प्रबंधन के साथ काम करने के कौशल प्रदर्शित करने के लिए आदर्श हैं।

\n\n

यह प्रोजेक्ट क्या करता है?

\n

उपयोगिता log-analyzer लॉग वाली टेक्स्ट फ़ाइल (जैसे Nginx या आपके एप्लिकेशन से) पढ़ती है और आँकड़े देती है: त्रुटियों की संख्या, सबसे सामान्य IP पते, समय टिकट। यह सब टर्मिनल में रंगीन आउटपुट के साथ।

\n\n

पोर्टफोलियो के लिए यह क्यों शानदार है?

\n
    \n
  • फ़ाइल सिस्टम और स्ट्रीम के साथ काम करना
  • \n
  • रेगुलर एक्सप्रेशन या nom का उपयोग करके स्ट्रिंग पार्स करना
  • \n
  • कमांड लाइन आर्गुमेंट (क्रेट clap)
  • \n
  • रंगीन आउटपुट (क्रेट colored)
  • \n
\n\n

कोड उदाहरण

\n
use clap::Parser;\nuse std::fs::File;\nuse std::io::{BufRead, BufReader};\n\n#[derive(Parser)]\n#[command(name = "log-analyzer")]\nstruct Args {\n    #[arg(short, long)]\n    file: String,\n}\n\nfn main() {\n    let args = Args::parse();\n    let file = File::open(&args.file).expect("फ़ाइल खोलने में विफल");\n    let reader = BufReader::new(file);\n\n    let mut error_count = 0;\n    for line in reader.lines() {\n        let line = line.unwrap();\n        if line.contains("ERROR") || line.contains("error") {\n            error_count += 1;\n        }\n    }\n\n    println!("त्रुटियाँ मिलीं: {}", error_count);\n}
\n\n

सुझाव: clap के माध्यम से आर्गुमेंट प्रोसेसिंग और JSON प्रारूप के लिए समर्थन जोड़ें। इससे पता चलेगा कि आप सीरियलाइज़ेशन के साथ काम करना जानते हैं।

\n\n

प्रोजेक्ट #2: REST API के साथ Actix-web पर वेब सर्वर

\n\n

Rust सिर्फ सिस्टम प्रोग्रामिंग के लिए नहीं है। Rust पर वेब डेवलपमेंट तेज़ी से बढ़ रहा है, और actix-web दुनिया के सबसे तेज़ फ्रेमवर्क में से एक है। कार्य प्रबंधन (CRUD) के लिए एक सरल REST API बनाएं। यह क्लासिक है, लेकिन Rust में यह ताज़ा लगता है।

\n\n

क्या लागू करना है?

\n
    \n
  • एंडपॉइंट: "Task" एंटिटी के लिए GET, POST, PUT, DELETE
  • \n
  • मेमोरी में डेटा स्टोरेज (डेटाबेस तक विस्तार की संभावना के साथ)
  • \n
  • serde के माध्यम से इनकमिंग डेटा का सत्यापन
  • \n
  • त्रुटि प्रबंधन और सही HTTP स्थितियाँ लौटाना
  • \n
\n\n

यह पोर्टफोलियो में वज़न क्यों बढ़ाएगा?

\n

आप दिखाएंगे कि आप समझते हैं कि आधुनिक API कैसे बनाए जाते हैं। नियोक्ता ऐसे लोगों की तलाश करते हैं जो सिर्फ स्क्रिप्ट ही नहीं, बल्कि सर्वर साइड भी लिख सकें। साथ ही, actix-web एसिंक्रोनस और मल्टीथ्रेडिंग के ज्ञान को प्रदर्शित करने का एक शानदार तरीका है।

\n\n

शुरुआत के लिए कोड

\n
use actix_web::{web, App, HttpServer, Responder, HttpResponse};\nuse serde::{Deserialize, Serialize};\nuse std::sync::Mutex;\n\n#[derive(Serialize, Deserialize, Clone)]\nstruct Task {\n    id: u32,\n    title: String,\n    completed: bool,\n}\n\nstruct AppState {\n    tasks: Mutex<Vec<Task>>,\n}\n\nasync fn get_tasks(data: web::Data<AppState>)                

ब्लॉग

पुस्तक अनुशंसाएँ