Alegeți limba dvs.
Curs de programare Rust
Peste 2 milioane de cursanți în întreaga lume

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.

Dedika pentru companii

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.

Apasă aici

Conținutul cursului

8 Capitole • 40 LecțiiDurata între 4 și 360 ore (tu decizi)

Capitolul 1Vezi detalii

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 2Vezi detalii

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 3Vezi detalii

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 4Vezi detalii

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 5Vezi detalii

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 6Vezi detalii

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 7Vezi detalii

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 8Vezi detalii

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.

Certificare

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...
Giulio Carlo
Giulio CarloStudent Marketing Digital
Î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.
Mariana Ferres
Mariana FerresStudentă Fotografie
Îmi place conținutul și modul de prezentare și transcriere a videoclipurilor, ceea ce accelerează procesul!
Luciana Alvarenga
Luciana AlvarengaStudentă Design Unghii
Platforma este rapidă, simplă de utilizat. Diversitatea conținutului și videoclipurile complementare ajută foarte mult la învățare.
André Felipe
André FelipeStudent Inginerie Prompt

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