2017 - Týždeň 5
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška nadväzuje na predchádzajúci hangman projekt, kde sa slová načítavali zo súboru words.txt obsahujúceho vyše 55 000 slov. Vysvetľuje sa problém súbežného prístupu viacerých používateľov k jednému súboru na multiuser systéme, kde sa súbor pri otvorení uzamkne (lock) a ostatní musia čakať, čím vzniká úzke hrdlo aplikácie podobné problémom viacvrstvových aplikácií s databázami. Ako riešenie sa navrhuje načítať celý obsah súboru jednorazovo do pamäte namiesto opakovaného otvárania a zatvárania súboru pri každom požiadavku. Diskutuje sa reprezentácia slov ako dvojrozmerného poľa znakov (riadky = slová, stĺpce = písmená) a potreba použiť viacnásobné smerníky (viacero hviezdičiek) na uloženie takejto štruktúry v pamäti. Na konci sa začína písať kód na otvorenie súboru, kontrolu jeho existencie a použitie fscanf s bufferom na postupné načítavanie slov.
- - Problém súbežného prístupu viacerých používateľov k jednému súboru (words.txt) na multiuser systéme
- - Uzamykanie súboru (lock) pri otváraní spôsobuje čakanie ostatných používateľov
- - Podobnosť s úzkym hrdlom aplikácie, napr. pri databázových systémoch vo viacvrstvových aplikáciách
- - Riešenie: načítať celý súbor jednorazovo do pamäte namiesto opakovaného otvárania/zatvárania
- - Reprezentácia slov ako dvojrozmerného poľa znakov (riadky = slová, stĺpce = písmená)
- - Potreba viacnásobných smerníkov (N+1 rozmerné pole) na uloženie dát v pamäti
- - Praktická ukážka kódu: otvorenie súboru, kontrola chyby, načítanie pomocou fscanf a buffra
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky