Vývoj v JavaScripte - kurz 39 500 rub. z IBS Training Center, tréning 40 hodín, Dátum 26.11.2023.
Rôzne / / November 28, 2023
Preberané témy:
1. jazyk JavaScript:
verzie a implementácie JavaScriptu;
Oblasti použitia JavaScriptu (prehliadač, server, mobilný vývoj);
Dátové typy: String, Number, Boolean (koncept pravdivosti a nepravdy);
Operátory, priorita operátorov;
Deklarácia premenných: var, const, let;
Slučky: while, for, for … in, for …of;
Práca s číslami a reťazcami;
Nulové a nedefinované hodnoty: rozdiely a účely aplikácie;
Práca s konzolou;
Výnimky v JavaScripte.
2. JSON, objekty a polia:
formát JSON, príklady;
JSON.parse and stringify;
Objekty, práca s triedou Object;
Vytváranie objektov (pomocou doslovného {}, operátora new, metódy create);
Prototypová dedičnosť, odkaz __proto__;
Getre a nastavovače;
Operátor in and hasOwnProperty, koncept spočítateľných vlastností;
metóda toString(), volanie a prepísanie metódy;
metóda valueOf(), volanie a prepísanie metódy;
Vytváranie polí: literály a nové pole ();
Automatická zmena dĺžky poľa;
Získanie a nastavenie dĺžky dĺžky poľa, skrátenie poľa;
Použitie metód join() a concat();
Pomocou metódy triedenia, nastavenie poradia triedenia poľa;
Použitie metód rezu a spájania;
Použitie metód push, pop, shift, unshift: vytvorenie zásobníka alebo frontu.
3. Práca s dátumami a reťazcami:
Použitie nového konštruktora Date();
Pochopenie počítačovej reprezentácie dátumu ako času s Epochou;
Pomocou getTime() a setTime();
Reťazec analýzy reprezentácie dátumov;
Možnosti vytvárania reťazcov v JS: pomocou jednoduchých a dvojitých úvodzoviek;
Reťazcová interpolácia (reťazec v apostrofoch);
Escapovanie špeciálnych znakov v reťazci;
Reťazenie reťazcov, prevod na veľké a malé písmená;
Nájdenie podreťazca pomocou indexOf() a lastIndexOf();
Výber podreťazca pomocou substring() a substr()
Použitie metód zahŕňa, končíS, začínaS.
4. Používanie JavaScriptu v prehliadači: Model DOM:
Správa okna prehliadača, dokumentu, udalostí a štýlu (štýly CSS);
Objekt okna a jeho použitie;
Pripojenie kódu JavaScript k stránke HTML;
Poradie vykonávania skriptov na stránke;
Ukladanie skriptov do vyrovnávacej pamäte, servery CDN, nútené opätovné načítanie JavaScriptu;
Práca s odkazmi, prepojenie JavaScriptu s odkazmi;
Udalosť onload a jej použitie;
XSS útoky na stránku;
Práca s DOM: pomocou okna, dokumentu, childNodes;
Manipulácia s dokumentom pomocou DOM: vytváranie, mazanie, presúvanie prvkov;
Pomocou getElementById(), getElementsByTagName(), getElementsByClassName() na nájdenie prvkov na stránke;
Práca s metódami a vlastnosťami HTMLDocument a HTMLElement.
5. Práca s udalosťami v prehliadači:
Koncept programovania udalostí;
Obsluha udalostí a poslucháči;
Pripojenie handlerov pomocou addEventListener();
Vlastnosti a metódy triedy Event;
Šírenie udalostí nahor (bublanie) a nadol (zachytenie);
Zastavte šírenie;
Udalosti okien;
Udalosti myši a klávesnice, vlastnosti špeciálnych udalostí;
Formálne udalosti;
6. Práca s CSS a správa štýlov:
CSS štandard, základné vlastnosti CSS;
Všeobecné štýly a štýly jednotlivých prvkov;
Kaskádové štýly;
selektory CSS;
Úprava CSS pomocou JavaScriptu;
Výplň: okraj, výplň, okraj;
Ovládanie viditeľnosti prvkov: viditeľnosť a zobrazenie;
Umiestnenie prvkov: absolútne, pevné, relatívne, nastavenie hore a doľava;
Jednotky merania px, pt a iné;
Pretečenie prvku a ovládanie pomocou vlastnosti pretečenia;
Správa vrstiev dokumentov: vlastnosť zIndex;
Animácia, pohyb prvkov;
Práca s triedami, nastavenie className;
Práca s transparentnosťou a prechodmi;
metóda querySelectorAll().
7. Práca s modulmi v jazyku JavaScript, správca balíkov NPM, tvorca webových balíkov:
Dôvody použitia modulov;
Export z modulu;
Importovať z modulu;
Reexport;
Práca s NPM, súbor package.json;
zložka node_modules, sťahovanie balíkov pomocou NPM;
Globálna a lokálna inštalácia balíkov;
Použitie webpacku na vytvorenie projektu;
zavádzače CSS a TypeScript;
Konfigurácia webpack.config.js;
Vytváranie zväzkov, kompresia;
Webpack pluginy;
Používanie starých modulárnych systémov – CommonJS a AMD;
Používanie CommonsChunkPluginu, viacero vstupných bodov;
HMR moduly vymeniteľné za chodu.
8. Triedy a dedičnosť v JavaScripte:
Dedičnosť prototypu, odkaz __proto__;
Prototyp objektu;
Použitie instanceof;
Kľúčové slovo trieda, vytváranie tried;
Kľúčové slovo super;
Použitie metódy Object.assign();
Použitie metódy Object.defineProperty();
Getre a nastavovače;
Spread operátor pre prácu s objektmi a poliami;
Deštrukcia poľa a objektu.
9. Funkčné programovanie v JavaScripte:
Funkcie ako premenné;
Argumenty usporiadané;
Trieda funkcie, metódy call() a apply();
Metóda bind(), nastavenie tohto a niektorých parametrov pomocou bind;
Uzávery v JavaScripte;
Zapuzdrenie hodnôt pomocou uzáverov;
Vytvorenie funkcie pomocou konštruktora Function: zostrojenie reťazca;
Funkcie šípok, príklady ich použitia;
Manipulácia s funkčnými poľami: find, findIndex, filter;
Príklady použitia map/filter/reduce na spracovanie údajov v poli.
10. Nemennosť, testovanie, vzor MVC:
Pojem nemennosti, jeho výhody;
Meniteľné a nemenné metódy na zmenu objektov a polí;
Koncepcia a výhody virtuálneho DOM;
Testovanie nemenných funkcií pomocou Jest;
Zapamätanie, jeho výhody;
Základné chyby a odporúčania pri používaní funkcionálneho programovania;
MVC vzor, vytvorenie používateľského rozhrania;
Prehľad hlavných knižníc pre vývoj rozhrania: Angular, React, Vue.
11. Asynchrónnosť v JavaScripte. Sľuby:
Pojem a nevyhnutnosť asynchrónnosti;
Práca s setTimeout, setInterval, clearTimeout;
Funkcie spätného volania (spätné volanie);
Strata pri práci s funkciou spätného volania. Riešenia (pomocou funkcie bind, šípok atď.);
Koncept prísľubov, ktoré vracajú prísľub z asynchrónnej funkcie;
Metóda Promise.all(), jej aplikácia;
async/wait syntax, prípady použitia, obmedzenia;
Riešenie núdzových situácií: Odmietnutie prísľubu, spracovanie výnimiek pre asynchrónne hovory.
12. Práca so serverom. HTTP protokol. REST služby:
HTTP protokol;
HTTP hlavičky a metódy (GET, POST, PUT, DELETE, iné), prenos dát;
HTTP servery (prehľad);
kódy odozvy servera HTTP;
Používanie formulárov na odosielanie údajov;
Prenos dát na server pomocou AJAX;
REST architektúra: výhody a vlastnosti;
Implementácia CRUD (operácie Create/Read/Update/Delete) pri práci s REST;
Použitie funkcie fetch() na príjem a odosielanie údajov;
Dokumentovanie REST služieb pomocou Swagger;
HATEOAS koncept, aplikácia;
13. Knižnica AXIOS. Protokol WebSocket:
Porovnanie vysokoúrovňovej knižnice Axios a použitia nízkoúrovňového fetch();
požiadavky GET a POST v Axiose;
Použitie async/wait s Axios;
Spracovanie chýb pri používaní Axios;
Zrušenie požiadavky pomocou Axios;
protokol WebSocket;
Príklady použitia WebSocket, porovnanie s HTTP;
HTML animácie;
Poznámka
Materiály kurzu sú prezentované v angličtine.