Dry-rb: čo, prečo a ako - kurz 4900 rub. od ThinkNetica, školenia 3 webináre, dátum 27. novembra 2023.
Rôzne / / November 27, 2023
Formátovať
3 webináre v trvaní 2 hodín
Prax
Časť cvičení vykonáte priamo na hodine a časť sami po webinári.
Komunikácia
Budete mať podporu živého chatu a webináre sa budú zaoberať bežnými otázkami a chybami, príkladmi osvedčených postupov a riešení.
Výsledok
- Pochopíte, prečo je potrebná injekcia závislostí, ako pomáha pri udržiavateľnosti, testovateľnosti a modularite aplikácií.
- Pochopíte, čo s tým majú spoločné kontajnery Inversion of Control (IoC) a aké možnosti analýzy môžete použiť na základe závislostí v kontajneroch.
- Zoznámte sa so vzorom železníc (nezamieňajte so spôsobom koľajníc) a zistite, ako tento prístup pomáha pri písaní obchodnej logiky, ktorá môže zlyhať v ktoromkoľvek kroku.
- Vytvorte jednoduchý servisný rámec, v ktorom môžete používať ľubovoľné transportné knižnice (napr pre spotrebiteľské aj http/rpc hovory) a akékoľvek knižnice pre trvalosť, nielen AR alebo ROM.
- Dozviete sa, aké typy validácie môžu existovať a ako napísať validátor pre ľubovoľnú dátovú schému.
- Dozviete sa, čo je vo vývoji Ruby mimo RoR, vďaka čomu pochopíte nielen hanami, ale aj frameworky v iných jazykoch (prístupy sa používajú v Pythone, Java, JS a iných ekosystémoch)
- Naučte sa používať monádu
Požiadavky na účastníkov
1. Jeden rok skúseností s vývojom Ruby. Je dôležité vedieť základné veci súvisiace s vývojom webu, ako je MVC, schopnosť dotazovať sa v databáze a písať minimálne testy.
2. Profil na GitHub
3. Základné zručnosti príkazového riadku a git
4. Túžba pochopiť iné prístupy ako koľajnice
3 webináre
Praktické úlohy
Komunikácia s autorom a odpovede na otázky
Deň 1. Závislosti, DI, IoC kontajnery. Zostavujeme kostru projektu.
- Najprv budete musieť pochopiť závislosti v kóde, t.j. v akýchkoľvek knižniciach, triedach, moduloch, funkciách atď., ktoré sa používajú v hlavnej jednotke.
- Pozrime sa na dva spôsoby sledovania závislostí: Dependency Injection a basic. Pozrime sa, ako DI pomáha pri písaní jednotkových a integračných testov.
- Aby sa nezvyšovala zložitosť, pozrime sa na IoC kontajnery, ktorých implementácia je suchá.
- Pre riadenie nakladania zvážte suchý systém. Nakoniec sa pozrieme na základný projekt, ktorý vám umožní pridať do systému ľubovoľné vrstvy.
V dôsledku toho budete môcť:
Pochopte, čo je dry-rb vo všeobecnosti a čo je štýl vrstvenej architektúry a aké problémy rieši. A tiež pochopiť, ako DI a kontajnery pomáhajú pri vytváraní aplikačných štruktúr. Potom napíšeme našu prvú aplikáciu pomocou suchého systému.
2. deň Píšeme obchodnú logiku. Železnica, výsledné objekty a validácia.
- Pri práci s obchodnou logikou budeme uvažovať o železničnom vzore, ktorý vám umožňuje spojiť technické kroky obchodného procesu do reťazca, v ktorom každý krok môže dokončiť celý proces.
- Aby železnica fungovala, zoberieme DO-notácie zo suchých monád ako spôsob implementácie vzoru. Poďme diskutovať o tom, ako a prečo používať monády.
- A aby sme mali istotu, že dátová schéma, s ktorou pracujeme a ktorú zapisujeme do databázy, je platná, použijeme dry-schema a dry-validation.
V dôsledku toho budete môcť:
Naučte sa používať železničný prístup na opis obchodnej logiky. Pochopíte, prečo sú monády potrebné ako výsledné objekty a ako overiť údaje a obchodnú logiku.
3. deň Pridanie transportnej a perzistentnej vrstvy. Pozrime sa na zvyšok suchých-rb knižníc.
- Pozrime sa na spôsoby, ako pridať rôzne prenosy (http, králik, kafka) a knižnice perzistencie (rom, pokračovanie atď.) a rozšíriť náš projekt.
- Pozrime sa v krátkosti na zostávajúce suché knižnice a povieme si, kde ich použiť. A čo s tým majú spoločné funkčné predmety?
- Poďme diskutovať o tom, čo je možné urobiť ďalej so štruktúrou polotovaru a ako ju zmeniť. Čo pridať, čo odstrániť, ako sa dostať k plátku a šesťuholníkovej štruktúre.
Ako výsledok:
Poďme zostaviť systém do jedného kusu.
Pozrime sa, ako pridať akýkoľvek typ transportnej a perzistentnej vrstvy.
Pozrime sa na zvyšné knižnice z ekosystému dry-rb.
Poďme diskutovať o ďalších krokoch vývoja alebo použitia hotového polotovaru.