Dry-rb: wat, waarom en hoe - cursus 4900 wrijven. van ThinkNetica, training 3 webinars, Datum 27 november 2023.
Gemengde Berichten / / November 27, 2023
Formaat
3 webinars van 2 uur
Oefening
Een deel van de oefening doe je tijdens de les, en een deel zelf na het webinar.
Communicatie
U krijgt live chatondersteuning en webinars behandelen veelgestelde vragen en fouten, voorbeelden van best practices en oplossingen.
Resultaat
- U zult begrijpen waarom afhankelijkheidsinjectie nodig is, hoe dit helpt bij de onderhoudbaarheid, testbaarheid en modulariteit van applicaties.
- Je begrijpt wat Inversion of Control (IoC) containers ermee te maken hebben en welke analysemogelijkheden je kunt gebruiken op basis van afhankelijkheden in containers
- Maak kennis met het spoorwegpatroon (niet te verwarren met de spoorlijn) en leer hoe deze aanpak helpt bij het schrijven van bedrijfslogica die bij elk van de stappen kan mislukken.
- Creëer een eenvoudig serviceframework waarin u alle transportbibliotheken (zoals voor zowel consumenten- als http/rpc-oproepen) en alle bibliotheken voor persistentie, niet alleen AR of rom.
- U leert welke soorten validatie er kunnen zijn en hoe u voor elk dataschema een validator schrijft.
- Je leert wat er in de Ruby-ontwikkeling zit buiten RoR, waardoor je niet alleen hanami kunt begrijpen, maar ook raamwerken in andere talen (benaderingen worden gebruikt in Python, Java, JS en andere ecosystemen)
- Leer hoe u een monade gebruikt
Vereisten voor deelnemers
1. Eén jaar Ruby-ontwikkelingservaring. Het is belangrijk om basiszaken te weten die verband houden met webontwikkeling, zoals MVC, de mogelijkheid om de database te bevragen en minimale tests te schrijven.
2. Profiel op GitHub
3. Basisopdrachtregel- en git-vaardigheden
4. Verlangen om andere benaderingen dan de rails te begrijpen
3 webinars
Praktische taken
Communicatie met de auteur en antwoorden op vragen
Dag 1. Afhankelijkheden, DI, IoC-containers. Wij stellen het projectkader samen.
- Eerst moet u de afhankelijkheden in de code begrijpen, d.w.z. in alle bibliotheken, klassen, modules, functies, enz. die in de hoofdeenheid worden gebruikt.
- Laten we eens kijken naar twee manieren om afhankelijkheden bij te houden: Dependency Injection en basic. Laten we eens kijken hoe DI helpt bij het schrijven van unit- en integratietests.
- Laten we, om de complexiteit niet te vergroten, eens kijken naar IoC-containers, waarvan de implementatie dry-container is.
- Voor laadbeheer kunt u een droog systeem overwegen. Ten slotte bekijken we een basisproject waarmee u lagen aan het systeem kunt toevoegen.
Als gevolg hiervan kunt u:
Begrijp wat dry-rb in het algemeen is, wat de gelaagde architectuurstijl is en welke problemen het oplost. En begrijp ook hoe DI en containers helpen bij het creëren van applicatiestructuren. Daarna schrijven we onze eerste applicatie met behulp van een droog systeem.
Dag 2. Wij schrijven bedrijfslogica. Spoorwegen, resultaatobjecten en validatie.
- Om met bedrijfslogica te werken, zullen we het spoorwegpatroon beschouwen, waarmee u de technische stappen van een bedrijfsproces kunt verbinden tot een keten waarin elke stap het hele proces kan voltooien.
- Om de spoorlijn te laten werken, zullen we DO-notaties van droge monaden gebruiken als een manier om het patroon te implementeren. Laten we bespreken hoe en waarom we monaden moeten gebruiken.
- En om er zeker van te zijn dat het dataschema waarmee we werken en dat we in de database schrijven geldig is, zullen we dry-schema en dry-validatie gebruiken.
Als gevolg hiervan kunt u:
Leer de spoorwegbenadering te gebruiken om bedrijfslogica te beschrijven. Je zult begrijpen waarom monaden nodig zijn als resultaatobjecten en hoe je data en bedrijfslogica kunt valideren.
Dag 3. Het toevoegen van de transport- en persistentielagen. Laten we eens kijken naar de rest van de dry-rb-bibliotheken.
- Laten we kijken naar manieren om verschillende transporten (http, konijn, kafka) en persistentiebibliotheken (rom, vervolg, enz.) toe te voegen en ons project uit te breiden.
- Laten we kort naar de resterende droge bibliotheken kijken en bespreken waar we ze kunnen gebruiken. En wat hebben functionele objecten ermee te maken?
- Laten we bespreken wat we vervolgens kunnen doen met de structuur van de blanco en hoe we deze kunnen veranderen. Wat toe te voegen, wat te verwijderen, hoe je bij de slice en de zeshoekige structuur komt.
Als gevolg:
Laten we het systeem in één stuk samenstellen.
Laten we eens kijken hoe we elk type transport- en persistentielaag kunnen toevoegen.
Laten we eens kijken naar de resterende bibliotheken van het dry-rb-ecosysteem.
Laten we verdere stappen voor ontwikkeling of voor het gebruik van een voltooid plan bespreken.