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. Uvidíme, jak můžeme využít virtuální prostředí Pythonu pro vývoj projektů. A také se podíváme na dva zajímavé prográmky: xargs (a vylepšenou verzi parallel) a find, které mohou být použitý pro vyhledávání souborů a práci s nimi.

Cvičení 13: Kontejnery s Podmanem a základy continous integration. 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 uvidíme, že nastavit si tzv. continuous integration, která spustí automatizované testy vašich programů při každém commitu do GitLabu je vlastně hrozně jednoduché.

Cvičení 14: Síťové nástroje a meziprocesová komunikace, písemka na cvičení III (make). Představíme si několik nástroj z dlouhé řady určených pro práci se sítí: zaměříme se na nástroje pro základní ladění a konfiguraci. A také se podíváme na signály, kterými můžeme ostatním procesům sdělovat neočekávané stavy. Cvičení začne krátkým povinným testem.