Node.JS Development

Node.JS Development

Kurs obejmuje wszystkie niezbędne informacje dotyczące Node.JS: Menedżer pakietów NPM, framework Express (routing, silnik szablonów Pug, oprogramowanie pośredniczące), metoda REST, praca asynchroniczna z NodeJS API, praca z systemem plików, podstawowe koncepcje MongoDb i jak ją wykorzystywać z poziomu aplikacji Node.JS.
Kod: WEB-017
Czas trwania: 12 godzin

Opis szkolenia

Kurs obejmuje wszystkie niezbędne informacje dotyczące Node.JS: Menedżer pakietów NPM, framework Express (routing, silnik szablonów Pug, oprogramowanie pośredniczące), metoda REST, praca asynchroniczna z NodeJS API, praca z systemem plików, podstawowe koncepcje MongoDb i jak ją wykorzystywać z poziomu aplikacji Node.JS. Kurs obejmuje także zaawansowane tematy, takie jak pętla zdarzeń NodeJS, timery, emitery zdarzeń, wykorzystanie strumieni Node, wykorzystanie Kafki do wymiany komunikatów, protokół WebSocket, wdrażanie i monitorowanie aplikacji Node w trybie klastra.

 W trakcie kursu uczestnicy zbudują prawdziwą aplikację webową z REST API, która przechowuje dane w sesji, plikach i bazie MongoDb (zapewniony będzie frontowy UI).

Kurs obejmuje rozwiązywanie zadań krok po kroku, jak również dodatkowe zadania w celu zdobycia doświadczenia praktycznego.

 Kurs jest przeznaczony dla web developerów (React/Angular/Vue) oraz backend developerów. Wymagana jest podstawowa znajomość JavaScript.

Plan szkolenia

NodeJS basics
  • Czym jest Node.JS?
  • Funkcje Node.JS
  • Wielowątkowe przetwarzanie żądań serwera
  • Przetwarzanie żądań Node.JS z pętlą zdarzeń
  • Menedżer pakietów NPM

o package.json
o package-lock.json
o Katalogi NPM
o Wersjonowanie semantyczne w NPM
o Polecenia NPM
o Nodemon

  • Systemy modułowe CommonJS i ES2015
  • Prosty serwer http
  • Prosty serwer http zwracający JSON


Framework Express
  • Zminimalizowana aplikacja Express
  • Wzorzec MVC
  • Routing w Express

o Parametry żądania
o Kwerenda żądania
o App.route()
o Definiowanie routingu w osobnym module
o Metody odpowiedzi
  • Silnik szablonów Pug
o Pętle w Pug
o Warunki i zmienne
o Each
o Dziedziczenie szablonów
o Dodawanie/dołączanie bloków
o Mixiny
  • Oprogramowanie pośredniczące
o Czym jest oprogramowanie pośredniczące
o Jak stworzyć własne oprogramowanie pośredniczące (przykład z rejestrowaniem)
o Oprogramowanie pośredniczące do pracy z sesjami
o Body-parser obsługujący parsowanie żądań POST
o Struktura Express z oprogramowaniem pośredniczącym
o Oprogramowanie pośredniczące do obsługi plików statycznych
o Ograniczenie oprogramowania pośredniczącego do trasy
o Kolejność wywołań oprogramowania pośredniczącego
  • Ekspres w praktyce
  • Metoda Rest

o Wzorzec MVC z serwerem REST
o Żądania REST w celu uzyskania danych
o Tworzenie danych w REST
o Aktualizacja i usuwanie danych w REST
o Zwracanie formatu danych, nagłówków Content-Type i Accept
o Podsumowanie i przypadki użycia REST API
o Bezstanowość a stanowość REST
o Bezstanowość a skalowalność REST
o Bezstanowość a niezawodność REST
  • Wykorzystanie frameworka Express do tworzenia usług REST
  • Obsługa błędów we frameworku Express

o Domyślny program obsługi błędów
o Własna klasa błędów
- Ćwiczenia: Wdrożenie usługi REST (utrzymanie danych w sesji) [2h]

Składnia async/await. Praca z systemem plików.
  • Składnia async/await.

o Składnia async/await i wykonywanie równoległe
o Przetwarzanie wyjątków za pomocą Async/await
o Pętle z async/await
o Async/await w Expressie
  • Praca z plikami
o Odczyt z pliku
o Zapisywanie do pliku
o Odczytywanie pliku z użyciem składni async/await
o Niskopoziomowa praca z plikami
o Obsługa wyjątków wywołań synchronicznych
o Obsługa wyjątków wywołań asynchronicznych
o Wyświetlanie listy plików w folderze
• Ćwiczenie: Wdrożenie usługi REST (utrzymanie danych w plikach)

Korzystanie z MongoDb w NodeJS
  • Czym jest MongoDb
  • Do czego można wykorzystać MongoDb?
  • Niedopasowanie impedancji (obiektowej vs. relacyjnej)
  • Brak niedopasowania impedancji z MongoDb
  • MongoDb vs. relacyjna baza danych

o Wstawianie dokumentów do kolekcji MongoDb
o Problem: powolne wyszukiwanie w kolekcjach
o Rozwiązanie: budowanie indeksów
  • Znajdowanie dokumentów w MongoDb

o Znajdź: zapytania
o Znajdź: projekcje
o Znajdź: kursory
o Jak zaimplementować stronicowanie
  • Aktualizacja dokumentów w MongoDb

o Aktualizuj: zastępowanie dokumentu
o Aktualizuj: zmiana tylko części dokumentu przy pomocy operatorów
  • Korzystanie z MongoDb z NodeJS

o Łączenie się z MongoDb z serwera NodeJS
o Odczytywanie danych z MongoDb przy pomocy frameworka Express
o Zapisywanie danych do MongoDb przy pomocy frameworka Express
o Usuwanie/aktualizowanie danych przy pomocy frameworka Express
  • Ćwiczenie: Wdrożenie usługi REST (utrzymanie danych w MongoDb)

Zaawansowane tematy w zakresie NodeJS
  • Pętla zdarzeń węzła i timery

o Set immediate
o Process nextTick
o Unref i clearInterval
o Pogłębiona analiza pętli zdarzeń węzła
o Timery
  • Emiter zdarzeń węzła
  • Strumienie węzłów

o Strumienie plików
o Strumienie czytelne i zapisywalne
o Tworzenie dużych plików przy użyciu strumieni
o Tworzenie zapisywalnego strumienia i przetwarzanie danych w strumieniu
o Tworzenie serwera przy użyciu Stream API
o Typy strumieni w Node.JS
o Zdarzenia strumienia
o Przekształcanie strumieni
o Wykorzystywanie potoków do przetwarzania danych
o Przykłady
  • Przesyłanie strumieniowe w Express

o Przesyłanie strumieniowe w Express
o Przesyłanie strumieniowe w Express w oparciu o Emiter zdarzeń
o Przesyłanie strumieniowe w Express podczas przesyłania dużej ilości danych
o Przykłady
  • Kafka

o Omówienie architektury Kafki
o Producent Kafki z użyciem Kafka.js
o Konsument Kafki z użyciem Kafka.js
o Przykłady
  • Protokół WebSocket

o Czym jest protokół WebSocket?
o W jakich przypadkach potrzebny jest protokół WebSocket?
o WebSocket po stronie serwera z NodeJS
o WebSocket po stronie klienta
o Aplikacja demonstracyjna
  • Wdrożenie klastra węzłowego

o Serwer węzłowy bez obsługi klastra
o Serwer węzłowy z obsługą klastra
o Moduł klastra węzłowego
o Klaster węzłowy z PM2
o Awaria serwera węzłowego
o Automatyczny restart przy awarii serwera z PM2
o Monitorowanie serwera PM2
o Klaster Express klaster z sesjami współdzielonymi (z mem-cached)
o Zbieranie i analiza logów w trybie klastrowym
o Benchmarki i testy obciążeniowe wdrożeń NodeJS w trybie pojedynczym i klastrowym
o Przykłady

Cele

Kurs ma na celu wprowadzenie uczestników do zagadnień platformy NodeJS i jej funkcji oraz pokazanie, jak te funkcje można wykorzystać w praktyce.

Grupa docelowa

Programiści JavaScript

Wymagania

JavaScript

Harmonogram w Online Cennik
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 1540 zł
Bucharest 1540 zł
Kraków 1540 zł
Wroclaw 1540 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

Szkolenia, które mogą Cię zainteresować:
WEB-017 +0+WEB-017120661

Zarejestruj się na następne szkolenie

* - Wymagane pola
Imię*
Nazwisko*
Firma
Email*
Preferred Location
Numer telefonu*
Twój komentarz
Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.