Cvičení: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14.

Než se pustíme do Linuxu, musíme vysvětlit, jak bude celý předmět probíhat a jak budete hodnoceni.

Organizace předmětu

Vzhledem k tomu, že se jedná o vysoce prakticky zaměřený kurz, je kladen velký důraz na přípravu před hodinou. Pevně věříme, že témata tohoto kurzu si osvojíte pouze tehdy, pokud si je sami vyzkoušíte. Kupodivu mít pouze cvičení nestačí, protože to umožňuje být na cvičení s minimem práce a přesto mít pocit porozumění dané látky. Což se pak obvykle projevilo při potížích s vypracováním hodnocených úkolů.

Proto jsme se rozhodli, že si před příchodem na cvičení prostudujete materiály sami a cvičení budou sloužit k (a) diskusi o vašich řešeních (b) zodpovězení vašich otázek a (c) řešení dalších příkladů.

Obsah cvičení zveřejníme několik týdnů dopředu, abyste si mohli zorganizovat čas podle svých představ. Před příchodem na cvičení odevzdáte sadu hodnocených úkolů, abychom si ověřili, že jste správně pochopili základní principy. Během cvičení se na ně podíváme, probereme nejasnosti a tím tak upevníme vaše znalosti.

Po skončení cvičení budou také další úlohy, který splníte, abyste dokázali, že jste se na cvičení něco naučili (např. na základě zpětné vazby k vašim úkolům před cvičení).

Berte to jako stručný přehled, organizace předěmtu je podrobněji popsána na samostatné stránce.

Toto cvičení je poněkud zvláštní, protože je úplně první, a proto před ním nejsou žádné úkoly. Nicméně od příštího týdne budou hodnocené úkoly, které musíte splnit před příchodem na další cvičení.

Toto cvičení již obsahuje hodnocené úkoly po cvičení (post-class tasks).

V tomto cvičení projdeme základní koncepty Linuxu, verzování zdrojového kódu a také jak odevzdávat hodnocené úlohy.

Účel předmětu

Cílem předmětu není jen ukázat vám jiný operační systém, ale také jiný styl práce.

Očekáváme, že na konci předmětu bude umět následující:

  • Používat Linux jako uživatel pro vši každodenní práci. To zahrnuje věci jako je čtení e-mailu tak i činnosti pokročilého uživatele, který chce svůj počítač skutečně ovládat.
  • Použití obvyklé Linuxové nástroje. Nebudeme trávit čas na obvyklých programech jako je prohlížeč nebo editor fotografií, které jsou skoro všude stejné. Místo toho se zaměříme na nástroje, které jsou bližší systému jako takovému.
  • Automatizovat si práci (hodně). Uvidíte, že mnoho každodenních činností lze zjednodušit napsáním malých programů, které celou činnost zautomatizují. Linux je pro tohle to optimální prostředí.

Na druhou stranu, předmět nepokrývá pokročilou správu systému (kromě základů nutných pro údržbu všeho notebooku) nebo kompilaci vlastního kernelu.

Co je Linux

Pod pojmem Linux myslíme operační systém a softwarové vybavení, které obvykle na takovém systému najdete. To zahrnuje (nejenom) vývojářské nástroje (překladače apod.), grafické prostředí, textové editory, tabulkové procesory, prohlížeče apod.

Pro zjednodušení - jak při psaní, tak při mluvení - používáme termín Linux pro pojmenování celého prostředí, ve kterém budeme pracovat.

Přísně vzato se název Linux vztahuje pouze na jádro operačního systému - tj. spodní vrstvu softwarového stacku (aplikace jsou považovány za horní vrstvy).

Celé prostředí se často nazývá GNU/Linux, aby se zdůraznilo, že jde o jádro a další svobodný software.

Časti také uslyšíte pojem Linuxová distribuce. To je vznešené označení pro balíček Linuxového jádra (tj. nejnižší části softwarového stacku) a uživatelských aplikací. Existují stovky distribucí, některé si liší jen výchozí tapetou na ploše, některé jsou určeny pro specifické použití (třeba síťové testování).

Hlavní rozdíly jsou především na úrovni správy systémy, tedy např. jak se do nich instaluje další software nebo jak se celý systém nastavuje. Většinu času koncového uživatele vůbec nezajímá, kterou distribuci právě používá.

My budeme používat Fedora, což je univerzální distribuce, kterou lze použít jak na serverech, tak na desktopech. Pokud jste v Linuxu nováčci, velmi doporučujeme držet se naší volby a použít naší instalace.

Ačkoliv je mnoho Linuxových konceptů i programového vybavení dostupných i na jiných operačních systémech, Linux je dodává v jednom hezky upraveném balení. A také si myslíme, že jen Linux nabízí prostředí pro jejich bezproblémovou spolupráci.

Klíčové vlastnosti Linuxu

Tady je přehled klíčových vlastností Linuxového prostředí. Berte je jako stručný přehled, do detailů se pustíme na dalších cvičeních.

Linux využívá open-source software (OSS). Takže se můžete klidně podívat, jak jsou věci implementovány. A můžete bez obav i implementaci upravovat. Tento aspekt nepodceňujte. Je vážně důležitý. Poznámka na okraj: i OSS může vydělávat peníze.

Linux je nadmíru flexibilní a přizpůsobitelný. Linux může běžet na IoT zařízení stejně jako na velmi vytíženém routeru. Linux běží na mobilech i na superpočítačích. Uživatel si může nastavit v podstatě cokoliv. Tradičně je konfigurace ukládána v souborech prostého textu. Mnoho programů nabízí grafické editory nastavení, ale stejně tak je možné upravit konfiguraci ručně. Zkušenému uživateli tak stačí jen textový editor pro nastavení celého systému.

Linux má i grafické uživatelské rozhraní. Je ale volitelnou součástí systému, protože není vždy potřeba. Serverové stroje nepotřebují klikací okénka na to, aby fungovaly. A pokud GUI potřebujete, můžete si vybrat z mnoha typů podle vašich potřeb. Z pohledu operačního systému je GUI jen další běžící aplikace, nikoliv systémová součást.

Linux vyniká pokud ho ovládáte z příkazové řádky (CLI). Zadávání textových příkazů se může zdát zastaralé, ale opak je pravdou. Konec konců, většina programovacích jazyků je stále ještě založena na textovém zdrojáku. A CLI má mnoho výhod nad GUI: je přesné a automatizovatelné. A je také perfektní pro vzdálený přístup, protože má minimální nároky na dostupné zdroje.

Možná nejdůležitější koncept je že vše je soubor. To znamená, že i zařízení – jako třeba pevný disk – jsou dostupná jako obyčejné soubory, které můžete číst i zapisovat. Ve skutečnosti to zjednodušuje psaní nástrojů a umožňuje to lepší kontrolu nad systémem. Ale tím to nekončí: i informace o systému – třeba seznam běžících programů – jsou dostupné jako speciální soubory. Což je úžasná věc pro programátora: stačí mu vlastně jen souborové API (jako je Pythoní with open("soubor", "r") as f) aby si mohl zjistit libovolnou informaci o systému.

Linux je více uživatelský systém. Nejen že dovolí vytvářet uživatelské účty, ale více uživatelů může používat systém naráz. Mohou být připojeni vzdáleně, ale je dokonce možné, aby dva lidé seděli u stejného počítače: stačí dvouhlavá grafická karta a dvě klávesnice.

Linux se také pyšní podporou pro vzdálený přístup. Dokud je váš systém připojen k síti, lze s ním pracovat vzdáleně. To zjednodušuje správu serverů, ale může se to hodit i pro počítač zapomenutý doma. Pro vzdálený přístup je obvykle preferována příkazová řádka, ale je možné se připojit i graficky. Dokonce se můžete připojit graficky několikrát do různých prostředí na tomtéž počítači.

Linux zjednodušuje správa instalovaného software pomocí balíčků. Ty můžeme trochu srovnat s přístupem, který znáte z chytrých telefonů. Zjednodušují instalaci, protože nemusíte klikat skrz žádného průvodce. A správce balíčků pak udržuje celý systém aktualizovaný.

Možná nejdůležitější vlastností je, že uživatel skutečně řídí svůj počítač. Filozofií Linux je, že uživatel je dostatečně zdatný na to, aby mohl svůj počítač ovládat a Linux na oplátku informace neskrývá a nedělá věci bez vašeho vědomí. Můžete ho nastavit, aby prováděl věci automaticky, ale je to vždy další vrstva na základním nastavením. Nepotřebujete speciální nástroje, abyste ho prozkoumali.

Může to znít děsivě, ale ve skutečnosti je to zábava. Pokud budete používat a zkoumat Linux, pochopíte (určitě, ne možná), jak počítač a software funguje mnohem lépe.

První kroky v Linuxu

Dále budeme už předpokládat, že máte připravený váš USB disk nebo spuštěný virtuální stroj. Informace ke spuštění počítače z USB jsou na jiné stránce.

Vratťe se na tuto stránku až budete mít nastartováno z USB (nebo alternativy) abyste mohli ve cvičení pokračovat.

Neváhejte si do laboratoře přinést svůj notebook, pomůžeme vám se spuštěním.

Výběr pracovního prostředí

Jakmile nastartujete z USB disku, můžete si vybrat vaše pracovní prostředí (tzv. desktop environment).

Ve většině operačních systémů není příliš na výběr, jak budete ovládat grafické rozhraní. V Linuxu je větší možnost volby. Škála začíná na komplexních prostředích se spoustu efektů a končí na velmi asketických, které ani nepotřebují k ovládání myš. A samozřejmě jsou spousty někde mezi tím.

Vzpomeňte si, že tohle je poměrně jednoduché, protože GUI je řízeno normální aplikací: není pevnou součástí systému.

Ve vaší instalaci si můžete vybrat z šesti různých prostředí:

GNOME, Plasma (a.k.a. KDE), Xfce a LXDE jsou zástupci mainstreamu a jejich ovládání vám bude blízké pokud přecházíte z Windows nebo Macu. Výše zmíněné pořadí zhruba odpovídá množství vizuálních vychytávek a efektů (a také hardwarovým nárokům).

Openbox a i3 jsou speciální prostředí protože nemají např. tradiční task bar se seznamem oken a vyžadují trochu více trpělivosti, než se s nimi sžijete. Na druhou stranu, investovaný čas – především u i3, které se ovládá jen klávesnicí – se vrátí mnohem větší efektivitou při práci na počítači.

Zkuste si všechny. Přihlaste se do daného prostředí, zjistěte, jak se spouští aplikace a rozhodněte se, které se vám nejvíce líbí. Pochopitelně jde každé prostředí dále upravit – od barevného schématu až po klávesové zkratky.

Pokud se nemůžete rozhodnout, Plasma je určitě dobrá volba pro ex-uživatele Windows s výkonnějším strojem. Podobně tak LXDE, které poběží i na slabším počítači. A až je budete používat měsíc, přepněte se na i3 a staňte se mistry.

Výběr aplikací

Jakmile si vyberete desktopové prostředí, podívejte jaké další aplikace budete potřebovat.

Především se podívejte po textovém editoru. Několik populárních editorů je už předinstalovaných jak můžete vidět na následujícím screenshotu.

Další editory jsou dostupné v režimu příkazové řádky: o nich budeme mluvit na dalším cvičení.

Základy správy verzí zdrojových kódů

Přepneme na vedlejší kolej a chvíli si budeme povídat o softwarových projektech obecně.

Moderní software je málokdy produktem jednoho člověka. Mnohem častěji je vyvíjen v obrovských týmech, které jsou rozprostřeny přes různé časové zóny či dokonce kontinenty.

Vývoj v takovém týmu vyžaduje, aby každý vývojář měl přístup ke zdrojovému kódu (resp. jeho poslední verzi) a také, aby spolu mohli členové týmu efektivně komunikovat.

Je mnoho možností: od e-mailu a sdílených síťových složek až po mnohem sofistikovanější řešení. Abychom vás trochu připravili na reálný svět, budeme tu používat jeden z těch sofistikovanějších nástrojů a to GitLab.

GitLab je místo, kde vývojáři sdílí kód, ale také udržují seznam nahlášených chyb, dokumentaci nebo prostor, kde mohou svůj kód automaticky testovat. A protože může být integrován ještě s řadou dalších nástrojů, pro mnoho firem i open source projektů je GitLab centrálním místem pro vývoj jejich produktu.

Jeho výhody můžete využít i pokud pracujete sami. Třeba tak, že bude fungovat jako chytrá záloha pro vaše zdrojáky.

GitLab bude centrálním prvkem pro mnoho úloh i na tomto předmětu. Budete přes něj odevzdávat úlohy a je tu také Forum kde se můžete ptát.

GitLab není jediný svého druhu. My se zaměříme na GitLab, ale obecné principy jsou využitelné i v dalších nástrojích.

Nástroje pro správu verzí

Těžištěm každého softwarového projektu je jeho zdrojový kód. Bez něj není co spustit. Takže existujíc speciální nástroje zaměřené jen na správu zdrojového kódu jako takového.

GitLab jako takový je postaven okolo Gitu. Git je nástroj pro správu verzí. Polopaticky to znamená, že sleduje změny ve vašich souborech a pamatuje si předchozí stav (verze). To má tu obrovskou výhodu, že můžete bez obav upravovat váš kód a kdykoliv se vrátit k předchozí verzi.

S Gitem budeme pracovat během celého předmětu. Zatím to berte jako úvodní seznámení, abyste mohli začít používat Git pomocí GUI v GitLabu.

Git vždy pracuje nad konkrétním adresářem, který typicky obsahuje jeden projekt. Uživatel pak musí Gitu sdělit, které soubory mají být sledovány a kdy vytvořit novou verzi.

Git nesleduje všechny soubory, protože typicky není potřeba verzovat kompilované soubory (protože ty můžete vždy vytvořit znovu). Na příklad, pro Javovský projekt nebudete verzovat *.class soubory protože ty jdou snadno vytvořit z *.java souborů překladem (totéž platí pro *.pyc soubory Pythonu nebo *.o pro C++). Další příklad může být, že nebudete verzovat PDF export z LibreOfficího dokumentu (dlužno dodat, že zrovna na *.odt souborech nevynikne plný potenciál verzování s Gitem).

Git nevytváří verze automaticky protože každá verze má zachycovat rozumný stav projektu. Na příklad tedy vytvoříte novou verzi (občas též revizi, revision) pokud přidáte novou funkci (česky též fíčuru). Nebo pokud opravíte chybu. Nebo když opravíte překlep v dokumentaci. A nebo pokud potřebujete zazálohovat práci než odejdete na oběd :-).

Umožní vám to vytvářet smysluplnou historii projektu, která je rozumně velká třeba na tzv. code review ale neuchovává každý malý překlep. Verzování nenahrazuje undo/redo vašeho editoru, protože funguje o jednu vrstvu výše.

A pokud je Git nasazen na týmové projekt, umožní snadnou spolupráci protože bez problémů automaticky zkombinuje změny od různých uživatelů. Na příklad, pokud Alice provede změnu do souboru alpha.txt a Bob v ten samý okamžik změní soubor bravo.txt, Git umožní Carol abyste si stáhla změny od obou bez obav o to, že některá změna přepíše jinou.

V tuto chvíli budeme používat pouze grafické rozhraní, které GitLab poskytuje ve webovém prohlížeči. Později se budeme věnovat i složitějším použitím.

Používání MFF GitLabu

Na tomhle předmětu budeme používat fakultní instanci GitLabu na adrese https://gitlab.mff.cuni.cz. Prosím, nepleťte si ji z instancí na gitlab.com, kterou můžete bez problémů používat, ale není nijak spjatá s tímto kurzem.

Pro přihlášení využijte přihlašovací údaje z CASu, tedy tytéž co fungují do SISu. Váš účet bude aktivován po první přihlášení.

Vždy používejte login odvozený od jména (např. novakja), nikoliv ten číselný.

Prosím, aktivujte si váš účet teď, pokud jste tak ještě neučinili. Pokud máte s přihlášením problém, prosím, přečtěte si sekci otázek a odpovědí.

První kroky v GitLabu

Abyste si GitLab rychle vyzkoušeli (ještě s ním budeme více pracovat v dalších cvičeních), vytvořte si nový projekt (vytvořte Blank project). Musíte vyplnit jméno, tzv. slug (krátké jméno, které se objeví v URL) a jeho viditelnost.

V ukázkových screenshotech vidíte, že jsme vytvořili projekt pro zdrojáky z úvodního kurzu programování. Nezapomeňte zaškrtnout, že chcete vytvořit projekt s README.

Teď otevřete Web IDE, které obsahuje jednoduchý editor pro on-line úpravu souborů se zdrojáky.

Pomocí ikon a následujících screenshotů vytvořte nový soubor hello.py a vložte do něj nějaký jednoduchý Pythoní program.

Teď vytvoříme tzv. commit. Commit v Gitu zachytí aktuální stav projektu a můžeme na něj nahlížet jako na pojmenovanou verzi. Jakmile vytvoříte v Gitu commit, Git se vás zeptá na tzv. commit zprávu (commit message), kde byste měli popsat, jaké změny jste provedli.

Velmi doporučujeme článek Jak psát commit zprávy v Gitu (anglicky) od Chrise Beamse, které obsahuje zajímavé tipy a doporučení pro napsání dobré commit zprávy. A určitě se k tomuto článku vraťte, až budete mít Git více zažitý.

Zatím budeme dělat změny přímo v tzv. master větvi. Koncepty větví si vysvětlíme později, zatím je berte jako magii, která prostě funguje :-).

Důležité je si uvědomit, že commit přiřazuje jméno určitému stavu zdrojového kódu (revizi).

Takže často uvidíte jména jako Přidány ikony do menu, Opravy překlepu v tlačítku nebo Dokončení slovenského překladu. Jak vidíte, odkazují se na stav projektu.

Teď se z GitLabu odhlašte.

Sami si zkuste se znovu do GitLabu přihlásit, najít váš projekt a vytvořit nový soubor. Vložte do nějak nějaký zdrojový kód. Všimněte si, že když kliknete na název souboru tak se objeví jeho obsah a opět odkaz na úpravy.

Otestujte se, zda jste pochopili základy GitLabu

Vyberte všechna pravdivá tvrzení.

You need to have enabled JavaScript for the quiz to work.

Odevzdávání úloh

GitLab budeme používat na odevzdávání a vyhodnocování vašich úloh.

Pro každého z vás vytvoříme projekt v tomto podstromu, který bude mít váš CASový login ve jméně.

Tento projekt vytvoříme během prvního týdne semestru.

Z technických důvodů můžeme projekt vytvořit až poté, co se do GitLabu poprvé přihlásíte. Zatím tyto projekty vytváříme semi-automaticky, takže možná budete muset počkat do dalšího dne, aby se váš projekt objevil.

Každá úloha bude mít předepsané jméno souboru, kam se má uložit řešení. Odevzdání pod jiným jménem (nebo do jiné složky) znamená, že vaše řešení neuvidíme (tj. ho neuznáme jako odevzdané). Do předmětu je zapsáno okolo 300 studentů a spousty věcí musíme automatizovat: z tohoto pohledu skutečně nemůžeme prohlížet váš projekt a tipovat, kam jste mohli řešení uložit.

Názvy souborů na Linuxu (a v GitLabu též) rozlišují velikost písmen.

Každé odevzdání – přesněji řečeno, každý commit – spustí automatické testy na vašem repozitáři. Tyto testy zkontrolují, že jste řešení odevzdali a též zkontrolují, že funguje.

Jak číst výsledky těchto testů je popsáno na zvláštní stránce.

Závěrem

Každé cvičení obsahuje také tzv. učební výstupy. Ty zachycují nejdůležitější teoretické znalosti i praktické dovednosti, které byste měli mít po absolvování daného cvičení.

Použijte je podle svého uvážení. Mohou sloužit jako kontrolní seznam, že jste pochopili nové téma, nebo jako shrnutí, pokud jste již s některými tématy obeznámeni.

Úlohy po cvičení (deadline: 5. března)

Očekáváme, že následující úlohy vyřešíte po cvičení, tj. poté, co budete mít zpětnou vazbu k vašim řešením úloh před cvičením.

Všechny úlohy (pokud není explicitně uvedeno jinak) musí být odevzdány přes váš repozitář na úkoly. Pro většinu úloh existují automatické testy, které vám mohou pomoci zkontrolovat úplnost vašeho řešení (zde je popsáno jak číst jejich výsledky).

01/project_name.py (50 bodů, skupina admin)

Napište program v jazyce Python, který se při spuštění pokusí uhodnout název projektu.

Program vyhledá soubor s názvem README.md (v aktuálním adresáři) a vypíše jeho první neprázdný řádek. Předpokládáme tedy, že název projektu bude na prvním řádku souboru read-me.

Pokud jsou všechny řádky prázdné nebo soubor neexistuje, program se pokusí vyhledat readme.md, README a readme v tomto pořadí (hledání se zastaví, jakmile je nalezen název projektu). To znamená, že pokud readme.md obsahuje neprázdný řádek, nebude se program ani pokoušet hledat soubor README.

Pokud žádný soubor z výše uvedeného seznamu neobsahuje neprázdný řádek, program vypíše jméno aktuálního adresáře (os.path.basename(os.getcwd())).

Řádek považujeme za prázdný, pokud line.strip().lstrip('# ') == ''. Při vypisování názvu projektu byste z něj měli odstranit také prázdné mezery a úvodní # (tj. výše uvedený kód). Tím zajistíme, že se budou ignorovat koncové bílé znaky a pro Markdown soubory odstraníme dodatečné formátování.

Můžete se také podívat na výstup z testů, pokud chování v některých situacích není zřejmé z popisu výše. Jak číst výsledky těchto testů je popsáno na zvláštní stránce.

Nahrajte své řešení do složky 01 v úložišti GitLab pro odesílání příspěvků a soubor pojmenujte project_name.py. Většinu úloh budeme pojmenovávat takto: název úlohy bude přímo odkazovat na soubor, do kterého uložíte své řešení.

Pro tento úkol jsme v úložišti vytvořili jednoduchou kostru, kterou byste měli použít jako výchozí bod.

Důležité: první řádka v nástřelu implementace s #! má svůj důvod a musíte ji tam nechat (vysvětlíme později). Stejně tak ponechejte použití main() a podmínku s __name__, protože jde o správnou přípravu na modulární kód.

Důležité: nenahrávejte soubory README do vašeho projektu. Tento soubor je automaticky vytvořen při testování (ale, pochopitelně si jej vytvořte lokálně, když budete vaše řešení testovat).

Tajná issue na Foru (50 bodů, skupina git)

Issue na GitLabu je hlášení, které obvykle popisuje existující chybu v projektu. My budeme issue používat i pro off-line komunikaci v tomto předmětu.

Když je issue označena jako Confidential (řekněme, tajná), tak ji uvidí jen uživatelé s určitým oprávněním. V případě našeho Fora ji uvidí jen cvičící.

Tato úloha po vás chce vytvořit Confidential Issue na Foru s následujícími vlastnostmi.

  • Název issue musí být 01/issue (prosím, žádné další písmenka či znaky).
  • Issue nikomu nepřiřazujte
  • Připojte k issue soubor /etc/os-release z vašeho Linuxu (použití počítače z laboratoře v IMPAKTu je též v pořádku). Odkaz na přílohu v popisu issue musí být /etc/os-release.
  • Pod odkaz na přílohu /etc/os-release vložte obsah souboru /proc/loadavg jako zdrojový kód (najděte si Code block formatting v nápovědě). Budete muset tento soubor otevřít v textovém editoru, abyste mohli zkopírovat jeho obsah. Nebuďte překvapeni tím, že jeho velikost je 0 a přesná obsahuje zajímavý obsah. Opět, prosím, použijte hodnotu z vašeho počítače nebo z počítače v učebně.
  • Pod obsah souboru /proc/loadavg napište jeden odstavec, ve kterém popíšete, jaké (Linuxové) desktopové prostředí jste si vybrali a proč. Odstavec napište v celých větách. Desktopovým prostředím myslíme grafické prostředí po přihlášení jako je např. GNOME, Xfce or i3. Nemáme na mysli Linuxovou distribuci (tj. nezajímá nás zdůvodňování zda Ubuntu nebo Fedora).
  • Prosím, nechte issue otevřenou (zavřeme ji po deadline).

Issue bude tedy před odesláním vypadat na Preview záložce nějak takto (fonty a barvy se mohou pochopitelně lišit).

Důležité: ujistěte se, že jde o confidential issue. Veřejné issue odesílají notifikace všem členům projektu. V tomto případě tedy všem vašim spolužákům, kteří by tak dostali e-mail, o který určitě neměli zájem.

Učební výstupy

Učební výstupy podávají zhuštěný souhrn základních konceptů a dovedností, které byste měli umět vysvětlit a/nebo použít po každém cvičení. Také obsahují absolutní minimum, které je potřebné pro pochopení navazujících cvičení (a dalších předmětů).

Znalosti konceptů

Znalost konceptů znamená, že rozumíte významu a kontextu daného tématu a jste schopni témata zasadit do většího rámce. Takže, jste schopni …

  • vysvětlit, proč není grafické uživatelské rozhraní pevnou součástí Linuxu

  • vyjmenovat několik rozdílů mezi různými grafickými rozhraními dostupnými v systému Linux

  • vysvětlit v širších souvislostech, co je to distribuce Linuxu

  • vysvětlete, co lze chápat pod pojmem unixová rodina operačních systémů

  • vyjmenovat několik druhů objektů, které jsou obvykle potřebné pro softwarové projekty

  • vysvětlit v širším významu, co je to verzovací nástroj

  • vysvětlit základní (vysokoúrovňové) operace verzovacích nástrojů

Praktické dovednosti

Praktické dovednosti se obvykle týkají použití daných programů pro vyřešení různých úloh. Takže, dokážete …

  • nastartovat vlastní počítač do Linuxu (buď použitím USB disku, dual-bootem nebo přes virtuální stroj)

  • přihlásit se do grafického linuxového prostředí

  • přihlásit se do fakultní instance GitLabu

  • vytvořit nový projekt na GitLabu

  • nahrát nové změny na GitLab pomocí webového rozhraní a vytvořit na něm commit

  • upravit existující soubory v GitLabovém projektu (ve webovém rozhraní GitLabu)

  • upravit nastavení upřednostňovaného (Linuxového) grafického prostředí

  • vytvořit jednoduchou GitLabovou issue v projektu