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. Pro každé cvičení bude několik úloh na konci textu – k nim budou k dispozici automatické testy, takže si budete moci ověřit, že fungují a také si tím ověříte, že jste pochopili základy správně. Během cvičení se na vaše řešení podíváme, probereme nejasnosti a tím tak upevníme vaše znalosti.

Abyste mohli zhodnotit své dovednosti a znalosti, budete muset splnit několik hodnocených domácích úkolů a absolvovat několik testů na cvičení (budou zadány na začátku cvičení). Jejich výsledky budou tvořit vaši konečnou známku. Termíny všech písemných testů i termíny těch domácích budou brzy oznámeny (pravděpodobně pro ně vytvoříme samostatnou stránku).

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

V tomto cvičení projdeme základní koncepty Linuxu, verzování zdrojového kódu a také jak odevzdávat ú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.

Často 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ému, 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ší instalaci.

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.

Linux není koncepčně unikátní systém: navazuje na dlouhou historii unixových operačních systémů, které existují v mnoha variantách a sdílejí stejné API. Toto API definuje sémantiku většiny systémových volání (komunikační rozhraní mezi aplikacemi pro koncové uživatele a jádrem OS) a také dostupnost a chování základních systémových nástrojů a utilit.

Samozřejmě existují určité rozdíly, ale obecně platí, že většina příkazů, které se v tomto předmětu o Linuxu naučíte, bude fungovat (téměř) stejně i v jiných systémech z rodiny unixů: tedy v řadě různých systémů BSD, Oracle Solaris, HP-UX, IBM AIX nebo Darwin/macOS. Ne všechny z nich jsou k dispozici zdarma nebo jako open source; některé jsou postaveny na tradičních konceptech unixových systémů, ale před uživatelem je zcela skrývají, aby nabídly intuitivnější – ale také omezenější – rozhraní.

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 čistě textových souborech. 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 na cvičení 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ě.

Tohle všechno jste pravděpodobně slyšeli na předmětu Programování 01: pokud to všechno už znáte, klidně text jen prolétněte.

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.

Studenty přidáme do projektu Forum během prvního týdne semestru.

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í 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 pokročilejší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ý, protože bude dávat ještě o něco větší smysl.

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ěj 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í procvičovacích úloh i pro některé známkované úlohy.

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. 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. Názvy ahoj.py a Ahoj.py odkazují na dva různé soubory.

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 k ověření vašich znalostí

Očekáváme, že následující úlohy vyřešíte ještě před příchodem na cvičení, takže se budeme moci o vašich řešeních na cvičení pobavit.

01/dayname.py

Chcete-li zkontrolovat, zda je váš projekt GitLab pro tento předmět správně nastaven, vyzkoušejte si následující úkol.

Úlohu vyřešte ve vašem repozitáři. Prosím, nevytvářejte merge requesty do rodičovského projektu. Také není třeba tento projekt forkovat.

Vaše osobní repozitáře vytvoříme během prvního týdne semestru.

Soubor 01/dayname.py je již ve vašem projektu a obsahuje pouze následující kostru v jazyce Python.

#!/usr/bin/env python3

def main():
    pass

if __name__ == '__main__':
    main()

S idiomem if __name__ == '__main__' jste se již pravděpodobně setkali, první řádek s #! si vysvětlíme později.

  1. Upravte program tak, aby vypisoval Hello, World, a odevzdejte tuto verzi v GitLabu (nezapomeňte zůstat v Master branch). Buďte slušní a nechte implementaci uvnitř funkce main.

  2. GitLab spustí testy nad vaším projektem po každém commitu: když test selže, dostanete o tom e-mail. Zkontrolujte, zda jste takový e-mail obdrželi, protože váš program ještě není hotov.

  3. Všimněte si, že vidíte ikonu s červeným X, která signalizuje, že je v projektu něco špatně.

  4. Klikněte na červenou ikonu (nebo použijte odkaz z e-mailu pro zobrazení výstupu úlohy). Měli byste být schopni najít stránku s Pipelines, kde Job s názvem lab-01 selhal. A zobrazit aktuální Job log s následujícím obsahem:

    1..4
    ok 1 01/dayname.py - Submitted
    ok 2 01/dayname.py - Correct Python script
    ok 3 01/dayname.py - Module-ready
    not ok 4 01/dayname.py - Works
      ---
      message: |
        ...
        -- Program output mismatch --
        output   : Hello, World
        expected : Friday
        --
      ...
    
    

    Čtyři testy provedeny, jeden selhal: náš program nevytiskl to, co jsme očekávali.

  5. Nyní opravte svůj program tak, aby vypisoval aktuální den v týdnu anglicky (např. Monday, Tuesday atd.). K dokončení úkolu neváhejte použít on-line nápovědu a umístěte své řešení do funkce main(). Asi budete potřebovat funkce z modulu datetime.

  6. Po odevzdání řešení zkontrolujte, zda se červené X změnilo na zelenou “fajfku” oznamující, že váš projekt je v dobrém stavu.

Prosím, nepoužívejte GitLab jako svou vývojovou platformu.

Vždy vyzkoušejte a odlaďte vaše řešení lokálně – GitLab nemůže sloužit jako náhrada chybějící instalace Pythonu, Linuxu nebo dalšího softwaru na vašem počítači. Úlohy na GitLabu jsou spouštěny na sdíleném stroji – nechte jej k dispozici i ostatním uživatelům.

Výše uvedený úkol byl triviální a šlo tedy o výjimku potvrzující pravidlo.

Děkujeme!

Automatické testy jsou aktivní pouze pro úlohy z aktuálního cvičení. To je z důvodu snížení zátěže infrastruktury a také aby byl seznam jobů kratší.

Ale vždy je můžete pustit lokálně pomocí ./bin/run-tests.sh.

Issues v GitLabu

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í.

Studenty přidáme do projektu Forum během prvního týdne semestru.

Vytvořte si ve svém projektu issue, který vám připomene, abyste se později vrátili k článku o psaní dobrých commit zpráv.

Takže vložte odkaz do těla issue a zjistěte, jak můžete text formátovat. Pozornost věnujte zejména blokům ```, které lze použít k formátování zdrojového kódu.

Nastavte se jako Assignee a nastavte Datum platnosti za 4 týdny. GitLab vám pak zašle e-mail, až se deadline přiblíží.

Každý projekt lze nakonfigurovat pro určitou úroveň zasílání oznámení. Úroveň notifikací se pohybuje od oznamuj mi všechno až po neupozorňuj mě nikdy a můžete ji změnit pod ikonou zvonečku, která je obvykle vedle názvu projektu na úvodní stránce projektu.

Zkontrolujte, zda jste si rozumně nastavili projekt Forum, abyste dostávali notifikace o veřejných zprávách.

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ětlit, 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