Predmet Webové technológie je určený pre študentov Košickej akadémie
softvérového vývoja,
druhý ročník. Predmet poskytuje vedomosti a skúsenosti v práci s Javascript-om, Typescript-om a frameworkom Angular.
Upravíme si navigačnú lištu tak, že vždy ukazuje správne stav prihlásenia a zrealizujeme odhlásenie na strane klienta. Ukážeme si zložitejšie stĺpce v Material Table a vytvoríme si vlastnú Pipe na zobrazovanie skupín a práv používateľa.
Vytvoríme navigáciu na stránku. Použijeme token na získanie rozšírených používateľov a zobrazíme si ich v tabuľke. Uložíme sme si token v localStorage, ktorý prežije aj zmenu URL "zvonku".
15. Angular - Material SnackBar. univerzálne spracovanie HTTP chýb
Nastavíme základný router aj s presmerovaním a odchytením všetkých zlých URL adries. Vytvoríme si komponent na prihlasovanie a spracujeme prihlásenie v službe.
12. Angular - Material knižnica, router, Material table
Ukážeme si na príklade tabuľky používateľov použitie Material knižnice a to rovno cez komponent mat-table s jednoduchými stĺpcami mat-text-column. Na zobrazenie in0ho komponentu použijeme router.
11. Angular - servisy, komunikácia so serverom, Observable
Vráťte mená všetkých postáv filmu Impérium vracia úder zoradené podľa dĺžky celého mena od najkratších. V rámci rovnakých dĺžok nech sú usporiadané ako reťazce (podľa mena):
Budeme pracovať s JSON dokumentom countries.json podľa úloh uvedených nižšie.
Úlohy:
Postupne vytvorte nasledovné funkcie a zreťazte ich cez pipe alebo flow:
Vytvorte funkciu languageToCountArray, ktorá vráti pre každý výskyt jazyka objekt s názvom
jazyka a počtom obyvateľov krajiny, kde ste tento jazyk našli.
Vytvorte funkciu languageToCountObject, ktorá vezme výsledok predošlej metódy a vráti objekt,
kde vlastnosti sú jazyky a hodnoty sú súčty počtov obyvateľov pre jednotlivé jazyky.
Vytvorte funkciu arrayOfLanguages, ktorá vezme výsledok predošlej metódy a vráti pole, v ktorom
pre každý jazyk máme objekt s názvom jazyka a počtom obyvateľov, ktorý týmto jazykom rozprávajú
(predpokladáme, že
každý obyvateľ, ktorý žije v krajine, kde sa používa, túto reč ovláda).
Vytvorte funkciu sortArray, ktorá vezme výsledok predošlej metódy a usporiada ho od najväčších
po najmenšie počty.
Vytvorte funkciu topTen, ktorá vezme výsledok predošlej metódy a vráti pole iba prvých 10
objektov z pôvodného poľa.
Vytvorte funkciu humanReadable, ktorá vezme výsledok predošlej metódy a vráti podobné pole, ale
počty sú uvedené ako reťazce v tvare napr. "1.414 mld", teda číslo v miliardách zaokrúhlené na milióny a
s pridaným reťazcom " mld".
Vytvorte funkciu toString, ktorá vezme výsledok predošlej metódy a vráti reťazec obsahujúci
výslednú tabuľku najpoužívanejších 10 jazykov aj s počtom ľudí teda:
Povieme si ako reťaziť funkcie prostredníctvom rúry. Budeme pracovať s
JSON dokumentom countries.json, podľa úloh uvedených nižšie.
Úlohy:
Vráťte pre každú menu, ktorá sa používa aspoň v 5 krajinách, krajiny, v ktorých sa ňou platí a ich počet.
Výsledkom je usporiadané pole od najmenej používaných po najviac používané meny, teda:
Vypíšte prvých 10 najhustejšie obývaných krajín - pre každú krajinu jej názov a hustotu obyvateľstva
v počte ľudí na km2 zaokrúhlenú na 2 desatiné miesta.
Domáce zadanie (dobrovoľné): Postupne vytvorte nasledovné funkcie a zreťazte ich cez pipe alebo flow:
Vytvorte funkciu languageToCountArray, ktorá vráti pre každý výskyt jazyka objekt s názvom
jazyka a počtom obyvateľov krajiny, kde ste tento jazyk našli.
Vytvorte funkciu languageToCountObject, ktorá vezme výsledok predošlej metódy a vráti objekt,
kde vlastnosti sú jazyky a hodnoty sú súčty počtov obyvateľov pre jednotlivé jazyky.
Vytvorte funkciu arrayOfLanguages, ktorá vezme výsledok predošlej metódy a vráti pole, v ktorom
pre každý jazyk máme objekt s názvom jazyka a počtom obyvateľov, ktorý týmto jazykom rozprávajú
(predpokladáme, že
každý obyvateľ, ktorý žije v krajine, kde sa používa, túto reč ovláda).
Vytvorte funkciu sortArray, ktorá vezme výsledok predošlej metódy a usporiada ho od najväčších
po najmenšie počty.
Vytvorte funkciu topTen, ktorá vezme výsledok predošlej metódy a vráti pole iba prvých 10
objektov z pôvodného poľa.
Vytvorte funkciu humanReadable, ktorá vezme výsledok predošlej metódy a vráti podobné pole, ale
počty sú uvedené ako reťazce v tvare napr. "1.414 mld", teda číslo v miliardách zaokrúhlené na milióny a
s pridaným reťazcom " mld".
Vytvorte funkciu toString, ktorá vezme výsledok predošlej metódy a vráti reťazec obsahujúci
výslednú tabuľku najpoužívanejších 10 jazykov aj s počtom ľudí teda:
Vráťte pre každú menu, ktorá sa používa aspoň v 5 krajinách, krajiny, v ktorých sa ňou platí a ich počet.
Výsledkom je usporiadané pole od najmenej používaných po najviac používané meny, teda:
Vysvetlíme si ďalšie higher-order funkcie v poliach - flat, flatMap, reduce a reduceRight. Budeme pracovať s
JSON dokumentom countries.json, podľa úloh uvedených nižšie.
Úlohy:
Vráťte pole všetkých jazykov, ktoré sa používajú Južnej Amerike bez duplicít, teda:
Vysvetlíme si základné higher-order funkcie v poliach - forEach, filter, map, flat, flatMap, reduce a reduceRight.
Skúsime si nejaký Typescriptový súbor stranskriptovať a spustiť. Ak stihneme, budeme pracovať s JSON dokumentom countries.json podľa úloh uvedených nižšie.
Úlohy:
Vráťte pole s názvami všetkých krajín.
Vráťte pole s názvami európskych krajín.
Vráťte pole objektov s vlastnosťami name a area, popisujúce krajiny s počtom obyvateľov nad 100 miliónov,
teda:
Prejdeme si také súčasti jazyka JavaScript, ktoré sa v Jave nenachádzajú - globálne vs. lokálne premenné a
konštanty, template strings, pravdivé a nepravdivé výrazy, rôzna práca s objektami a poľami, object
destructuring, spread operátor, klasické vs. arrow funkcie a použitie this v nich.