Vývoj v JavaScriptu - kurz 39 500 rub. z IBS Training Center, školení 40 hodin, Datum 26. listopadu 2023.
Různé / / November 28, 2023
Pokrytá témata:
1. jazyk JavaScript:
verze a implementace JavaScriptu;
Oblasti použití JavaScriptu (prohlížeč, server, mobilní vývoj);
Datové typy: String, Number, Boolean (koncept pravdivosti a nepravdy);
Operátoři, priorita operátorů;
Deklarace proměnných: var, const, let;
Smyčky: while, for, for … in, for …of;
Práce s čísly a řetězci;
Nulové a nedefinované hodnoty: rozdíly a účely použití;
Práce s konzolí;
Výjimky v JavaScriptu.
2. JSON, objekty a pole:
formát JSON, příklady;
JSON.parse a stringify;
Objekty, práce s třídou Object;
Vytváření objektů (pomocí literálu {}, operátoru new, metody create);
Prototypová dědičnost, odkaz __proto__;
Getry a nastavovače;
Operátor in a hasOwnProperty, koncept vyčíslitelných vlastností;
metoda toString(), volání a přepisování metody;
metoda valueOf(), volání a přepisování metody;
Vytváření polí: literály a new Array();
Automatická změna délky pole;
Získání a nastavení délky délky pole, zkrácení pole;
Použití metod join() a concat();
Pomocí metody řazení, nastavení pořadí řazení pole;
Použití metod řezu a spoje;
Použití metod push, pop, shift, unshift: vytvoření zásobníku nebo fronty.
3. Práce s daty a řetězci:
Pomocí nového konstruktoru Date();
Pochopení počítačové reprezentace data jako času s Epochou;
Použití getTime() a setTime();
Analyzační řetězec reprezentace dat;
Možnosti vytváření řetězců v JS: pomocí jednoduchých a dvojitých uvozovek;
Řetězcová interpolace (řetězec v apostrofech);
Escapování speciálních znaků v řetězci;
Zřetězení řetězců, převod na velká a malá písmena;
Nalezení podřetězce pomocí indexOf() a lastIndexOf();
Výběr podřetězce pomocí substring() a substr()
Použití metod zahrnuje, končíS, začínáS.
4. Použití JavaScriptu v prohlížeči: Model DOM:
Správa okna prohlížeče, dokumentu, událostí a stylů (CSS styly);
Objekt okna a jeho použití;
Připojení kódu JavaScript ke stránce HTML;
Pořadí provádění skriptů na stránce;
Ukládání skriptů do mezipaměti, servery CDN, vynucené opětovné načítání JavaScriptu;
Práce s odkazy, propojování JavaScriptu s odkazy;
Událost onload a její použití;
XSS útoky na web;
Práce s DOM: pomocí okna, dokumentu, childNodes;
Manipulace s dokumentem pomocí DOM: vytváření, mazání, přesouvání prvků;
Použití getElementById(), getElementsByTagName(), getElementsByClassName() k nalezení prvků na stránce;
Práce s metodami a vlastnostmi HTMLDocument a HTMLElement.
5. Práce s událostmi v prohlížeči:
Koncepce programování událostí;
Obsluha událostí a posluchači;
Připojení handlerů pomocí addEventListener();
Vlastnosti a metody třídy Event;
Šíření událostí nahoru (bublání) a dolů (zachycení);
Zastavte šíření;
Události v okně;
Události myši a klávesnice, vlastnosti speciálních událostí;
Formální události;
6. Práce s CSS a správa stylů:
CSS standard, základní vlastnosti CSS;
Obecné styly a styly jednotlivých prvků;
Kaskádové styly;
selektory CSS;
Úprava CSS pomocí JavaScriptu;
Výplň: okraj, výplň, okraj;
Ovládání viditelnosti prvků: viditelnost a zobrazení;
Umístění prvků: absolutní, pevné, relativní, nastavení nahoře a vlevo;
Jednotky měření px, pt a další;
Přetečení prvku a ovládání pomocí vlastnosti přetečení;
Správa vrstev dokumentu: vlastnost zIndex;
Animace, pohyb prvků;
Práce s třídami, nastavení className;
Práce s průhledností a přechody;
metoda querySelectorAll().
7. Práce s moduly v JavaScriptu, správci balíčků NPM, tvůrci webových balíků:
Důvody pro použití modulů;
Export z modulu;
Import z modulu;
Reexport;
Práce s NPM, soubor package.json;
složka node_modules, stahování balíčků pomocí NPM;
Globální a lokální instalace balíčků;
Použití webpacku k sestavení projektu;
zavaděče CSS a TypeScript;
Konfigurace webpack.config.js;
Tvorba svazků, komprese;
Webpack pluginy;
Použití starých modulárních systémů – CommonJS a AMD;
Použití CommonsChunkPlugin, více vstupních bodů;
HMR moduly vyměnitelné za provozu.
8. Třídy a dědičnost v JavaScriptu:
Prototypová dědičnost, odkaz __proto__;
Prototyp objektu;
Použití instanceof;
Klíčová slova třída, vytváření tříd;
Klíčové slovo super;
Použití metody Object.assign();
Použití metody Object.defineProperty();
Getry a nastavovače;
Spread operátor pro práci s objekty a poli;
Destrukce pole a objektu.
9. Funkční programování v JavaScriptu:
Funkce jako proměnné;
Argumenty pole;
Třída funkce, metody call() a apply();
Metoda bind(), nastavení tohoto a některých parametrů pomocí bind;
Uzávěry v JavaScriptu;
Zapouzdření hodnot pomocí uzávěrů;
Vytvoření funkce pomocí konstruktoru Function: konstrukce řetězce;
Šipkové funkce, příklady jejich použití;
Manipulace s funkčními poli: find, findIndex, filter;
Příklady použití map/filter/reduce ke zpracování dat v poli.
10. Neměnnost, testování, vzor MVC:
Pojem neměnnosti, jeho výhody;
Proměnlivé a neměnné metody pro změnu objektů a polí;
Koncepce a výhody Virtual DOM;
Testování neměnných funkcí pomocí Jest;
Memoizace, její výhody;
Základní chyby a doporučení při používání funkcionálního programování;
MVC vzor, vytvoření uživatelského rozhraní;
Přehled hlavních knihoven pro vývoj rozhraní: Angular, React, Vue.
11. Asynchronie v JavaScriptu. Sliby:
Pojem a nutnost asynchronie;
Práce s setTimeout, setInterval, clearTimeout;
Funkce zpětného volání (zpětná volání);
Ztráta toho při práci s funkcí zpětného volání. Řešení (pomocí funkce bind, šipky atd.);
Koncept slibů, vracející Promise z asynchronní funkce;
Metoda Promise.all(), její aplikace;
syntaxe async/wait, případy použití, omezení;
Zvládání nouzových situací: Odmítnutí slibu, zpracování výjimek pro asynchronní volání.
12. Práce se serverem. HTTP protokol. REST služby:
HTTP protokol;
HTTP hlavičky a metody (GET, POST, PUT, DELETE, další), přenos dat;
HTTP servery (přehled);
kódy odpovědí serveru HTTP;
Používání formulářů k odesílání dat;
Přenos dat na server pomocí AJAX;
REST architektura: výhody a vlastnosti;
Implementace CRUD (operace Create/Read/Update/Delete) při práci s REST;
Použití funkce fetch() k příjmu a odesílání dat;
Dokumentování služeb REST pomocí Swagger;
HATEOAS koncept, aplikace;
13. Knihovna AXIOS. Protokol WebSocket:
Porovnání vysokoúrovňové knihovny Axios a použití nízkoúrovňové fetch();
požadavky GET a POST v Axios;
Použití async/wait s Axios;
Ošetření chyb při použití Axios;
Zrušení požadavku pomocí Axios;
protokol WebSocket;
Příklady použití WebSocket, srovnání s HTTP;
HTML animace;
Poznámka
Materiály kurzu jsou prezentovány v angličtině.