- Cvičení 1: Organizace předmětu, Linux jako grafický uživatelský systém (19. února - 23. února)
- Cvičení 2: Úvod do Linuxového rozhraní příkazové řádky (26. února - 1. března)
- Cvičení 3: Základní skriptování a zpracování dat v Linuxu (4. března - 8. března)
- Cvičení 4: Stavební bloky shellových skriptů a Git na příkazové řádce (11. března - 15. března)
- Cvičení 5: Práce na vzdálených strojích pomocí SSH, písemka na cvičení I (skripty a roury) (18. března - 22. března)
- Cvičení 6: Shellové skripty (25. března - 29. března)
- Cvičení 7: Každodenní větvení v Gitu (1. dubna - 5. dubna)
- Cvičení 8: Pokročilé skriptování a lintovací nástroje (8. dubna - 12. dubna)
- Cvičení 9: Regulární výrazy, BATS testy, základní správa, písemka na cvičení II (Git) (15. dubna - 19. dubna)
- Cvičení 10: Systémy pro sestavování a základy make (22. dubna - 26. dubna)
- Cvičení 11: Siesta (29. dubna - 3. května)
- Cvičení 12: Pokročilé nástroje pro vývoj v Pythonu a prográmky `find` a `xargs` (6. května -- 10. května)
- Cvičení 13: Kontejnery s Podmanem (13. května -- 17. května)
- Cvičení 14: Continuous integration, síťové nástroje a signály, písemka na cvičení III (make) (20. května -- 24. května)
Další materiály
Upoutávky :-)
Následující shrnutí by vám měly poskytnout představu o celkovém směřování předmětu a co se bude probírat na jednotlivých cvičeních.
Cvičení 1: Organizace předmětu, Linux jako grafický uživatelský systém. Stručně si představíme cíle předmětu, pravidla a podmínky pro splnění. Pak prozkoumáme grafické rozhraní nabízené Linuxem, abychom si mohli vybrat to nejhezčí a upravit si ho.
Cvičení 2: Úvod do Linuxového rozhraní příkazové řádky. Skutečná síla Linuxových systém je v jejich rozhraní příkazové řádky. Uvidíme, jak ji můžeme využít pro práci se soubory ale i pro pokročilé úlohy jako je monitorování systému. A to jen pomocí pár základních příkazů, které jsou na každém unixovém systému.
Cvičení 3: Základní skriptování a zpracování dat v Linuxu. Na tomto cvičení odkryjeme skutečnou sílu shellových skriptů: univerzální a mocné lepidlo, které zjednoduší každodenní úlohy ale také zvládne hrubé zpracování dat (než je předáme do specializovaných nástrojů pro detailnější analýzu).
Cvičení 4: Stavební bloky shellových skriptů a Git na příkazové řádce. Vylepšíme naše znalosti shellových skriptů tím, že se naučíme používat návratové kódy k jejich řízení. Také rozšíříme seznam používaných příkazů: API shellu. Také začneme používat Git lokálně z příkazový řádky.
Cvičení 5: Práce na vzdálených strojích pomocí SSH, písemka na cvičení I (skripty a roury). Skutečná síla Linuxové shellu se projeví, až když je používán vzdáleně: uvidíme jak je práce na serverech jednoduchá přes SSH a proč příkazová řádka dominuje serverovému světu. Také si zrychlíme práci s Gitem pomocí autentikace bez hesla. Cvičení začne krátkým povinným testem.
Cvičení 6: Shellové skripty. Učiníme naše skripty čitelnější pomocí funkcí a proměnných a ukážeme si další cesty, jak spolu mohou programy komunikovat (např. pomocí command substitution).
Cvičení 7: Každodenní větvení v Gitu. Větve v Gitu jsou to co umožní více vývojářům pracovat na stejném projektu. Bez potřeby explicitní synchronizace nebo strachu, že přepíšou kód někoho jiného. Ale také bez dalších nároků na vaši práci s Gitem a s minimální režií.
Cvičení 8: Pokročilé skriptování a lintovací nástroje. Tohle cvičení je závěrečnou kapitolou k skriptování v shellu: uvidíme, jak fungují cykly a podmínky. Také využijeme ShellCheck a další nástroje pro nalezení chyb v našich skriptech dřív, než je vůbec spustíme.
Cvičení 9: Regulární výrazy, BATS testy, základní správa, písemka na cvičení II (Git). Linuxové systémy mohou běžet roky bez přerušení, ale občas nějakou údržbu vyžadují. V tomto cvičení si projdeme úplné základy správcovství. Také se podíváme na regulární výrazy, které mohou sloužit pro jednoduché i absolutně divoké hledání v textu (nebo dokonce jeho změnu). Cvičení začne krátkým povinným testem.
Cvičení 10: Systémy pro sestavování a základy make. Zavedeme si koncept systémů pro sestavování (build tools): pomocí nich lze zachytit, jak sestavit složitý software, takže vývojáři si nemusí pamatovat každý detail. Zaměříme se nástroj make. Také se podíváme na archivaci souborů a základní utility pro práci s disky.
Cvičení 11: Siesta. Protože je uprostřed týdne státní svátek, nejsou žádná nová témata. Dožeňte zameškané úlohy nebo přeskočená témata z předchozích cvičení. Nebo si prostě jen odpočiňte a udělejte si prodloužený víkend.
Cvičení 12: Pokročilé nástroje pro vývoj v Pythonu a prográmky find
a xargs
. Uvidíme, jak můžeme využít virtuální prostředí Pythonu pro vývoj projektů a přípravu pro další distribuci. A také se podíváme na dva zajímavé prográmky: xargs
a find
, které mohou být použitý pro vyhledávání souborů a práci s nimi (i parallel
ně). A podíváme se, jak se dělá SSH port forwarding.
Cvičení 13: Kontejnery s Podmanem. Ukážeme si, jak lze využít Podman pro efektivní testování programů v různých prostředích v izolaci, aniž bychom tím nějak ovlivnili náš systém. A také si vysvětlíme, proč existuje tolik nástrojů s podobným významem. A z čistě praktického hlediska se podíváme, jak je na tom Linus s tiskem a skenováním.
Cvičení 14: Continuous integration, síťové nástroje a signály, písemka na cvičení III (make). Uvidíme, že nastavení continuous integration, které spouští automatické testy při každém commit je strašně jednoduché v GitLabu a budete si ho moci nachystat pro vaše vlastní projekty. Ale také si představíme několik síťových nástrojů a zakončíme pohledem na signály, které mohou být použity pro sdělování neočekávaných stavů mezi procesy. Cvičení začne krátkým povinným testem.