Dry-rb: co, proč a jak - kurz 4900 rub. od ThinkNetica, školení 3 webináře, datum 27. listopadu 2023.
Různé / / November 27, 2023
Formát
3 webináře trvající 2 hodiny
Praxe
Část cvičení budete provádět přímo ve třídě a část sami po webináři.
Sdělení
Budete mít podporu živého chatu a webináře se budou zabývat běžnými otázkami a chybami, příklady osvědčených postupů a řešení.
Výsledek
- Pochopíte, proč je potřeba vkládání závislostí, jak pomáhá udržovatelnosti, testovatelnosti a modularitě aplikací.
- Pochopíte, co s tím mají společného kontejnery Inversion of Control (IoC) a jaké možnosti analýzy můžete použít na základě závislostí v kontejnerech
- Seznamte se se vzorem železnice (nezaměňujte se způsobem kolejnic) a zjistěte, jak tento přístup pomáhá při psaní obchodní logiky, která může selhat v kterémkoli z kroků.
- Vytvořte jednoduchý rámec služeb, ve kterém můžete používat libovolné transportní knihovny (např pro spotřebitelské i http/rpc volání) a jakékoli knihovny pro persistenci, nejen AR nebo rom.
- Dozvíte se, jaké typy ověřování mohou existovat a jak napsat validátor pro libovolné datové schéma.
- Dozvíte se, co je ve vývoji Ruby mimo RoR, díky čemuž budete schopni porozumět nejen hanami, ale i frameworkům v jiných jazycích (přístupy se používají v Pythonu, Javě, JS a dalších ekosystémech)
- Naučte se používat monádu
Požadavky na účastníky
1. Jeden rok zkušeností s vývojem Ruby. Je důležité znát základní věci související s vývojem webu, jako je MVC, schopnost dotazovat se v databázi a psát minimální testy.
2. Profil na GitHubu
3. Základní dovednosti příkazového řádku a git
4. Touha porozumět jiným přístupům než kolejím
3 webináře
Praktické úkoly
Komunikace s autorem a odpovědi na dotazy
Den 1. Závislosti, DI, IoC kontejnery. Sestavujeme kostru projektu.
- Nejprve budete muset pochopit závislosti v kódu, tzn. ve všech knihovnách, třídách, modulech, funkcích atd., které se používají v hlavní jednotce.
- Podívejme se na dva způsoby sledování závislostí: Dependency Injection a basic. Podívejme se, jak DI pomáhá při psaní jednotkových a integračních testů.
- Aby to nezvyšovalo složitost, podívejme se na IoC kontejnery, jejichž implementace je dry-container.
- Pro řízení nakládání zvažte suchý systém. Nakonec se podíváme na základní projekt, který vám umožní přidat do systému libovolné vrstvy.
V důsledku toho budete moci:
Pochopte, co je dry-rb obecně a co je styl vrstvené architektury a jaké problémy řeší. A také porozumět tomu, jak DI a kontejnery pomáhají při vytváření aplikačních struktur. Poté napíšeme naši první aplikaci pomocí suchého systému.
Den 2. Píšeme obchodní logiku. Železnice, výsledné objekty a validace.
- Abychom mohli pracovat s obchodní logikou, budeme uvažovat o železničním vzoru, který umožňuje propojit technické kroky obchodního procesu do řetězce, ve kterém každý krok může dokončit celý proces.
- Aby železnice fungovala, vezmeme DO-notace ze suchých monád jako způsob implementace vzoru. Pojďme diskutovat o tom, jak a proč používat monády.
- A abychom měli jistotu, že datové schéma, se kterým pracujeme a které zapisujeme do databáze, je platné, použijeme dry-schema a dry-validation.
V důsledku toho budete moci:
Naučte se používat železniční přístup k popisu obchodní logiky. Pochopíte, proč jsou monády potřebné jako výsledné objekty a jak ověřovat data a obchodní logiku.
den 3. Přidání transportní a perzistentní vrstvy. Podívejme se na zbytek knihoven dry-rb.
- Podívejme se na způsoby, jak přidat různé transporty (http, králík, kafka) a knihovny persistence (rom, pokračování atd.) a rozšířit náš projekt.
- Podívejme se krátce na zbývající suché knihovny a povíme si, kde je využít. A také co s tím mají společného funkční předměty?
- Pojďme diskutovat o tom, co lze dále dělat se strukturou polotovaru a jak ji změnit. Co přidat, co odebrat, jak se dostat k řezu a šestihranné struktuře.
Jako výsledek:
Pojďme sestavit systém do jednoho kusu.
Podívejme se, jak přidat jakýkoli typ transportní a perzistentní vrstvy.
Podívejme se na zbývající knihovny z ekosystému dry-rb.
Pojďme diskutovat o dalších krocích pro vývoj nebo pro použití hotového polotovaru.