Podcast o Základy sietí, programovania a databáz
Základy sietí, programovania a databáz: Komplexný rozbor
Podcast
Od Nuliek a Jednotiek po Nekonečný Internet
Délka: 12 minut
Kapitoly
Mýtus o magickom internete
OSI a TCP/IP: Dve mapy siete
Jazyky internetu: Protokoly
Metódy verzus Funkcie
Prekladáme reč počítačov
Adresa pre každého: IPv4
Šikovné delenie: VLSM a DHCP
Digitálne knižnice
Procedúra vs. Funkcia
Špecializovaní robotníci: Typy metód
Koniec v práci
Peniaze na rozlúčku
Přepis
Natália: Väčšina ľudí si myslí, že internet je... no, v podstate mágia. Napíšeš adresu, stlačíš enter a bum, stránka je tu. Ale v skutočnosti je to skôr ako extrémne organizovaná a trochu obsedantno-kompulzívna pošta.
Peter: To je perfektné prirovnanie! Žiadna mágia, len neuveriteľne presné pravidlá. A práve tieto pravidlá umožňujú, aby tvoj e-mail našiel cestu z Bratislavy do Tokia za zlomok sekundy.
Natália: Takže žiadne kúzla, len čistá logika? O tomto a o mnohom ďalšom sa budeme rozprávať. Počúvate Studyfi Podcast.
Peter: Poďme na to. Začnime tým, ako táto „internetová pošta“ vlastne vie, kam má čo poslať.
Natália: Dobre, kde začať? V poznámkach mám dva pojmy: OSI model a TCP/IP model. Znie to dosť teoreticky.
Peter: Aj je, ale je to kľúčové. Predstav si komunikáciu v sieti ako posielanie balíka v sedemposchodovej budove. To je OSI model. Každé poschodie má na starosti niečo iné.
Natália: Sedem poschodí? To znie komplikovane.
Peter: Ale nie je! Úplne dole, na fyzickej vrstve, sú káble. Tie len prenášajú jednotky a nuly. O poschodie vyššie, na linkovej vrstve, sa rieši, kto je kto na lokálnej sieti pomocou MAC adries. Na sieťovej vrstve sa pridáva IP adresa, teda globálna adresa v rámci internetu.
Natália: Aha, takže ako poschodie po poschodí balíme ten balík do ďalších obalov s inštrukciami?
Peter: Presne tak! Na transportnej vrstve sa rozhodne, či pošleme balík doporučene a so zárukou – to je protokol TCP – alebo obyčajne a rýchlo, čo je UDP. A takto ideme až na siedme, aplikačné poschodie, kde sedíš ty s prehliadačom alebo e-mailovým klientom.
Natália: A čo ten druhý model, TCP/IP?
Peter: To je v podstate zjednodušená verzia OSI modelu. Má len štyri vrstvy, ktoré spájajú funkcie viacerých OSI vrstiev. V praxi sa dnes riadime hlavne ním. Je to taký praktickejší bratranec toho teoretického OSI modelu.
Natália: Spomenul si TCP a UDP. To sú protokoly? Čo to presne znamená?
Peter: Komunikačný protokol je súbor pravidiel. Je to ako jazyk, ktorým sa zariadenia medzi sebou rozprávajú. Ak by tvoj počítač hovoril po „HTTP“ a webový server by rozumel len „FTP“, nikdy by si si nepozrela žiadnu stránku.
Natália: To dáva zmysel. Takže máme rôzne jazyky na rôzne veci?
Peter: Presne. HTTP a HTTPS sú pre webové stránky. FTP na prenos súborov. SMTP, IMAP a POP3 sú zas jazyky e-mailovej komunikácie. A nad všetkým stojí IP, Internet Protocol, ktorý sa stará o adresovanie a posielanie paketov, teda tých našich pomyselných balíkov.
Natália: A čo je DNS? To vidím stále pri nastavovaní internetu.
Peter: Dobrá otázka! DNS je v podstate telefónny zoznam internetu. Ty si pamätáš meno „google.com“, ale počítače potrebujú číslo, teda IP adresu. DNS server preloží to meno na IP adresu, napríklad 8.8.8.8, a tvoj počítač hneď vie, kam sa má pripojiť.
Natália: Poďme na chvíľu k programovaniu. V poznámkach mám aj metódy a funkcie. Aký je medzi nimi rozdiel? Vyzerajú skoro rovnako.
Peter: Je to jemný, ale dôležitý rozdiel. Predstav si funkciu ako samostatný recept. Môžeš ho použiť kdekoľvek a kedykoľvek. Napríklad funkcia vypocitaj_sucet(a, b) jednoducho vráti súčet dvoch čísel.
Natália: Okej, to je jasné. A metóda?
Peter: Metóda je „recept, ktorý patrí konkrétnemu kuchárovi“. V objektovo orientovanom programovaní je viazaná na objekt alebo triedu. Napríklad, ak máš objekt auto, môže mať metódu auto.start(). Nemôžeš len tak zavolať start() bez auta. Patrí to k nemu.
Natália: Takže metóda je funkcia, ktorá je súčasťou objektu a pracuje s jeho dátami. Pomáha to udržiavať kód organizovaný, však?
Peter: Bingo! Zabraňuje to chaosu. Každý objekt sa stará o svoje vlastné veci pomocou svojich vlastných metód. To sa volá zapuzdrenie a je to jeden zo základných pilierov dobrého programovania.
Natália: Super, vráťme sa k sieťam. Spomínali sme IP adresy, ktoré sú čísla. Ale počítače predsa pracujú s nulami a jednotkami. Ako to súvisí?
Peter: Súvisí to úplne zásadne! Počítače používajú binárnu, čiže dvojkovú sústavu. My ľudia používame desiatkovú. A potom je tu ešte šestnástková, hexadecimálna, ktorá sa používa napríklad pri MAC adresách. Musíme vedieť medzi nimi prekladať.
Natália: Prevody medzi sústavami... To býva na písomkách často. Ako na to?
Peter: Je to jednoduchšie, ako sa zdá. Keď chceš previesť desiatkové číslo, napríklad 13, na binárne, opakovane ho delíš dvojkou a zapisuješ si zvyšky odspodu nahor. Vyjde ti 1101.
Natália: A naopak? Z binárneho 1101 na desiatkové?
Peter: Ešte ľahšie. Každú pozíciu binárneho čísla vynásobíš mocninou dvojky, sprava doľava. Takže 1 krát 1, plus 0 krát 2, plus 1 krát 4, plus 1 krát 8. Spolu je to 13. S trochou cviku to ide úplne automaticky.
Natália: Dobre, takže IP adresa, napríklad 192.168.1.1, je v skutočnosti pre počítač len dlhý rad núl a jednotiek?
Peter: Presne tak. Konkrétne 32 núl a jednotiek. To je formát IPv4 adresy. Zapisujeme ju v desiatkovej forme so štyrmi číslami oddelenými bodkou, lebo je to pre nás ľudí čitateľnejšie.
Natália: Prečo sa delia na verejné a súkromné?
Peter: Predstav si to ako poštové adresy. Verejná IP adresa je tvoja oficiálna adresa domu, je jedinečná na celom svete. Súkromná IP adresa je ako číslo dverí v rámci jedného bytového domu. Vnútri domu sa všetci nájdu, ale poštár zvonku potrebuje hlavnú adresu budovy.
Natália: Čiže súkromné adresy používame doma alebo vo firme a na internete vystupujeme pod jednou spoločnou verejnou adresou? To je ten NAT, o ktorom som počula?
Peter: Presne. Network Address Translation. Je to jeden z dôvodov, prečo nám ešte nedošli IPv4 adresy, ktorých je „len“ asi 4,3 miliardy.
Natália: A čo keď potrebujem v rámci jednej firmy vytvoriť viacero menších sietí? Napríklad pre marketing, pre IT, pre účtovníctvo...
Peter: Na to slúži subnetting, čiže podsiete. A ešte šikovnejší nástroj je VLSM, teda maskovanie s premenlivou dĺžkou. To ti umožní vytvoriť podsiete rôznych veľkostí, takže neplytváš adresami. Marketingu dáš väčšiu podsieť pre 100 ľudí a účtovníctvu menšiu pre 10.
Natália: A kto tým všetkým zariadeniam prideľuje tie adresy? Predsa ich nemusím nastavovať ručne na každom počítači.
Peter: To by bola nočná mora! Našťastie máme DHCP – Dynamic Host Configuration Protocol. Je to taký manažér v sieti, ktorý každému zariadeniu, ktoré sa pripojí, automaticky pridelí IP adresu, masku, bránu aj DNS servery.
Natália: Znie to ako veľmi nápomocný protokol.
Peter: Je to záchranca každého sieťového administrátora. Vieš, prečo išiel DHCP server na terapiu?
Natália: To netuším.
Peter: Lebo mal pocit, že stále len dáva, dáva a dáva... a nikdy nedostane nič späť, iba ďalšie požiadavky!
Natália: Chudák! Takže, ak to zhrniem, siete majú jasnú štruktúru, hovoria rôznymi jazykmi a adresy sa prideľujú automaticky, aby v tom nebol chaos. Už to nevyzerá ako mágia, ale skôr ako dobre naolejovaný stroj.
Peter: A presne to je cieľom. Keď pochopíš tie pravidlá, celý ten zložitý svet internetu začne dávať dokonalý zmysel.
Natália: Dobre, takže dáta sa dostanú cez sieť na server. Ale kde tam vlastne "bývajú"? V nejakej obrovskej digitálnej knižnici?
Peter: Presne tak! Tej knižnici hovoríme databáza. A aby sme v nej nemuseli robiť všetko ručne, máme šikovných pomocníkov. Volajú sa "uložené procedúry".
Natália: Uložené procedúry? To znie... dosť technicky.
Peter: Ale princíp je jednoduchý. Predstav si to ako recept v kuchárke. Namiesto toho, aby si zakaždým hľadal múku, cukor a vajcia, jednoducho povieš "Upeč koláč podľa receptu číslo päť".
Natália: Aha, chápem! Takže je to vlastne predpripravený balík príkazov, ktorý sa spustí naraz a urobí prácu za mňa.
Peter: Presne tak. A je to super efektívne. Celé to beží priamo v databáze, takže je to oveľa rýchlejšie a bezpečnejšie. Nemusíš posielať z aplikácie desať rôznych pokynov.
Natália: A je nejaký rozdiel medzi procedúrou a funkciou? Často počujem oba tieto pojmy.
Peter: Výborná otázka. Hlavný rozdiel je vo výstupe. Funkcia ti *musí* vrátiť nejakú hodnotu, napríklad výsledok výpočtu. Ale procedúra môže, ale nemusí. Procedúra skôr vykoná nejakú akciu... napríklad zmení alebo zapíše údaje.
Natália: Takže funkcia je ako kalkulačka a procedúra je ako malý robotník, ktorý niečo urobí.
Peter: To je perfektné prirovnanie! A presne o takýchto "robotníkoch", ktorí zjednodušujú prácu, sa budeme baviť aj pri ďalšej téme...
Natália: Dobre, takže máme robotníkov — procedúry a funkcie. A teraz hovoríš, že existujú rôzne typy týchto robotníkov v rámci tried?
Peter: Presne tak! Najčastejšie sa stretneš s takzvanými inštančnými metódami. Tie pracujú s konkrétnym objektom... povedzme s jedným konkrétnym autom z našej továrne.
Natália: A tie ostatné?
Peter: Potom máme statické metódy. Tie nepotrebujú konkrétny objekt. Sú to skôr všeobecné pomocné funkcie, ktoré súvisia s triedou. Napríklad... výpočet poistky pre akékoľvek auto.
Natália: Rozumiem. A tá tretia možnosť?
Peter: To sú triedne metódy. Tie pracujú s triedou ako celkom, nie s jedným objektom. Predstav si, že chceš vytvoriť nový typ auta priamo v továrni.
Natália: Takže inštančná metóda prefarbí jedno auto, ale triedna metóda vytvorí úplne nový model pre celú výrobu. Chápem to správne?
Peter: Lepšie by som to nepovedal! A dôležité je, že všetky tieto metódy, podobne ako funkcie, môžu prijímať vstupy — teda argumenty — a vracať nejaký výsledok.
Natália: Skvelé! Takže máme rôzne typy metód s rôznymi úlohami. To otvára kopu možností... Poďme sa teraz pozrieť na niečo, čo znie ako z hodiny biológie — dedičnosť.
Peter: Presne tak, dedičnosť je kľúčová. Ale keď už hovoríme o štruktúrach a pravidlách, poďme na chvíľu do reálneho sveta. Čaká nás posledná téma — pracovné právo.
Natália: Fíha, to znie dôležito. A trochu zložito. Ako sa napríklad končí pracovný pomer?
Peter: Najlepší a najjednoduchší spôsob je dohoda. Proste si so zamestnávateľom sadnete a dohodnete sa na ukončení k určitému dňu. Bez stresu.
Natália: Takže je to vlastne taký "priateľský rozchod" s prácou?
Peter: Lepšie by som to nepovedal! Ale čo ak to takto nejde? Vtedy prichádza na rad výpoveď a s ňou aj výpovedná lehota.
Natália: To je ten čas, ktorý musím ešte odpracovať, aj keď už nechcem?
Peter: Presne. Zo zákona je to minimálne jeden mesiac. Dĺžka sa ale predlžuje podľa toho, koľko rokov si u zamestnávateľa pracovala.
Natália: Dobre, to dáva zmysel. A často sa spomína aj odstupné. Kedy naň mám nárok?
Peter: To je dobrá otázka. Odstupné nie je samozrejmosť. Dostaneš ho napríklad vtedy, ak firma robí organizačné zmeny a tvoje miesto jednoducho zruší, lebo si sa stal nadbytočným.
Natália: Aha, takže to je taká finančná náplasť za to, že ma už nepotrebujú.
Peter: V podstate áno. Je to kompenzácia. Takže na dnes sme toho prebrali naozaj dosť — od objektov a metód až po pravidlá v práci.
Natália: Veru! Dúfam, že ste si z toho odniesli veľa. Peter, ďakujem ti veľmi pekne.
Peter: Aj ja ďakujem. Počujeme sa opäť nabudúce pri ďalšej dávke vedomostí!
Natália: Presne tak! Majte sa krásne a ďakujeme, že počúvate Studyfi Podcast!