Warsztat #223 Full Stack JavaScript - Nowoczesny Backend w Node.js i TypeScript cz.2

  • 17.02.2019
  • Wrocław
  • 1 dzień
  • 79 PLN
Typ szkolenia
Warsztat - Krótsze praktyczne ćwiczenia w większych grupach

Tryb szkolenia
  • W ciągu dnia

Adresaci szkolenia
  • Programista/Architekt

Opis szkolenia

Podsumowanie:

Przedstawiamy drugą część warsztatu z serii Full Stack JavaScript, w którym zapoznamy się z serwerowym wykorzystaniem JavaScript.

W pierwszej części, poznaliśmy framework NestJS oraz jak pisać backend w TypeScript.

Teraz zajmiemy się architekturą aplikacji, testami jednostkowymi, testami e2e, infrastrukturą i deploymentem aplikacji napisanych w Node.js.

Druga część warsztatu jest niezależna od pierwszej, i jeśli jesteś bardziej doświadczonym programistą, możesz samemu nadrobić materiał, który będzie wymagany do zrozumienia ćwiczeń w części drugiej.

Wystarczy że przerobisz pierwszą sekcję “Overview” w dokumentacji NestJS: https://docs.nestjs.com/first-steps. Następujące punkty:

  • Controllers
  • Providers
  • Modules
  • Middleware
  • Exception filters
  • Pipes
  • Guards
  • Custom decorators
  • Nest CLI

Czego się nauczysz?

Na warsztacie stworzymy nowoczesny serwer API w Node.js wykorzystując framework NestJS. Będziemy pisali w TypeScript gdyż pozwala on nam na zastosowanie najnowszej wersji ECMAScript, a statyczne typowanie pomoże nam w utrzymaniu aplikacji na wysokim poziomie niezawodności i przejrzystości kodu.

Skupimy się na rozplanowaniu architektury aplikacji inspirując się zasadami Clean Architecture. Zobaczymy jak pisanie testów wymusza dobre praktyki w kodzie. Rozdzielimy logikę biznesową od warstwy transportu (HTTP, WebSocket, TCP, CLI).

Na koniec poznamy narzędzia wspierające procesy budowania paczki produkcyjnej aplikacji, deploy i monitoring aplikacji na serwerze produkcyjnym.

Dla kogo jest ten warsztat?

Warsztat jest przeznaczony dla programistów ze znajomością JavaScript i TypeScript w zakresie podstawowym. Zagadnienia które będą używane ale nie omawiane na warsztacie:

  1. JavaScript
    • var, const, let
    • funkcja
    • klasa
    • ES Modules (import/export)
    • arrow function
    • Promise
    • async/await
  2. TypeScript
    • proces kompilacji TS do JS
    • podstawowe typy
    • interfejsy
    • dekoratory
    • typy generyczne
  3. Konsola systemowa
  4. System kontroli wersji GIT

Dlaczego JavaScript?

JavaScript pojawił się ponad 20 lat temu jako język skryptowy w przeglądarkach internetowych, czyli po stronie klienta. Później zawitał też po stronie serwera jako Node.js, a dalszy jego rozwój pozwala nam dziś budować aplikacje mobilne, desktopowe, programować bazy danych a nawet roboty.

Czy wiedziałeś że najbardziej popularne IDE dla web developerów, Visual Studio Code jest napisane w TypeScript HTML i CSS ?

Idea “Full Stack JavaScript” opiera się na wykorzystaniu technologii webowych, HTML, CSS i JavaScript we wszystkich etapach budowy aplikacji: - Strony internetowe (Czysty HTML+CSS+JavaScript, Angular, React, Vue) - Aplikacje mobilne (Cordova, Capacitor, Ionic, NativeScript) - Aplikacje desktopowe (Electron) - Serwer (Node.js, Express, NestJS, Fastify) - Bazy danych (MongoDB Shell) - IoT (Cylon.js, Johnny-five)

Podczas warsztatu uczestnicy korzystają z własnych komputerów.

Podczas warsztatu zapewniemy dostęp do kawy, herbaty, wody. W porze obiadowej zapewniamy pizzę w wersji mięsnej lub wegatariańskiej.

Agenda:

  1. Refactoring aplikacji z pierwszej części warsztatu.
    • Architektura aplikacji(Single responsibility, Reusable, Clean Architecture)
    • Oddzielenie logiki biznesowej od warstwy transportu
    • Test Driven Development na pomoc lepszej architekturze i stabilności
  2. Dodanie testów jednostkowych.
    • Mockowanie serwisów
    • Tworzenie testowej instancji bazy danych
    • Zasilanie bazy danych testowymi rekordami
  3. Dodanie testów e2e.
    • Wykonywanie zapytań: GET, POST, DELETE
    • Upload plików
  4. Automatyczne tworzenie danych testowych (fixtures).
    • pliki
    • struktura bazy danych
    • uzupełnianie bazy testowymi rekordami
  5. Własne CLI.
    • uruchamianie elementów aplikacji z linii poleceń
    • uruchamianie zadań CRON
    • migracje baz danych
  6. Build, deploy i monitoring aplikacji
    • build z shell.js
    • deploy z ShipIt.js
    • monitoring i zarządzanie procesami z PM2
  7. Inne warstwy transportu: WebSocket, TCP

Dodatkowe informacje: Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia oraz jego odwołania w przypadku niezgłoszenia się minimalnej liczby uczestników.


Zapisz się na kurs
Organizator szkolenia - StacjaIT - skontaktuje się z tobą w celu dokończenia procesu rejestracji