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ý Internet0:00 / 12:59
0:001:00 zostáva
NatáliaVäčš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.
PeterTo 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.
Kapitoly

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!