Kurs Data access

Ovaj kurs se bavi podacima u JavaScriptu – njihovom strukturom, manipulacijom i skladištenjem. Iako klijentski deo web aplikacije nije predviđen za trajno čuvanje podataka, zbog čega za tako nešto, inicijalno, i ne postoje bogate tehničke mogućnosti, podaci i njihova dinamika jesu bitan faktor u realizaciji aplikacije.

Postoje različita rešenja kojima se prevazilaze ovi problemi i ta rešenja su prezentovana u ovom kursu. Konkretno, kurs obrađuje problematiku razumevanja podataka u JavaScriptu (kroz koncepte XML-a i JSON-a, kao najpopularnijih strukturnih formata za predstavljanje podataka danas), lokalnog čuvanja podataka (kroz raspoloživa sredstva izložena od strane web pregledača) i, konačno, trajnog čuvanja podataka na serveru, kroz različite modele komunikacije, kao što su AJAX ili WebSocket. 

Kurs ima širok dijapazon delovanja. Obrađuje različite varijante enkodiranja podataka, slanja enkodiranih podataka zainteresovanim stranama, kao i dekodiranje i upotrebu podataka na zainteresovanoj strani. Objašnjeni su standardni formati enkodinga; XML, JSON i URL enkoding i njihova upotreba.

Perzistentnost podataka na klijentskom delu aplikacije je važna komponenta web aplikacije, bez koje ne bi bile moguće pojave koje smatramo podrazumevanim. Na primer, ne bismo mogli da ostanemo ulogovani na sistemu neko duže vreme, niti bismo mogli da sačuvamo proizvode u korpi. Za ovo ponašanje zaslužni su kolačići i njima bliske tehnologije, koje su sve detaljno predstavljene tokom ovog kursa.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Frontend JavaScript ProgramNovo!.

Opis i ciljevi Data access kursa

Nakon odslušanog kursa, polaznik će biti sposoban da uvede dinamiku u postojeću aplikaciju. Moći će da preuzme podatke sa servera i da tim podacima ispuni prethodno definisane delove HTML strane pomoću JavaScripta ili da preuzme podatke od korisnika, a zatim podatke pošalje na server gde će biti sačuvani.

Polaznik će biti u stanju da privremeno sačuva podatke na samom klijentu (web pregledaču) kroz dostupne tehnologije (localStorage, cookies ili baze podataka pregledača).

Izučavanje rada sa WebSocketom, polazniku će omogućiti da ostvaruje i eksploatiše vezu visokih performansi između klijentskog i serverskog dela aplikacije i tako unapredi korisničko iskustvo aplikacije.

Kurs Data access će vam odgovoriti na pitanja:

1. Šta je to XML?

U web aplikacijama imperativ je slanje podataka od jednog programa do drugog, odnosno od jednog računara do drugog. Tokom tog transporta dolazi do različitih problema. Na primer, dve aplikacije mogu biti napisane u različitim programskim jezicima ili čak funkcionisati na potpuno različitim platformama. Zato podaci koje razmenjuju moraju biti poslati u univerzalnom formatu, koji su obe aplikacije u stanju da razumeju. Jedan od ovih formata je Extensible Markup Language (XML).

Osim uzajamne razmene podataka, programi često koriste XML da bi sačuvali sopstvene podatke za kasniju upotrebu, a nekim programima pomoću XML-a govorimo šta treba da rade. Jedan od takvih programa je i web pregledač, koji za prikazivanje web strana koristi jezik HTML, koji je takođe jedna varijanta XML-a.

2. Šta je to JSON?

JSON je jezik za označavanje podataka. Vrlo popularan i vrlo često korišćen u svim vrstama programa. Gotovo da nema programa koji bar u nekom svom segmentu ne koristi ovaj jezik. JSON je akronim od JavaScript Object Notation. I upravo to on i jeste – Tekstualna reprezentacija JavaScript objekata.

Ovaj format ima široku primenu. Najčešće ga srećemo u uzajamnoj komunikaciji između aplikacija, ali je takođe vrlo čest i u drugim ulogama. Na primer, kao format  za čuvanje konfiguracije programa ili kao format za pamćenje podataka programa. S obzirom na to da je JSON tekstualni format, lako se kompresuje, pa je tako odličan za transport i čitanje kako od strane programa, tako i od strane čoveka.

3. Šta su to kolačići i da li su opasni?

Često web aplikacije od nas traže da prihvatimo polisu kolačića (cookies). Ali šta su u stvari kolačići i da li se iza bezazlenog imena krije neka potencijalna opasnost za korisnika? 

Kolačići su informacije koje pregledač po nalogu neke web aplikacije snima na računar korisnika. 

Ali pisanje pregledača po fajl sistemu smatra se veoma delikatnom operacijom, pa se zbog toga kolačići snimaju pod posebnim uslovima i na posebnom mestu. U njima web aplikacija čuva informacije koje su karakteristične za korisnika kod koga je kolačić snimljen. Tako web aplikacija može da razlikuje korisnike i da svakom od njih pošalje odgovarajući sadržaj. 

Zato, na primer, ako smo bili na web stranici sa cipelama, na nekoj drugoj stranici može nas sačekati reklama za cipele, a ako smo bili na stranici sa igračkama, videćemo reklame za igračke.

Kolačići sami po sebi nisu opasni, ali njihovom zloupotrebom ili lošom implementacijom moguće je naneti štetu korisniku.

Polaznici kursa Data access

4. Šta su to sesije?

Sesija je vreme koje je neki korisnik proveo koristeći web aplikaciju. To vreme nije lako izmeriti, jer protokol po kome funkcionišu web aplikacije nije u stanju da prepozna korisnika između dva otvaranja strane, pa čak i ako je vreme između dva otvaranja strane jako kratko. 

Ipak, pomoću različitih tehnika ovaj problem se može prevazići, a aktivnosti korisnika mogu ispratiti.

5. Kako se trajno pamte podaci u web aplikaciji?

Da bi podaci bili zapamćeni u nekom programu, koriste se fajlovi ili baze podataka. A s obzirom na to da su web aplikacije višekorisničke, web aplikacije za svakog korisnika čuvaju pristupne podatke pomoću kojih mogu da znaju koje podatke mogu da isporuče kom korisniku. Tako, na primer, korisnik sa jednim korisničkim imenom ima svoje podatke, dok drugi korisnik ima svoje.

Klijentski deo aplikacije ne može da zapamti podatke na ovaj način, jer ne može da pristupi bazi podataka, pa je u tom delu trajno pamćenje podataka daleko teže. Klijentski deo aplikacije zbog toga najčešće i ne čuva podatke, već ih samo šalje serverskom delu, koji o njima dalje vodi brigu.

6. Da li moja aplikacija može da pušta muziku ili video?

HTML ima podršku za emitovanje/striming multimedijalnih sadržaja. Sam HTML ima posebne oznake koje, uz odgovarajuće parametre, korisniku daju na raspolaganje ugrađeni video/audio player. Ovaj player takođe se može kontrolisati i pomoću JavaScripta.

Od tipa i potrebe programa zavisi i način na koji se tretira multimedijalni sadržaj i postoji više faktora koji utiču na konačni proizvod. Ako, na primer, želimo da pustimo neki video-strim većem broju korisnika, upotrebićemo drugačiji pristup od onoga u kome želimo da dva korisnika vode online dijalog. 

Osim toga, neki browseri mogu da puštaju neke vrste sadržaja, a neki ne mogu, pa je i to jedan od faktora koji se uzimaju u obzir.

7. Šta je to REST, a šta SOAP?

JavaScript klijentske web aplikacije obično ne čuvaju podatke niti mogu direktno da im pristupe. Na primer, ako „lajkujemo” neki komentar ili platimo nešto kreditnom karticom, JavaScript ne može da procesira ovu informaciju u potpunosti samostalno. 

Umesto toga, za svaku informaciju JavaScript se mora obratiti računaru na kome se informacije nalaze. Ali davanje informacija direktno JavaScript klijentu može biti opasno, jer bi onda svako ko želi mogao da uzme sve informacije koje aplikacija ima na raspolaganju. Zato se, umesto da dobije podatke direktno, klijentska aplikacija obraća drugoj aplikaciji tražeći podatke.

Te druge aplikacije su posebna vrsta programa, koja se zove: web servisi. Web servisi se razlikuju po načinima na koje im se obraćaju oni koji ih koriste. Pa su tako, iako ne jedina, dva najpopularnija načina obraćanja REST i SOAP.

Plan i program predavanja:

1. Serijalizacija i deserijalizacija podataka

  • XML (Extended Markup Language)
  • XML šeme i prostori imena
  • Pretraga XML dokumenata pomoću Xpatha
  • DOM (Document Object Model)
  • Uvod JSON, struktura, tipovi i pravila 
  • JSON serijalizacija i deserijalizacija

2. Čuvanje podataka 

  • Rad sa kolačićima
  • Session storage i local storage repozitorijumi
  • Browser baze podataka (indexedDB)

3. Komunikacija sa serverom

  • AJAX
  • Long polling
  • Rad sa WebSocketom
  • Procesiranje multimedije (emitovanje/strimovanje video i audio sadržaja)

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok je otvoren!

Da saznate sve o upisu, kliknite ovde