szkolenie
javascript
zaawansowane

――

JavaScript to skryptowy oraz wieloparadygmatowy język programowania wysokiego poziomu. 
Możemy go wykorzystać zarówno na front-endzie (przeglądarka internetowa) jak i back-endzie (Node.js)

Cel szkolenia
Szkolenia prowadzone są wg najbardziej aktualnych sposóbów programowania w JS/TS oraz na najnowszych wersjach frameworków i bibliotek.
Na szkoleniu omówione zostaną m.in. procesy jakie zachodzą w przeglądarce podczas uruchamiana aplikacji oraz sposób działania języka JavaScript.
Uczestnik na praktycznych przykładach zapozna się z nowościami standardu ECMAScript oraz mechanizmami jakie warto poznać tworząc aplikacje oraz biblioteki w JavaScript.
Ponadto rozszerzy swoją wiedzę w tematach: transpilacja kodu, komunikacja z serwerem WebSocket, aspekty bezpieczeństwa w komunikacji HTTP.
Szkolenie nie dotyczy bibliotek JavaScript; tylko czysty język.
Program szkolenia
Program można modyfikować lub łączyć z programami innych moich szkoleń; jednak przed zamówieniem należy uzgodnić taką zmianę.
  • Jak działa JavaScript

    • Engine and Runtime
    • Event Loop
    • Stack Overflow
    • Garbage Collection
    • Single Threaded
  • Architektura aplikacji

    • Micro Frontends
    • Monorepos
    • npm workspaces
    • npm Registry
  • Architektura przepływu danych w aplikacji

    • CQRS - Command Query Responsibility Segregation
    • Service Oriented
    • Event Driven
  • Paradygmaty programowania

    • Funkcyjne
    • Imperatywne
    • Deklaratywne
    • Obiektowe
  • Programowanie funkcyjne

    • Pure functions
      • One task
      • No side-effect
      • Immutable state
      • Predictable
      • Declarative
    • Impure functions
      • Inconsistent Results
      • Shared state
      • Side-effect
  • Omównienie mechanizmów

    • Curring
    • Memoization
    • Recursion
    • Closures
    • Higher-Order Functions
    • Nesting
    • Chaining
    • Composition
    • Inheritance
    • IIFE Pattern
  • Typy oraz struktury danych w JavaScript

    • Dynamiczne typowanie
    • Type coercion
    • Symbole
  • Zakres zmiennych

    • Globalne
    • Lokalne
    • Lexical Scope vs Dynamic Scope
    • Hoisting
  • Metody obiektów

    • defineProperty
    • keys, values, entries
    • freeze
  • JavaScript context

    • Problem z this
    • Zmiana kontekstu z użyciem metod
      • call
      • apply
      • bind
  • Wybrane funkcjonalności ECMAScript (ES6, ES7, ES8, ES9, ES10)

    • Generators
    • Promise
    • Spread and rest params
    • Enhanced Object Properties
    • Iterators
    • Template literals
    • Destructured, assignment
    • Modules
    • Map/Set
    • Meta-Programming
      • Proxying
      • Reflection
  • Komunikacja z serwerem

    • WebSocket
    • Autoryzacja a autentykacja
  • Web Components

    • Custom Elements
      • Rejestracja oraz instancja elementu
      • Obserwowanie zmian w atrybutach
    • HTML templates
      • Tworzenie i klonowanie
      • Dynamiczne wstrzykiwanie danych
      • Zagnieżdżenia
    • Shadow DOM
      • DOM vs Shadow DOM
      • Host
      • Kontent/Slot
      • Selektory
      • Zdarzenia
      • Style
    • Rozdzielenie komponentu na pliki HTML, CSS oraz JS
    • Wprowadzenie do Lightning Web Components UI framework (LWC)
  • Transpilacja kodu Javascript

    • Webpack
      • Konfiguracja
      • Loadery plików
      • Dev Server
      • Proxy
      • Webpack Module Federation
    • Babel
      • Transpilacja kodu
      • pluginy
  • Testowanie automatyczne - wprowadzenie

    • Jest Framework
    • Cypres Framework
  • Rozwiązywanie problemów

    • Memory Leaks
    • Debugowanie kodu
    • Error Handling
    • ESLint
Czas trwania
Szkolenie można wydłużyć lub skrócić po wcześniejszym uzgodnieniu.
Szkolenie trwa 3 dni
Adresaci szkolenia
Szkolenie JavaScript zaawansowane adresowane jest do programistów znających dobrze min. jeden język programowania oraz posiadających podstawową wiedzę o JavaScript i HTML.
Forma szkolenia

Szkolenie ma charakter warsztatowy
Może być zrealizowane stacjonarnie lub zdalnie.

Wycena szkolenia grupowego
Cena usługi zależy od czasu trwania szkolenia oraz liczby uczestników.
CENA NETTO: 0
Wycena zajęć indywidualnych
CENA: 0
Lekcja poza pakietem: 100 zł
Pierwsza lekcja próbna jest bezpłatna
Informacje dodatkowe
Jak przygotować się do szkolenia
Informacje ogólne

Info ogólne
  • Dzień szkoleniowy trwa 8 godzin lekcyjnych + przerwy.
  • Ze względu na warsztatowy charakter szkolenia bądź na czas. Standardowo zaczynamy o 9:00 - o ile nie zostało ustalone inaczej.
  • Jest ważne, abyś biegle posługiwał się komputerem oraz znał podstawowe skróty klawiaturowe; np. Alt+Tab.
  • W czasie szkolenie postaraj się nie używać telefonu i innych rozpraszaczy; dobrze jest też wyłączyć wszystkie niepotrzebne aplikacje na komputerze.
  • Po szkoleniu uczestnik otrzymuje materiały w formie elektronicznej. Są to repozytoria git z kodem do ewentualnej analizy.

Sprzęt oraz oprogramowanie uczestnika

Niezbędny sprzęt

  • Szybki komputer (np. i5 lub i7, SSD, min. 8GB RAM) z uprawnieniami administratora.
  • Dwa monitory oraz włączona kamerka internetowa - niezbędne podczas szkolenia zdalnego.
  • Zaopatrz się we wszystko, co może być użyteczne np. myszkę czy notatnik.

Niezbędne oprogramowanie

Sala szkoleniowa

Jeżeli szkolenie odbywa się w siedzibie klienta w sali szkoleniowej potrzebne są:

  • szybki internet
  • dobry rzutnik - najlepiej HDMI
  • flipchart - opcjonalnie
  • komfortowa przestrzeń dla każdego uczestnika
  • możliwość swobodnego podejścia (przez trenera) do każdego uczestnika szkolenia

v. 1.0.328