Usmeni iz WEB-a Flashcards

1
Q

Veb programiranje podrazumeva

A

razvoj veb aplikacija kako u smislu implementacije serverskog tako i klijentskog
programskog koda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Internet je

A

globalni sistem međusobno povezanih računarskih mreža putem kojih se vrši razmena paketa korišćenjem standardizovanog Internet protokola (TCP/IP).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Web (odn. World Wide Web) je

A

informacioni prostor u kojem je identifikacija resursa postignuta jedinstvenim identifikatorom resursa URI.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Tim Berners-Lee je

A

izumeo Web tj. sastavio je predlog sistema nazvanog World Wide Web.

Napisao je specifikacije standarda URL, HTTP i HTML, pa je kreirao prvi
web browser,
web server i
web stranicu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ULOGE VEB STANDARDA HTTP, HTML I URL

A

URL - predstavlja adresu
HTML - opisuje sadržinu
HTTP - omogućava prenos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Veb razlikuje dve vrste računara:

A
  1. serveri koji poseduju veb stranice
  2. klijenti koji preuzimaju i prikazuju veb stranice
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pristup veb stranicama se odvija pomoću HTTP protokola, tako
što:

A
  1. u zahtevu (request) klijent od servera traži određenu stranicu
  2. u odgovoru (response) server šalje klijentu traženu stranicu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

U veb aplikacijama se uocavaju:

A
  1. back-end koji se stara o podacima (Back-end tehnologije se
    izvršavaju na veb serveru)
  2. front-end koji se stara o prikazu (Front-end tehnologije se
    izvršavaju u veb pregledaču)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

U back-end tehnologije spadaju:

A

PHP, Java, JSP, Spring, Python,
Django, ASP, …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

U front-end tehnologije spadaju:

A

HTML, CSS, JavaScript,
Angular, jQuery, …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

HTTP je

A

protokol za prenos podataka na vebu.

Hipertekst je strukturiran tekst koji omogućava međusobno povezivanje
njegovih delova.

Komunikacija putem HTTP protokola se odvija po request - response modelu (šalje se zahtev i dobija se odgovor).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

HTTP REQUEST
Sadrži:

A
  1. Zaglavlje sa:
    ● oznakom za HTTP metod (GET, POST i dr.), putanjom i verzijom HTTP protokola
    ● dodatnim parametrima
  2. Nakon zaglavlja ide prazan red
  3. Opciono, zahtev može sadržati i telo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

HTTP RESPONSE
Sadrži:

A
  1. Zaglavlje sa:
    ● verzijom HTTP protokola i statusnim kodom
    ● dodatnim parametrima
  2. Zatim ide prazan red
  3. Potom dolazi telo odgovora
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

URL (UNIFORM RESOURCE LOCATOR)

A

Jedinstveni lokator resursa predstavlja adresu nekog resursa
(veb stranice) na vebu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Ako se ne navedu protokol, port i path, sta je podrazumevano za svaki?

A

Za protokol se podrazumeva http,
za port 80,
a za path index.html.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

HTML (HYPERTEXT MARKUP LANGUAGE)

A

U bukvalnom prevodu: jezik za označavanje hiperteksta (proširenog teksta).

Pošto je u tekstualnom formatu može se uređivati iz velikog broja editora: Notepad, Notepad++, MS Word, LibreOffice Writer.

Sastoji se od elemenata koji se pomoću tagova (oznaka) ugrađuju u tekst.

Web browser ne prikazuje tagove, već mu služe za formatiranje prikaza.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Veb stranica sadrži HTML deklaraciju i html element sa:

A
  1. zaglavljem u podelementu head i
  2. telom stranice u odelementu body
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

HTML VERZIJA 5

A

HTML verzijom 5 su unapređene mogućnosti HTML-a, tako da
između ostalog podržava:

  1. strukturne/semantičke elemente
  2. tipove ulaznih podataka u HTML formama
  3. grafičke elemente
  4. multimedijalne sadržaje
  5. drag&drop funkcionalnost
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

ZAGLAVLJE HTML STRANICE

A

head element obično sadrži:
-Naslov stranice,
-CSS stilove,
-Veze ka spoljnim stilovima,
-Favorite ikonicu,
-JavaScript kod,
-Meta podatke…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

UMETANJE SLIKA – IMG ELEMENT

A

Za umetanje slike u HTML stranicu se koristi img element čiji
atribut src sadrži putanju do grafičke datoteke, a opciono se
može zadati veličina prikaza.

Atributom alt se može dodati opis slike koji će biti prikazan
ukoliko grafička datoteka ne može biti pronađena ili dok se
strelica miša nalazi iznad slike.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

UGRADJIVANJE JEDNE VEB STRANICE U DRUGU

A

Elementom iframe se unutar jedne stranice može prikazati
druga veb stranica.

Često se koristi za ugrađivanje reklama (tzv.
baneri).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

SPACIJALNI KARAKTERI

A

Više uzastopnih praznih mesta (razmaka) se prikazuju kao jedno
prazno mesto.

Unicode standard omogućava predstavljanje karaktera većine svetskih pisama.

Poseduje i veliki broj simbola, a za korektan prikaz je neophodno da izabrani font podržava Unicode simbole.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

BROWSER ENGINE

A

Osnovna komponenta veb pregledača koja transformiše resurse
sa veba radi njihovog vizuelnog predstavljanja i interakcije sa
korisnikom.

Često se nazivaju rendering engine i layout engine
jer zadatke raspoređivanja i iscrtavanja obično izvršava ista
softverska komponenta.

Aktuelni su: WebKit, Gecko, Blink, EdgeHTML i Goanna, a među ugašenim projektima su: Presto, KHTML i Trident.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

CSS NIVOI I NJIHOVI MODULI

A

Usavršavanje CSS standarda se odvija po nivoima,
nadograđivanjem prethodne verzije.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

CSS

A

CSS stilovima se opisuje način prikazivanja odn. pravila
prikazivanja HTML elemenata.

CSS pravila se sastoje od
selektora i deklaracija:
1. selektor određuje na koje elemente se primenjuje pravilo
2. deklaracijama se uređuje to pravilo i sastoje se od parova svojstvo: vrednost

26
Q

Za raspoređivanje elemenata CSS primenjuje:

A

box model pri čemu se elementi tretiraju kao boksovi odn. ‘kutije’ Svaki boks
poseduje:
1. content (sadržinu)
2. padding (ispunu)
3. border (okvir)
4. margin

27
Q

Box model (padding)

A

Padding je rastojanje između sadržine
boksa (content) i okvira (border)

28
Q

Box model (border)

A

Definise debljinu, stil i boju okvira

29
Q

Box model (margin)

A

Margine predstavljaju prazan prostor izvan
okvira (border)

30
Q

JAVASCRIPT

A

JavaScript je jezik pomoću kojeg je u veb stranicu moguće
ugraditi programski kod koji će se izvršavati na klijentskoj strani
(u web browser-u).

JavaScript omogućava kreiranje dinamičkih
sadržaja u web stranicu. Podržano je korišćenje varijabli,
funkcija, rukovanje događajima…

Za razliku od drugih programskih jezika, iz bezbednosnih razloga su onemogućene
neke potencijalno rizične operacije (npr. pristup fajl sistemu).

31
Q

JavaScript je standardizovan

A

Zvanične verzije nose naziv ECMAScript. Od 2015. postoji trend objavljivanja nove verzije
jednom godišnje.

Zbog pojave brojnih biblioteka i radnih okvira (eng. framework)
baziranih na JavaScript jeziku, on se može posmatrati kao
‘mašinski jezik’ za izvršavanje kôda u veb pregledačima.

32
Q

NIZOVI

A

Nizovi omogućavaju čuvanje niza vrednosti (istog tipa) u jednoj
varijabli.

U radu sa nizovima se koriste for petlje.

33
Q

PAJTON

A

Programski jezik visokog nivoa i opšte namene.
Podržava objektno orijentisano programiranje.
Izvršava se interpretiranjem.
Jednostavan je za učenje, a pruža velike mogućnosti.
Portabilan je (prenosiv između računara različite arhitekture).
Otvorenog je koda (open source) tj. izvorni kod Python interpretera je javno dostupan. Razvijen je u programskom jeziku C, ali postoje i druge izvedbe.

34
Q

PROGRAMSKI JEZICI VISOKOG VS. NISKOG NIVOA

A

Jezici visokog nivoa:
-imaju niže performanse,
-sličniji su prirodnim jezicima,
-lakše se čitaju i uče

Jezici niskog nivoa:
-imaju bolje performanse,
-slični su mašinskim instrukcijama,
-teže se uče

35
Q

OBJEKTNO ORIJENTISANO

A

Objektno orijentisano programiranje:

  1. program je organizovan u klase (i objekte),
  2. pogodan rešavanju problema iz realnog sveta,
  3. omogućava rešavanje složenih problema,
  4. dopušta apstrakciju u rešavanju problema
36
Q

PROCEDURALNO ORIJENTISANO

A

Proceduralno programiranje: program je organizovan u funkcije,
pogodan za izvršavanje konkretnih zadataka, omogućava
rešavanje manje složenih problema, vrlo nizak nivo apstrakcije
Kojim god programskim jezikom da je napisan program, on se
na kraju izvršava na mašinskom nivou.

37
Q

INTERPRETED LANGUAGE

A

Program napisan u jeziku koji se izvršava kompajliranjem se
najpre mora kompajlirati (prevesti) u izvršni zapis tog programa,
pa tek takav izvršavati

izvorni programski kod → izvršni kod → pokretanje programa

38
Q

COMPILED LANGUAGE

A

Program napisan u jeziku koji se izvršava interpretiranjem se
može pokretati u svom izvornom obliku, bez prevođenja, ali uz
pomoć odgovarajuće platforme (interpretera)

izvorni programski kod → pokretanje programa

39
Q

VARIJABLE TJ. PROGRAMSKE PROMENLJIVE

A

Omogućavaju čuvanje vrednosti pod izabranim imenom.
Dodela vrednosti se postiže znakom =.

Nije potrebno unapred odrediti tip varijable. Zato je jednoj varijabli moguće dodeliti
vrednost koja je različitog tipa u odnosu na trenutnu vrednost.

40
Q

STRINGOVI

A

Mogu se navoditi pod jednostrukim i pod dvostrukim
navodnicima

41
Q

USLOVNO GRANANJE

A

U zavisnosti od zadatog uslova neki blok naredbi će se izvršiti ili
se neće izvršiti.
Mogu se definisati dva bloka naredbi, jedan koji se izvršava ako
je uslov ispunjen, a drugi koji se izvršava ako uslov nije ispunjen.

42
Q

FUNKCIJE

A

Funkcije sadrže blok naredbi koji će se izvršiti kada funkcija bude pozvana.
Deklarišu se pomoću: rezervisane reči def, naziva funkcije, parametara i tela funkcije.
Funkcija može vratiti neki rezultat, ali i ne mora.
Vraćanje rezultata se postiže naredbom return i vrednošću koja predstavlja rezultat.
Funkcija se poziva navođenjem njenog naziva i vrednosti koje prosleđujemo
parametrima funkcije.

43
Q

WEB DEVELOPTMENT

A

Razvoj veb aplikacija obuhvata širok skup aktivnosti, a angažovanje na svim segmentima naziva se full stack web development.

Osnovna podela ovih aktivnosti na razvoju jeste na back-end i front-end development.

44
Q

BACK-END DEVELOPTMENT

A

To je implementacija programskog kôda veb aplikacije koji će se
izvršavati na serveru.

Da bi se neki programski jezik opšte namene prilagodio potrebama određenog okruženja (npr. veb) koriste se odgovarajući radni okviri

45
Q

VEB RADNI OKVIRI ZA PAJTON

A

Prema mogućnostima izdvajaju se dve kategorije:
1. mikro radni okviri (microframework)
2. potpuni radni okviri (fullstack framework)

Mikro radni okviri nude najosnovnije funkcije, pa se obično
kombinuju sa dopunskim softverskim bibliotekama.

Potpuni radni okviri integrišu više modula što olakšava dolazak
do kompletnog softverskog rešenja.

46
Q

DJANGO

A

Django je web okruženje otvorenog koda razvijeno u jeziku Python. Poseduje ugrađen web server čime se olakšava razvoj web aplikacija (nije potrebno posebno instalirati web server).

Django je baziran na MTV šablonu (Model - Template - View):
● Model se stara o podacima,
● Template se stara o prikazu,
● View se stara o obradi podataka.

47
Q

Django vrši i:

A

objektno-relaciono mapiranje (ORM) čime su omogućena preslikavanja između

objekata (u modelu) i
tabela (u relacionoj bazi podataka).

48
Q

VIEW

A

View, odnosno pogled, obrađuje zahteve tako što za primljen zahtev (request) konstruiše i vraća odgovor (response).

Implementira se kao Python funkcija čiji parametar je request, a povratna vrednost predstavlja response.

Jedan od načina za kreiranje povratne vrednosti tj. odgovora je pomoću funkcije render koja generiše HTTP response.

49
Q

STATIC FILES

A

Statički fajlovi ne podležu transformaciji sadržaja od strane Django radnog okvira tj. kada ih browser zatraži Django ih prosleđuje u njihovom izvornom obliku.

To su najčešće prateći fajlovi koji učestvuju u prikazivanju HTML stranice, na primer:
.css, .js, kao i grafički elementi.

Za korišćenje ovih fajlova unutar Django aplikacije potrebno je kreirati static folder.

50
Q

HTML FORME

A

HTML forme imaju ulogu formulara putem kojih je korisniku omogućen unos (i izmena) podataka.

STRUKTURA HTML FORME
Formu je potrebno konfigurisati u smislu:
1. odredišne adrese na koju se isporučuju uneti podaci
(atribut action)
2. načina prenosa unetih podataka (atribut method, sa
vrednostima POST i GET)

51
Q

Interakcija sa korisnikom putem HTML formi se vrši kroz dve
faze:

A
  1. Korisniku se u prvoj fazi prikaže prazna forma, koju on
    potom popunjava. Nakon toga korisnik potvrđuje svoj unos
    pomoću dugmeta.
  2. Forma zatim prosleđuje unete podatke na zadatu
    putanju (uobičajeno je da to bude ista putanja tj. path sa koje je
    forma prvobitno učitana).
52
Q

MODEL

A

Model je komponenta MTV šablona koja se stara o podacima.

Model omogućava skladištenje (kao i ponovno korišćenje) podataka nastalih u radu veb aplikacije.

Zahvaljujući modelu, sadržaji veb stranica postaju dinamički. Podaci se čuvaju u bazi
podataka, a Django poseduje ugrađenu podršku za različite baze podataka (Postgresql, MySQL, Oracle, SQLite).

53
Q

U modelu se podaci opisuju putem

A

-klasa

54
Q

Klasa

A

Klasa predstavlja opis nekog entiteta (npr. osoba, knjiga, artikal, vest, …).

Klasom se objedinjuju atributi kojima se opisuje jedan primerak odgovarajućeg entiteta.

Klase se nazivaju velikim početnim slovom, a atributi malim početnim slovom.

55
Q

Za svaki atribut je, pored naziva,

A

potrebno odrediti i tip podatka. Kada se objektni model preslikava u bazu podataka,
klase postaju tabele, a atributi postaju kolone u ovim tabelama.

56
Q

MIGRACIJA

A

Migracija podrazumeva preslikavanje Django modela podataka (objektni model) na model relacione baze podataka (relacioni model). Nakon svake promene modela podataka, neophodno je izvršiti migraciju.

U objektnom modelu podaci se nalaze u objektima neke klase i
koristimo reference da bismo im pristupili.

U relacionom modelu podaci se nalaze u slogovima neke tabele
i koristimo primarne ključeve da bismo im pristupili.

57
Q

MASTER-DETAIL VIEW

A

Zbog obimnosti podataka i ograničenog prostora na veb stranici, najčešće se prikaz podataka realizuje iz dva dela:

  1. glavni prikaz svih postojećih zapisa (sa navedenim
    osnovnim podacima),
  2. prikaz detalja odn. svih podataka o pojedinačnom zapisu.
58
Q

GLAVNI PRIKAZ

A

U glavnom prikazu se navode samo osnovni podaci, a uz svaki
zapis se ugrađuje link ka prikazu detalja o tom zapisu.

Glavni prikaz se omogućava putem veb stranice koja učitava sve zapise
iz baze podataka i u šablon ugrađuje samo relevantne podatke.

59
Q

PRIKAZ DETALJA

A

Prikaz detalja preuzima iz putanje vrednost identifikatora za koji
je potrebno prikazati sve podatke.

60
Q

BRISANJE ZAPISA IZ BAZE PODATAKA

A

Za brisanje pojedinačnih zapisa iz baze podataka koristićemo:
1. zaseban pogled koji vrši brisanje
2. linkove na glavnom (master) prikazu na čiji klik aktiviramo
brisanje