Trocken-rb: was, warum und wie - natürlich 4900 Rubel. von ThinkNetica, Schulung 3 Webinare, Datum 27. November 2023.
Verschiedenes / / November 27, 2023
Format
3 Webinare mit einer Dauer von 2 Stunden
Üben
Einen Teil der Übungen werden Sie direkt im Unterricht durchführen, einen Teil davon selbst nach dem Webinar.
Kommunikation
Sie erhalten Live-Chat-Support und in Webinaren werden häufige Fragen und Fehler sowie Beispiele für Best Practices und Lösungen behandelt.
Ergebnis
- Sie werden verstehen, warum eine Abhängigkeitsinjektion erforderlich ist und wie sie zur Wartbarkeit, Testbarkeit und Modularität von Anwendungen beiträgt.
- Sie verstehen, was Inversion of Control (IoC)-Container damit zu tun haben und welche Analysemöglichkeiten Sie anhand von Abhängigkeiten in Containern nutzen können
- Machen Sie sich mit dem Eisenbahnmuster (nicht zu verwechseln mit dem Schienenweg) vertraut und erfahren Sie, wie dieser Ansatz beim Schreiben von Geschäftslogik hilft, die bei jedem Schritt fehlschlagen kann.
- Erstellen Sie ein einfaches Service-Framework, in dem Sie beliebige Transportbibliotheken (z. B sowohl für Consumer- als auch für http/rpc-Aufrufe) und alle Bibliotheken für Persistenz, nicht nur AR oder Rom.
- Sie erfahren, welche Arten der Validierung es geben kann und wie Sie einen Validator für jedes Datenschema schreiben.
- Sie erfahren, was in der Ruby-Entwicklung außerhalb von RoR steckt, wodurch Sie nicht nur Hanami, sondern auch Frameworks in anderen Sprachen verstehen können (Ansätze werden in Python, Java, JS und anderen Ökosystemen verwendet).
- Erfahren Sie, wie Sie eine Monade verwenden
Anforderungen an die Teilnehmer
1. Ein Jahr Erfahrung in der Ruby-Entwicklung. Es ist wichtig, grundlegende Dinge im Zusammenhang mit der Webentwicklung zu kennen, wie z. B. MVC, die Fähigkeit, die Datenbank abzufragen und minimale Tests zu schreiben.
2. Profil auf GitHub
3. Grundlegende Befehlszeilen- und Git-Kenntnisse
4. Wunsch, andere Ansätze als die Schiene zu verstehen
3 Webinare
Praktische Aufgaben
Kommunikation mit dem Autor und Antworten auf Fragen
Tag 1. Abhängigkeiten, DI, IoC-Container. Wir stellen den Projektrahmen zusammen.
- Zunächst müssen Sie die Abhängigkeiten im Code verstehen, d. h. in allen Bibliotheken, Klassen, Modulen, Funktionen usw., die in der Haupteinheit verwendet werden.
- Schauen wir uns zwei Möglichkeiten zum Verfolgen von Abhängigkeiten an: Dependency Injection und Basic. Sehen wir uns an, wie DI beim Schreiben von Unit- und Integrationstests hilft.
- Um die Komplexität nicht zu erhöhen, schauen wir uns IoC-Container an, deren Implementierung ein Trockencontainer ist.
- Für das Lademanagement sollten Sie ein Trockensystem in Betracht ziehen. Abschließend schauen wir uns ein Basisprojekt an, mit dem Sie dem System beliebige Ebenen hinzufügen können.
Dadurch können Sie:
Verstehen Sie, was dry-rb im Allgemeinen ist, was der Layered-Architekturstil ist und welche Probleme er löst. Und verstehen Sie auch, wie DI und Container beim Erstellen von Anwendungsstrukturen helfen. Anschließend schreiben wir unsere erste Bewerbung im Trockensystem.
Tag 2. Wir schreiben Geschäftslogik. Eisenbahn, Ergebnisobjekte und Validierung.
- Um mit Geschäftslogik zu arbeiten, betrachten wir das Eisenbahnmuster, das es Ihnen ermöglicht, die technischen Schritte eines Geschäftsprozesses zu einer Kette zu verbinden, in der jeder Schritt den gesamten Prozess abschließen kann.
- Damit die Eisenbahn funktioniert, werden wir DO-Notationen von Trockenmonaden als Möglichkeit zur Implementierung des Musters verwenden. Lassen Sie uns besprechen, wie und warum Monaden verwendet werden.
- Und um sicherzustellen, dass das Datenschema, mit dem wir arbeiten und das wir in die Datenbank schreiben, gültig ist, verwenden wir Trockenschema und Trockenvalidierung.
Dadurch können Sie:
Lernen Sie, den Railway-Ansatz zur Beschreibung der Geschäftslogik zu verwenden. Sie werden verstehen, warum Monaden als Ergebnisobjekte benötigt werden und wie Sie Daten und Geschäftslogik validieren.
Tag 3. Hinzufügen der Transport- und Persistenzschichten. Schauen wir uns den Rest der dry-rb-Bibliotheken an.
- Schauen wir uns Möglichkeiten an, verschiedene Transporte (http, Rabbit, Kafka) und Persistenzbibliotheken (ROM, Sequel usw.) hinzuzufügen und unser Projekt zu erweitern.
- Werfen wir einen kurzen Blick auf die verbleibenden Trockenbibliotheken und besprechen wir, wo wir sie verwenden können. Und was haben funktionale Objekte damit zu tun?
- Lassen Sie uns besprechen, was als nächstes mit der Struktur des Rohlings gemacht werden kann und wie man ihn ändern kann. Was ist hinzuzufügen, was ist zu entfernen, wie kommt man zur Scheibe und zur sechseckigen Struktur?
Ergebend:
Lassen Sie uns das System zu einem einzigen Stück zusammenbauen.
Schauen wir uns an, wie man jede Art von Transport- und Persistenzschicht hinzufügt.
Schauen wir uns die verbleibenden Bibliotheken des dry-rb-Ökosystems an.
Lassen Sie uns weitere Schritte zur Entwicklung bzw. zum Einsatz eines fertigen Rohlings besprechen.