Dry-rb: co, dlaczego i jak - kurs 4900 rub. od ThinkNetica, szkolenie 3 webinary, termin 27 listopada 2023 r.
Miscellanea / / November 27, 2023
Format
3 webinaria trwające 2 godziny
Ćwiczyć
Część ćwiczeń wykonasz bezpośrednio na zajęciach, a część samodzielnie po webinarze.
Komunikacja
Będziesz mieć wsparcie na czacie na żywo, a seminaria internetowe omówią typowe pytania i błędy, przykłady najlepszych praktyk i rozwiązań.
Wynik
- Zrozumiesz, dlaczego potrzebne jest wstrzykiwanie zależności, jak pomaga to w utrzymaniu, testowalności i modułowości aplikacji.
- Zrozumiesz, co mają z tym wspólnego kontenery Inversion of Control (IoC) i jakie opcje analizy możesz zastosować w oparciu o zależności w kontenerach
- Zapoznaj się ze schematem kolejowym (nie mylić ze sposobem szynowym) i dowiedz się, jak to podejście pomaga w pisaniu logiki biznesowej, która może zawieść na którymkolwiek etapie.
- Utwórz prostą strukturę usług, w której możesz używać dowolnych bibliotek transportowych (takich jak zarówno dla wywołań konsumenckich, jak i http/rpc) oraz wszelkich bibliotek zapewniających trwałość, nie tylko AR lub rom.
- Dowiesz się jakie mogą być rodzaje walidacji i jak napisać walidator dla dowolnego schematu danych.
- Dowiesz się na czym polega rozwój Ruby poza RoR, dzięki czemu będziesz w stanie zrozumieć nie tylko hanami, ale także frameworki w innych językach (podejścia stosowane są w Pythonie, Javie, JS i innych ekosystemach)
- Naucz się korzystać z monady
Wymagania dla uczestników
1. Rok doświadczenia w programowaniu Ruby. Ważna jest znajomość podstawowych rzeczy związanych z tworzeniem stron internetowych, takich jak MVC, umiejętność wykonywania zapytań do bazy danych i pisanie minimalnych testów.
2. Profil na GitHubie
3. Podstawowe umiejętności wiersza poleceń i git
4. Chęć zrozumienia podejść innych niż kolejowe
3 webinaria
Zadania praktyczne
Komunikacja z autorem i odpowiedzi na pytania
Dzień 1. Zależności, DI, kontenery IoC. Montujemy ramy projektu.
- Najpierw będziesz musiał zrozumieć zależności w kodzie, tj. we wszelkich bibliotekach, klasach, modułach, funkcjach itp. używanych w jednostce głównej.
- Przyjrzyjmy się dwóm sposobom śledzenia zależności: wstrzykiwaniu zależności i podstawowemu. Zobaczmy, jak DI pomaga w pisaniu testów jednostkowych i integracyjnych.
- Aby nie zwiększać złożoności, spójrzmy na kontenery IoC, których implementacją jest suchy kontener.
- Do zarządzania załadunkiem należy rozważyć system suchy. Na koniec przyjrzymy się podstawowemu projektowi, który umożliwi dodanie dowolnych warstw do systemu.
W rezultacie będziesz mógł:
Zrozum, czym ogólnie jest dry-rb, czym jest styl architektury warstwowej i jakie problemy rozwiązuje. Zrozum także, w jaki sposób DI i kontenery pomagają w tworzeniu struktur aplikacji. Następnie napiszemy naszą pierwszą aplikację w systemie dry-system.
Dzień 2. Piszemy logikę biznesową. Kolej, obiekty wynikowe i walidacja.
- Aby pracować z logiką biznesową, rozważymy wzór kolejowy, który pozwala połączyć techniczne etapy procesu biznesowego w łańcuch, w którym każdy krok może zakończyć cały proces.
- Aby kolej działała, w ramach implementacji wzorca pobierzemy notatki DO z suchych monad. Porozmawiajmy o tym, jak i dlaczego używać monad.
- A żeby mieć pewność, że schemat danych, z którym pracujemy i który zapisujemy do bazy danych jest prawidłowy, zastosujemy suchy schemat i suchą walidację.
W rezultacie będziesz mógł:
Naucz się wykorzystywać podejście kolejowe do opisu logiki biznesowej. Zrozumiesz, dlaczego monady są potrzebne jako obiekty wynikowe i jak sprawdzać poprawność danych i logiki biznesowej.
Dzień 3. Dodanie warstw transportu i trwałości. Przyjrzyjmy się pozostałym bibliotekom dry-rb.
- Przyjrzyjmy się sposobom dodania różnych transportów (http, królik, kafka) i bibliotek trwałości (ROM, sequel itp.) i rozwiń nasz projekt.
- Przyjrzyjmy się pokrótce pozostałym suchym bibliotekom i porozmawiajmy o tym, gdzie z nich korzystać. A co mają z tym wspólnego obiekty funkcjonalne?
- Porozmawiajmy, co można dalej zrobić ze strukturą blanku i jak to zmienić. Co dodać, co usunąć, jak dostać się do plastra i struktury heksagonalnej.
W rezultacie:
Złóżmy system w jedną całość.
Przyjrzyjmy się, jak dodać dowolny rodzaj warstwy transportu i trwałości.
Przyjrzyjmy się pozostałym bibliotekom z ekosystemu dry-rb.
Omówmy dalsze kroki w rozwoju lub wykorzystaniu gotowego blanku.