Nowoczesna architektura aplikacji Web oparta o Node.js

Kod: node-modern-Node
Kategoria: Node.js
Forma: 20% wykłady / 80% warsztaty
Czas trwania: 3 dni
Odbiorcy: developerzy, architekci
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Mikrousługi, chmura, ciągłe wdrażanie oprogramowania na produkcję mocno wpłynęły na to jak współczesne zespoły programistyczne budują systemy informatyczne. W tym nowym świecie mamy coraz większe zapotrzebowanie na bardzo wydajne serwisy, które w efektywny sposób wykorzystują zasoby serwera. To właśnie w tym kontekście najlepiej sprawdza się Node.js. Czego się nauczę?

  • tworzyć testowane API i aplikacje webowe połączone z bazą MongoDB
  • ewoluować strukturę aplikacji na podstawie informacji zwrotnej od kodu
  • dobierać styl architektoniczny do problemu
  • tworzyć aplikacje poprzez kompozycję małych bibliotek i funkcji (the Unix Way)
.

Wyróżniki szkolenia

  • Pokazuje aplikacje Node.js w szerszym kontekście
  • Kładzie nacisk na czysty kod i architekturę, a nie na API frameworków i bibliotek
  • Prezentuje rozwiązania na bazie których można budować rzeczywiste aplikacje
  • 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. Express.js
    1. routes
    2. middleware
    3. obsługa błędów
    4. silniki do szablonów
    5. połączenie z MongoDB
  2. REST
    1. Zasoby i reprezentacje
    2. Content Negotiation
    3. Zasoby kolekcji
    4. HATEOAS - hipermedia
    5. HTML as media type
  3. Architektura warstwowa
    1. Wstrzykiwanie zależności (Dependency Injection) bez frameworków
    2. Asynchroniczne zależności
    3. CRUD
    4. kontrolery
    5. serwisy
    6. repozytoria
    7. logika domenowa
    8. walidacja danych
  4. Architektura oparta o Event Sourcing i CQRS
    1. agregaty, komendy i zdarzenia
    2. modelowanie niezmienników
    3. node-eventstore (MongoDB, in-memory)
    4. command handlers
    5. publikowanie zdarzeń po HTTP
  5. Architektura Pipes and Filters z użyciem strumieni
    1. typy strumieni (readable, writable, transform)
    2. strumienie z core Node.js (http, fs, zlib)
    3. biblioteki 3rd party (through2, split2)
    4. architektura Pipes and Filters w kontekście strumieni
  6. Testowalność
    1. projektowanie pod testowalność
    2. "ciężkie" zależności
    3. Londyńska szkoła testowania jednostkowego
    4. Chicagowska szkoła testowania jednostkowego
    5. Testowanie komponentowe
    6. narzędzia: mocha, tape, supertest
  7. Refaktoring Legacy Node.js
    1. znajdowanie "szwów" w kodzie
    2. dodawanie tzw. characterization tests
    3. używanie narzędzi porycia kodu testami do znajdowania martwego kodu
    4. brzydkie zapachy w kodzie
    5. automatyczny refaktoring z użyciem IDE


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: 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 szkolenia dedykowane:

    (zobacz wszystkie powiązane...)

    Svelte: Reaktywne Aplikacje Frontendowe

    Powiązane usługi:

    Audyty architektury

    Audyty architektury

  • JSON taki albo owaki... czyli kontrolowanie struktur z JSON Schema
    KATEGORIE: 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 szkolenia dedykowane:

    (zobacz wszystkie powiązane...)

    Svelte: Reaktywne Aplikacje Frontendowe

    Powiązane usługi:

    Audyty architektury

    Audyty architektury

  • A Ty co zrobisz bez frameworka
    KATEGORIE: 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 szkolenia dedykowane:

    (zobacz wszystkie powiązane...)

    Svelte: Reaktywne Aplikacje Frontendowe

    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ń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna