Zaawansowany JavaScript

Zaawansowany JavaScript

Szkolenie ma na celu pomoc w zrozumieniu skomplikowanych funkcji, konstrukcji składni i wewnętrznych mechanizmów języka JavaScript.
Kod: WEB-024
Czas trwania: 36 godzin

Opis szkolenia

Szkolenie ma na celu pomoc w zrozumieniu skomplikowanych funkcji, konstrukcji składni i wewnętrznych mechanizmów języka JavaScript. Będzie przydatne dla programistów, którzy mają już doświadczenie w JavaScript, ale chcą uwolnić pełny potencjał języka i zacząć korzystać z różnych mniej znanych, ale mimo to bardzo ciekawych i pomocnych możliwości.

Plan szkolenia

Szczegóły dotyczące podstaw JavaScript
  • Obiekt klasy
  • Deskryptory
  • Metody obiektowe
  • Dziedziczenie prototypowe
  • Symbole
  • Iteratory
  • Generatory
  • Tworzenie obiektów do iteracji
  • Generatory asynchroniczne

Szczegółowe omówienie typów w JavaScript
  • Przegląd typów
  • Number (liczby całkowite i zmiennoprzecinkowe)
  • Liczba zmiennoprzecinkowa i problemy z zaokrągleniem
  • String (ciągi znaków - tekst)
  • Boolean (wartości logiczne)
  • Konwersje typów
  • Map, Set, WeakMap, WeakSet
  • BigInt
  • ArrayBuffer
  • TypedArray
  • DataViews
  • Blobs
  • FileReader
  • Przetwarzanie wgranych plików

Programowanie asynchroniczne
  • Wywołania asynchroniczne
  • Wykorzystanie ich w wywołaniach zwrotnych
  • Klasa Promise (obietnica)
  • Obsługa wyjątków klasy Promise
  • Metody all(), any(), race(), allSettled()
  • Anulowanie obietnicy z użyciem Promise.race()
  • Anulowanie obietnicy z użyciem AbortController
  • Składnia async/await
  • Składnia async/await: Obsługa wyjątków
  • Składnia async/await: await najwyższego poziomu
  • Składnia async/await: Uwarunkowania
  • Architektura REST
  • Kody statusu HTTP
  • Metody HTTP
  • Bezstanowość i skalowalność
  • Operacje CRUD i usługi Rest
  • Format zwracanych danych: XML, JSON, XHTML
  • Funkcja pobierania
  • Pobieranie z możliwością przerwania żądania
  • Biblioteka Axios dla wywołań REST
  • Obsługa błędów w Axios
  • Anulowanie żądania w Axios
  • Interceptory Axios
  • Protokół WebSocket
  • WebSocket w przegládarce
  • WebSocket na serwerze (Node.js)
  • Kiedy korzysta z WebSocket?

Wątki robocze i programowanie równoległe

  • Wątki robocze
  • Rodzaje wątków roboczych
  • API wątku roboczego
  • Rejestracja wątku roboczego
  • Przypadki użycia wątków roboczych
  • Wątki robocze usług
  • API buforowania
  • Rejestracja wątku roboczego usługi
  • Cykl życia wątku roboczego
  • Wątek roboczy usługi jako serwer proxy
  • Strategia Cache First (Cache Falling Back to Network)
  • Strategia Network First (Network Falling Back to Cache)
  • Strategia Stale-While-Revalidate
  • Z której strategii korzystać
  • Strategia aktualizacji pamięci podręcznej dla komunikatu push
  • Strategia aktualizacja pamięci podręcznej po synchronizacji w tle

Programowanie funkcjonalne
  • Funkcje jako dane
  • Argumenty funkcji i tablice argumentów
  • Funkcje jako metody
  • Wywoływanie i stosowanie metod
  • Wiązanie funkcji z obiektem
  • Domknięcia
  • Tworzenie wartości odgrodzonej poprzez domknięcie
  • Funkcja konstruktora
  • Funkcje tablicowe: map/filtr/reduce
  • Paradygmaty programowania
  • Deklaratywne a imperatywne
  • Programowanie funkcjonalne
  • Funkcje wyższego rzędu
  • Funkcje czyste
  • Zalety funkcji czystych
  • Niezmienność
  • Niezmienność obiektów: Operator rozprzestrzeniania
  • Korzyści z niezmienności
  • Immutable.js
  • Zagnieżdżone struktury danych w Immutable.js
  • Monady i kompozycja funkcjonalna
  • Funkcja pipe()
  • Dekompozycja funkcji
  • Monady dla operacji SIMD
  • Częściowe zastosowanie funkcji
  • Rozwijanie
  • Bezpieczeństwo wartości null
  • Wzorzec projektowy obiektów pustych
  • Monada Maybe
  • Częściowo zdefiniowana funkcja
  • Dobre praktyki w pisaniu czytelnego kodu funkcji
  • Funkcjonalne wzorce projektowe
  • Wzorzec projektowy MVC z funkcjami czystymi
  • Wzorzec projektowy obserwatora
  • Wzorzec projektowy pozyskiwania zdarzeń
  • Wzorzec projektowy REDUX
  • Narzędzia deweloperskie REDUX
  • Zalety REDUX
  • Wzorzec projektowy programowania reaktywnego (RxJS)
  • Operatory filter/map/take
  • Operatory MergeMap/ConcatMap/SwitchMap
  • Operatory Window/Buffer
  • Operatory Sample/Throttle/Debounce
  • Korzyści z programowania reaktywnego i przypadki użycia

Cele

Szkolenie pozwoli uczestnikom:
  • lepiej zrozumieć język JavaScript;
  • zapoznać się szczegółowo z typami JavaScript i konwersjami typów;
  • nauczyć się programowania asynchronicznego;
  • wykorzystywać usługi REST i websockety do komunikacji z serwerem;
  • wykorzystywać wątki robocze i programowanie równoległe;
  • wykorzystywać wątki robocze usług do buforowania;
  • stosować programowanie funkcjonalne i reaktywne.

Grupa docelowa

  • Programiści JavaScript
  • Programiści TypeScript
  • Programiści aplikacji webowych
  • Programiści NodeJS

Wymagania

Znajomość JavaScript

Harmonogram w Online Cennik
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 3520 zł
Bucharest 3520 zł
Kraków 3520 zł
Wroclaw 3520 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-024 +0+WEB-024120666

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.