Nowoczesna architektura aplikacji Web oparta o Node.js

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.

  1. Zasady i techniki inżynierskie
    1. Minimalne zależności
    2. Funkcje zamiast klas
    3. Parsuj zamiast walidować
    4. Prawo Postela
    5. Domyślny tryb in-memory
    6. Architektura zorientowana na możliwości biznesowe
    7. Kompozycja zamiast konwencji
    8. bezpieczeństwo typów E2E
    9. Programowanie w języku, zamiast we frameworku
    10. Development sterowany feature flagami
  2. Komponenty architektoniczne
    1. Pipes and filters (express.js middleware, handlers)
    2. Porty i adaptery
    3. Routery i kontrolery
    4. Serwisy aplikacyjne
    5. Repozytoria
    6. Error handlers
    7. Typy domenowe i tiny types
    8. Parsery wejściowe i wyjściowe
    9. DTO za darmo
    10. Composition root
    11. Model do zapisu a model do odczytu
    12. Zewnętrzny model do odczytu (model widoku) a wewnętrzny model do odczytu
    13. Zasięg widoczności aplikacyjny i per zapytanie
  3. Strategie testowania
    1. Testy jednostkowe zachowania (mocha)
    2. Testy integracyjne (mocha)
    3. Testy komponentowe (supertest)
    4. Testowanie bez mocków
    5. Testowanie trudnych zależności (czas, generowanie id)
    6. Strategie czyszczenia danych testowych
  4. Integracja z bazą SQL
    1. Migracje bazodanowe
    2. Generowanie typów ze schemy bazodanowej
    3. Weryfikacja kontraktu repozytoriów
    4. SQL query builder
    5. Obsługa transakcji bazodanowych
  5. Bezpieczeństwo typów
    1. Bezpiecznie typowana konfiguracja (zod)
    2. Bezpiecznie typowane zapytania bazodanowe (kysely)
    3. Bezpiecznie typowane wejście i wyjście (zod)
    4. Bezpiecznie typowane Dependency Injection
    5. Bezpiecznie typowane ścieżki do API (static-path)


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

  • Looking for the Holy Grail of Mobile Web Performance
    KATEGORIE: JS i Front-end

    W świecie mobilnym Istnieje przeświadczenie, że jedynie aplikacje natywne są w stanie sprostać oczekiwaniom użytkowników. Wraz z pojawieniem się Progresywnych Aplikacji Webowych, które mają przenieść na platformę webową wiele cech zarezerwowanych dotąd tylko dla rozwiązań natywnych, oczekiwania dotyczące wydajności są silniejsze niż kiedykolwiek wcześniej. Czy Web jest w stanie im sprostać?

    Autor Bottega:

    Adam Bar

    Powiązane usługi:

    Audyty architektury

    Audyty architektury

  • JSON taki albo owaki... czyli kontrolowanie struktur z JSON Schema
    KATEGORIE: JS i Front-end

    Slides

    JSON jest najpopularniejszym formatem definiowania/wymiany danych w sieci. Jest elastyczny niczym XML oraz zwięzły, jak to tylko możliwe. Nie mniej, rozwiązłość strukturalna JSONów powoduje utratę kontroli nad tym, jakie dane są przechowywane. Jeśli chcesz kontrolować, co może być przechowywane w formacie JSON, zerknijmy na JSON Schema.

    Autor Bottega:

    Tomasz Ducin

    Powiązane usługi:

    Audyty architektury

    Audyty architektury

  • A Ty co zrobisz bez frameworka
    KATEGORIE: JS i Front-end

    Podczas tej prezentacji poznamy lit-html – bibliotekę, która w prosty sposób abstrahuje zawiłości operacji na DOM-ie – oraz jej kuzyna lit-element, dzięki któremu Web Componenty są dziś na wyciągnięcie ręki. Sprawdzimy, jak wiele można mieć za tak niewiele i zastanowimy się, czy lit-html może stanowić alternatywę dla frameworków.

    Autor Bottega:

    Adam Bar

    Powiązane usługi:

    Audyty architektury

    Audyty architektury

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.