Heading

Perex Html

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]
Java 10 a 11 – vybrané programátorské změny
Tipy a triky
22.05.2019
Skillmea

Java 10 a 11 – vybrané programátorské změny

Zajímá tě, jaké změny se udály v Java 10 a 11? Čti článek a vše podstatné se dozvíš. Java 10VarOd verze 10 je dostupná možnost nespecifikovat typy proměnných pro lokální proměnné, pokud je umí kompilátor zjistit z pravé strany. Namísto napsání typu stačí napsat nespecifikovaný typ a to var. var list = new ArrayList<String>(); Kompilátor umí zjistit, jakého typu je dopis a tedy nelze přidávat čísla do dopisu, ale pouze String. var list = new ArrayList<String>(); list.add("Jaro");Var se nebere jako klíčové slovo, ale jako nespecifikovaný typ. Tedy nemůžeme vytvořit třídy s názvem var, ale lze vytvořit metodu s názvem var. //error String return(){ return ""; } //ok String var(){ return ""; }Nová metoda na kolekcíchU kolekcí přibyla metoda copyOf, která zkopíruje jednu kolekci do druhé. List<String> list = List.of("Jaro", "Fero", "Duro"); Set<String> set = Set.copyOf(list); List<String> listCopy = List.copyOf(set); Map<Integer,String> map = Map.of(1,"Jaro",2,"Fero"); Map<Integer,String> map2 = Map.copyOf(map);Java 11Var v lambda výrazechLambda výrazy podporují typ inferenci, což znamená, že pokud používáš proměnnou v lambda výrazu, tak java kompilátor umí zjistit, jakého je typu a nemusíme typ zadefinovat. list.stream() .map(s -> s.toLowerCase()+".") .collect(Collectors.toList());V předchozích verzích jevy jsme nedokázali psát anotace k proměnným uvnitř lambda výrazu, které neměly zadefinovaný typ. Od verze 11 je to možné, brzy – nemusíme nadefinovat specifický typ, stačí napíšeme-li var. list = list.stream() .map((@Notnull var s) -> s.toLowerCase()+".") .collect(Collectors.toList());Jednodušší spuštění programuPokud si napíšeš jednoduchý program a chceš ho spustit v konzoli, tak jej musíš nejprve zkompilovat přes příkaz javac a poté spustit přes příkaz java. Nyní stačí, když rovnou spustíš .java soubor pomocí java příkazu. Stane se to, že se automaticky soubor zkompiluje a spustí. java Main.java java.lang.String metodyVe třídě String přibyly nové metody. isBlank() – vrací true, pokud je řetězec prázdný nebo obsahuje jen bílé znaky lines() – ze Stringu se vrátí stream řádků – pokud stream obsahuje oddělovače řádků java.util.function.Predicate notPředstavme si takový kód: lines.stream() .filter(s -> !s.isBlank())Pomocí Predicate.not vypadá krásnější a čitelnější: list.stream() .filter(Predicate.not(s -> s.isBlank()));S výhodou použití method reference: list.stream() .filter(Predicate.not(String::isBlank));Použijeme-li statický import: list.stream() .filter(not(String::isBlank));Pokud tě zaujal článek a chtěl by ses dozvědět více, tak klikni na moju stránku a přesuň se na to, co tě zajímá. Programování, kurzy, videa zdarma a jiné záležitosti. Klikej na www.jaroslavbeno.cz
Vyhlášení výsledků soutěže #studujonline je tady!
Novinky
17.05.2019
Skillmea

Vyhlášení výsledků soutěže #studujonline je tady!

I ty jsi nám v uplynulých třech týdnech poslal kreativní příspěvek, jak studuješ některý z našich kurzů? Čti tedy dál a možná se najdeš mezi výherci! V první řadě děkujeme za všechny vtipné a kreativní příspěvky, které dokázaly, že studovat lze opravdu odkudkoli. Zároveň nás překvapilo, že někteří chtěli vyhrát až tak moc, že se uchýlili k nečestným praktikám získávání interakcí. Mnozí účastníci soutěže si nakoupili "fake lajky" z Asie a jiných exotických destinací. Považujeme to za nefér. A přestože jsme měli v pravidlech soutěže uvedeno, že vyhraje post s největším počtem interakcí, rozhodli jsme se to změnit. Určitě je to i naše chyba, přiznáváme, poučili jsme se. V budoucnu už vítěze nemůžeme hledat zmanipulovatelnou cestou. O konečném pořadí v soutěži #studujonline jsme rozhodli interním hlasováním, o vítězích tak rozhodl náš tým Learn2Code a naši lektoři. Kostky jsou vrženy, pojďme na výsledky! 1. místo: iPad + roční předplatné online kurzů 2. místo: roční předplatné online kurzů 3. místo: 3-měsíční předplatné online kurzů    Pokud jsi mezi výherci, gratulujeme a ještě dnes ti napíšeme zprávu na Instagramu a dohodneme se na převzetí výhry. Když ses zapojil/a, ceníme si tvou snahu a děkujeme za příspěvek. Pokud se ti i nepodařilo vyhrát, určitě nezoufej a nepřestávej se vzdělávat. Tvoje schopnosti jsou koneckonců největší výhrou, proto dnes na Learn2code najdeš již více než 80 online kurzů!
Rozhovor s lektorem kurzu Linux
Rozhovory
13.05.2019
Skillmea

Rozhovor s lektorem kurzu Linux

Dnes tě čeká rozhovor s naším lektorem Jančim Kunem, který se postaral o nový online kurz Linux pro začátečníky II. Vypráví ti o svých těžkých začátcích v IT, proč se nenechal odradit a co ho motivovalo stát se lektorem v Learn2code. Na závěr má Janči pro tebe vzkaz, doufáme tedy, že se dočteš až k němu. :) Na začátek něco o tvé práci. Co tě zaměstnává?Spousta věcí. Asi přejděme k další otázce (smích). V podstatě mou náplní práce je z 50 procent to, aby věci fungovaly (linuxy, webservery, DB, různé korporátní aplikace) a dalších 50 procent je vývoj (php, docker, testy). Na jakých projektech jsi pracoval/pracuješ?Projekty, na kterých pracuji, jsou většinou korporátní, a tedy podléhají utajení (smích). Raději bych mluvil o tom, co mám v plánu vytvořit v rámci svého soukromého portfolia. A vlastně to prozradit nemůžu, protože ani konkurence nikdy nespí. Tak zkusím jinak. Zkoušeli jste už OnlyOffice? Před nějakým rokem nebo dvěma jsem byl zodpovědný za překlad do českého a slovenského jazyka, a tehdy se nám v krátké době podařilo dostat se z pár procent na asi 99. Pokud se tedy při práci s OnlyOffice setkáte se špatným překladem, víte, na koho se máte obrátit. (smích) A jak ses k Linuxu a serverům vůbec dostal?Náhodou. Jak jsem již zmiňoval ve videích, s Linuxem jsem měl jaké-také zkušenosti, ale ne pracovní. Všechno to byly spíše domácí pokusy a bezmyšlenkovité klikání ve snaze dozvědět se o programu co nejvíce. V práci mimo IT sféru jsem byl docela spokojen, měl jsem totiž pravidelný plat a dostatek volného času. Zvrat přišel, když mi zemřel otec. Musel jsem se začít obracet, začal jsem se intenzivně učit, rozšířil jsem si znalosti v různých oblastech IT a šel s kůží na trh. Vyměnil jsem pohodlí a jistotu své dosavadní práce za zcela neznámý svět a cítil jsem se v něm jako trpaslík mezi giganty. Moc mi tehdy pomohl kamarád, který mi pomohl ukázat, co vím a uplatnit se v IT. Díky němu jsem se nenechal odradit těžkými začátky a jsem tam, kde jsem. Proč ses rozhodl spolupracovat s Learn2Code a připravit online kurzy?O Learn2Code vím v podstatě od jeho začátků. Byl to zejména Yablko a Yablkove kurzy Php a Laravelu, které mi daly obrovské množství odpovědí na otázky a chuť něco reálného v php začít dělat. Do té doby to byly takové jen pokusy a nic konkrétního, chyběl mi návod v češtině. A pak jsem našel jeho kurz, navíc Yablkův výklad byl srozumitelný a zajímavý, chytlo mě to a díky němu se mi podařilo posunout v této problematice. Ani léty však nepřicházelo žádné video o Linuxech, tak jsem si řekl, že se pokusím i já podělit s informacemi. Aby si lidé nemysleli, že se musí učit jen design nebo programování. Co všechno se člověk naučí ve tvých kurzech o Linuxu a serverech?Ale při mých videích se člověk naučí především trpělivosti (smích). Neboť jakkoli mám snahu udělat to video zajímavé a poučné, jakmile zasvítí kontrolka na mikrofonu, tak se zaseknu, zakoktám se a ústa se mi otevírají, aniž bych je ovládal. Ale asi to tak vnímám jen já. Ve videích popisuji, jak se Linux a linuxové příkazy používají. V jednom kurzu se nedá obsáhnout všechno, a to navíc ani není cílem. Cílem je ukázat lidem, kteří s Linuxem nikdy nepracovali, jak se ten systém vlastně používá a ovládá. Takže procházím postupně jednotlivé příkazy, vysvětluji, jak a proč se používají. Kromě toho vyšel i kurz o Serverech, kde se snažím ukázat, jak tyto (a nejen tyto) informace využít k tomu, abyste si uměli postavit vlastní web server, přidat k tomu databázi, ssl certifikát atp. V průběhu letošního roku se chystám natočit i druhou část, kde se zase podíváme na nějaké nové věcičky, které můžeme na serverech mít a využívat. Ale ještě předtím otevřu třetí oblast a ta se bude věnovat scriptování v Linuxovém Bashi. Tím bychom mohli mít pokryto asi 2% práce s Linuxy. A ano, procento jsem si vycucal z prstu a reálně to bude ještě méně (smích). Je v této oblasti třeba sledovat aktuální trendy a inovace? Jak jsi na tom ty?Samozřejmě. Tak jako ve všem, i zde je třeba sledovat, co je nového. Ale týká se to zejména aplikací, které pokud musíme pravidelně updatovat, tak je třeba sledovat changelogy, fóra a gitlaby daných aplikací. Po updatu totiž nemusí fungovat něco, na co jste byli zvyklí, nebo to může fungovat jinak. Případně pokud jste zvyklí používat něco na ubutnu 16ce, tak na 18ce může tentýž program vyžadovat jiná nastavení. A samozřejmě to, co je platné pro Ubu nemusí, respektive nebude fungovat na CentOS a tak. Takže upravuji své původní tvrzení o rozdělení práce z 50:50 na 40:50:10 (smích).   [Image] Co tě nejvíc baví na tvé práci?Nejvíce mě baví to, že rychle ubíhá. Ha-ha. Neskutečně. Když jsem dělal něco, co mě nebavilo, tak se čas vlekl a nudil jsem se. Však to možná znáte. Ale v IT se neustále učíte, v něčem vrtáte. Přesněji řečeno, jeden den jste možná o něčem letmo slyšeli, druhý den to studujete a třetí den už s tím musíte umět pracovat. Druhá věc je pohodlí. Pokud máte možnost, tak pracujete z domova, v pyžamu, pantoflích a nemusíte vidět žádné lidi. Nemusíte cestovat ve špatném počasí do práce. Problém je jen tehdy, když vypadne elektřina. Jaké jsou tvoje další aktivity?Od té doby, co jsem naplno v IT, nemám čas na nic. Dříve jsem chodil občas na hory, na kolo, četl knihy, okopával v zahradě, fotografoval nebo jen tak díval večer na hvězdy. Teď už ani nevím, jestli mi foťák funguje, v podstatě půl dne strávím prací na různých projektech a těch pár zbývajících hodin strávím s rodinou nebo prací v okolí domova. To asi nezní fajn. Ale v podstatě si za to můžu sám, pracuji na mnoha projektech, zejména v zimě, kdy kromě lyžování nemám co dělat. V létě si dám pauzu od určitých projektů a najde se čas i na zábavu. Jaké máš plány do budoucna?Poprosit Škodovku, ať mi darují Kodiaqa (smích). A pak cesta do vesmíru. Ten mě fascinuje nenormálně. Ale z těch, řekněme reálných věcí je to taková slovenská klasika: Postav dům, zasaď strom, ... Co se týká pracovních plánů, ty nemám, neboť ať si naplánuji cokoliv, vždy to dopadne úplně jinak. Určitě bych chtěl dokončit a zrealizovat své nápady, kterých je nepočítaně. Každý rok se chci do toho pustit, ale vždy mi do toho něco skočí. A i když mám něco rozpracovaného a odloženého, s přibývajícím časem je to starší a starší, a tak to zapadne prachem. Krátký odkaz všem čtenářům na závěrNebojte se IT, zkoušejte a vrtejte se ve všem. Zkoušejte programovat, zkoušejte design, zkoušejte linuxy, zkoušejte všechno. Pořád. Každý den si najděte něco, co budete dělat. I když jen hodinku po večerech, kdy si splníte své manželské a ostatní povinnosti. Jen tak se naučíte, jak věci pokazit a jak je opravit. A to je důležité. Poučit se ze svých chyb a najít řešení. Časem se přirozeně vykrystalizuje, co vás baví a čemu se chcete věnovat. Určitě nezoufejte, když vám něco nejde. A určitě nepůjde. Tehdy si v pohodě udělejte kávu, pomodlete se (ten můj nahoře má jméno Anton) nebo si jděte zaběhat. Jen nepřestávejte. Máš na Jančiho nějaké dotazy? Napiš je směle do komentáře Pokud tě zaujala Jančiho práce a chtěl/a by ses zdokonalovat v této problematice, ve spolupráci s Jančim jsme pro tebe připravili kurzy Linux pro začátečníky, Linux pro začátečníky II. a Servery pro začátečníky.