AKCE! CELOŽIVOTNÍ předplatné se slevou 50%, nezmeškej to!
Zjisti více

Náš blog

V této kategorii naleznete komplexní přehled článků z různých oblastí, včetně IT kurzů a témat zaměřených na inovační vzdělávání. Články pokrývají širokou škálu témat, která vám pomohou získat nové znalosti a dovednosti. Chcete-li být v obraze a zlepšovat se v oblasti vzdělávání či technologií, tato sekce je pro vás.

Lambda výrazy v Javě - část III.
Tipy a triky
03.10.2019
Skillmea

Lambda výrazy v Javě - část III.

Lambda a vnitřní anonymní třídyVelmi se nám žádá říci, že lambda výrazy jsou jen zkratky jak napsat vnitřní anonymní třídy. Ale pamatuj si, není tomu tak. Vypadá to podobně, ale lambda není implementace rozhraní. Lambda je sama osobě nezávislá jiná věc. Podívejme se na příklad. Namísto toho, abychom použili implementační třídu našeho rozhraní IHelloWord, vytvoříme si vnitřní anonymní třídu. IHelloWord helloWord3 = new IHelloWord() { @Override public void sayHello() { System.out.println("HelloWord impls inner anonymous class"); } };Všechny 3 možnosti, které mají jako návratovou hodnotu rozhraní IHelloWord můžeme podsunout do metody printHelloWord(IHelloWord helloWord). helloWord.printHelloWord(helloWord1); helloWord.printHelloWord(helloWord2); helloWord.printHelloWord(helloWord3); Jak to, jak to?Jak java ví, jaký má použít typ pro lamba výraz? Abychom tomu porozuměli, vytvoříme si novou třídu, kde budeme pracovat s lambda výrazem. Vytvořme si rozhraní, které bude mít jednu metodu, která bude vracet int a na vstupu bude také int. interface Nasob{ int nasob(int a); } Ako by vyerala implementácia tohto rozhrania? class NasobPiatimi implements Nasob{ public int nasob(int a){ return a*5; } }Nyní si navrhněme lambda výraz, který odpovídá dané metodě. Nepotřebujeme návratovou hodnotu int, neboť java umí na ni přijít sama a nepotřebujeme ani název metody a ani modifikátor přístupu public. Náš lambda výraz bude vypadat takto: (int a) -> a*5;Nyní použijte tento lambda výraz: public static void main(String[] args) { Nasob nasobPiatimi = (int a) -> a*5; System.out.println(nasobPiatimi.nasob(10)); }Na výstupu bude 50. V tomto příkladu se lambda tváří jako instance rozhraní Nasob. V předchozích příkladech, kdy jsme používali HelloWord, jsme takovou proměnnou vkládali jako parametr metody printHelloWord (HelloWord3 v IDEi). Namísto toho jsme mohli tuto lambdu vložit přímo do metody. helloWord.printHelloWord(() -> System.out.println("HelloWord impls lambda");); Java kompilátor vezme tento lambda výraz a podívá se kam jde. Jedná se o metody printHelloWord a podívá se, co akceptuje na vstupu. Akceptuje rozhraní HelloWord. Pokud lambda sedí s požadavkem, že dané rozhraní obsahuje jen jednu metodu a ta vrací void a na vstupu nemá žádný parametr, tak java řekne, že daná lambda je typu HelloWord. Toto se jmenuje Type inference. Java si sama zjistí typ. Teď, když víš jak java dokáže zjistit typy, vrátíme se k příkladu, který jsme začali psát v této kapitole. V našem příkladu umíme ještě více zkrátit zápis našeho lambda výrazu. Nasob nasobPiatimi = (int a) -> a*5; System.out.println(nasobPiatimi.nasob(10));Jelikož naše lamba jde do metody rozhraní, kterou známe interface Nasob{ int nasob(int a); } Tak vieme presne povedať aký typ má vstupný paramter metódy. Je to int. interface Nasob{ int nasob(int a); }Když to víme, tak nemusíme při psaní lambda výrazu znovu specifikovat typ vstupního parametru. Nasob nasobPiatimi = (a) -> a*5; A jelikož máme jen jeden parametr, nemusíme psát ani závorky. Násob napětí = a -> a*5; Už nebudeme nic mazat, neboť by nám už nic nezbylo 😃 Nyní můžeme napsat metodu, která bude na vstupu očekávat rozhraní Nasob a když ji použijeme, tak do ní vložíme na vstup náš lambda výraz. public static void printNasob(Nasob nasob){ System.out.println(nasob.nasob(10)); } public static void main(String[] args) { printNasob(a -> a*5); }V jevu mohli klidně vytvořit nový typ pro tyto lambda výrazy. Ale neudělali to a jedním z důvodů je i zpětná kompatibilita se starším kódem. Jak už víme, tak lambda výrazy můžeme použít všude tam, kde máme vyhovující rozhraní. Ve vnitřních anonymních třídách, v metodách kde je na vstupu interface a podobně. Příklad: HelloWord helloWord3 = new HelloWord() { @Override public void sayHello() { System.out.println("HelloWord impls inner anonymous class"); } }; HelloWord helloWord3 = () -> System.out.println("HelloWord impls inner anonymous class"); Při tomto musíme pamatovat, aby rozhraní byla jedno metodová nebo aby ostatní metody rozhraní byly default. A dané metody v rozhraních, aby se shodovaly s lambda výrazem. Takové rozhraní s jednou abstraktní metodou (metoda, která poskytuje popis ne implementaci) se nazývá Functional interface. Představ si, že používáš rozhraní, které má jen jednu metodu a používáš ho pro lambda výrazy. Nyní by někdo cizí přišel a do tohoto rozhraní by přidal další abstraktní metodu, přesněji její popis bez implementace. Takové rozhraní by již více nebylo functional interface a proto by se nemohlo použít pro lambda výraz a nastala by chyba - přestože rozhraní by bylo v pořádku. Třeba na to myslet a pokud chceme něco přidat do functional interfac, tak jen jako default metody. Abychom upozornili kohokoli, kdo by chtěl něco přidat do našeho rozhraní, tak máme možnost přidat anotaci @FunctionalInterface. K anotacím se ještě dostaneme, tak se nebojte. Nyní je důležité vědět, že je to pomůcka – tato pomůcka nám udělá to, že jakmile napíšeme další metodu do našeho rozhraní, tak nastane chyba. Danou anotaci nemusíme psát, ale je to super. @FunctionalInterface public interface HelloWord { void sayHello(); }Příklady na vyzkoušení: 1. vytvoř si seznam míst 2. setřiď seznam 3. napiš metodu, která vypíše vše ze seznamu míst 4. udělej si metodu, která vypíše jen ta města, která se skládají z jednoho slova nepoužívej při tom lambda výrazy Pokračování příště 👋 Články a online kurzy o Javě pro tebe připravuje Jaro Beňo.
ReactiveConf 2019: pátý ročník konference míří opět do Prahy
Události
24.09.2019
Katarína Kučáková

ReactiveConf 2019: pátý ročník konference míří opět do Prahy

Pátý ročník konference ReactiveConf 2019 míří do Prahy, aby opět přinesla přehled nejnovějších technologií z prostředí programování a software developmentu. Chceš odkrýt tajemství společností jako jsou Zeit, Google, Brave, Cypress a další? Co pro tebe letos organizátoři připravují? Čekají tě 3 nabité dny přednášek, workshopů, panelových diskusí, které zaklíní závěrečná párty. Tentokrát se organizátoři snažili přesáhnout rámec React, Angular or Vue a rozšířit diskusi na další prvky ekosystému jako jsou ReasonML, Elm, Clojure or Nuxt.js. Dva dny konference + festivalový denReactiveConf se koná od 30.října do 1.listopadu 2019 v prostorách Forum Karlin v centru Prahy. První dva dny jsou konferenční, na 4 stazích budou probíhat přednášky, panelové diskuse a tvz. lightnings talks (krátké několikaminutové přednášky a prezentace). Ze 60 speakerů zmiňme namakaného softwarového inženýra Davida Nolena, Briana Holta z Microsoftu se svou přednáškou o základech futuristického kódu a podobně. Třetí, festivalový den, je věnován především workshopům - čeká jich na tebe více než 15, program bude doplněn o přednášky a na závěr odstartuje afterparty, která se přehoupne až do dalšího dne. Pro koho je konference určena?Je určena pro tebe, pokud programuješ nebo se zajímáš o nové technologie. Poslechneš si novinky ze světa front- a back-endu, mobilních aplikací, mezitím můžeš u kávy a občerstvení networkovat. Letos se očekává více než 1300 účastníků. Kde sehnat lístky?Lístky seženeš přímo na stránce ReactiveConf až do 29.10. 2019. Pokud navíc při platbě zadáš kód "Learn2code", získat 20% slevu na individuální lístek.[Image]
4 nové online kurzy
Novinky
03.09.2019
Skillmea

4 nové online kurzy

Tento týden ti na Learn2Code přinášíme 4 nové kurzy, ve kterých jsme dali prostor několika novým tématům. Jsou to online kurzy zaměřené především na soft skills, zpestřením je určitě šachový kurz se slovenskou jedničkou Jánem Markošem. Zaujalo? Přečti si krátké představení kurzů v článku. Prezentační dovednosti - základyPokud i ty míváš roztřesená kolena vždy, když máš vystoupit na pódium nebo prezentovat svůj nápad před skupinou lidí, měl bys zaměřit pozornost na tento kurz. Nikdo jako řečník z nebe nespadl, i ty se máš možnost osvojit si a zdokonalit své prezentační dovednosti tak, abys při vystupování působil/a sebevědomě. Co máš dělat při vystupování s rukama, kam se dívat a jak pracovat s publikem ti vysvětlí Andrej Mažáry - lídr Slovenských Toastmasters (globální organizace věnující se řečnictví) a středoevropský šampion v řečnických improvizacích.   Jak přemýšlet při fotografováníV nabídce máme mnoho kurzů zaměřených na technickou stránku fotografie. Vytvořit dobrou fotku však není jen věcí kompozice a techniky, fotka by měla být nositelem příběhu, emoce, kterou chce fotograf zachytit. Učit se budeš od tří úspěšných a oceňovaných fotografů, kteří se věnují především dokumentární a reportážní fotografii. Každý z nich ti poskytne vlastní pohled na postupy a techniky, které při focení používají, jak pracují s objektem, s různými zdroji světla, prozradí ti kompoziční tipy a nápady. Kurz je určen tobě, máš-li už zvládnuté základy práce s fotoaparátem, možná uvažuješ nad focením jako svým živobytím a hlavně chceš tvořit fotky, které budou výjimečné.  Kurz podnikání - jak začítKurzem tě bude provázet osm zakladatelů a CEO úspěšných slovenských firem. Tím myslíme značky jako Tuli, CURAPROX, daren & curtis, VISIBILITY, Be Cool a další. V tutoriálech se s tebou podělí o své zkušenosti, Know-how a zodpoví důležité otázky, nad kterými možná uvažuješ i ty. Jak myšlenku přeměnit na realitu, nápad na fungující byznys? Jak umíš odhadnout jeho úspěch? Jakou roli hrají brand, firemní kultura či hodnoty firmy? Vysvětlí ti i plusy a minusy partnerství v podnikání, jak a kdy přijímat nové zaměstnance a co dělat, kdyby to celé nevyšlo. Šachy (Coming soon)Dlouholetá šachová jednička na Slovensku Ján Markoš odhaluje své šachové mistrovství. Uč se od něj o šachových strategiích, taktikách či síle jednotlivých figur. Objevíš strategické a taktické postupy, o kterých jsi možná dosud nevěděl. Kurz je určen mírně a středně pokročilým šachistou. Ať už rozehráváš šachové partie online nebo tváří v tvář, tento kurz tě dostane na vyšší úroveň. Našel jsi kurz, který tě zaujal a bude pro tebe přínosným? Pokud máš případně návrh na další témata kurzů, které bys v Learn2Code uvítal, napiš do komentáře.
Lambda výrazy v Javě - část II.
Tipy a triky
23.08.2019
Skillmea

Lambda výrazy v Javě - část II.

Typy lambda výrazůTento článek je pokračováním první části tutoriálu o Lambda výrazech. Vraťme se k našemu příkladu na začátku, kde jsme do metody vložili implementaci rozhraní a zavolali jsme metodu. Toto si teď zkusíme spolu předělat, tak abychom použili lamba výraz. HelloWord2. Přepište metodu implementace na lambda výraz. public void sayHello() { System.out.println("HelloWord impls"); } () -> System.out.println("HelloWord impls"); Znovu ta samá otázka, jaký typ má lamba výraz pokud ho chci přiřadit do proměnné? lambdaFunkcia = () -> System.out.println("HelloWord impls");Počkat! V Javě přece máme možnost jak deklarovat, jmenovat metody a tu použijeme. Tou možností je použít rozhraní. 1. vytvoření rozhraní s jednou deklarací metody 2. vytvoření metody, která odpovídá našemu lambda výrazu 1. v našem případě nemá žádné argumenty a návratová hodnota je void  Pokud bychom vytvořili rozhraní, kde budeme uvádět několik metod, tak to bude chyba. Jedině pokud budou default - tedy implementovány. Viz sekci o rozhraních. ILambda lambdaFunkcia = () -> System.out.println("HelloWord impls"); … public interface ILambda { void metoda(); // void metoda2(String s); // bude error } Použijme lambda výraz s bezpečným dělením. Napišme si k tomu interface a proměnnou: bezpecneDelenieFunkcia = (int a, int b) -> { if(b==0) { return 0 ; } return a/b; }; public static void main(String[] args) { Hocijako hocijako = (int a, int b) -> { if(b==0){ return 0; } return a/b; }; double d = hocijako.hocico(10, 2); System.out.println(d); } interface Hocijako{ double hocico(int x, int y); }Tady si můžeme říci, že název rozhraní a název metody v rozhraní není důležitý. Důležité je, aby seděly vlastnosti. Tedy rozhraní má jen jednu metodu (mimo default metod) a metodě sedí typ návratové hodnoty a parametry metody. Implemetační třídu už tedy nepotřebujeme, neboť jakoby implementací je lambda výraz. Můžu si to nechat, pokud to potřebuji takto používat, ale v našem případě nepotřebuji implementační třídu. Lambda výraz se chová jako implemtnace rozhraní. Ale není to implementace. Tento příklad bude fungovat: HelloWord3 helloWord = new HelloWord3(); IHelloWord helloWord1 = new HelloWordImpl(); IHelloWord helloWord2 = () -> System.out.println("HelloWord impls lambda"); helloWord1.sayHello(); helloWord2.sayHello();Na výstupu bude: HelloWord impls HelloWord impls lambda Pokračování příště 😗 Mrkni prozatím moje kurzy o Java programování nebo videa, která máme na Youtube.
Tipy, triky a chyby v jazyce C++ pro začátečníky
Tipy a triky
04.08.2019
Skillmea

Tipy, triky a chyby v jazyce C++ pro začátečníky

Tímto článkem bych vám chtěl představit zajímavé tipy a triky v jazyce C++, které byste mohli použít ve vašem kódu. Jsou velmi jednoduché, protože jsou určeny pro začátečníky. Navíc bych vás chtěl upozornit na některé často se opakující chyby, které se ve vašem kódu mohou na začátku vyskytovat. Nejedná se o chybu v pravém slova smyslu, tedy ne takovou, po které by byl váš kód nepřeložitelný, spíše se jedná o obroušení vašeho programátorského stylu, či vytvoření takového kódu, který bude rychle vykonáván. Poslední zmíněnou vlastnost dosáhnete s C++ snadno, protože kódy, které navrhnete v C++ se provedou mnohem rychleji než ty, které navrhnete v jiných jazycích. Umím programovat ve více jazycích a proto to mám skutečně odzkoušené. Pamatujte, že C++ to však neprovede za vás, protože i tam lze vytvořit velmi špatný kód. Záměrně se použil termín špatný, ačkoli není odborný. Myslím tím kód, ve kterém špatným stylem a technikou nedosáhnete požadavků, které se na kód kladou. Příkladem může být právě rychlost provádění spustitelného kódu, jeho přehlednost či snadná udržovatelnost. V následujících řádcích vám to na pár příkladech ozřejmím. Příklady tipů, triků a chybJistě jste se již v programování pokoušeli naprogramovat jednoduché matematické operace. Mějme tedy následující kód: #include <iostream> int main() { int a; int b = -1; int c; int d = 4; int e = 2; int f = 3; int g; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Nejprve bych se vás chtěl zeptat, jestli se vám takto napsaný kód na první pohled líbí. Myslím tím po koncepční stránce. První chybou je, že začínající programátoři neodsazují bloky kódu. Tak například tento kód by se dal pěkně odsadit pomocí následujících pravidel. Oddělte direktivy preprocesoru od hlavičky funkci main(). Oddělte deklarace a definice proměnných od zbytku kódu. Někdy, když budete používat mnoho proměnných, můžete také jednotlivé deklarace proměnných uspořádat do logických celků. Můžete vytvořit bloky kódu podle typu proměnné. Navíc jazyk C++ vám umožňuje deklarovat a inicializovat proměnnou na místě, kde to skutečně potřebujete, tedy předtím, než ji použijete. Dále, v tomto kódu oddělte nosnou část kódu a to vytvořte blok kódu, kde se provádějí jednotlivé matematické operace. Nakonec, oddělte zápis na obrazovku a také načtení ze vstupu klávesnice. Potom už jen oddělíte klíčové slovo return s jeho návratovou hodnotou. Po zmíněných úpravách vám vznikne čitelný kód, který vypadá následovně: #include <iostream> int main() { int a; int b = -1; int c; int d = 4; int e = 2; int f = 3; int g; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Když se dále podíváme na kód, můžeme některé deklarace umístit na jeden řádek. Konkrétní provedení nechám na vás, ale já bych doporučoval deklarovat na jednom řádku proměnné, které se neinicializují hned na začátku současně s deklarací. Na druhý řádek bych umístil proměnné, které se inicializují současně s deklarací. Takto získáte ještě větší přehled v kódu a ušetříte 4 řádky kódu. Kód bude vypadat následovně: #include <iostream> int main() { int a, c, g; int b = -1, d = 4, e = 2, f = 3; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Nyní přejdeme ke zmiňované rychlosti. Je mi jasné, že při tak krátkém kódu ušetříme relativně málo času, ale kdyby se nosná část kódu, tedy tři matematické operace s přiřazováním, prováděly v cyklu například. 1 000 000 krát, viděli byste zaručeně rozdíl. V uvedeném příkladu není nutné použít 7 proměnných a výsledek vyhodnocovat na třikrát. Výsledky b + c a e - f se vynásobí a přiřadí do další proměnné. Tak, jak to je naprogramováno, je to zbytečné. Zkuste vše vyhodnotit jako jeden výraz a přiřadit na jednom řádku. Vznikne nám kód, který bude mít o dva řádky méně a bude provádět totéž. A v čem je vlastně problém. No v operátoru přiřazení. Tato operace je příliš časově náročná. V podstatě se musí přesunout hodnota proměnné uložená na jednom paměťovém místě do paměťového místa, které je určeno pro jinou proměnnou. A po kurzu už víte, že počítač zná jen 0 a 1. Organizačně existuje nejméně jeden bajt. Nezmiňoval jsem sice, co je zásobník, ale když se pohybujeme v jeho paměti, trvá to ještě déle. Vraťme se ale zpět, po úpravě bude kód vypadat následovně: #include <iostream> int main() { int g; int b = -1, d = 4, e = 2, f = 3; g = (b + c) * (e - f); std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; } A pojďme ještě dál. K čemu vůbec v tomto kódu používáme proměnné, když je nenačítáme ze vstupu. Výsledek kombinace matematických operací můžeme přece zapsat rovnou na obrazovku, aniž bychom hodnoty přiřazovali do proměnných. Odstraníme tím i deklarace. Po konečné úpravě, bude kód vypadat následovně: #include <iostream> int main() { std::cout << "res = " << (-1 + 4) * (2 - 3) << std::endl; std::cin.get(); std::cin.get(); return 0; }Závěrem bych tedy znovu chtěl zdůraznit, jak jsou programátorský styl a technika důležité. Vidíte, že z 18 řádkového kódu, který jsme získali odsazením původního kódu, nám po několika úpravách zůstal kód, který má 8 řádků. A tento kód, ačkoli je malý, je laicky řečeno, pěkný. To znamená, že se jeho spustitelný kód provede rychle, je přehledný a snadno udržovatelný. Autorem blogu je Marek Šurka, který má na Learn2Code online kurz C++ pro začátečníky.
7 otázek na nového lektora Marka Šurku
Rozhovory
25.07.2019
Skillmea

7 otázek na nového lektora Marka Šurku

Dnes ti představíme člověka, díky kterému můžeš na Learn2Code nově studovat i programovací jazyk C++. Náš nový lektor Marek Šurka alias Kamas se jazyku C++ věnuje již od svých 20 let a v kurzu tě provede od jeho úplných základů až ke složitějším technikám. Proč se rozhodl vytvořit kurz programování a jak se k jazyku C++ vůbec dostal? Dozvíš se v rozhovoru!👇[Image] Proč ses rozhodl pro vytvoření kurzu ve spolupráci s Learn2Code?V podstatě jsem už dlouho hledal způsob, jak předávat své zkušenosti s programováním dál. V Learn2Code jsem našel ideální řešení. Mluvím právě o online kurzech, které můžete absolvovat pohodlně kdekoli, v jakémkoli čase a v dávkách, které si sami určíte. Já se tak také jako lektor nemusím omezovat na konkrétní čas a místo. Co se lidé naučí ve tvém online kurzu?V kurzu lidé získají první zkušenosti s jazykem C++. Není to však rychlokurz, během kterého se člověk naučí všechno o C++. Výstupní znalosti jsou na úrovni začátečníka, protože jsem se snažil jít víc do hloubky.   Najdete tam informace z programování a matematiky. Plánuji postupně doplnit toto téma, protože programování v jazyce C++ není totiž téma na jeden, dva kurzy. [Image] Kde a na jaké pozici v současnosti pracuješ?Pracuji jako programátor-analytik ve společnosti, která se věnuje automatizaci a diagnostice. Dlouhodobě pracuji na projektu, kde se věnuji robotice a programování průmyslových svařovacích robotů. Vyvíjím Frontend i Backend. A baví mě to :) Jak ses k programování a jazyku C++ dostal?Už na střední škole jsem se setkal s jazykem Turbo Pascal, v rámci jednoho předmětu jsme dokonce programovali mikroprocesory v jazyce Assembler. Musím se přiznat, na začátku mi to moc nešlo. Nakopl mě až programovací kroužek a nejvíc mi dala vysoká škola, kde jsem totálně drtil jazyk C++ a SQL. [Image] Co tě baví na tvé práci?I když možná nebudou všichni souhlasit, programování je i tvůrčí činnost, sám se neustále vzdělávám a učím a jen taková práce má pro mě smysl. Dnes je obrovská poptávka po programátorech. Co bys poradil všem, kdo nemají žádné zkušenosti, ale chtěli by nějak začít?Aby se nevzdávali a byli draví. Nikdo není na začátku expert. Ani Jazyk C++ se nedá teoreticky naučit na úroveň expert, to chce praxi. Hlavně doporučuji, aby byli lidé sami hladoví po znalostech. Nejlépe se něco naučíte, když vás to baví. Jsou lidé, kteří jsou výjimečně talentovaní, ale nebaví je programovat. Daleko více dosáhne méně nadaného člověka, jehož programování zajímá. Potom se učí s lehkostí. Jednoduše programujte, čtěte, dívejte kurzy, diskutujte na fórech, srovnávejte. Učíte se pro sebe. [Image] A čemu se věnuješ ve volném čase?Věnuji se manželce a dceři, chodíme na výlety. Je to nezbytné, když člověk každý den pracuje s počítačem. Kromě toho rád čtu, nejvíce odbornou literaturu. Rád se učím. A snažím se sportovat. Nejraději mám plavání a hokej, kterému se amatérsky věnuji. Marek, děkujeme za rozhovor. Líbil se ti rozhovor? Věnuj mu 👍 Pokud máš na Marka nějakou otázku, napiš ji dolů do komentáře 👇   Pokud chceš zjistit více o Marekovém kurzu C++ elementary, zkoukni intro do online kurzu!
Lambda výrazy v Javě - část I.
Tipy a triky
21.07.2019
Skillmea

Lambda výrazy v Javě - část I.

V tomto a v následujících článcích se podíváme na zoubek lambda výrazem. Budeme si je vysvětlovat zcela dopodrobna, abychom je pochopili a využívali. Obsahově se zaměříme na tyto oblasti: 1. porozumění lambda výrazům, 2. použití lambda výrazů, 3. funkcionální rozhraní (functional intefaces), 4. reference metod (method references), 5. vylepšení na kolekcích. Proč použít lambda výrazy? Řekneme si pár odrážek, proč je používat. • povoluje použít takzvané funkcionální programování, což je dosud něco, řekl bych divné, protože Java je objektově orientovaný jazyk, • zpřehledňují kód, lepší čitelnost v některých případech, kde bychom použili několik zbytečných řádků, abychom napsali totéž. Možná se zamýšlíš, proč používat funkcionální programování v jazyce, který je objektově orientovaný. Už není OOP tak dobré? Už zanikne? Ne, nezanikne a java je a myslím si, že pořád bude objektově orientovaný jazyk. Toto funkcionální programování ber jen jako další nástroj, který jako vývojář máš ve své ruce. U OOP jsou vývojáři zvyklí přemýšlet v podstatných jménech, v objektech, ve třídách. Například Pes štěká. Štěkání je součástí Psa. Tím pádem metoda, která bude zajišťovat psí štěkání, je součástí třídy Pes. Někdy ale potřebuji kus kódu, metodu – nebo jinak řečeno funkci, která nepatří do žádné třídy speciální. Podsunutí chování do metodyUvažuj nad tím, že máš metodu, která na konzoli vypíše nějaký text. Například staré známé Hello World. Pro tento účel bychom si vytvořili třídu, které by byla metoda pro vypsání Hello Word. Tuto metodu bychom pak vypsali na konzoli v main metodě. Příklad v idea Lambda2. Naším úkolem bude nyní předělat tento kód tak, abych dané metodě podsunul chování a uvnitř té metody se jen provede to chování. Ukažme si na příkladu. Takže jsme udělali, co jsme chtěli. Do metody jsme podsunuli chování jako argument a poté jsme jej provedli. Ale ne tak přesně. Do metody jsme podsunuli něco, co má v sobě chování. Podsunuli jsme implementaci rozhraní, která má v sobě metodu, která provede očekávané chování. Právě tomuto chtějí lambda výrazy zabránit. Chtějí zabránit tomu, abychom podsouvali objekty, ale chtějí, abychom podsouvali funkce. Namísto tohoto: public void printHelloWord(IHelloWord helloWord){ helloWord.sayHello(); } chceme do metody vložit nějakou akci, nějakou funkci. Tento přístup umožňuje chovat se k funkcím jako k hodnotám. public void printHelloWord(funkcia){ funkcia(); } Pokud napíšu String jméno = “Jaro”; tak jsem hodnotu Jaro přidělil do proměnné jméno. Nyní jsme ale nastínili, že do nějaké proměnné bychom chtěli vložit blok kódu, který prezentuje naši funkci. Takže blok kód by se stal hodnotou a ta by se dala vložit do proměnné. Takže tam, kde používám danou proměnnou, tak tam používám i danou funkci, která je v ní. Pro představivost, chceme dosáhnout tohoto: premennaSFunkciou = public void sayHello() { System.out.println("HelloWord impls"); } Toto je možné pomocí lambda výrazů. Nejprve se ale podívejme na tento kus kódu a řekněme si, co nepotřebujeme: • public – označuje mi, jestli je něco veřejně dostupné mimo třídu, dává smysl v kontextu třídy, tady ale přidělujeme do proměnné, tak to nepotřebujeme, neboť funkce je dostupná tomu, kdo pracuje s danou proměnnou. premennaSFunkciou = void sayHello() { System.out.println("HelloWord impls"); } • název sayHello = pokud přistupujeme k hodnotě, která je v proměnné, tak k ní přistupujme názvem proměnné, v našem případě je název proměnné proměnnou SFunkcí, takže ani druhé jméno nepotřebujeme. premennaSFunkciou = void () { System.out.println("HelloWord impls"); } • typ návratové hodnoty – při psaní lambda výrazů nemusím psát, jaký je návratový typ, překladač ví, podle nitra metody, co se vrací. premennaSFunkciou = () { System.out.println("HelloWord impls"); } Toto ale ještě není lambda výraz. Pokud napíšu šipku (pomlčka - a znaménko větší >) mezi závorky a blok kódu, tak tehdy jsme vytvořili labmda výraz. premennaSFunkciou = () -> { System.out.println("HelloWord impls"); } Pokud metoda obsahuje jen jeden řádek, tedy ne více řádků, tak lze dále upravit tento výraz a to tak, že odstraníme složené závorky. Pokud je více řádků, tak složené závorky ponecháme. premennaSFunkciou = () -> System.out.println("HelloWord impls"); Teď si už umíme představit, udělat, to, že pošleme funkci jako parametr metody a uvnitř spustíme danou funkci. public void printHelloWord(------){ -----(); }Do metody můžeme vložit jako argument při volání metody přímo lambda výraz. printHelloWord(() -> System.out.println("HelloWord impls")){ PříkladyNapiš metodu, která vezme jako parametr číslo a vynásobí ho 5ti.nasobokPiatichFunkcia = public int nasobokPiatich(int i){ return i*5; }Přepíšeme to na lambda výraz, vyškrtám všechno, co nepotřebuji. Tedy název, návratovou hodnotu a modifikátor přístupu. nasobokPiatichFunkcia = (int i){ return i*5; }Napíšeme tam šipku a jelikož řádek je tam jen jeden, tak umíme odmazat kudrnaté závorky. nasobokPiatichFunkcia = (int i) -> return i*5;Tady máme další pomůcku, nebo možnost škrtat. Jelikož java kompilátor zná vnitřek metody a ví, co má vrátit, můžu vymazat i return. nasobokPiatichFunkcia = (int i) -> i*5;Když máme jednořádkový lambda výraz bez složených závorek, tak je nezbytné nepoužívat return. SčítáníscitaniFunkce = (int a, int b) -> a+b;  OdčítáníodcitaniFunkce = (int a, int b) -> a-b; Bezpečné děleníbezpecneDelenieFunkcia = (int a, int b) -> { if(b==0) { return 0 ; } return a/b; };Spojení řetězcůstringJoin = (String x, String y) -> x.concat(y);  Stále jsme v Javě. Tedy v typovém jazyce. Jaké jsou typy těchto proměnných, které v sobě drží lambda výrazy? Video:Pokud tě více baví poslouchat a dívat, tak si můžeš prohlédnout sérii videí o lambda výrazech v kurzu Java pro pokročilé. ZáverPokud by ses chtěl dozvědět o Javě víc nebo jsi nepochopil všechno, tak jsem i pro tebe připravil online kurzy o Javě na https://skillmea.sk. Pokud se chceš o mně dozvědět více, tak klikej na jaroslavbeno.sk nebo mě sleduj na sociálních sítích – youtube, facebook, instagram, linkedin.  Zakomponuji i malou reklamu. Ve spolupráci s tvůrci židle Neseda.com ti nabízím s kódem/kuponem JaroslavBeno 10% slevu (aplikovatelná i na zlevněnou židli). Já jsem Jaro a my se vidíme, slyšíme-li Bůh dá příště. Čaves.
Instagramové profily, které se vyplatí sledovat
Ostatní
03.07.2019
Katarína Kučáková

Instagramové profily, které se vyplatí sledovat

Možná patříš mezi ty, kteří si dají Instagram ještě před snídaní. Nebo v něm jen často hledáš inspiraci pro svoji práci, příspěvky. A tak jsme trochu přesurfovali Instagram a našli zajímavé lidi, které se určitě vyplatí sledovat. Marketing  visibilitysk (Visibility)Tuto online marketingovou agenturu není třeba představovat, protože je dostatečně „visible“. Instagramový život Visibility zobrazuje lidi, kteří stojí za děním v agentuře, mapuje jejich práci, úspěchy, office život. Svatby, děti, teambuildingy a konference, i to patří k životu úspěšných marketérů. Nám se na tomto profilu líbí přirozenost a prostor, který věnují vlastním lidem. jandl_advertising (Jandl)Marketingová agentura Jandl se může pyšnit reklamní kampaní například pro Coop Jednotu (kdo by neznal dva pošetilé bače ze salaše), kampaní Jedeme vlakem pro ZSSK, známe je také z bilboardů Zoo Bratislava. Na Instagramu najdeš ukázky jejich práce, záběry z natáčení reklamních spotů, ale také profily jednotlivých lidí tvořících Jandl a zákulisní život agentury. elitesolution (Elite solutions)Takový příjemně neformální instagramový profil jedné reklamní agentury. Vždyť nakonec se i prezentují jako kolegové a kamarádi v jednom. Aktuálně jste možná zachytili jejich kampaň #Nebuďpirát ve spolupráci s O2 a známými influencery, za zmínku určitě stojí jejich spolupráce s neziskovou organizací DEPAUL SLovensko, kde pomáhají získávat prostředky pro lidi bez domova. Design mikaela220 (Michaela Chmeličková)Milujeme tento barevný a ilustrovaný instagramový profil z planety 220. Miška je zkušená designérka a ilustrátorka, na rováši má takové zajímavé projekty jako například Curaprox, Bílá noc, design triček a obalů na telefony pro Kompot. Díky ní se na trička dostala i taková osobnost, jakou je Majka z Gurunu. petra.ziackova_tattoo (Petra Žiačková)Pokud se jednou rozhodneme pokreslit, určitě to bude tetovačka od Petry Žiačkové. Petra také ilustruje, její detailní obrázky tě úplně pohltí a vtáhnou do jiného světa. Magického. michalslovak (Michal Slovák)Michal dělá obaly. Alespoň podle Instagramu. Najdeš tam džusové, čokoládové, mýdlové, kávové. Zkrátka samé dobré věci. Kromě toho Michal rád cestuje a světovými fotkami je poprolínán i jeho Instagram. Balans musí být. Nám se to líbí. Foto&Video Patrik Paulíny (patrikpaulinyi)Fotograf a filmař Patrik Paulíny cestuje po světě a na svůj Instagram přináší skvělé záběry. Za své příspěvky si vysloužil ocenění Instagram roku 2018. Patrika proslavil zejména projekt Follow me to Slovakia, které tě ve 2-minutovém videu vezme na cestu za krásami Slovenska. michal_zahornacky (Michal Záhornácky)Michalovým zaměřením je umělecká fotografie, snové portréty působí surrealisticky, až pohádkově. Na svém profilu zachytil mnohé tváře, najdeš mezi nimi i známé osobnosti, každý portrét je jedinečný, vypráví jiný příběh, emoci. Zajímavá je jeho spolupráce s Danielem Hevierem v rámci projektu Chymeros, dobrodružné výpravy, do které je zapojeno již více než tisíc dětí ze základních škol z celého Slovenska. maria.svarbova (Mária Švarbová)Její fotografie, inspirované funkcionalistickou architekturou a minimalismem, jsou jakousi magickou realitou. Maria je mladá fotografka, za svou jedinečnou tvorbu nedávno získala ocenění jako Forbes 30 under 30, prestižní ocenění Hasselblad Master 2018 Marii řadí mezi fotografickou špičku světa. Ve slavné sérii Swimming Pool se Marii podařilo zmapovat přibližně 11 slovenských plováren, téma je unikátní. Pokud se zajímáš o fotografii, určitě doporučujeme navštívit Mariin profil. Tak čo povieš? Necháš sa inšpirovať niekým z týchto šikovných ľudí? 
Tipy, jak ušetřit čas při práci ve Sketchi, Photoshopu, Illustratore a InDesignu
Tipy a triky
19.06.2019
Katarína Kučáková

Tipy, jak ušetřit čas při práci ve Sketchi, Photoshopu, Illustratore a InDesignu

Práce v grafických programech se někdy podobá cirkusovému chaosu. Ikonky, záložky, nekonečný počet nástrojů, pluginů. Víme, je obtížné se v tom zorientovat. Proto jsme pro tebe ve spolupráci s lektory vybrali tipy, které i nám usnadňují život a hlavně šetří čas. Konkrétně se podíváme na programy Sketch, Adobe Photoshop, Illustrator a inDesign. Sketch Sketch je profesionální ilustrační program pro práci s vektorovou grafikou, který je dostupný pro uživatele Mac OS X. Sketch je intuitivní a uživatelsky nenáročný, jeho zvládnutí na profi úrovni spočívá zejména v malých tricích. Zde jsou některé z nich. [Image] • Rotate copies (rotování kopií)             Nástroj Rotate Copies ti umožní rotovat kopie určité vrstvy kolem konkrétního bodu. Vezmi si třeba květinu. Stačí vytvořit jeden okvětní lístek a desítky jeho kopií můžeš rotovat kolem středu. Voila. Tento nástroj se standardně nenachází v panelu nástrojů, ale můžeš si jej přidat přes control-click a „Customize toolbar“, případně v menu přes Layer > Path > Rotate Copies. • Convert to outlines (převést na obrysy) Jak a kdy převést text na obrysy je nezbytnou znalostí z hlediska vektorové kresby. Fonty totiž dokážou nadělat při tisku spoustu problémů. Na druhé straně, pokud se rozhodneš převést text na obrysy, text se stane grafikou a po konverzi jej již nebude možné upravit. Pro konverzi textu na obrysy zvol v menu Layer > Convert to Outlines (prípadně stlač Shift-Command-O). • Obnovení ztracených dat Mac má skvělou funkci, která je kompatibilní i se Sketchem. Můžeš si tak prohlédnout historii souboru a obnovit ztracená data přes File > Revert To > Browse All Versions. • Vnoření symbolů Vnořený symbol můžeš vytvořit tak, že instanci (kopii) symbolu umístíš do jiného symbolu na stránku symbolů. Při provedení změny rodičovského symbolu se změní všechny jeho instance, bez ohledu na to, zda jsou součástí jiného symbolu, nebo ne. Neexistuje limit na to, jak hluboko lze symbol vnořit, symbol však nesmí obsahovat instanci sebe sama. • Sdílení souborů přes appky (například Slack) Jednoduše sdílej soubory přes appku tak, že potáhneš vybraný file ze sekce Export - file a vložíš na plochu vybrané appky. • Export Presets Tímto nástrojem ušetříš nesmírně mnoho času, můžeš si totiž kopírovat prvky ze svého designu. Vytvoření jednotlivých presets provedeš pomocí Presets preference panel. • Klávesové zkratky Přehled všech užitečných klávesových zkratek najdeš zde! • Pluginy  Užitečné pluginy jsou Stark pro kontrolu kontrastu, Runner pro rychlejší přístup k funkcím  a Rename it + Styles Generator pro stavbu knihoven. Adobe Photoshop Photoshop je velmi oblíbeným nástrojem v oblasti úpravy fotografií a grafiky. Máš už v malíčku všechna jeho zákoutí? [Image] • Kopírování barvy z jakéhokoli obrázku, vzoru a podobně. Pomocí nástroje Eyedropper tool máš možnost vybrat barvu ze zdroje mimo prostředí photoshopu a palety barev. Jednoduše klikni a podrž nástroj kapadlo a se stlačeným tlačítkem přejdi na vybranou stránku nebo obrázek. Namiř kurzor na plochu s barvou, uvolni myš a máš k dispozici novou zadefinovou barvu. • Změna velikosti (a tvrdosti) štětce Asi tě zdržuje neustále měnit velikost a tvrdost štětce pomocí nástrojové lišty. Zejména při úpravách jako je retuš či práce s maskami oceníš klávesovou zkratku Alt+pravé tlačítko myši (Ctrl+Alt+levé tlačítko na Mac). Stačí podržet tlačítko myši a při pohybu vpravo-vlevo můžeš měnit velikost štětce, při pohybu nahoru-dolů zase jeho tvrdost. • Změna prolínacích módů (blend modes) Práce s prolínacími módy je vždy tak trochu experimentováním, výsledek je totiž obtížné odhadnout. Ty se však nechceš zdržovat dlouho, čeká tě spousta další práce, proto by sis měl osvojit zajímavou zkratku Shift+plus. Tato zkratka slouží k rychlému testování efektů na fotce. • Izolace konkrétní vrsty Někdy může projekt obsahovat tolik vrstev, že se zdá nemožné zobrazit jen jednu konkrétní. Tehdy stačí jednoduše podržet Alt (Option na Mac) a klepnout na ikonku oka na vybrané vrstvě. • Bird's-eye-view Tato funkce ti umožní snadno se orientovat v jednotlivých částech obrázku při detailním přiblížení. Pokud jsi právě použil zoom a chceš přejít na jinou část, aniž bys musel view zmenšovat, klikni a podrž H a potom levé tlačítko myši. Nyní pohybuj kurzorem myši a přejdi na požadovanou oblast. Uvolněním tlačítka myši se vrátíš ke standardnímu náhledu. • Exportování všech vrstev do jedné Potřebuješ exportovat všechny vrstvy do jedné? I na to známe zkratku. Pomocí Control+Shift+Alt+E. (Command+Shift+Option+E pro Mac) spojíš všechny vrstvy do jedné. • Přehled klávesových zkratek[Zdroj: www.digitalsynopsis.com] • Užitečné pluginy Pokud jsi designér, nebo grafik, určitě oceníš plugin RH Hover Color Picker. Nabízí přehlednou práci s barvami a moderní rozhraní, které konečně nevypadá jako palubní deska v letadle. Kopec efektů a filtrů ti umožní ON1 Effects, obrázky zase získáš prostřednictvím pluginu Pexels nebo Shutterstock.   Adobe Illustrator Illustrator je velmi oblíbený pro své široké využití, vytvoříš v něm vše od firemního loga, webových ikon až po knižní ilustrace. Pokud si chceš osvojit užitečné tipy a triky pro práci s ním, jsi na správném místě. [Image] • Výběr podobných objektů Pokud už v Illustratore kreslíš složitější tvary, je užitečné se naučit, jak vyhledat podobné objekty. Pokud například chceme změnit vlastnosti více objektem, nemusíme pracné objekty vyhledávat, navíc mohou být částečně zakryty jinými objekty. Stačí vybrat vybrat jeden z objektů, přejít na Select>Same a vybrat požadované kritérium vyhledávání objektů (například Fill Colour). Všechny objekty s požadovanou barvou výplně pak systém vybere a změní pomocí vzorníku barev. • Nauč se správně používat Pen Tool Zvládnutí tohoto nástroje v Illustratori by mělo být tvým prvním krokem. Není to žádné umění a pomocí nástroje Pen Tool získáš větší kontrolu nad tím, co vytváříš. Výhodou je i jeho univerzální použití, jelikož například ve všech Adobe programech funguje stejně. • Použití Pathfinder k vytvoření komplexních tvarů Po zvládnutí Pen Tool by si měl zaměřit pozornost i na nástroj Pathfinder. Pathfinder umožňuje kombinovat objekty do nových tvarů. Můžete například vrstvit jednoduché tvary a poté pomocí ukazatele pohybu je transformovat na jednotnější, složitější tvar. Existuje několik tutoriálů k použití Pathfinder k transformaci základních tvarů na některá úžasná umělecká díla. • Vyrob si vlastní štětce Ilustrátor milujeme, ale je zapotřebí si v něm vytvořit vlastní prostor. Ne všechny jeho základní funkce jsou pro vytvoření vlastní grafiky dostačující. To platí například io štětcích. V Adobe Illustrator existují 4 základní druhy štětců: kaligrafické, rozptylové, umělecké a vzorkové. Ty máš ale možnost přidat si své vlastní. Vyber si všechny tvary, ze kterých chceš udělat štětec. V paletě štětců klikni na malou šipku vlevo vyber "new brush". • Použi Color CC Pokud chceš, aby tvé ilustrace vypadaly profesionálně, měly by obsahovat kombinace barev, které oku lahodí. To je ne vždy jednoduché a pokud nechceš ztrácet čas jejich porovnáváním, určitě využij Color CC. Tento nástroj ti umožní vybrat pěkné, vkusné kombinace barev, navíc jejich přidáním do palety barev budeš mít hned po ruce. • Přehled základních klávesových zkratek[Zdroj: www.digitalsynopsis.com] • Užitečné pluginy Převezmi kontrolu nad svými vektory pomocí VectorScribe v3, kterou tvůrci popisují jako vektorový švýcarský nůž. Pokud si začínající designér, který se chce ponořit do světa 3D grafiky, určitě neobejde plugin Cineware, efektní je i Gold Rush a Phantasm v3. Adobe InDesign Podobně jako Illustrator, je InDesign založen na vektorové grafice. Poskytuje prostor, ve kterém můžeš spojit všechny své ilustrace a grafiku (např. z Photoshopu, Illustratoru) a vytvořit si vlastní interaktivní dokumenty pro web, tisk, mobilní zařízení a podobně. A jaké triky by sis měl osvojit v InDesignu? [Image] • Vytvoření více objektů stejné velikosti Pokud chceš vytvořit více objektů stejné velikosti, nastav potřebnou šířku a výšku jednoho objektu. Potom je už jen třeba vybrat zbývající objekty a zvolit Object> Transform Again> Transform Sequence Again Individually. • Matematické funkce v panelu nástrojů řekněme, že máš obrázek v rámu a chceš ho zvětšit o 1“, protože by tak pravděpodobně vypadal lépe. V panelu nástrojů, konkrétně ve Width field napiš 1 hned vedle stávající hodnoty. Stiskni Tab a InDesign udělá ostatní za tebe. Rovněž můžeš použít i funkce odčítání (-), násobení (*) a dělení (/). • Používej vyplnění zástupným textem. Lorem Ipsum ti určitě nemusím představovat. V InDesignu nám může posloužit jako zástupný text (pravé tlačítko > Vyplnit zástupným textem) v návrzích, kde tento text použijeme pro lepší představu finálního návrhu. • Přizpůsobení rámu (frame fitting) Pokud chceš přizpůsobit rám grafice uvnitř něj, je zapotřebí dvojitý klik na roh rámu. Nebo zmáčkni Cmd-Opt-C (Mac) / Ctrl-Alt-C (PC). • Vkládání více obrázek pomocí Adobe Bridge (multiplace from Bridge) Sice pro vložení obrázku můžeš použít File>Place, případně přetáhnout požadovaný obrázek na plochu InDesign, je však určitě jednodušší vkládat více obrázků najednou. Otevři Adobe Bridge, vyber si obrázky, které chceš použít ve svém layoutu a zvol File>Place>In InDesign. Tím se automaticky přepneš do InDesign, pomocí kláves se šipkami můžeš procházet obrázky v kurzoru a jednoduše je klepnutím umístit. Pro úpravu můžeš využít Object>Fitting. • Aplikování efektu z jednoho objektu na jiný Podařilo se ti vytvořit skvělý efekt, který bys chtěl aplikovat na další objekty? V tom případě vyber objekt s požadovaným formátováním a potáhni ikonu “FX” z panelu efektů na objekt, na který chceš formátování aplikovat. V případě, že chceš vymazat všechny efekty z objektu, zvol „clear effects“ z Effects okna v paneli nástrojov.  • Klávesové zkratky Přehled všech užitečných klávesových zkratek najdeš zde! • Užitečné pluginy Aquafadas AVE ti usnadní digitální publikování - od návrhu po distribuci obsahu, jeho přizpůsobení různým platformám. Placený plugin Active Tables ti do InDesign přinese Excel, díky PDF2Id zase budeš moci importovat PDF soubory a konvertovat na editovatelný formát.   Práce v uvedených softwarech je velmi obsáhlá a komplexní, snažili jsme se ti uvést alespoň několik „hacků“ pro zjednodušení a urychlení práce. Pokud bys chtěl přispět nějakými ověřenými triky, poděl se o ně v komentáři! Zaujalo tě téma grafiky a designu? Na Learn2code jsme pro tebe připravili nabídku online kurzů grafiky, ze kterých si vybereš svůj ušitý na míru.
Lektor Pavel Banáš - Zažíváme zlatou éru videa
Rozhovory
12.06.2019
Katarína Kučáková

Lektor Pavel Banáš - Zažíváme zlatou éru videa

Rádi se pochlubíme novým přírůstkem do Learn2code rodiny. Dnes ti představíme lektora Pavla Banáše, který tě v novém kurzu Jak vybrat techniku na natáčení naučí zorientovat se ve fototechnice a vybrat si vhodné zařízení. Aby tvá videa měla „šťávu“. :) A co nám prozradil? O své práciPracuji jako freelance videomaker, pod svou značkou Bajter studio (www.bajterstudio.com) vytvářím videa různých žánrů a kategorií. V mé tvorbě převažují zejména hudební videoklipy. Vedle toho studuji Masmediální komunikaci na FMK UCM v Trnavě. Odkdy se věnuji videotvorbě, prošel jsem si už všeličím. V tomto směru rád experimentuji a rozšiřuji své obzory vždy, když se naskytne příležitost. Když to mám shrnout, tak mám za sebou produkci videoklipů, pár videí ze svateb, dokument, nějaké ty aftermovies, propagační videa, krátké hrané filmy, živé přenosy fotbalových zápasů ve sportovní televizi, stáž v reklamní agentuře a momentálně dokončuji projekt své bakalářské práce- rapový muzikál. [Image] O jeho cestě k videoprodukci K videu jsem měl blízko od malička, kamera mě vždycky lákala. První videa jsem začal vytvářet s příchodem foťáků do mobilů. Zlomový bod v mé kariéře přišel, když mi bylo 16 a chodil na gymnázium. Spolu se dvěma spolužáky jsme v rámci videokroužku přihlásili náš výtvor do celoslovenské soutěže Cineama a ve finále jsme získali ocenění od děkana Filmové a televizní fakulty VŠMU. Součástí tohoto ocenění byla i účast na Letní škole filmového jazyka pořádané právě touto fakultou. Během tohoto kurzu jsem prohloubil své, do té doby mělké znalosti z oblasti videa a uvědomil si, že právě toto by mohl být ten směr, který mě bude v budoucnu živit.[Image] O rozhodnutí stát se lektorem v Learn2codeTéměř denně na mě směřuje řada otázek o videu, technice či natáčení. Po nějaké době odpovědi na tyto otázky jsem si uvědomil, že kromě samotné tvorby videa je vlastně i tato oblast, která mě baví. Chtěl jsem tedy vyzkoušet, jak bych zvládl zkombinovat videotvorbu s vyučováním. Sen o takovém něčem byl v mé hlavě už déle a když se ke mně dostala nabídka od Learn2Code, neváhal jsem. Zároveň je to pro mě výzva zkusit něco úplně nového, co vždy zkouším rád. O tom, co se v jeho kurzu naučíšNaučíš se mnoho z otázek, které se ke mně dostávají a jsou směrovány k výběru techniky pro natáčení. Na tuto otázku však neexistuje univerzální odpověď. Pokud se člověk bez zkušeností s videem či fotografií rozhodne koupit své první záznamové zařízení, velmi rychle se ztratí v řadě parametrů a různých druhů zařízení. Proto jsem se rozhodl udělat kurz v širším kontextu, než jen přímé odpovědi „tohle si kup“. Mým cílem je, aby absolvent kurzu věděl, co je to video, jak se zaznamenává pohyb, jaké technické parametry jsou u kamer důležité a na co všechno si dát pozor při koupi. Absolvent si tedy nebude jen schopen vybrat sám zařízení, které mu maximálně splní jeho požadavky, ale bude disponovat i potřebnými teoretickými znalostmi, na kterých může stavět při samotné práci se zařízením. [Image] O potřebě sledovat trendy a inovaceV současnosti prožíváme zlatou éru videa. Vše od techniky, přes tvůrce, až po distribuční kanály prudce pokračuje a to, co bylo trendem před rokem, je dnes už naprosto out. Proto je důležité neustále na sobě pracovat a zlepšovat se. Na druhou stranu je ale stejně důležité nepodléhat naprosto všem trendům a vkládat do videa i svou kreativitu. Spousta tvůrců na toto zapomíná a pak vznikají tisíce videí, které se podobají „jako vejce vejci“. Takže určitě trendy sledovat, ale nezapomínat, že video je hlavně o kreativitě. :) O tom, co ho nejvíc baví na jeho práciPři tvorbě videoklipů je úžasné, jak se dá během 3-4 minut divákovi sdělit velmi silná myšlenka a vzkaz. Toto je to, co mám na své práci rád. A sice, když není video jen pěkným vizuálem, ale nese v sobě myšlenku, která může diváka inspirovat. [Image] O jeho plánech do budoucnaAktuálně je priorita číslo jedna zestátnicovat. Pokud bude pozitivní odezva a zájem od studentů, rád bych připravil i další kurzy pro Learn2Code v oblasti videa. Mám už v hlavě pár nápadů, které by mohli začínající tvůrci ocenit. Samozřejmě chci i nadále pracovat na sebevzdělávání a zlepšování svých schopností a dovedností, protože oblast videa poskytuje prakticky neomezený prostor pro seberozvoj. Krátký odkaz čtenářům na závěrNatáčejte vždy a všude, využívejte každou příležitost ke tvorbě. Právě to je nejlepší cesta, jak se zlepšovat ve videotvorbě. Nezapomínejte však, že důležitá není jen forma, ale hlavně obsah. Přeji vám příjemné studium a spoustu kreativních chvil s vaší kamerou či fotoaparátem :) .
Přežiji prázdniny jako programátor
Události
05.06.2019
Skillmea

Přežiji prázdniny jako programátor

Začátek letních prázdnin s sebou přináší pro rodiče otázku jak zkombinovat společné trávení času, letní aktivity na táborech a čas u prarodičů. Možností je neuvěřitelně mnoho a vybrat si není jednoduché. Jak se rozhodnout? Při výběru se většinou zamýšlíme nad preferencemi dítěte i poznáním nás rodičů, což potomkovi přinese radost i impulsy k jeho seberozvoji. Žijeme v době, kdy být zběhlý v digitálních technologiích je nezbytnost. Představte si své děti, jak často tráví čas před obrazovkou počítače, mobilu nebo televizoru.[Letné aktivity pre deti počas prázdnin] Děti před obrazovkou - ano či ne?Myslíme si, že prospěšnější než jednoduše zakazovat takové trávení času je pracovat s přirozenou dětskou touhou poznávat a zkoušet nepoznané. Ukázat jim a nenápadně je navést k tomu, že namísto pasivních příjemců, budou umět sami obsah vytvářet a přitom si hravou formou procvičí logické uvažování a rozvinou kreativitu. Při řešení problémů, před které je i nejjednodušší programování klade, si sami vytvářejí a testují hypotézy, pracují s kategoriemi, vybírají důležité informace před těmi nepodstatnými, vidí před sebou big picture, ale současně nezanedbávají detaily. Když děti programují, učí se přesně a analyticky přemýšlet o nepředvídatelném světě kódu, hledat řešení tady a teď. Scratch, JavaScript and companyBěhem pěti dnů na letních táborech Learn2Code se děti seznámí s programovacími prostředími Scratch alebo JavaScript. Naučí se jak vytvořit a rozpohybovat jednotlivé postavičky, jednoduchý příběh nebo simulaci s nejrůznějšími animacemi a zvuky. Programovací prostředí Scratch je vhodné jako vstupní brána do programování pro děti. Usnadňuje dětem zvyknout si na architekturu příkazů. Scratch tábor se hodí pro děti, které umí plynuleji psát, číst a počítat – ideální věková hranice je 9 let. Novinkou je denní tábor v programátorském jazyce JavaScript, od kterého je to už jen krok k vývoji mobilních aplikací a her. Zájemce nebo zájemkyně o JavaScript bude kódy přímo psát, věkovou hranici jsme mírně oproti Scratchu zvýšili na 11 let.[Deti sa v tábore naučia programátorský jazyk JavaScript] Chcete vidět a vědět, co je náplní programovacích jazyků? Není nic snazšího, získejte představu v online kurzech Scratch Starter a JavaScript Games. V Learn2Code chceme, aby děti přežily 5 plnohodnotných dní, a tak po vydatném kódování, pro ně máme připravené aktivity, které posílí jejich týmového ducha mimo počítač – budou soutěžit v kvízech, procvičí si prostorovou představivost, vyřádí se v Laser tag aréně, procvičí si argumentaci. Kromě smysluplného programu klademe rovněž velký důraz na kvalitní lektori, na kterých máme od našich pravidelných návštěvníků, pozitivní odezvy. Pokud chcete, aby vaše dítě zažilo fajnový letní týden, přihlaste ho do Learn2Code letního tábora. Po jeho absolvování si osvojí univerzální syntaxi programovacího jazyka, naprogramuje vlastní hru a otevře se mu cesta ik náročnějším programátorským výzvám. Více než polovinu míst už máme zaplněnou, tak pokud ještě váháte, neváhejte.
Galaxiáda 2019. Co nás naučil druhý ročník soutěže?
Události
29.05.2019
Katarína Kučáková

Galaxiáda 2019. Co nás naučil druhý ročník soutěže?

24. května se v coworkingovém prostoru Banka Žilina setkalo přibližně 80 lidí. Byli mezi nimi soutěžící, učitelé, rodiče. Děcka přišli soutěžit v programování ve vzdělávací hře GalaxyCodr a tvorbě her. Učitelé a rodiče přišli zjistit, jestli vůbec celé to klikání do počítačů má pro děti smysl a mělo by být součástí vzdělávání. [Image] Pro nás jste všichni vítězové! Z každé strany posloucháme, jaké nástrahy pro děti internet představuje. Praxe však přináší mnoho zajímavých pozitivních příkladů, o kterých přišel popovídat i Michal Čadecký z projektu First Lego League a Zuzka Tanková z dobrovolnického programu Business Leader Forum. Jano Horváth z Teach for Slovakia zase například učí informatiku děti, které nikdy neviděly klávesnici a ví, jaké digitální dovednosti využijí děti, které nedokončí základní školu. Jeho případová studie výuky informatiky dokazuje, že sociální média umí zvýšit gramotnost dětí, pro které čeština není rodným jazykem. [Image] [Image] [Image] [Image] Naši soutěžící však byli pro zúčastněné nejlepší případovou studií. Jak se ukázalo, už v mladém věku dokážou vytvářet komplexní a funkční hry s příběhem. Tak nějak se všichni shodli na tom, že pokud naučíme děti digitální média správně využívat, dokážou velké věci. Přece jen se celý svět digitalizuje a "těm počítačům a internetům" se už nevyhnou. Navíc má Evropské Unii do roku 2020 chybět půl milionu specialistů a tento trend jen poroste. Proč tedy dětem zakazovat něco, co je baví a může je v budoucnu docela dobře uživit? Na závěr chceme poděkovat všem účastníkům Galaxiády a samozřejmě, našim partnerům, Nadaci Orange a Fondu na podporu umění. Bez jejich podpory by tento event zůstal jen v našich hlavách. Děkujeme![Image]