A tanfolyamról
A Rust egy modern rendszerprogramozási nyelv, amely az elmúlt években került fókuszba, vonzó tulajdonságaival és funkcióival, valamint robusztus teljesítményével. A Mozilla Research által fejlesztett Rust a biztonság, a párhuzamosság és a sebesség együttes kombinációját adja, így ideális választás megbízható és hatékony szoftverek készítéséhez.
Az IQEDU Rust képzés célja, hogy a résztvevőket felvértezze a Rust lehetőségeinek kiaknázásához szükséges ismeretekkel és készségekkel. Az alapoktól a haladó fogalmakig, például a párhuzamosság, a teljesítményoptimalizálás, valamint az éles alkalmazások üzemeltetése, a képzés a Rust fejlesztés számos aspektusát lefedi.
Laborok, válogatott példák és mentori útmutatások révén a hallgatók gyakorlati tapasztalatokat is szereznek a Rust-kód írásában.
Egyedi kérés esetén a képzést a megrendelő egyedi igényeihez szabjuk, és egyedi tematikát készítünk.
Kinek ajánljuk?
A képzést szoftverfejlesztőknek, rendszerprogramozóknak, webapi fejlesztőknek, valamint azoknak nagyvállalatoknak ajánljuk, akik a Rust-ot szeretnék alkalmazni aktuálisan folyó, vagy újonnan induló projektjeikben. Átfogó ismereteket nyújt a Rust funkcióiról és alkalmazásairól, így a kezdők és a tapasztalt szakemberek számára egyaránt alkalmas, akik a Rust biztonsági, párhuzamossági és teljesítmény előnyeit szeretnék kiaknázni projektjeik során.
Tematika
A képzés tartalma
A tényleges képzés során az tartalom nem szükségszerűen az alábbi a sorrendben kerül bemutatásra, mivel a Rust skillset összetett, és számos téma egymással kölcsönösen összefügg.
Bevezetés a Rustba
- Mi az a Rust? Előzmények és háttér, Jellemzők és előnyök, Használati esetek és alkalmazások
- A Rust fejlesztői környezet beállítása: A Rust fordító és a Cargo telepítése, IDE-k és szövegszerkesztők konfigurálása
Rust alapjai
- Szintaxis és szerkezet: Változók és adattípusok, Funkciók és vezérlőfolyamatok
- • Típusok: Tuple-k és Array-ek, Felhasználó által definiált típusok
- • Tulajdonjog és kölcsönzés: A tulajdonjog megértése, kölcsönzés és referenciák, élettartam és memóriabiztonság
Fejlett Rust koncepciók
- Felsorolások, minták és párosítás: Felsorolások és változatok, Mintaillesztés
- Hibakezelés: Eredmény- és opciótípusok, Hibakezelési technikák
- Tulajdonságok: A tulajdonságok meghatározása. Jellemzők megvalósítása, polimorfizmus a Rustban
- Generic típusok: Munka generic típusokkal, miben különböznek a C/C++, C#, Java társaiktól
Rust ökoszisztéma
- A szabványos Rust könyvtár: gyűjtemények és adatstruktúrák, fájl I/O és hálózatok
- Külső csomagok használata a Cargo-val: függőségek kezelése, crate-ek közzététele és fogyasztása
Rust projektek
- Parancssori alkalmazások létrehozása: Parancssor argumentumok kezelése, CLI létrehozás, Bemenet és kimenet kezelése,
- A webes alkalmazások (webes API-k) fejlesztésének alapjai Rust segítségével: Webes keretrendszerek kiválasztása, RESTful API-k írása
Tesztelés és hibakeresés
- Tesztek írása Rust segítségével: Unit tesztek és integrációs tesztek, Tesztszervezés és bevált gyakorlatok
- Hibakeresési technikák: Hibakereső eszközök használata, Gyakori problémák hibaelhárítása
Párhuzamosság és többszálúság
- Párhuzamos programozás Rustban: A párhuzamosság megértése, a szálak használata a párhuzamosság érdekében
- Szinkronizálás és üzenettovábbítás: Mutexek és lockok, Kommunikációs csatornák
Az aszinkron programozás alapjai Rustban
- Az aszinkron programozási fogalmak megértése: Async/await szintaxis, Aszinkron függvények és future-ek használata
- Aszinkron feladatok kezelése: Tokio vagy async-std használata
- Hibák kezelése: Visszavonás aszinkron kódban, gyakorlatok aszinkron programozáshoz Rustban
Teljesítmény optimalizálás
- Rust kód profilírozása: A szűk keresztmetszetek azonosítása, Profilkészítő eszközök használata
- Optimalizálási technikák: Memóriakezelési stratégiák, Algoritmikus optimalizálás
Bevált gyakorlatok és haladó témák
- Idiomatikus Rust kód írása: Rust stílus konvenciók, házirendek, gyakori buktatók, amelyeket érdemes elkerülni
- Haladó témák: Unsafe Rust, mikor érdemes használni, Makrók és meta-programozás
Rust éles használatban
- Rust alkalmazások telepítése: csomagolás és disztribúció, konténerek
- Karbantartás és támogatás: Verziókezelés és függőségek kezelése, Frissítések és hibajavítások kezelése
Kinek ajánljuk
Előfeltételek
- Legalább egy programozási nyelv gyakorló ismerete, a C nyelvcsalád előnyben részesítve (pl. C++, C#, Java, JavaScript, TypeScript)
- Alapvető programozási fogalmak, például változók, függvények, vezérlési szerkezetek és adatstruktúrák ismerete
- Alapvető OOP fogalmak ismerete, egységbezárás a polimorfizmus, valamint az „IS A” reláció
- Az alapvető parancssor használat és a fejlesztői környezet beállításának ismerete
- Előzetes rendszerprogramozási vagy webfejlesztési tapasztalat előnyt jelent, de nem feltétel