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
CSS
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
Za raspoređivanje elemenata CSS primenjuje:
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
Box model (padding)
Padding je rastojanje između sadržine boksa (content) i okvira (border)
28
Box model (border)
Definise debljinu, stil i boju okvira
29
Box model (margin)
Margine predstavljaju prazan prostor izvan okvira (border)
30
JAVASCRIPT
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
JavaScript je standardizovan
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
NIZOVI
Nizovi omogućavaju čuvanje niza vrednosti (istog tipa) u jednoj varijabli. U radu sa nizovima se koriste for petlje.
33
PAJTON
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
PROGRAMSKI JEZICI VISOKOG VS. NISKOG NIVOA
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
OBJEKTNO ORIJENTISANO
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
PROCEDURALNO ORIJENTISANO
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
INTERPRETED LANGUAGE
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
COMPILED LANGUAGE
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
VARIJABLE TJ. PROGRAMSKE PROMENLJIVE
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
STRINGOVI
Mogu se navoditi pod jednostrukim i pod dvostrukim navodnicima
41
USLOVNO GRANANJE
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
FUNKCIJE
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
WEB DEVELOPTMENT
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
BACK-END DEVELOPTMENT
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
VEB RADNI OKVIRI ZA PAJTON
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
DJANGO
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
Django vrši i:
objektno-relaciono mapiranje (ORM) čime su omogućena preslikavanja između objekata (u modelu) i tabela (u relacionoj bazi podataka).
48
VIEW
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
STATIC FILES
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
HTML FORME
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
Interakcija sa korisnikom putem HTML formi se vrši kroz dve faze:
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
MODEL
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
U modelu se podaci opisuju putem
-klasa
54
Klasa
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
Za svaki atribut je, pored naziva,
potrebno odrediti i tip podatka. Kada se objektni model preslikava u bazu podataka, klase postaju tabele, a atributi postaju kolone u ovim tabelama.
56
MIGRACIJA
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
MASTER-DETAIL VIEW
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
GLAVNI PRIKAZ
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
PRIKAZ DETALJA
Prikaz detalja preuzima iz putanje vrednost identifikatora za koji je potrebno prikazati sve podatke.
60
BRISANJE ZAPISA IZ BAZE PODATAKA
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