| Tytuł: | Nowoczesna architektura aplikacji Web oparta o Node.js |
| Kod: | modern-Node |
| Kategoria: | Node.js |
| Forma: | 20% wykłady / 80% warsztaty |
| Czas trwania: | 2-3 dni |
| Odbiorcy: | architekci, developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Node.js zapewnia dużo większą swobodę w porównaniu do tradycyjnych ekosystemów programistycznych klasy enterprise.
Chociaż niektórzy programiści próbują przekształcić Node.js w platformę bazującą na ciężkich frameworkach, istnieje alternatywne podejście.
Na tym szkoleniu nauczysz się budować wysoce komponowalne, bezpiecznie typowane i testowalne systemy bez tradycyjnej magii frameworkowej. Jeżeli chcesz oduczyć się używania:
- kontenerów Dependency Injection
- programowania z klasami
- ORMów
- architektur zorientowanych na technologie
- magicznych konwencji
- łupieżu adnotacyjnego
- new Date() rozsianego po kodzie
- ręcznie pisanych DTO
- frameworków do mockowania importów
- refleksji i metaprogramowania
To niniejsze szkolenie jest dla Ciebie.
Alternatywą do ciężkich frameworków nie jest Dziki Zachód programowania ani budowanie własnego frameworka. Najlepszą alternatywą jest odkrycie prawdziwej natury JS/TS, wykorzystanie tylko dobrych części tych języków, tak aby nigdy więcej nie dać się uwięzić w kolejnym ciężkim frameworku.
Czego się nauczę?
- tworzyć testowalne i bezpiecznie typowane API połączone z bazą SQL
- ewoluować strukturę aplikacji na podstawie informacji zwrotnej od kodu
- dobierać komponenty architektoniczne do problemu
- tworzyć aplikacje poprzez kompozycję małych bibliotek i funkcji (the Unix Way)
Wyróżniki szkolenia
- Pokazuje ponadczasowe techniki, które przeżyją kolejny framework
- Uczy programować w języku, a nie we frameworku
- Obala mity i pokazuje jak usuwać sztuczną złożoność
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Zasady i techniki inżynierskie- Minimalne zależności
- Funkcje zamiast klas
- Parsuj zamiast walidować
- Prawo Postela
- Domyślny tryb in-memory
- Architektura zorientowana na możliwości biznesowe
- Kompozycja zamiast konwencji
- bezpieczeństwo typów E2E
- Programowanie w języku, zamiast we frameworku
- Development sterowany feature flagami
- Minimalne zależności
-
Komponenty architektoniczne- Pipes and filters (express.js middleware, handlers)
- Porty i adaptery
- Routery i kontrolery
- Serwisy aplikacyjne
- Repozytoria
- Error handlers
- Typy domenowe i tiny types
- Parsery wejściowe i wyjściowe
- DTO za darmo
- Composition root
- Model do zapisu a model do odczytu
- Zewnętrzny model do odczytu (model widoku) a wewnętrzny model do odczytu
- Zasięg widoczności aplikacyjny i per zapytanie
- Pipes and filters (express.js middleware, handlers)
-
Strategie testowania- Testy jednostkowe zachowania (mocha)
- Testy integracyjne (mocha)
- Testy komponentowe (supertest)
- Testowanie bez mocków
- Testowanie trudnych zależności (czas, generowanie id)
- Strategie czyszczenia danych testowych
- Testy jednostkowe zachowania (mocha)
-
Integracja z bazą SQL- Migracje bazodanowe
- Generowanie typów ze schemy bazodanowej
- Weryfikacja kontraktu repozytoriów
- SQL query builder
- Obsługa transakcji bazodanowych
- Migracje bazodanowe
-
Bezpieczeństwo typów- Bezpiecznie typowana konfiguracja (zod)
- Bezpiecznie typowane zapytania bazodanowe (kysely)
- Bezpiecznie typowane wejście i wyjście (zod)
- Bezpiecznie typowane Dependency Injection
- Bezpiecznie typowane ścieżki do API (static-path)
- Bezpiecznie typowana konfiguracja (zod)
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.