Kurs Python Net Programming

Kurs Python Net Programming otkriva tajne mrežnog programiranja kroz programski jezik Python.Odgovara na različita pitanja na koja su odgovori neophodni da bi se danas, u vreme dominacije mrežnih aplikacija, uspešno programiralo. Kako povezati dve aplikacije pomoću Pythona? Šta su to soketi i kako se koriste u Pythonu? Šta su to slojevi u mrežnom programiranju i koji sve slojevi postoje, kao i koji od njih su nam potrebni za uspešno programiranje, a koji ne? Koje su razlike između protokola u transportnom sloju i koji od njih je potrebno koristiti u kojoj situaciji? Šta je to TCP protokol i za šta se sve može iskoristiti? Kako se podaci transportuju kroz njega i koliko je siguran? Šta je UDP protokol? Za šta je dobar, a za šta ne? Ovo su samo neka od pitanja na koje ovaj kurs donosi jasne odgovore. 

Osim toga, kurs objašnjava i mnoge druge pojmove i razrešava mnoge druge nedoumice. Detaljno su objašnjeni svi svakodneno korišćeni protokoli aplikativnog sloja, neophodni za ispravno funkcionisanje web aplikacija. Objašnjava se problematika kašnjenja u protoku informacija i predstavljaju različita rešenja za ovaj problem.

Obnavlja se gradivo prethodno pređenih kurseva, ali u novim okruženjima i u kontekstu rešavanja novih problema, pa se tako kroz tehnike višenitnog programiranja rešava problem višeklijentske upotrebe jedne aplikacije, a kroz tehnike upravljanja događajima objašnjava obrada dolaznih poruka.

Gradivo ovog kursa je nadogradnja na osnovne Python kurseve i važna osnova za kurseve u vezi sa web programiranjem, jer razlaže komponente koje će biti osnovni gradivni blokovi u tim kursevima, odnosno onima koji slede.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Python Development Program.

Opis i ciljevi kursa Python Net Programming

Kao krajnji rezultat, polaznik od ovog kursa može očekivati rasvetljavanje mnogih „tajni” funkcionisanja sistema koje koristimo svakodnevno. Polaznik će znati na koji način pametni uređaji imaju informacije koje nam prikazuju, kako je moguće da se dopisujemo sa različitim korisnicima putem različitih platformi, kao i kako tačno funkcionišu multiplayer računarske igre i šta je sve potrebno da bi se one uspešno izvršavale. 

Polaznik će znati jasnu razliku između serverskog dela jedne mrežne aplikacije i njenog klijentskog dela, koji se delovi aplikacije na kojoj „strani” mogu izvršavati, na šta treba obratiti pažnju prilikom kreiranja i implementacije različitih njenih delova, koji su potencijalni problemi koji se u izgradnji mogu pojaviti i na koji način se mogu izbeći.

Aplikacije koje će polaznici biti u stanju da naprave u ovoj fazi biće mrežno orijentisane i upotrebljavaće adekvatne aplikativne i transportne protokole. Ove aplikacije, izvršavane na različitim uređajima i u različitim okruženjima, moći će da uzajamno razmenjuju mrežne poruke različitih namena.

Nakon savladanog kursa, polaznik može da reši problem dostave, sinhronizacije i upotrebe podataka između aplikacija.

Kurs Python Net Programming će vam odgovoriti na pitanja:

1. Šta je to internet?

Internet je računarska mreža koja povezuje milione uređaja po svetu. Donedavno, ti uređaji su bili primarno tradicionalni desktop računari (Windows, macOS i Linux sistemi) i serveri koji skladište i prenose informacije kao što su web stranice i e-mail adrese. Odnedavno, u porastu su netradicionalni sistemi koji koriste internet: laptopovi, pametni telefoni, tableti, televizori, konzole, kamere, automobili i razni senzori. Kako je raznovrsnost uređaja koji koriste internet velika, termin računarska mreža je pomalo zastareo. U internet žargonu, ovi uređaji se zovu ili domaćini (hosts) ili krajnji sistemi.

2. Šta je to topologija mreže i koji svi tipovi toplogije mreže postoje?

Termin topologija se u kontekstu mreža odnosi na oblik kako su računari i druge mrežne komponente međusobno povezani (nodovi). Topologija mreže može biti:

  • topologija magistrale;
  • topologija zvezde;
  • mrežasta topologija;
  • topologija prstena;
  • hibridna topologija.

3. Šta su to mrežni slojevi i koji sve slojevi postoje?

Kako postoji ogroman broj korisnika koji se svakodnevno služe računarskim mrežama širom sveta, potreban je set standarda koji će standardizovati konfiguraciju ovih sistema. Za to nam služi ISO-OSI model.

OSI (Open System Interconnection, 1984) model je kreirala ISO (International Organization for Standardization) kategoriše različite apsekte računarskih mreža u sedam različitih slojeva. OSI definiše koji aspekti mrežne funkcionalnosti se mogu podvrgnuti kojim mrežnim standardima. Tih sedam slojeva računarske mreže su (od najnižeg ka najvišem):

  • fizički sloj
  • sloj veze/podatka (engl. data link layer)
  • mrežni sloj (engl. network layer)
  • transportni sloj (engl. transport layer)
  • sloj sesije (engl. session layer)
  • prezentacijski sloj (engl. presentation layer)
  • aplikativni sloj (engl. application layer)

Kurs Python Net Programming

4. Koja je razlika između TCP i UDP protokola?

UDP (User Datagram Protocol) ne zahteva prethodno ostvarivanje konekcije. Nema ugrađenu kontrolu greške (ne prijavljuje greške, ali može proveriti da li one postoje) i neće ponovo poslati zagubljene pakete. Zbog ovih nedostataka, ovaj protokol je dosta brži nego TCP, ali se zato smatra nepouzdanim protokolom. Pogodan je u situacijama kada nam je potrebno da konstantno i brzo primamo podatke, kao npr. prilikom video-poziva ili gledanje video-klipa uživo preko interneta.

Sa druge strane, kako bi TCP (Transmission Control Protocol) funkcionisao, potrebno je prvobitno uspostaviti konekciju. Podržava traženje i prijavljivanje grešaka. Neki od aplikativnih protokola koji se baziraju na TCP-u su HTTP i HTTPS, rezervisani za sajtove; SMTP i POP, rezervisani za slanje mejlova, kao i FTP – protokol za slanje fajlova.

5. Šta je to HTTP?

HyperTextTransfer Protocol ili HTTP je protokol koji omogućava konekciju između web servera i klijenta. HTTP je aplikativni protokol za distribuiranje informacija preko weba. Koristi port 80. Takođe, HTTP klijentom se može nazvati i internet pregledač (browser) kao što su FireFox, Google Chrome i drugi. U World Wide Webu, informacija je servirana koristeći HyperText Markup Language (HTML) fajlove, dok je lokacija te informacije definisana URL-om (Uniform Resource Locator).

6. Šta su WebSocketi i gde se najčešće koriste?

WebSocketi nam omogućavaju ostvarivanje jedne TCP konekcije između klijenta i servera koja omogućava dvostranu komunikaciju (full-duplex). Zahtev za WebSocket konekcijom se šalje serveru sa klijentske strane kroz proces poznat kao WebSocket usaglašavanje. Ovaj zahtev počinje kao običan HTTP zahtev ka serveru; obuhvata i Upgrade polje zaglavlja, koje nagoveštava serveru kako klijent pokušava da napravi WebSocket konekciju.

WebSocketi se koriste kada nam je bitna brzina komunikacije. Koriste se najviše za:

  • čet aplikacije;
  • praćenje rezultata uživo;
  • ažuriranje tokova podataka na društvenim mrežama u realnom vremenu;
  • multiplejer igre.

Plan i program predavanja:

1. Uvod u računarsku mrežu

  • Računarska mreža i njeni slojevi
  • Soketi i transportni protokoli
  • Aplikativni protokoli

2. Rad sa soketima i transportnim protokolima

  • TCP protokol
  • UDP protokol
  • WebSocket protokol 

3. HTTP protokol

  • Osnove HTTP-a
  • HTTP klijent i server
  • HTTP statusi i poruke

Polaznici kursa Python Net Programming

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