Dezvoltare în JavaScript - curs 39.500 rub. de la IBS Training Center, training 40 ore, Data 26 noiembrie 2023.
Miscelaneu / / November 28, 2023
Subiecte acoperite:
1. limbaj JavaScript:
versiuni și implementări JavaScript;
Domenii de aplicare a JavaScript (browser, server, dezvoltare mobilă);
Tipuri de date: String, Number, Boolean (conceptul de adevăr și fals);
Operatori, prioritate operator;
Declararea variabilelor: var, const, let;
Bucle: while, for, for … în, for …of;
Lucrul cu numere și șiruri de caractere;
Valori nule și nedefinite: diferențe și scopuri de aplicare;
Lucrul cu consola;
Excepții în JavaScript.
2. JSON, obiecte și matrice:
format JSON, exemple;
JSON.parse și stringify;
Obiecte, lucrând cu clasa Object;
Crearea obiectelor (folosind literalul {}, operatorul nou, metoda create);
Moștenire prototipică, referință __proto__;
Getters și setters;
Operatorul in și hasOwnProperty, conceptul de proprietăți enumerabile;
metoda toString(), apelând și suprascriind metoda;
metoda valueOf(), apelând și suprascriind metoda;
Crearea de tablouri: literale și noi Array();
Schimbarea automată a lungimii matricei;
Obținerea și setarea lungimii matricei, trunchierea matricei;
Utilizarea metodelor join() și concat();
Folosind metoda de sortare, setarea ordinii de sortare a matricei;
Utilizarea metodelor de feliere și îmbinare;
Utilizarea metodelor push, pop, shift, unshift: crearea unei stive sau a unei cozi.
3. Lucrul cu date și șiruri de caractere:
Folosind noul constructor Date();
Înțelegerea reprezentării computerizate a datei ca timp cu Epoch;
Folosind getTime() și setTime();
Reprezentarea șir de analiză a datelor;
Opțiuni pentru crearea șirurilor de caractere în JS: folosind ghilimele simple și duble;
Interpolarea șirurilor (șir în apostrofe);
Escape caractere speciale dintr-un șir;
Concatenare șiruri, conversie în litere mari și mici;
Găsirea unui subșir folosind indexOf() și lastIndexOf();
Selectarea unui subșir folosind substring() și substr()
Folosind metodele include, endsWith, startsWith.
4. Utilizarea JavaScript în browser: Model DOM:
Gestionarea ferestrei browserului, documentului, evenimentelor și stilului (stiluri CSS);
Obiectul fereastră și utilizările sale;
Conectarea codului JavaScript la o pagină HTML;
Ordinea de execuție a scripturilor pe pagină;
Memorarea în cache a scripturilor, servere CDN, reîncărcare forțată JavaScript;
Lucrul cu link-uri, conectarea JavaScript la link-uri;
Evenimentul de încărcare și utilizarea acestuia;
atacuri XSS pe site;
Lucrul cu DOM: folosind window, document, childNodes;
Manipularea unui document folosind DOM: crearea, ștergerea, mutarea elementelor;
Folosind getElementById(), getElementsByTagName(), getElementsByClassName() pentru a găsi elemente pe pagină;
Lucrul cu metode și proprietăți ale HTMLDocument și HTMLElement.
5. Lucrul cu evenimente în browser:
Conceptul de programare a evenimentelor;
Manageri de evenimente și ascultători;
Conectarea handlerelor folosind addEventListener();
Proprietăți și metode ale clasei Event;
Propagarea evenimentelor în sus (bulbore) și în jos (capturare);
Opriți răspândirea;
Evenimente de fereastră;
Evenimente de mouse și tastatură, proprietăți speciale pentru evenimente;
Formează evenimente;
6. Lucrul cu CSS și gestionarea stilurilor:
Standard CSS, proprietăți CSS de bază;
Stiluri generale și stiluri ale elementelor individuale;
Stiluri în cascadă;
selectoare CSS;
Modificarea CSS cu JavaScript;
Umplutură: margine, umplutură, chenar;
Controlul vizibilității elementelor: vizibilitate și afișare;
Poziţionarea elementelor: absolută, fixă, relativă, aşezare sus şi stânga;
Unități de măsură px, pt și altele;
Element overflow și control prin proprietatea overflow;
Gestionarea straturilor de document: proprietatea zIndex;
Animație, mișcare de elemente;
Lucrul cu clase, setarea className;
Lucrul cu transparență și tranziții;
metoda querySelectorAll().
7. Lucrul cu module în JavaScript, manager de pachete NPM, constructor Webpack:
Motive pentru utilizarea modulelor;
Export din modul;
Import din modul;
Reexport;
Lucrul cu NPM, fișierul package.json;
folderul node_modules, descărcarea pachetelor folosind NPM;
Instalarea globală și locală a pachetelor;
Utilizarea webpack pentru a construi un proiect;
încărcătoare CSS și TypeScript;
Configurare webpack.config.js;
Crearea pachetului, compresie;
pluginuri webpack;
Utilizarea vechilor sisteme de modularitate – CommonJS și AMD;
Folosind CommonsChunkPlugin, mai multe puncte de intrare;
Module HMR interschimbabile la cald.
8. Clasele și moștenirea în JavaScript:
Moștenirea prototipului, referință __proto__;
Prototip de obiect;
Utilizarea instanceof;
Clasa de cuvinte cheie, crearea de clase;
Cuvânt cheie super;
Folosind metoda Object.assign();
Folosind metoda Object.defineProperty();
Getters și setters;
Operator Spread pentru lucrul cu obiecte și matrice;
Destructurarea unui tablou și a unui obiect.
9. Programare funcțională în JavaScript:
Funcționează ca variabile;
Argumente de matrice;
Clasa de functii, metode call() si apply();
Metoda bind(), setând acest lucru și unii dintre parametri folosind bind;
Închideri în JavaScript;
Încapsularea valorilor folosind închideri;
Crearea unei funcții prin constructorul Function: construirea unui șir;
Funcții săgeți, exemple de aplicare a acestora;
Manipularea matricei funcționale: find, findIndex, filter;
Exemple de utilizare a hărții/filtrului/reducerii pentru a procesa date într-o matrice.
10. Imuabilitate, testare, model MVC:
Conceptul de imuabilitate, avantajele sale;
Metode mutabile și imuabile pentru schimbarea obiectelor și a tablourilor;
Conceptul și avantajele Virtual DOM;
Testarea funcțiilor imuabile, folosind Jest;
Memorizarea, avantajele sale;
Greșeli de bază și recomandări la utilizarea programării funcționale;
Model MVC, crearea interfeței cu utilizatorul;
Prezentare generală a principalelor biblioteci pentru dezvoltarea interfeței: Angular, React, Vue.
11. Asincronie în JavaScript. Promisiuni:
Conceptul și necesitatea asincroniei;
Lucrul cu setTimeout, setInterval, clearTimeout;
Funcții de apel invers (callback);
Pierdeți acest lucru când lucrați cu o funcție de apel invers. Soluții (folosind funcții bind, săgeți etc.);
Conceptul de promisiuni, returnarea unei Promise dintr-o funcție asincronă;
Metoda Promise.all(), aplicarea acesteia;
sintaxă async/wait, cazuri de utilizare, limitări;
Gestionarea situațiilor de urgență: respingerea promisiunii, gestionarea excepțiilor pentru apelurile asincrone.
12. Lucrul cu serverul. Protocolul HTTP. Servicii REST:
protocol HTTP;
Antete și metode HTTP (GET, POST, PUT, DELETE, altele), transfer de date;
Servere HTTP (prezentare generală);
coduri de răspuns ale serverului HTTP;
Utilizarea formularelor pentru transmiterea datelor;
Transferarea datelor către server folosind AJAX;
Arhitectura REST: avantaje si caracteristici;
Implementarea CRUD (operațiuni de Creare/Citire/Actualizare/Ștergere) atunci când se lucrează cu REST;
Utilizarea funcției fetch() pentru a primi și trimite date;
Documentarea serviciilor REST folosind Swagger;
HATEOAS concept, aplicare;
13. Biblioteca AXIOS. Protocol WebSocket:
Compararea bibliotecii Axios de nivel înalt și utilizarea fetch-ului de nivel scăzut();
Cereri GET și POST în Axios;
Utilizarea async/wait cu Axios;
Tratarea erorilor la utilizarea Axios;
Anularea unei cereri folosind Axios;
protocol WebSocket;
Exemple de utilizare a WebSocket, comparație cu HTTP;
animație HTML;
Notă
Materialele de curs sunt prezentate în limba engleză.