Cod: WEB-024
Durata: 36 ore
Durata: 36 ore
Descriere
Acest curs oferă o înțelegere mai profundă a caracteristicilor avansate ale JavaScript, a construcțiilor de sintaxă și a mecanismelor interne. Este dedicat pentru dezvoltatorii care au deja experiență în JavaScript, dar doresc să deblocheze întregul potențial al limbajului și să înceapă să folosească diverse capabilitati mai puțin cunoscute, dar interesante și utile.Subiecte curs
Noțiuni de bază JavaScript în profunzime- Obiect de clasă
- Descriptori de obiecte
- Metode obiect
- Moștenirea prototipului
- Simboluri
- Iteratori
- Generatoare
- Crearea de obiecte iterabile
- Generatoare asincrone
Tipuri JavaScript în profunzime
- Prezentare generală a tipurilor
- Număr de tip
- Probleme cu virgulă mobilă și rotunjire
- Tastați șir
- Tastați boolean
- Conversii de tip
- Hartă, Set, WeakMap, WeakSet
- BigInt
- ArrayBuffer
- Matrice tastate
- DataViews
- Blobs
- FileReader
- Procesarea fișierelor încărcate
Programare asincronă
- Apeluri asincrone
- Folosind aceasta în apeluri inverse
- Clasa de promisiune
- Promiteți gestionarea excepțiilor
- Metode all(), any(), race(), allSettled()
- Anularea promisiunii cu Promise.race()
- Promite anularea cu AbortController
- Sintaxă Async/wait
- Sintaxă Async/wait: Gestionarea excepțiilor
- Async/wait Sintaxă: await de nivel superior
- Async/wait Sintaxă: Constrângeri
- Arhitectura REST
- Codurile de stare HTTP
- metode HTTP
- Apatridie și scalabilitate
- Operațiuni și servicii de odihnă CRUD
- Format de date returnate: XML, JSON, XHTML
- Funcția de preluare
- Preluare cu posibilitatea de a anula cererea
- Biblioteca Axios pentru apeluri REST
- Gestionarea erorilor în Axios
- Solicitați anularea în Axios
- Interceptori Axios
- Protocolul WebSocket
- WebSocket într-un browser
- WebSocket pe server (Node.js)
- Când să utilizați WebSocket?
Muncitori și programare paralelă
- Muncitorii
- Tipuri de muncitori
- API-uri pentru lucrători
- Înregistrarea lucrătorului
- Cazuri de utilizare a lucrătorilor
- Lucrători de servicii
- Cache API
- Lucrator Serviciu Inregistrare
- Ciclul de viață al lucrătorului de service
- Lucrător de service ca proxy de server
- Strategia Cache First (Cache-ul se retrage în rețea)
- Strategia de rețea în primul rând (Rețea căderea în cache)
- Strategia învechită-în timp ce-revalidează
- Ce strategie să folosiți
- Actualizați memoria cache pentru strategia de mesaj push
- Actualizați memoria cache pentru strategia de sincronizare în fundal
Programare functionala
- Funcționează ca date
- Argumente de funcție și Matrice de argumente
- Funcționează ca metode
- Apelați și aplicați metode
- Legarea unei funcții la un obiect
- Închideri
- Crearea unei valori încapsulate prin închidere
- Funcția de constructor
- Funcții matrice: map/filter/reduce
- Paradigma de programare
- Declarativ versus imperativ
- Programare functionala
- Funcții de înaltă ordine
- Funcții pure
- Beneficiile funcțiilor pure
- Imuabilitate
- Imuabilitatea obiectelor: Operator Spread
- Beneficiile imuabilității
- Imuabil.js
- Structuri de date imbricate în Immutable.js
- Monade și compoziția funcțională
- Funcție conductă()
- Descompunerea functiilor
- Monade pentru operațiuni SIMD
- Aplicarea parțială a funcției curry
- Siguranta nula
- Model de proiectare a obiectelor nul
- Poate monada
- Funcție parțial definită
- Reguli de cod bun pentru scrierea funcțiilor
- Modele de design funcțional
- Model de design MVC cu funcții pure
- Model de design pentru observator
- Model de design de aprovizionare cu evenimente
- Model de design REDUX
- REDUX DevTools
- Avantajele REDUX
- Model de proiectare de programare reactivă (RxJS)
- Operatori de filtrare/hartă/luare
- Operatorii MergeMap/ConcatMap/SwitchMap
- Operatori ferestre/tampon
- Operatori Sample/Throttle/Debounce
- Beneficiile programării reactive și cazurile de utilizare
Obiective
După training, participanții vor:- înțelegeți mai bine limbajul JavaScript;
- cunoașteți în profunzime tipurile JavaScript și conversiile de tip;
- învață programarea asincronă;
- utilizați serviciile REST și socket-urile web pentru a comunica cu serverul;
- utilizarea lucrătorilor și programarea paralelă;
- folosiți lucrători de service pentru stocarea în cache;
- utilizați programarea funcțională și reactivă.
Public tinta
- Dezvoltatori JavaScript
- Dezvoltatorii TypeScript
- Dezvoltatori web
- Dezvoltatorii NodeJS