Razvoj u JavaScriptu - tečaj 39 500 rub. iz IBS Training Center, obuka 40 sati, Datum 26. studenog 2023.
Miscelanea / / November 28, 2023
Tema završena:
1. JavaScript jezik:
JavaScript verzije i implementacije;
Područja primjene JavaScripta (preglednik, poslužitelj, mobilni razvoj);
Vrste podataka: String, Number, Boolean (koncept istinitosti i lažnosti);
Operatori, prioritet operatora;
Deklaracija varijabli: var, const, let;
Petlje: dok, za, za... u, za... od;
Rad s brojevima i nizovima;
Null i nedefinirane vrijednosti: razlike i svrhe primjene;
Rad s konzolom;
Iznimke u JavaScriptu.
2. JSON, objekti i nizovi:
JSON format, primjeri;
JSON.parse i stringify;
Objekti, rad s klasom Object;
Stvaranje objekata (koristeći literal {}, new operator, create metodu);
Prototipsko nasljeđivanje, referenca __proto__;
Getteri i postavljači;
Operator in i hasOwnProperty, koncept nabrojivih svojstava;
toString() metoda, pozivanje i nadjačavanje metode;
valueOf() metoda, pozivanje i nadjačavanje metode;
Kreiranje nizova: literali i new Array();
Automatska promjena duljine niza;
Dobivanje i postavljanje duljine duljine niza, skraćivanje niza;
Korištenje metoda join() i concat();
Korištenje metode sortiranja, postavljanje redoslijeda sortiranja niza;
Korištenje metoda slice i splice;
Upotreba metoda push, pop, shift, unshift: stvaranje hrpe ili reda.
3. Rad s datumima i nizovima:
Korištenje novog Date() konstruktora;
Razumijevanje računalne reprezentacije datuma kao vremena s Epohom;
Korištenje getTime() i setTime();
Raščlanjivanje string reprezentacije datuma;
Mogućnosti za kreiranje nizova u JS-u: korištenje jednostrukih i dvostrukih navodnika;
Interpolacija niza (niz u apostrofima);
Izbjegavanje posebnih znakova u nizu;
Ulančavanje nizova, pretvaranje u velika i mala slova;
Pronalaženje podniza pomoću indexOf() i lastIndexOf();
Odabir podniza koristeći substring() i substr()
Korištenje metoda include, endsWith, startsWith.
4. Korištenje JavaScripta u pregledniku: DOM model:
Upravljanje prozorom preglednika, dokumentom, događajima i stilom (CSS stilovi);
Objekt prozora i njegove upotrebe;
Povezivanje JavaScript koda s HTML stranicom;
Redoslijed izvršavanja skripti na stranici;
Predmemoriranje skripti, CDN poslužitelji, JavaScript prisilno ponovno učitavanje;
Rad s linkovima, povezivanje JavaScripta s linkovima;
Onload događaj i njegova upotreba;
XSS napadi na stranicu;
Rad s DOM-om: korištenje prozora, dokumenta, podređenih čvorova;
Manipuliranje dokumentom pomoću DOM-a: stvaranje, brisanje, premještanje elemenata;
Korištenje getElementById(), getElementsByTagName(), getElementsByClassName() za pronalaženje elemenata na stranici;
Rad s metodama i svojstvima HTMLDocumenta i HTMLElementa.
5. Rad s događajima u pregledniku:
Koncept programiranja događaja;
Rukovatelji i slušatelji događaja;
Povezivanje rukovatelja pomoću addEventListener();
Svojstva i metode klase Event;
Propagacija događaja gore (bubbling) i dolje (hvatanje);
Zaustavite širenje;
Prozorski događaji;
Događaji miša i tipkovnice, posebna svojstva događaja;
Formirajte događaje;
6. Rad sa CSS-om i upravljanje stilovima:
CSS standard, osnovna svojstva CSS-a;
Opći stilovi i stilovi pojedinih elemenata;
Kaskadni stilovi;
CSS selektori;
Modificiranje CSS-a s JavaScriptom;
Padding: margina, padding, border;
Kontrola vidljivosti elemenata: vidljivost i prikaz;
Pozicioniranje elemenata: apsolutno, fiksno, relativno, postavljanje gore i lijevo;
Mjerne jedinice px, pt i druge;
Preljev elementa i kontrola preko svojstva overflow;
Upravljanje slojevima dokumenta: svojstvo zIndex;
Animacija, kretanje elemenata;
Rad s klasama, postavljanje className;
Rad s transparentnošću i prijelazima;
metoda querySelectorAll().
7. Rad s modulima u JavaScriptu, NPM upravitelj paketa, Webpack builder:
Razlozi korištenja modula;
Izvoz iz modula;
Uvoz iz modula;
Ponovni izvoz;
Rad s NPM-om, datoteka package.json;
mapa node_modules, preuzimanje paketa pomoću NPM-a;
Globalna i lokalna instalacija paketa;
Korištenje webpacka za izradu projekta;
CSS i TypeScript učitavači;
Konfiguracija webpack.config.js;
Stvaranje paketa, kompresija;
webpack dodaci;
Korištenje starih sustava modularnosti – CommonJS i AMD;
Korištenje CommonsChunkPlugin, više ulaznih točaka;
Hot swappable HMR moduli.
8. Klase i nasljeđivanje u JavaScriptu:
Nasljeđivanje prototipa, referenca __proto__;
Prototip objekta;
Korištenje instanceof;
Ključna riječ klasa, kreiranje klasa;
Ključna riječ super;
Korištenje metode Object.assign();
Korištenje metode Object.defineProperty();
Getteri i postavljači;
Spread operator za rad s objektima i nizovima;
Destrukturiranje niza i objekta.
9. Funkcionalno programiranje u JavaScriptu:
Funkcije kao varijable;
Argumenti polja;
Klasa funkcije, metode call() i apply();
Metoda bind(), postavljanje ovog i nekih parametara korištenjem bind;
Zatvaranja u JavaScriptu;
Enkapsulacija vrijednosti pomoću zatvarača;
Kreiranje funkcije kroz Function constructor: konstruiranje niza;
Funkcije strelica, primjeri njihove primjene;
Funkcionalna manipulacija nizom: pronađi, pronađiIndeks, filter;
Primjeri korištenja map/filtar/reduce za obradu podataka u nizu.
10. Nepromjenjivost, testiranje, MVC obrazac:
Pojam nepromjenjivosti, njegove prednosti;
Promjenjive i nepromjenjive metode za mijenjanje objekata i nizova;
Koncept i prednosti Virtual DOM-a;
Testiranje nepromjenjivih funkcija, koristeći Jest;
Memoizacija, njene prednosti;
Osnovne pogreške i preporuke pri funkcionalnom programiranju;
MVC obrazac, kreiranje korisničkog sučelja;
Pregled glavnih biblioteka za razvoj sučelja: Angular, React, Vue.
11. Asinkronija u JavaScriptu. Obećanja:
Pojam i nužnost asinkronije;
Rad sa setTimeout, setInterval, clearTimeout;
Funkcije povratnog poziva (povratni pozivi);
Ovo se gubi kada se radi s funkcijom povratnog poziva. Rješenja (upotrebom povezivanja, funkcija strelica, itd.);
Koncept obećanja, vraćanje obećanja iz asinkrone funkcije;
Metoda Promise.all(), njena primjena;
async/await sintaksa, slučajevi korištenja, ograničenja;
Rukovanje hitnim situacijama: Odbijanje obećanja, rukovanje iznimkama za asinkrone pozive.
12. Rad s poslužiteljem. HTTP protokol. REST usluge:
HTTP protokol;
HTTP zaglavlja i metode (GET, POST, PUT, DELETE, ostalo), prijenos podataka;
HTTP poslužitelji (pregled);
HTTP kodovi odgovora poslužitelja;
Korištenje obrazaca za slanje podataka;
Prijenos podataka na poslužitelj pomoću AJAX-a;
REST arhitektura: prednosti i značajke;
Implementacija CRUD (Create/Read/Update/Delete operacije) pri radu s REST-om;
Korištenje funkcije fetch() za primanje i slanje podataka;
Dokumentiranje REST usluga korištenjem Swaggera;
HATEOAS koncept, primjena;
13. Biblioteka AXIOS. WebSocket protokol:
Usporedba visoke razine Axios biblioteke i upotrebe niske razine fetch();
GET i POST zahtjevi u Axios-u;
Korištenje async/await s Axiosom;
Rješavanje pogrešaka pri korištenju Axios-a;
Otkazivanje zahtjeva korištenjem Axios-a;
WebSocket protokol;
Primjeri korištenja WebSocketa, usporedba s HTTP-om;
HTML animacija;
Bilješka
Materijali tečaja prezentirani su na engleskom jeziku.