Pokud se chcete naučit základy nového programovacího jazyka, nebo se zlepšit v kódování, vřele doporučuji Exercism. Tato online platforma momentálně nabízí výuku asi 50 programovacích jazyků (mezi nimi samozřejmě i Elixir). A pokud už některý jazyk ovládáte, můžete se zde naopak stát mentorem a pomáhat ostatním studentům.

Pro každý jazyk tu najdete desítky různých cvičení. Každé je zaměřené na určitý koncept v daném jazyce a některá z nich jsou opravdu zajímavá. Úkoly jsou rozdělené na hlavní (core track) a vedlejší, které se odemykají postupně po vyřešení hlavních úkolů.

Po přihlášení k tracku jazyka, který chcete studovat, si můžete vybrat mezi:

  • Mentored Mode, kde vám s úkoly bude pomáhat a schvalovat je mentor.
  • Practice Mode, kde úkoly řešíte sami. Ale i tady je možnost si u konkrétního úkolu vyžádat radu mentora.

Jak to celé funguje?

Ke stahování úkolů je potřeba si nainstalovat rozhraní pro příkazový řádek (instalace Exercism CLI - web je tak přehledný, že tento návod určitě neminete). Pak si vyberete cvičení a stáhnete ho pomocí příkazu, který je u něj uveden na webu, něco jako:

exercism download --exercise=nazev_cviceni --track=elixir

Po vyřešení ho pak podobným příkazem nahrajete na Exercism:

exercism submit nazev_souboru

V mentored módu potom čekáte, jestli mentor ještě navrhne nějaké úpravy, nebo úkol rovnou schválí (v Elixir tracku většinou odpoví do druhého dne). V practice módu, pokud jste se svým kódem spokojeni, můžete úkol rovnou dokončit (“Complete this solution”). Když nevíte jak dál, můžete nahrát i jen částečné řešení a požádat mentora o radu.

Pro inspiraci taky můžete omrknout, jak úkol řešili ostatní (“View community solutions”). Tato možnost se ale nabídne, až když nahrajete svoje řešení nebo úkol dokončíte.

|❥

Tady jsou pro inspiraci moje řešení Elixir tracku. Ale před hledáním rad jinde vždycky nejdřív úkol zkuste vyřešit samostatně ;-)