
Curs de programare Rust
Stăpânește Rust de la zero — de la ownership și borrowing până la concurența asincronă și programarea sistemelor. Acest curs acoperă tot ce ai nevoie pentru a scrie cod Rust rapid, sigur și gata de producție. Indiferent dacă construiești servicii web, instrumente CLI sau software de nivel scăzut pentru sisteme, vei dobândi competențele necesare pentru a face acest lucru corect.
Ce vei învăța:
Vei începe prin a-ți configura toolchain-ul Rust și a învăța sintaxa de bază, apoi vei trece la modelul de ownership al Rust, regulile de borrowing și lifetimes. De acolo, vei lucra cu structuri, enumerări, potrivirea modelelor și o gestionare robustă a erorilor. Vei stăpâni colecțiile, iteratoarele, closure-urile, trăsăturile și genericele înainte de a aborda concurența cu fire de execuție, canale și async/await. Cursul acoperă și Rust nesigur, FFI, testarea, profilarea performanței, macro-urile, programarea web cu Axum și fluxurile de deployment CI/CD.
Cum studiezi practic Curs de programare Rust
Cum exersezi Curs de programare Rust
Pentru tine, care reprezinți o companie și vrei să îți instruiești echipa
La Dedika pentru companii, cursul vine cu exerciții și exemple adaptate afacerii tale și exact așa cum are nevoie compania ta.
Conținutul cursului
8 Capitole • 40 LecțiiDurata între 4 și 360 ore (tu decizi)
Capitolul 1AscundeAscunde detaliiVezi detaliiIntroducere în Rust
Introducere în Rust
Lecția 1 • Sintaxa Rust și Tipuri de Bază
Acoperă variabilele, tipurile scalare și expresiile de bază. Oferă vocabularul sintactic necesar pentru a citi și scrie orice program Rust.
Lecția 2 • Instalarea și Configurarea Rust
Configurează rustup, cargo și un editor de cod pentru dezvoltarea în Rust. Stabilește fundația de instrumente de care depinde fiecare capitol următor.
Lecția 3 • Utilizarea Cargo și a Cratelor
Explorează comenzile Cargo, structura proiectelor și adăugarea de crate externe. Leagă cunoștințele de sintaxă de fluxurile de lucru reale utilizate pe parcursul cursului.
Lecția 4 • Fundamentele Fluxului de Control
Învață constructele if, loop, while și for în Rust. Permite cursanților să scrie programe cu logică de ramificare și iterație.
Lecția 5 • Funcții și Organizarea Codului
Definește funcții cu parametri și tipuri de returnare și introduce modulele. Pregătește cursanții să structureze programe dincolo de o singură funcție main.
Capitolul 2AscundeAscunde detaliiVezi detaliiOwnership, Împrumut și Durate de Viață
Ownership, Împrumut și Durate de Viață
Lecția 1 • Adnotări de Durată de Viață
Învață sintaxa explicită a duratei de viață pentru funcții și structuri. Permite cursanților să rezolve erorile de durată de viață și să proiecteze API-uri cu date împrumutate.
Lecția 2 • Referințe și Împrumut
Introduce referințele partajate și mutabile cu regulile borrow-checker. Cursanții învață să transmită date fără a transfera ownership-ul.
Lecția 3 • Felii și Tipuri de String
Acoperă referințele de felie pentru array-uri și string-uri și face distincția între str și String. Leagă conceptele de ownership de gestionarea practică a string-urilor și colecțiilor.
Lecția 4 • Modele de Ownership în Practică
Aplică regulile de ownership și împrumut în scenarii de cod realiste. Consolidează înțelegerea prin rezolvarea conflictelor comune cu borrow-checker-ul.
Lecția 5 • Reguli de Ownership și Semantică de Mutare
Explică semantica de proprietar unic și modul în care valorile se mută între legături. Formează nucleul conceptual pe care se bazează toate regulile de împrumut și durată de viață.
Capitolul 3AscundeAscunde detaliiVezi detaliiStructuri, Enum-uri și Potrivire de Tipare
Structuri, Enum-uri și Potrivire de Tipare
Lecția 1 • Metode și Funcții Asociate
Adaugă comportament structurilor prin blocuri impl și funcții asociate. Leagă modelarea datelor de encapsularea în stil orientat pe obiecte în Rust.
Lecția 2 • Enum-uri și Variante
Definește enum-uri cu variante care poartă date și introduce Option. Permite modelarea valorilor care pot lua una dintre mai multe forme distincte.
Lecția 3 • Potrivire de Tipare cu match
Folosește expresii match pentru a destructura enum-uri, tuple și structuri. Învață gestionarea exhaustivă a tiparelor, esențială pentru fluxul de control idiomatic Rust.
Lecția 4 • if let și Tipare Avansate
Introduce potrivirea concisă de tipare cu if let, while let și tipare imbricate. Extinde abilitățile de potrivire la scenarii cotidiene condiționale și de buclă.
Lecția 5 • Definirea și Utilizarea Structurilor
Acoperă definirea, instanțierea și accesul la câmpuri ale structurilor. Oferă instrumentul principal pentru gruparea datelor conexe în programele Rust.
Capitolul 4AscundeAscunde detaliiVezi detaliiGestionarea Erorilor în Rust
Gestionarea Erorilor în Rust
Lecția 1 • Panici și Erori Nerecuperabile
Explică când are loc un panic în Rust, cum să-l declanșezi și să-l prinzi și când să-l folosești. Stabilește granița între scenariile care merită panică și cele cu erori recuperabile.
Lecția 2 • Tipuri de Eroare Personalizate
Definește enum-uri de eroare personalizate și implementează trăsătura Error. Permite bibliotecilor și aplicațiilor să expună informații de eroare semnificative și structurate.
Lecția 3 • Strategii de Gestionare a Erorilor
Compară erorile cutie, tipurile personalizate și anyhow pentru codul de aplicație vs. cel de bibliotecă. Ghidează cursanții în alegerea strategiei potrivite pentru fiecare context.
Lecția 4 • Operatorul ? și Propagarea Erorilor
Folosește operatorul ? pentru a propaga erorile în susul stivei de apeluri concis. Reduce codul boilerplate și face codul de gestionare a erorilor lizibil și idiomatic.
Lecția 5 • Tipul Result
Acoperă definiția Result<T, E>, potrivirea pe Ok și Err și combinatori obișnuiți. Oferă mecanismul principal pentru propagarea erorilor recuperabile.
Capitolul 5AscundeAscunde detaliiVezi detaliiColecții, Iteratori și Închideri
Colecții, Iteratori și Închideri
Lecția 1 • Iteratori de Consum
Folosește collect, fold, sum și alți consumatori pentru a produce rezultate din iteratori. Completează pipeline-ul iterator de la sursă, prin transformare, până la ieșire.
Lecția 2 • Trăsătura Iterator și Adaptoare
Explorează trăsătura Iterator, evaluarea leneșă și metodele adaptoare. Învață transformarea de date în stil funcțional, esențială pentru Rust idiomatic.
Lecția 3 • Iteratori Personalizați
Implementează trăsătura Iterator pe tipuri personalizate pentru a produce secvențe. Aprofundează înțelegerea modului în care funcționează mecanismul de iterare al Rust-ului sub capotă.
Lecția 4 • Închideri și Capturarea Mediului
Definește închideri, modurile lor de capturare și limitele trăsăturii Fn. Permite transmiterea comportamentului ca valoare, necesară de iteratori și funcții de ordin superior.
Lecția 5 • Vectori și Colecții Comune
Acoperă crearea, accesarea și modificarea Vec<T>, String și HashMap<K, V>. Oferă containerele de date standard utilizate în aproape orice program Rust.
Capitolul 6AscundeAscunde detaliiVezi detaliiTrăsături, Generice și Polimorfism
Trăsături, Generice și Polimorfism
Lecția 1 • Definirea și Implementarea Trăsăturilor
Creează trăsături cu metode obligatorii și implicite și le implementează pe tipuri. Stabilește mecanismul de comportament partajat pe care se bazează genericele și polimorfismul.
Lecția 2 • Tehnici Avansate cu Trăsături
Acoperă tipurile asociate, supraîncărcarea operatorilor și pattern-ul Newtype. Extinde cunoștințele despre trăsături la scenarii avansate de proiectare API.
Lecția 3 • Obiecte de Trăsătură și Dispatch Dinamic
Folosește pointeri dyn Trait pentru polimorfism la runtime și explică costurile vtable. Învață când este potrivit dispatch-ul dinamic față de cel static.
Lecția 4 • Limite de Trăsături și Clauze where
Constrânge tipurile generice cu limite de trăsături și clauze where. Permite codului generic să sune metode ale trăsăturilor, păstrând în același timp semnăturile lizibile.
Lecția 5 • Funcții și Tipuri Generice
Parametrizează funcții, structuri și enum-uri cu parametri de tip. Permite scrierea de cod care funcționează cu multe tipuri, rămânând în același timp type-safe.
Capitolul 7AscundeAscunde detaliiVezi detaliiConcurrență și Rust Async
Concurrență și Rust Async
Lecția 1 • Fundamentele Async/Await
Introduce future-urile, funcțiile async și cuvântul cheie await împreună cu un runtime. Pregătește cursanții pentru I/O non-blocant și modele de aplicații cu concurență ridicată.
Lecția 2 • Trăsăturile Send și Sync
Explică trăsăturile marcatoare Send și Sync și rolul lor în siguranța firelor de execuție. Permite cursanților să raționeze despre ce tipuri pot traversa granițele firelor de execuție.
Lecția 3 • Fire de Execuție și Stare Partajată
Lansează fire de execuție OS, partajează date cu Arc și Mutex și evită race condition-urile. Demonstrează cum regulile de ownership impun siguranța firelor de execuție la compilare.
Lecția 4 • Modele Async și Capcane
Acoperă future-urile concurente, lansarea de task-uri și greșelile comune în async. Echipează cursanții să construiască programe async corecte și eficiente în contexte de producție.
Lecția 5 • Transmiterea de Mesaje prin Canale
Folosește canale mpsc pentru a comunica între fire de execuție fără memorie partajată. Introduce modelul de concurență bazat pe transmiterea de mesaje ca alternativă la blocare.
Capitolul 8AscundeAscunde detaliiVezi detaliiProgramare de Sistem și Rust Unsafe
Programare de Sistem și Rust Unsafe
Lecția 1 • Dispunerea în Memorie și Pointerii Bruți
Examinează modul în care Rust organizează datele în memorie și introduce sintaxa pointerilor bruți. Oferă fundația de nivel scăzut necesară pentru operațiile unsafe.
Lecția 2 • Medii Încorporate și no_std
Configurează Rust pentru ținte no_std și folosește crate-urile core și alloc. Extinde abilitățile Rust la microcontrolere și medii fără sistem de operare.
Lecția 3 • Alocatoare Personalizate și Gestionarea Memoriei
Implementează trăsătura Allocator și explorează alocarea arena și pool. Abordează scenarii critice de performanță unde alocarea implicită este insuficientă.
Lecția 4 • Interfață cu Funcții Externe
Apelează funcții C din Rust și expune funcții Rust către C folosind extern. Permite integrarea cu biblioteci native existente și API-uri de sistem.
Lecția 5 • Blocuri și Funcții Unsafe
Definește ce permite unsafe și cum să-i minimizezi domeniul. Învață utilizarea responsabilă a unsafe pentru a extinde capacitățile fără a sacrifica corectitudinea.
Certificatul tău valid de finalizare
Acest curs este pentru tine:
Dezvoltator backend: vrea să înlocuiască serviciile lente sau nesigure cu alternative în Rust.
Programator C sau C++: caută siguranță la compilare fără a sacrifica controlul la nivel scăzut.
Constructor pasionat: entuziasmat să creeze unelte CLI și proiecte de sisteme în Rust.
Schimbător de carieră: vizează roluri de inginerie foarte căutate care necesită abilități de programare a sistemelor.
Inginer DevOps: trebuie să scrie unelte fiabile și de înaltă performanță pentru pipeline-uri de infrastructură.
Student la informatică: pregătit să depășească materiile de curs și să abordeze dezvoltarea reală în Rust.
Ce spun cursanții noștri
Lecțiile dumneavoastră sunt perfecte. Am achiziționat pachetul de un an și, în sfârșit, am oportunitatea să urmăresc diverse subiecte de interes fără să fie nevoie să schimb platforma... vă mulțumesc pentru tot ceea ce faceți, v-am recomandat deja altor persoane...

Îmi place cum lecțiile sunt directe la subiect și cum pot să schimb capitolele și să sar peste conținutul de care nu am nevoie.

Îmi place conținutul și modul de prezentare și transcriere a videoclipurilor, ceea ce accelerează procesul!

Platforma este rapidă, simplă de utilizat. Diversitatea conținutului și videoclipurile complementare ajută foarte mult la învățare.

Cele mai importante formări
Întrebări frecvente
Cine este Dedika?
Este certificatul valabil în România?
Cursurile sunt gratuite?
Care este volumul de muncă al cursului?
Cum sunt cursurile?
Cum funcționează cursurile?
Care este durata cursurilor?
Care este costul sau prețul cursurilor?
Ce este un curs EAD sau online și cum funcționează?
Curs PDF




















