Web programiranje (Python)

Ukupno časova: 20
Trajanje časa: 90 min
Veličina grupe: 5 polaznika
Broj rata: 4
Cena: 40000 RSD


Kurs web programiranja podrazumeva obuku polaznika za upotrebu aktuelnih web tehnologija radi razvoja dinamičkih web aplikacija poput web prodavnica, medijskih portala, blogova i sl. Tokom kursa polaznici će se detaljno upoznati sa pojmom klijent-server arhitekture i HTTP protokolom, odnosno strukturom HTTP zahteva i odgovora. Takođe će steći praktična znanja neophodna za generisanje HTML sadržaja kao odgovora na HTTP zahtev, mehanizme za upravljanje sesijom, načine za povezivanje i komunikaciju sa serverom baze podataka, kao i načine za preuzimanje i skladištenje podataka u vidu datoteka proizvoljnih formata. Konačno, polaznici će biti upoznati i sa tehnikama koje se tiču modularizacije web aplikacija i pravljenja ponovno upotrebljivih komponenti kao i razvoja modernih REST API-ja i jednostavnih klijentskih web aplikacija.


Pre upisa na ovaj kurs poželjno je da polaznici imaju osnovno znanje HTML-a, CSS-a, JavaScript-a i Python-a.

Sadržaj kursa

  • 1. Uvodno predavanje
    1. Server klijent arhitektura
    2. HTTP protokol
    3. Podešavanje radnog okruženja
  • 2. Implementacija jednostavnog web servera
    1. Modul http.server
    2. Implementacija jednostavnog obrađivača HTTP zahteva
  • 3. Flask radni okvir
    1. Instalacija radnog okvira
    2. Definisanje jednostavne Flask aplikacije
    3. Pokretanje Flask aplikacije u debug režimu
  • 4. Serviranje statičkog sadržaja i dinamičko generisanje sadržaja
    1. Podešavanje Flask radnog okvira za serviranje statičkog sadržaja
    2. Dinamičko generisanje sadržaja kao odgovora na HTTP zahtev
  • 5. Obrada HTTP zahteva
    1. Tipovi HTTP zahteva i prosleđivanje podataka u zahtevima
    2. Request objekat i njegovi atributi u Flask radnom okviru
  • 6. Generisanje sadržaja pomoću Jinja šablona
    1. Pojam Jinja šablona
    2. Interpolacija, iskazi, izrazi i komentari
  • 7. Generisanje sadržaja pomoću Jinja šablona
    1. Kompozicija Jinja šablona
    2. Nasleđivanje Jinja šablona
  • 8. Generisanje sadržaja pomoću Jinja šablona
    1. Ugrađeni Jinja filteri i testovi
    2. Pravljenje korisnički definisanih filtera i testova
  • 9. Obrada izuzetaka
    1. Obrada izuzetaka u Flask aplikacijama
    2. Modul za zapisivanje podataka o događajima u aplikaciji
    3. Definisanje stranica za prikaz podataka o izuzecima
  • 10. Sesija
    1. Pojam sesije i načini realizovanja sesije
    2. Upotreba sesije u Flask radnom okviru
    3. Pristup sadržaju sesije iz Jinja šablona
    4. Praktična primena sesije na primeru prijave na sajt
  • 11. Trajno skladištenje podataka
    1. Pojam relacione baze podataka
    2. Modelovanje šeme baze podataka i njeno kreiranje
    3. Primer modelovanja šeme baze podataka za web prodavnicu
  • 12. Trajno skladištenje podataka
    1. Povezivanje Flask aplikacije na server baze podataka
    2. Dobavljanje, zapisivanje, izmena i brisanje podataka
    3. Praktična primena relacione baze podataka za skladištenje podataka o korisnicima i proizvodima u web prodavnici
  • 13. Modularne Flask aplikacije
    1. Pojam modularne Flask aplikacije
    2. Flask Bueprint kao mehanizam za pravljenje modularne web aplikacije
    3. Praktična primena Blueprint-ova na primeru web prodavnice
  • 14. Upload datoteka
    1. Slanje datoteka putem HTML forme
    2. Slanje datoteka kao tela POST zahteva
    3. Praktična primena slanja datoteka na primeru slika proizvoda u web prodavnici
  • 15. REST API
    1. Pojam REST API-ja, resursa i značenje HTTP metoda u kontekstu REST API-ja
    2. Kreiranje REST API-ja u Flask radnom okviru
    3. Praktična primena kreiranja REST API-ja na primeru administrativnog dela web prodavnice
  • 16. JWT
    1. Pojam JSON web tokena
    2. Generisanje JSON web tokena u Flask aplikaciji
    3. Upotreba JSON web tokena za proveru prava pristupa
  • 17. Generisanje sadržaja na klijentskoj strani
    1. Generisanje HTML dokumenata na klijentu
    2. Reagovanje na događaje izazvane na klijentu
    3. Upotreba Fetch API-ja za generisanje HTTP zahteva i obradu HTTP odgovora
  • 18. Generisanje sadržaja na klijentskoj strani
    1. Upotreba template i slot HTML elmenata
    2. Definisanje navigacije na klijentskoj strani
  • 19. Konfigurisanje i pokretanje web aplikacije na produkcionom serveru
    1. Instalacija, podešavanje i pokretanje Gunicorn produkcionog servera
    2. Instalacija, podešavanje i pokretanje Nginx servera kao proxy servera za Gunicorn
    3. Mehanizmi za specifikaciju konfiguracije Flask aplikacije
    4. Dostavljanje i pokretanje Flask aplikacije na produkcionom serveru
  • 20. Projektni zadatak
    1. Primena prethodno stečenih znanja za izradu jednostavne poslovne aplikacije

Prijavite se