Lukáš Hozda
IT Metodolog v Braiins Systems
3.10. 2023 - 14.12. 2023
Ovládni softwarový vývoj s Rustem a rozvíjej své programovací dovednosti pod vedením Lukáše Hozdy. Kurz je právě pro tebe, pokud už máš zkušenosti s programováním a hledáš možnost rozšířit své obzory. Rust je technicky sofistikovaný jazyk, který nabízí mnoho pracovních příležitostí, ale začít může být náročné. Jsme zde, abychom ti pomohli zvládnout začátky a poskytnout ti potřebné dovednosti pro práci s Rustem.
Nejlepší absolventi kurzu dostanou příležitost práce ve společnosti Braiins jako Rust developeři.
kteří se chtějí naučit pracovat s Rustem, protože proniká do jejich oboru. Po absolvování kurzu budou schopni efektivně využívat Rust v jejich profesi.
kteří chtějí lépe modelovat abstraktní koncepty a reprezentovat své myšlenky v Rustu. Tento kurz jim pomůže přenášet jejich nápady do Rustových datových typů a modelovat chování pomocí traits.
kteří se chtějí naučit nízkoúrovňové koncepty Rustu a pochopit, jak s nimi pracovat. Naučí se vše, co je potřeba k používání Rustu v backend vývoji a získají nástin o vztahu Rustu a Webassembly a možnostech pro sdílení kódu mezi backendem a frontendem.
• Kurz systematicky projde unikátní koncepty Rustu
• Připraví tě na profesní práci s Rustem a naučí tě základy i pokročilé koncepty
• Dá ti možnost prakticky pracovat na svém projektu (chatovací aplikace - server i klient), který můžeš zařadit do svého portfolia
• Vysvětlíme si, jak správně přenášet myšlenky do Rustových datových typů a modelovat chování
• Ukážeme si, jak uvažovat nad problémy prostřednictvím kódování informací a chybovosti do typů, trait, pattern matchingu a iterátorů
• Poskytneme ti nepřetržitou podporu během celého kurzu
Po dokončení tohoto kurzu získáš komplexní pochopení programovacího jazyka Rust, jeho knihoven a nástrojů pro vývoj softwaru. Naučíš se psát efektivní, idiomatický a snadno čitelný kód, který odpovídá principům Rustu. Součástí kurzu je také představení nejvýznamnějších nástrojů, komunitních zdrojů, pravidelně využívaných knihoven a asynchronních runtimů.
Náš kurz je navržen tak, aby ti předal podrobné znalosti programovacího jazyka Rust, který nabírá na popularitě zejména pro systémové a embedded programování. Získáš dovednosti v psaní efektivního a čitelného kódu v Rustu a pochopíš klíčové koncepty jako jsou lifetimes, ownership a borrowing.
Nabízíme ti pevné základy Rustu, od syntaxe až po práci s proměnnými, strukturami a iterátory. Ukážeme ti, jak efektivně uvažovat nad problémy v Rustu, jak správně reprezentovat ideje v Rustových datových typech a modelovat chování pomocí traitů.
Lekce o práci s Rustovými nástroji, komunitou a nejčastěji používanými knihovnami tě připraví na vývoj aplikací v Rustu. Dále si projdeme, jak správně využívat nízkoúrovňové koncepty k optimalizaci našich aplikací. Získáš dovednosti v práci s Cargo a dalšími nástroji potřebnými pro tvorbu a údržbu produkčního kódu.
Úkol: Instalace a konfigurace Rustu a jeho nástrojů, zprovoznění Rustu v preferovaném IDE/editoru kódu.
Úkol: Napsání programu, který čte ze standardního vstupu, upravuje text podle zadání a vypisuje jej zpět uživateli.
Úkol: Přepište aplikaci tak, aby chyby správně probublávaly nahoru call stackem, nahraďte unwraps() a expects() operátorem try a správně reprezentujte chybovost v programu pomocí typů Option a Result.
Úkol: Spouštění vláken pro čtení vstupů a přijímání zpráv a jejich zobrazování.
Úkol: Dělení aplikace na klientskou a serverovou část, zasílání a přijímání zpráv přes síť.
Úkol: Přeměna obou částí aplikace pro chatování na plnohodnotné Cargo crate. Použití knihovny vhodné do produkce, které se postarají o aspekty, jako je protokolování. Prozkoumání dalších užitečných crates pro zjednodušení nebo vylepšení aplikace, jako jsou itertools, rayon, crates pro logování (tracing).
Úkol: Zavedení správného zpracování chyb a hlášení chyb do aplikace. Server by měl přesně a silně typovaným způsobem hlásit klientovi, proč přesně něco nefunguje (chyby jako neplatné pověření, neplatný příjemce apod.).
Úkol: Přepsat chatovacího klienta i server tak, aby fungovaly v asynchronním režimu pomocí frameworku Tokio. Uložení informace o chatu a uživatelích do databáze.
Úkol: Přidání testů (podle specifikace) pro kód sdílené knihovny a použití komentáře k dokumentaci knihovny.
Úkol: Implementace webového frontendu pro správu serverové komponenty chatovací aplikace z prohlížeče.
Úkol: Implementace metrik do serverové části aplikace, nastavení Grafany a ověření funkčnosti metrik vykreslením grafů v Grafaně.
Úkol: Studenti dostanou závěrečnou specifickou zpětnou vazbu pro každého studenta o tom, jak zlepšit svůj projekt, aby mohl postoupit do finální podoby v rámci kurzu.
Vyplň registrační formulář a připoj se k nám!
Náš tým konzultantů z robot_dreams Czech se s tebou spojí co nejdříve,
abys získal všechny potřebné detaily o obsahu kurzu a jeho ceně.