Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows

- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-10-09 20:40:37 +02:00
commit c3bc32113b
964 changed files with 57285 additions and 1156 deletions

View file

@ -0,0 +1,6 @@
---
nazev: RAID
popis: Several drives as one volume, not as a backup.
nazev_cviceni: Quiz: RAID
nadpis_kvizu: Quiz on RAID
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-raid
puvodni: hw3.1
nazev: RAID
popis: Více disků jako jeden svazek, ne jako záloha.
nazev_cviceni: Kvíz: RAID
nadpis_kvizu: Kvíz k tématu RAID
---
# Výklad
## RAID 1
*Zrcadlo*
- Stejná data jsou na dvou discích.
- Kapacita je jako jeden disk.
- Čtení může být rychlejší, zápis ne dvojnásobný.
- Po výměně disku se pole musí obnovit.
> Tip: zrcadlo přežije pád jednoho disku, ne smazání souboru.
## RAID 0 a 5
*Prokládání*
- RAID 0 skládá rychlost a kapacitu a nemá ochranu.
- RAID 5 snese pád jednoho disku z aspoň tří.
- Parita zabere kapacitu jednoho disku.
- Obnova velkého pole trvá dlouho a druhý pád v té době je zkáza.
> Tip: RAID 0 při pádu jednoho disku ztratí všechno.
## Hardware a software
*Řadič*
- Hardwarový řadič má vlastní cache a baterii.
- Softwarové pole řeší systém a je přenosnější.
- Cache bez ochrany při výpadku proudu rozbije zápis.
- RAID nenahrazuje zálohu na jiné místo.
> Tip: pole z jiného řadiče v novém serveru nemusí naběhnout.
# Kvíz
## Co RAID 1 přežije?
- [x] Pád jednoho z dvojice disků
- Smazání souboru uživatelem
- Požár místnosti
- Ransomware na obou discích naráz
> Oba disky mají stejná data, včetně chyby, kterou tam zapíšete.
## Co je RAID 0?
- [x] Prokládání bez ochrany při pádu disku
- Zrcadlo
- Záloha na pásku
- Šifrování disku
> Rychlost a kapacita, nulová odolnost.
## Proč RAID není záloha?
- [x] Neochrání před smazáním, malwarem ani požárem skříně
- Protože neumí víc než dva disky
- Protože Windows RAID zakazuje
- Protože parita maže soubory
> Záloha je další kopie jinde a v jiném čase.
## Co hrozí velkému poli při obnově?
- [x] Druhý disk spadne dřív, než se obnova dopočítá
- Pole se samo přepne na RAID 0
- BIOS smaže paritu
- NIC se při obnově nesmí točit
> Obnova je dlouhá a disky jsou stejně staré.

View file

@ -0,0 +1,6 @@
---
nazev: NAS and storage networks
popis: Drives that are not inside one computer.
nazev_cviceni: Quiz: NAS and storage networks
nadpis_kvizu: Quiz on NAS and storage networks
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-nas-a-site-disku
puvodni: hw3.2
nazev: NAS a sítě disků
popis: Disky, které nejsou uvnitř jednoho počítače.
nazev_cviceni: Kvíz: NAS a sítě disků
nadpis_kvizu: Kvíz k tématu NAS a sítě disků
---
# Výklad
## Souborový server v krabici
*NAS*
- Nabízí složky po síti.
- Má vlastní účty nebo se ptá školního adresáře.
- Dva porty se dají spojit, ale jen když to umí i switch.
- Hlučný diskový provoz nepatří do tiché učebny.
> Tip: NAS v učebně bez zálohy je jen jeden košík na všechna data.
## Disk jako místní
*SAN*
- Server vidí disk, i když leží jinde.
- Síť pro SAN se nemíchá s provozem žáků.
- Špatné zónování vystaví disk cizímu serveru.
- Výpadek této sítě shodí systémy, které na disku jedou.
> Tip: SAN nedává složku, dává blokové zařízení.
## Práva a snímky
*Soubor*
- Práva na složce mají sedět se skupinami, ne s jedním účtem učitele.
- Snímek umí vrátit soubor smazaný dopoledne.
- Plný svazek zastaví i zdánlivě nesouvisející službu.
- Kapacita se hlídá dřív, než svítí červeně.
> Tip: snímek disku není záloha, dokud leží na stejném poli.
# Kvíz
## Co NAS obvykle nabízí?
- [x] Složky po síti
- Blokový disk celé škole bez oprávnění
- Náhradu procesoru v noteboocích
- Obraz monitoru
> Je to souborová služba.
## Čím se SAN liší?
- [x] Server dostane disk jako bloky, ne jako složku
- Je to jen jiné jméno pro USB flash disk
- Jede jen po Wi-Fi
- Nemá disky
> Souborový systém si na těch blocích dělá až server.
## Proč snímek na stejném poli není záloha?
- [x] Pád pole vezme i snímek
- Snímek nejde vytvořit
- Snímek maže RAID
- SMB snímky zakazuje
> Záloha musí přežít ztrátu původního úložiště.
## Kam nepatří hlučné diskové pole?
- [x] Do tiché učebny vedle žáků
- Do racku s odtahem
- Do místnosti se zámek
- Do sítě oddělené od hostů
> Hluk a přístup jsou součást návrhu.

View file

@ -0,0 +1,6 @@
---
nazev: Servers and racks
popis: A cabinet that is not a gaming PC on its side.
nazev_cviceni: Quiz: Servers and racks
nadpis_kvizu: Quiz on Servers and racks
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-servery-a-rack
puvodni: hw3.3
nazev: Servery a rack
popis: Skříň, do které se nedává herní počítač naležato.
nazev_cviceni: Kvíz: Servery a rack
nadpis_kvizu: Kvíz k tématu Servery a rack
---
# Výklad
## Racková jednotka
*Tvar*
- Server v racku se měří v jednotkách U.
- Kolejnice musí unést hloubku skříně.
- Napájecí lišta není prodlužovačka z kuchyně.
- Proud a teplo se počítají dopředu, ne až když jistič spadne.
> Tip: 1U je výška, ne výkon.
## Studená ulička
*Vzduch*
- Studený vzduch jde před servery, teplý za ně.
- Zaslepení prázdných pozic nutí vzduch přes stroje.
- Kabelová armáda před sáním je ucpávka.
- Teplota v místnosti není teplota uvnitř 1U serveru.
> Tip: servery v racku sají vepředu a foukají dozadu. Otočený kus kazí ostatním.
## Když nejste ve škole
*Vzdáleně*
- IPMI nebo iDRAC žije i když systém ne.
- Patří do správní sítě, ne do učebny.
- Konzole v racku je záloha, když síť správy spadne.
- Štítek na serveru říká, co na něm jede.
> Tip: vzdálená správa má vlastní port a vlastní heslo.
# Kvíz
## Co znamená 1U?
- [x] Výšku zařízení v racku
- Výkon jednoho jádra
- Rychlost disku
- Počet zdrojů
> Je to rozměr, ne třída výkonu.
## Kudy má server v racku sát vzduch?
- [x] Vepředu a foukat dozadu
- Zezadu dopředu
- Jen shora bez mřížky
- Z podlahy dírami v desce
> Otočený server ohřívá sousedům sání.
## K čemu je vzdálená správa serveru?
- [x] Ovládáte ho, i když systém neběží
- Nahrazuje zálohu dat
- Je to Wi-Fi pro žáky
- Maže RAID
> Vidíte obraz a umíte stroj zapnout po síti.
## Kam nepatří port vzdálené správy?
- [x] Do žákovské VLAN
- Do správní sítě
- Za firewall
- Na heslo jiné než admin na lístečku
> Je to klíče od serveru.

View file

@ -0,0 +1,6 @@
---
nazev: Virtualisation
popis: Several systems on one piece of hardware.
nazev_cviceni: Quiz: Virtualisation
nadpis_kvizu: Quiz on Virtualisation
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-virtualizace
puvodni: hw3.4
nazev: Virtualizace
popis: Více systémů na jednom železe.
nazev_cviceni: Kvíz: Virtualizace
nadpis_kvizu: Kvíz k tématu Virtualizace
---
# Výklad
## Kdo rozděluje železo
*Hypervizor*
- Hypervizor pouští více systémů nad jedním hardwarem.
- Každý systém má vlastní diskový soubor a virtuální síťovku.
- Paměť, kterou slíbíte navíc, se ve špičce potká.
- Pád fyzického serveru shodí všechny hosty naráz.
> Tip: virtuální počítač nemá vlastní zdroj. Dělí se o ten fyzický.
## Virtuální switch
*Síť*
- Virtuální switch propojí hosty mezi sebou.
- Most je pustí ven fyzickým portem.
- Izolovaná síť jen mezi virtuály ven nevede.
- Špatný trunk vystaví správní virtuál do učebny.
> Tip: VLAN ve virtuálu musí sedět s trunkem na fyzické kartě.
## Soubor není kouzlo
*Disk*
- Tenké provizionování slíbí víc, než je na začátku obsazeno.
- Snímek před změnou umí vrátit systém.
- Zapomenuté snímky zpomalí disk a zaplní úložiště.
- Záloha virtuálu patří mimo ten samý disk.
> Tip: tenký disk roste a může zaplnit svazek, na kterém leží.
# Kvíz
## Co se stane, když spadne fyzický server s pěti virtuály?
- [x] Spadnou všechny, pokud nemají kam utéct
- Přežije aspoň správní virtuál
- Hypervizor je přenese na notebook
- Nic, virtuál zdroj nepotřebuje
> Sdílejí jedno železo.
## K čemu je most virtuálního switche?
- [x] Pustí virtuál do fyzické sítě
- Smaže VLAN
- Nahradí RAID
- Zapne Secure Boot hostitele
> Bez mostu virtuál ven neodejde.
## Čím je tenký disk nebezpečný?
- [x] Doroste a zaplní úložiště pod sebou
- Nejde zálohovat
- Nemá souborový systém
- Vypne hypervizor
> Slíbená kapacita není volné místo.
## Co udělá zapomenutý snímek?
- [x] Roste a zpomaluje disk
- Smaže heslo BIOSu
- Opraví RAID 0
- Přidá paměť
> Snímek je dočasná pojistka, ne trvalý režim.

View file

@ -0,0 +1,6 @@
---
nazev: Backups
popis: A copy you can actually restore.
nazev_cviceni: Quiz: Backups
nadpis_kvizu: Quiz on Backups
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-zalohovani
puvodni: hw3.5
nazev: Zálohování
popis: Kopie, kterou umíte vrátit.
nazev_cviceni: Kvíz: Zálohování
nadpis_kvizu: Kvíz k tématu Zálohování
---
# Výklad
## Tři místa
*Pravidlo*
- Jedna kopie je málo, když leží u originálu.
- Druhá má být mimo stroj a třetí mimo budovu, když na tom záleží.
- Verze v čase vrátí soubor z pátku, ne jen ze včerejška.
- Šifrovaná záloha bez klíče je hromada nic.
> Tip: kopie na tom samém disku přežije jen omyl v koši, ne pád disku.
## Ne jen plochu
*Co zálohovat*
- Data, účty a konfigurace sítě jsou různé věci.
- Poštovní schránka v cloudu má vlastní nastavení retence.
- Databáze se nezálohuje kopírováním otevřeného souboru naslepo.
- Seznam, co se nezálohuje, má být vědomý.
> Tip: obraz systému bez dat školy je pěkná, ale prázdná záchrana.
## Obnova je součást zálohy
*Zkouška*
- Jednou za čas obnovte soubor i celý systém nanečisto.
- Měřte, jak dlouho obnova trvá.
- Zápis říká, kdo má klíče a kde leží média.
- Po ransomware rozhoduje stáří poslední čisté kopie.
> Tip: záloha, kterou jste nikdy neobnovili, je hypotéza.
# Kvíz
## Proč nestačí kopie na stejném disku?
- [x] Pád disku vezme originál i kopii
- Systém druhou složku zakazuje
- RAID ji sám smaže
- NTFS umí jen jeden soubor
> Chyba média je společná.
## Co není pořádná zkouška zálohy?
- [x] Jen to, že noční úloha svítí zeleně
- Obnova jednoho souboru
- Změřený čas obnovy systému
- Ověření, že klíč k šifře existuje
> Zelená fajfka neznamená, že data jdou otevřít.
## Co rozhoduje po ransomware?
- [x] Jestli existuje čistá kopie starší než nákaza
- Barva skříně
- Počet ventilátorů
- Verze spořiče obrazovky
> Šifrovaná záloha z doby, kdy už malware běžel, je taky šifrovaná.
## Proč nekopírovat otevřenou databázi jako obyčejný soubor?
- [x] Rozpracovaný zápis bude nekonzistentní
- Databáze nemá soubor
- SMB databáze zakazuje
- Kopie by smazala RAID
> Běžící databáze se zálohuje nástrojem, který umí konzistentní snímek.

View file

@ -0,0 +1,6 @@
---
nazev: UPS
popis: Minutes to shut down cleanly, not a spare power station.
nazev_cviceni: Quiz: UPS
nadpis_kvizu: Quiz on UPS
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-ups
puvodni: hw3.6
nazev: UPS
popis: Minuty na uložení, ne náhradní elektrárna.
nazev_cviceni: Kvíz: UPS
nadpis_kvizu: Kvíz k tématu UPS
---
# Výklad
## Překlenout výpadek
*Úkol*
- Při výpadku přejde na baterii.
- Čas běhu závisí na odběru, ne na nálepce bez zátěže.
- Server dostane signál a vypne se po pořádku.
- Tiskárna a monitor na UPS servery okrádají o minuty.
> Tip: malá UPS neutáhne učebnu. Utáhne server, než se uloží.
## Ne každá UPS je pro zdroj serveru
*Tvar*
- Sinusový výstup je jistější pro aktivní PFC zdroje.
- Výkon ve voltampérech není totéž co watty na štítku zdroje.
- Přetížená UPS spadne právě ve výpadku.
- Zkouška pod zátěží ukáže skutečné minuty.
> Tip: levná UPS s obdélníkovým průběhem modernímu zdroji vadí.
## Spotřební díl
*Baterie*
- Test baterie nečeká na první bouřku.
- Výměna se dělá dřív, než článek nabobtná.
- Teplá místnost baterii ničí rychleji.
- UPS není náhrada za zálohu dat.
> Tip: baterie po třech letech v teple už slíbené minuty nedá.
# Kvíz
## K čemu malá UPS u serveru je?
- [x] Aby se systém stihl uložit a vypnout
- Aby učebna jela celé odpoledne
- Aby nahradila zálohu disků
- Aby chladila rack
> Jsou to minuty, ne směna.
## Proč na UPS nepatří laserová tiskárna?
- [x] Má velký odběr a sebere čas serverům
- Tiskárna UPS zničí vždy okamžitě
- USB tiskárny UPS zakazuje
- Toner potřebuje jinou frekvenci
> Špička zapékání baterii vybíjí zbytečně.
## Co ukáže jen nálepka bez zátěže?
- [x] Optimistický čas, který v provozu neplatí
- Přesné minuty při plném serveru
- Stav RAID
- Teplotu procesoru
> Měří se s tím, co na UPS opravdu visí.
## Jak často baterie přestane držet slib?
- [x] Po letech, dřív v teple
- Nikdy, je součástí zdroje navždy
- Až po deseti minutách prvního provozu
- Jen když je UPS černá
> Je to spotřební díl a má se zkoušet.

View file

@ -0,0 +1,6 @@
---
nazev: Firmware
popis: An update that is not applied in the middle of a lesson.
nazev_cviceni: Quiz: Firmware
nadpis_kvizu: Quiz on Firmware
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-firmware
puvodni: hw3.7
nazev: Firmware
popis: Aktualizace, která nejde udělat uprostřed hodiny.
nazev_cviceni: Kvíz: Firmware
nadpis_kvizu: Kvíz k tématu Firmware
---
# Výklad
## Program v železe
*Co to je*
- Deska, disk, switch i BIOS mají vlastní verzi.
- Chyba ve firmware shodí zařízení bez ohledu na systém.
- Výrobce vydává opravy i roky po prodeji.
- Neznámá verze se nejdřív zjistí, potom se teprve stahuje.
> Tip: firmware není ovladač ve Windows. Žije v zařízení i bez systému.
## Jedno zařízení, zdroj, záloha
*Postup*
- Přečtěte, co verze opravuje a co rozbije.
- Záloha konfigurace switche jde bokem.
- Napájení nesmí vypadnout v půlce zápisu.
- Po dokončení ověřte, že naběhla i služba, ne jen dioda.
> Tip: aktualizace při bouřce bez UPS je způsob, jak dostat cihlu.
## Ne všechno v pátek odpoledne
*Řada*
- Nejdřív méně důležité zařízení.
- Okno, kdy smí síť ležet, je domluvené.
- Když nová verze zlobí, musíte umět předchozí.
- Zápis verze patří k zařízení, ne do hlavy jednoho člověka.
> Tip: neaktualizujte jádro sítě a jediný server ve stejné hodině.
# Kvíz
## Čím se firmware liší od ovladače?
- [x] Je v zařízení a běží i bez operačního systému
- Je to jen soubor na ploše
- Maže se s přeinstalací vždy
- Umí ho jen tiskárna
> BIOS a firmware disku přežijí nový systém.
## Co před aktualizací switche uložíte?
- [x] Konfiguraci a zajistíte napájení
- Jen tapetu na ploše
- Heslo Wi-Fi na tabuli
- Nic, aktualizace si pamatuje sama
> Přerušený zápis a chybějící záloha jsou dvě pasti.
## Proč neaktualizovat jádro a jediný server naráz?
- [x] Když obojí selže, nemáte z čeho učit ani spravovat
- Výrobce to technicky zakazuje vždy
- Firmware umí jen jedno zařízení na budovu
- UPS to nesežere
> Nechte si cestu zpět.
## Co po aktualizaci ověříte?
- [x] Že služba opravdu naběhla, ne jen že svítí dioda
- Že je krabice teplejší
- Že se změnila barva menu
- Nic, firmware se neověřuje
> Start zařízení není totéž co fungující síť.

View file

@ -0,0 +1,6 @@
---
nazev: Measuring performance
popis: A number without the conditions means nothing.
nazev_cviceni: Quiz: Measuring performance
nadpis_kvizu: Quiz on Measuring performance
---

View file

@ -0,0 +1,71 @@
---
id: hardware-3-mereni-vykonu
puvodni: hw3.8
nazev: Měření výkonu
popis: Číslo bez podmínek nic neznamená.
nazev_cviceni: Kvíz: Měření výkonu
nadpis_kvizu: Kvíz k tématu Měření výkonu
---
# Výklad
## Úzké hrdlo
*Co měřit*
- Sledujte procesor, paměť, disk a síť zvlášť.
- Vytížení 100 % chvíli není chyba, trvale ano.
- Fronta na disku řekne víc než otáčky ventilátoru.
- Jedno číslo z herního testu není návrh školního serveru.
> Tip: rychlý procesor nezachrání pomalý disk, na kterém systém čeká.
## Stejná zkouška
*Podmínky*
- Studený start a druhý běh z cache nejsou totéž.
- Notebook na baterii schválně zpomalí.
- Antivirus v testu umí sežrat výsledek.
- Zapište verzi systému i to, co na pozadí jelo.
> Tip: srovnávejte stejný test, stejná data a stejný čas běhu.
## Kdy dokoupit
*Rozhodnutí*
- Málo paměti žene systém na disk a všechno zpomalí.
- Plný a pomalý disk kazí i silný procesor.
- Slabé Wi-Fi nezrychlíte výměnou grafické karty.
- Nákup bez měření je odhad.
> Tip: nejdřív paměť nebo disk, ne automaticky nejnovější procesor.
# Kvíz
## Co neznamená krátká špička procesoru na 100 %?
- [x] Že je procesor nutně slabý
- Že je všechno v pořádku navždy
- Že disk neexistuje
- Že se má hned vyměnit deska
> Záleží, jestli špička trvá a jestli na ní někdo čeká.
## Proč druhý běh testu bývá rychlejší?
- [x] Data už jsou v cache
- Procesor se sám přetaktuje natrvalo
- Disk se zmenší
- BIOS test podruhé vynechá
> Cache není výkon železa v prvním čtení.
## Co často zpomalí celý systém dřív než procesor?
- [x] Málo paměti a pomalý disk
- Příliš mnoho USB myš
- Barva skříně
- Počet ikon na ploše
> Systém pak pořád čeká na stránkování.
## Co k výsledku testu patří zapsat?
- [x] Verze, napájení a co jelo na pozadí
- Jen nejvyšší číslo
- Jméno učitele
- Heslo k BIOSu
> Bez podmínek číslo nejde zopakovat.