GitLab: kde ho najdu a jak se tam přihlásím?

Pokud budeme v tomto předmětu mluvit o GitLabu, budeme vždy mínit fakultní instanci na adrese https://gitlab.mff.cuni.cz.

Pro přihlášení využijte přihlašovací údaje z CASu, tedy tytéž co fungují do SISu. Použijte login odvozený od vašeho jména a příjmení (např. novakja) místo toho číselného.

Pokud tohle nefunguje, prosím, změňte si heslo v CASu (stačí na nějaké dočasné a zpátky na původní). To by mělo vynutit novou synchronizaci hesel. Sychronizace se může někdy projevit až po 24 hodinách. Pokud ani to nepomůže, ozvěte se nám na teachers-nswi177@d3s.mff.cuni.cz.

Aktualizace: pro některé nové účty (typicky pro studenty z Erasmu ale i pro některé studenty programu BIOINF) je nutné počkat na ještě jednu obrátku synchronizace, která probíhá vždy o půlnoci každý den. Následující ráno pak, prosím, zkuste změnit heslo jak je zmíněno výše a po několika hodinách se zkuste přihlásit do GitLabu.

Aktualizace #2: váš účet musí mít tzv. oveřené heslo (typicky se to týká studentů programu Erasmus). Budete muset navštívit jednu z těchto kanceláří aby bylo heslo ověřeno.

Vaše první přihlášení vám zaktivuje váš účet. Až poté vám budeme moci připravit projekt, kam budete odevzdávat svá řešení.

U některých účtů se projekty objevily až po zadání e-mailové adresy do vašeho profilu.

Důležité: bez aktivovaného účtu nebudete moci odevzdávat hodnocené úlohy a předmět tak dokončit.

Mohu používat jiný operační systém?

Mňo … ano, ale počítejte s tím, že některé věci nebudou fungovat. Na příklad WSL se zdá, že celkem funguje, ale můžete narazit na nevysvětlitelné chování, které se těžko reprodukuje a ladí. Čili bude to jen na vás, jak si s tím poradíte. Ostatní systémy z Unixové rodiny mají občas také odlišné chování.

Tenhle předmět je o Linuxu. Začněte ho používat pro vaši každodenní práci (další předměty, úprava fotografií, koukání na filmy atd.) a možná zjistíte, že je mnohem jednodušší a pohodlnější než jiná prostředí. Pokud k němu budete přistupovat jako k nutnému zlu, které musíte nějak přežít, tak (a) vám to pravděpodobně zkomplikuje splnění kurzu a (b) cíleně zahazujete příležitost rozšířit si své obzory a naučit se něco nového.

Pravdou je, že mnoho nástrojů, které budeme používat funguje i na jiných platformách. Ale Linux (nebo některé z jeho předchůdců) je jejich přirozené prostředí, kde fungují nejlépe.

Je účast na cvičeních povinná?

Ne. Budeme se snažit poskytnout veškeré informace na stránkách ke cvičení. Očekáváme (a doporučujeme) abyste na cvičení chodili, pokud si u některých úloh nebudete jistí řešením, ztratíte se v tématu nebo nebudete něčemu rozumět.

Pokud bude všechno jasné (nebo jste už podobný kurz absolvovali jinde), nemusíte chodit. Ale rádi vás tam uvidíme.

Jen nezapomeňte včas odevzdat hodnocené úlohy.

Mohu používat jinou distribuci než Fedoru?

Jistě, v tom by neměl být žádný problém.

Mezi distribucemi se občas liší názvy balíčků, takže jména zmiňovaná v materiálech bude možná nutné upravit.

Jediný větší problém, na který občas narazíme je, že některé distribuce stále ještě preferují Python 2 jako výchozí (takže balíček python-neco se odkazuje na verzi s Pythonem 2, zatímco pro verzi s Pythonem 3 je potřeba instalovat python3-neco). Všechny naše příklady budou cílit na Python 3, protože Python 2 skončil před dvěma roky.

A určitě budou rozdíly, až se budeme bavit o instalaci a správě balíčků, ale obecně není mezi hlavními distribucemi velký rozdíl (a pokud máte nějakou speciální, asi víte co děláte a nebude pro vás problém si příkazy upravit).

Jaká jsou přednastavená hesla?

Pokud máte disk od nás, používáme následující jména a hesla. Pro USB/Qemu/VirtualBox, uživatel intro, heslo linux (a root s heslem toor). Pro Live ISO existuje uživatel liveuser také s heslem linux.

Změňte tato hesla co nejdříve. Můžete využít třeba příkaz passwd.

Jak chápat výsledky testů na GitLabu?

Až si otevřete váš předmětový projekt tak uvidíte, že vedle poslední commit zprávy je červená nebo zelená ikonka, které reprezentuje stav projektu.

Klepnutím na ikonu se dostanete ke skutečným výsledkům testů. Bude tam obvykle několik skupin – kvízy před cvičením a úlohy po cvičení.

Ať už otevřete kteroukoliv z nich, uvidíte přepis akcí, které pro vás GitLab provedl.

Pro nás důležitá část začíná s bin/test.sh následována textem podobným tomu následujícímu.

1..3
ok 1 99/assignment.py - Submitted (0)
ok 2 99/assignment.py - Has correct shebang (-10)
not ok 3 99/assignment.py - For input 12 (20)
# -- output differs --
# expected (3 lines):
#   2
#   2
#   3
# actual (1 line):
#   8
# --

Tohle je výstup v tzv. Test Anything Protocol (TAP) který říká, že proběhly tři testy (1..3).

Každá řádka se skládá ze 4 částí: jestli test uspěl (ok) nebo selhal (not ok), název zadání (obvykle to bude přímo název souboru s řešením), název test (co bylo vlastně kontrolováno) a přibližné množství bodů (v závorce).

Pokud jsou všechny testy ok, vaše řešení je v pohodě.

Pro selhaný test zpráva obsahuje detailnější popis chyby. TAP používá syntaxi Pythoních komentářů pro řádky s detaily o chybě (#). V příkladu výše ukazujeme očekávaný a skutečný výstup.

Pokud jsou přiřazené body záporné, tak to říká, že tyto body budou odečteny, pokud test selže. Pokud test projde, body nejsou započteny (pochopitelně: nebudeme odečítat body za úspěšný test). Jinými slovy: ok vždy přidává body nebo body neovlivní (tj., netrapte se úspěšným testem se zápornými body).

Záporné bodování používáme pro věci, které už máte nějakou dobu znát. Například, v první zadání, které vyžadovalo executable bit jsme to hodnotili obvyklým způsobem (plusové body): bylo to něco nového. V následujících úkolech ale za nenastavení body odečítáme (tou dobou už to dobře znáte a spouštění chmodu by mělo být něco naprosto přirozeného po vytvoření libovolného skriptu).