Heading

Perex Html

Lambda výrazy v Jave - časť II.
Tipy a triky
23.08.2019
Skillmea

Lambda výrazy v Jave - časť II.

Typy lambda výrazovTento článok je pokračovaním prvej časti tutoriálu o Lambda výrazoch. Vráťme sa k nášmu príkladu na začiatku, kde sme do metódy vložili implementáciu rozhrania a zavolali sme metódu. Toto si teraz skúsime spolu prerobiť, tak aby sme použili lamba výraz.  HelloWord2.  Prepíšme metódu implementácie na lambda výraz. public void sayHello() { System.out.println("HelloWord impls"); } () -> System.out.println("HelloWord impls"); Znovu tá istá otázka, aký typ má lamba výraz ak ho chcem priradiť do premennej?  lambdaFunkcia = () -> System.out.println("HelloWord impls");Počkať! V Jave predsa máme možnosť ako deklarovať, vymenúvať metódy a tú použijeme. Tou možnosťou je použiť rozhrania.  1. vytvorenie rozhrania s jednou deklaráciou metódy  2. vytvorenie metódy, ktorá odpovedá našemu lambda výrazu  1. v našom prípade nemá žiadne argumenty a návratová hodnota je void  Ak by sme vytvorili rozhranie, kde budeme uvádzať viacero metód, tak to bude chyba. Jedine ak budú default – teda implementované. Viď sekciu o rozhraniach.  ILambda lambdaFunkcia = () -> System.out.println("HelloWord impls"); … public interface ILambda { void metoda(); // void metoda2(String s); // bude error } Použime lambda výraz s bezpečným delením. Napíšme si k tomu interface a premennú: 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); }Tu si môžeme povedať, že názov rozhrania a názov metódy v rozhraní nie je dôležitý. Dôležité je, aby sedeli vlastnosti. Teda rozhranie má len jednu metódu (mimo default metód) a metóde sedí typ návratovej hodnoty a parametre metódy. Implemetačnú triedu už teda nepotrebujeme, lebo akoby implementáciou je lambda výraz. Môžem si to nechať, ak to potrebujem takto používať, ale v našom prípade nepotrebujem implementačnú triedu.  Lambda výraz sa správa ako implemtnácia rozhrania. Ale nie je to implementácia. Tento príklad bude fungovať:  HelloWord3 helloWord = new HelloWord3(); IHelloWord helloWord1 = new HelloWordImpl(); IHelloWord helloWord2 = () -> System.out.println("HelloWord impls lambda"); helloWord1.sayHello(); helloWord2.sayHello();Na výstupe bude:  HelloWord impls  HelloWord impls lambda Pokračovanie nabudúce 😗 Mrkni zatiaľ moje kurzy o Java programovaní alebo videá, ktoré máme na Youtube o Lambda výrazoch: https://www.youtube.com/watch?v=tzSFOgnDZZo&list=PL5dKLQR6-HyU7jyoTuZGFmPLAEFpIumi4
Tipy, triky a chyby v jazyku C++ pre začiatočníkov
Tipy a triky
04.08.2019
Skillmea

Tipy, triky a chyby v jazyku C++ pre začiatočníkov

Týmto článkom by som vám chcel predstaviť zaujímavé tipy a triky v jazyku C++, ktoré by ste mohli použiť vo vašom kóde. Sú veľmi jednoduché, pretože sú určené pre začiatočníkov. Navyše by som vás chcel upozorniť na niektoré často sa opakujúce chyby, ktoré sa vo vašom kóde môžu na začiatku vyskytovať. Nejedná sa o chybu v pravom zmysle slova, teda nie takú, po ktorej by bol váš kód nepreložiteľný, skôr sa jedná o obrúsenie vášho programátorského štýlu, či vytvorenie takého kódu, ktorý bude rýchlo vykonávaný. Poslednú spomínanú vlastnosť dosiahnete s C++ ľahko, pretože kódy, ktoré navrhnete v C++ sa vykonajú oveľa rýchlejšie ako tie, ktoré navrhnete v iných jazykoch. Viem programovať vo viacerých jazykoch a preto to mám skutočne odskúšané. Pamätajte, že C++ to však nevykoná za vás, pretože aj tam sa dá vytvoriť veľmi špatný kód. Zámerne so použil termín špatný, hoci nie je odborný. Myslím tým kód, v ktorom zlým štýlom a technikou nedosiahnete požiadavky, ktoré sa na kód kladú. Príkladom môže byť práve rýchlosť vykonávania spustiteľného kódu, jeho prehľadnosť, či ľahká udržiavateľnosť. V nasledujúcich riadkoch vám to na pár príkladoch ozrejmím. Príklady tipov, trikov a chýbUrčite ste sa už v programovaní pokúšali naprogramovať jednoduché matematické operácie. Majme teda nasledovný 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; }Najprv by som sa vás chcel spýtať, či sa vám takto napísaný kód na prvý pohľad páči. Myslím tým po koncepčnej stránke. Prvou chybou je, že začínajúci programátori neodsadzujú bloky kódu. Tak napríklad tento kód by sa dal pekne odsadiť pomocou nasledujúcich pravidiel. Oddeľte direktívy preprocesora od hlavičky funkcii main(). Oddeľte deklarácie a definície premenných od zvyšku kódu. Niekedy, keď budete používať veľa premenných, môžete aj jednotlivé deklarácie premenných usporiadať do logických celkov. Môžete vytvoriť bloky kódu podľa typu premennej. Navyše, jazyk C++ vám umožňuje deklarovať a inicializovať premennú namieste, kde to skutočne potrebujete, čiže predtým, ako ju použijete. Ďalej, v tomto kóde oddeľte nosnú časť kódu a to vytvorte blok kódu, kde sa vykonávajú jednotlivé matematické operácie. Nakoniec, oddeľte zápis na obrazovku a tiež načítanie zo vstupu klávesnice. Potom už len oddelíte kľúčové slovo return s jeho návratovou hodnotou. Po spomenutých úpravách vám vznikne čitateľný kód, ktorý vyzerá nasledovne: #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; }Keď sa ďalej pozrieme na kód, môžeme niektoré deklarácie umiestniť na jeden riadok. Konkrétne prevedenie nechám na vás, ale ja by som odporúčal deklarovať na jednom riadku premenné, ktoré sa neinicializujú hneď na začiatku súčasne s deklaráciou. Na druhý riadok by som umiestnil premenné, ktoré sa inicializujú súčasne s deklaráciou. Takto získate ešte väčší prehľad v kóde a ušetríte 4 riadky kódu. Kód bude vyzerať nasledovne: #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; }Teraz prejdeme k spomínanej rýchlosti. Je mi jasné, že pri tak krátkom kóde ušetríme relatívne málo času, ale keby sa nosná časť kódu, čiže tri matematické operácie s priraďovaním, vykonávali v cykle napr. 1 000 000 krát, videli by ste zaručene rozdiel. V uvedenom príklade nie je nutné použiť 7 premenných a výsledok vyhodnocovať na trikrát. Výsledky  b + c a  e - f  sa vynásobia a priradia do ďalšej premennej. Tak, ako to je naprogramované, je to zbytočné. Skúste všetko vyhodnotiť ako jeden výraz a priradiť na jednom riadku. Vznikne nám kód, ktorý bude mať o dva riadky menej a bude vykonávať to isté. A v čom je vlastne problém. No v operátore priradenia. Táto operácia je príliš časovo náročná. V podstate sa musí presunúť hodnota premennej uložená na jednom pamäťovom mieste do pamäťového miesta, ktoré je určené pre inú premennú. A po kurze už viete, že počítač pozná len 0 a 1. Organizačne existuje najmenej jeden bajt. Nespomínal som síce, čo je zásobník, ale keď sa pohybujeme v jeho pamäti, trvá to ešte dlhšie. Vráťme sa ale späť, po úprave bude kód vyzerať nasledovne: #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 poďme ešte ďalej. Na čo vôbec v tomto kóde používame premenné, keď ich nenačítavame s vstupu. Výsledok kombinácie matematických operácií môžeme predsa zapísať rovno na obrazovku, bez toho, aby sme hodnoty priraďovali do premenných. Odstránime tým aj deklarácie. Po konečnej úprave, bude kód vyzerať nasledovne: #include <iostream> int main() { std::cout << "res = " << (-1 + 4) * (2 - 3) << std::endl; std::cin.get(); std::cin.get(); return 0; }Záverom by som teda znovu chcel zdôrazniť, aké sú programátorský štýl a technika dôležité. Vidíte, že z 18 riadkového kódu, ktorý sme získali odsadením pôvodného kódu, nám po niekoľkých úpravách zostal kód, ktorý má 8 riadkov.  A tento kód, hoci je malý, je laicky povedané, pekný. To znamená, že sa jeho spustiteľný kód vykoná rýchlo, je prehľadný a ľahko udržiavateľný. Autorom blogu je Marek Šurka, ktorý má na Learn2Code online kurz C++ pre začiatočníkov.
7 otázok na nového lektora Mareka Šurku
Rozhovory
25.07.2019
Skillmea

7 otázok na nového lektora Mareka Šurku

Dnes ti predstavíme človeka, vďaka ktorému môžeš na Learn2Code najnovšie študovať aj programovací jazyk C++. Náš nový lektor Marek Šurka alias Kamas sa jazyku C++ venuje už od svojich 20 rokov a v kurze ťa prevedie od jeho úplných základov až k zložitejším technikám. Prečo sa rozhodol vytvoriť kurz programovania a ako sa k jazyku C++ vôbec dostal? Dozvieš sa v rozhovore!👇[Image] Prečo si sa rozhodol pre vytvorenie kurzu v spolupráci s Learn2Code?V podstate som už dlho hľadal spôsob, ako odovzdávať svoje skúsenosti s programovaním ďalej.  V Learn2Code som našiel ideálne riešenie. Hovorím práve o online kurzoch, ktoré môžete absolvovať pohodlne kdekoľvek, v akomkoľvek čase a v dávkach, ktoré si sami určíte. Ja sa tak tiež ako lektor nemusím obmedzovať na konkrétny čas a miesto. Čo sa ľudia naučia v tvojom online kurze?V  kurze ľudia získajú prvé skúsenosti s jazykom C++. Nie je to však rýchlokurz, v priebehu ktorého sa človek naučí všetko o C++. Výstupné znalosti sú na úrovni začiatočníka, keďže som sa snažil ísť viac do hĺbky.  Nájdete tam informácie z programovania a matematiky. Plánujem postupne doplniť túto tému, pretože programovanie v jazyku C++ nie je totiž téma na jeden, dva kurzy. [Image] Kde a na akej pozícii v súčasnosti pracuješ?Pracujem ako programátor-analytik v spoločnosti, ktorá sa venuje automatizácii a diagnostike.  Dlhodobo pracujem na projekte, kde sa venujem robotike a programovaniu priemyselných zváracích robotov. Vyvíjam Frontend aj Backend. A baví ma to :)  Ako si sa k programovaniu a jazyku C++ dostal?Už na strednej škole som sa stretol s jazykom Turbo Pascal, v rámci jedného predmetu sme dokonca programovali mikroprocesory v jazyku Assembler.  Musím sa priznať, na začiatku mi to veľmi nešlo. Nakopol ma až programovací krúžok a najviac mi dala vysoká škola, kde som totálne drvil jazyk C++ a SQL. [Image] Čo ťa baví na tvojej práci?Aj keď možno nebudú všetci súhlasiť, programovanie je aj tvorivá činnosť, sám sa neustále vzdelávam a učím a len taká práca má pre mňa zmysel.  Dnes je obrovský dopyt po programátoroch. Čo by si poradil všetkým, ktorí nemajú žiadne skúsenosti, ale chceli by nejako začať?Aby sa nevzdávali a boli draví. Nikto nie je na začiatku expert.Ani Jazyk C++ sa nedá teoreticky naučiť na úroveň expert, to chce prax. Hlavne odporúčam, aby boli ľudia sami hladní po vedomostiach.  Najlepšie sa niečo naučíte, keď vás to baví. Sú ľudia, ktorí sú výnimočne talentovaní, no nebaví ich programovať. Ďaleko viac dosiahne menej nadaný človek, ktorého programovanie zaujíma. Potom sa učí s ľahkosťou. Jednoducho programujte, čítajte, pozerajte kurzy, diskutujte na fórach, porovnávajte. Učíte sa pre seba. [Image] A čomu sa venuješ vo voľnom čase?Venujem sa manželke a dcére, chodíme na výlety. Je to nevyhnutné, keď človek každý deň pracuje s počítačom. Okrem toho rád čítam, najviac odbornú literatúru. Rád sa učím. A snažím sa športovať. Najradšej mám plávanie a hokej, ktorému sa amatérsky venujem. Marek, ďakujeme za rozhovor. Páčil sa ti rozhovor? Venuj mu 👍  Ak máš na Mareka nejakú otázku, napíš ju dole do komentára 👇   Ak chceš zistiť viac o Marekovom kurze C++ elementary, pozri si intro do online kurzu! 
Lambda výrazy v Jave - časť I.
Tipy a triky
21.07.2019
Skillmea

Lambda výrazy v Jave - časť I.

V tomto a v nasledujúcich článkoch sa pozrieme na zúbok lambda výrazom. Budeme si ich vysvetľovať úplne dopodrobna, aby sme ich pochopili a využívali. Obsahovo sa zameriame na tieto oblasti: 1. porozumenie lambda výrazom, 2. použitie lambda výrazov, 3. funkcionálne rozhrania (functional intefaces), 4. referencie metód (method references), 5. vylepšenia na kolekciách. Prečo použiť lambda výrazy? Povieme si pár odrážok, prečo ich používať.  • povoľuje použiť takzvané funkcionálne programovanie, čo je doteraz niečo, povedal by som čudné, keďže Java je objektovo orientovaný jazyk, • sprehľadňujú kód, lepšia čitateľnosť v niektorých prípadoch, kde by sme použili viacero zbytočných riadkov, aby sme napísali to isté. Možno sa zamýšľaš, prečo používať funkcionálne programovanie v jazyku, ktorý je objektovo orientovaný. Už nie je OOP tak dobré? Už zanikne? Nie, nezanikne a java je a myslím si, že stále bude objektovo orientovaný jazyk. Toto funkcionálne programovanie ber len ako ďalší nástroj, ktorý ako vývojár máš vo svojej ruke.  Pri OOP sú vývojári zvyknutí rozmýšľať v podstatných menách, v objektoch, v triedach. Napríklad Pes šteká. Štekanie je súčasťou Psa. Tým pádom metóda, ktorá bude zabezpečovať psie štekanie, je súčasťou triedy Pes.  Niekedy ale potrebujem kus kódu, metódu – alebo inak povedané funkciu, ktorá nepatrí do žiadnej triedy špeciálne.  Podsunutie chovania do metódyUvažuj nad tým, že máš metódu, ktorá na konzolu vypíše nejaký text. Napríklad staré známe Hello World. Pre tento účel by sme si vytvorili triedu, ktorej by bola metóda na vypísanie Hello Word. Túto metódu by sme potom vypísali na konzolu v main metóde. Príklad v idea Lambda2.  Našou úlohou bude teraz prerobiť tento kód tak, aby som danej metóde podsunul správanie a vo vnútri tej metódy sa len vykoná to správanie. Ukážme si na príklade.  Takže sme spravili, čo sme chceli. Do metódy sme podsunuli správanie ako argument a potom sme ho vykonali.  Ale nie tak presne. Do metódy sme podsunuli niečo, čo má v sebe správanie. Podsunuli sme implementáciu rozhrania, ktorá má v sebe metódu, ktorá vykoná očakávané správanie sa.  Práve tomuto chcú lambda výrazy zabrániť. Chcú zabrániť tomu, aby sme podsúvali objekty, ale chcú, aby sme podsúvali funkcie.  Namiesto tohto:  public void printHelloWord(IHelloWord helloWord){ helloWord.sayHello(); } chceme do metódy vložiť nejakú akciu, nejakú funkciu. Tento prístup umožňuje správať sa k funkciám ako k hodnotám. public void printHelloWord(funkcia){ funkcia(); } Ak napíšem String meno = “Jaro”;  tak som hodnotu Jaro pridelil do premennej meno. Teraz sme ale načrtli, že do nejakej premennej by sme chceli vložiť blok kódu, ktorý prezentuje našu funkciu. Takže blok kód by sa stal hodnotou a tá by sa dala vložiť do premennej. Takže tam, kde používam danú premennú, tak tam používam aj danú funkciu, ktorá je v nej.   Pre predstavivosť, chceme dosiahnuť toto:  premennaSFunkciou = public void sayHello() { System.out.println("HelloWord impls"); } Toto je možné pomocou lambda výrazov. Najprv sa ale pozrime na tento kus kódu a povedzme si, čo nepotrebujeme: • public – označuje mi, či je niečo verejne dostupné mimo triedy, dáva zmysel v kontexte triedy, tu ale prideľujeme do premennej, tak to nepotrebujeme, lebo funkcia je dostupná tomu, kto pracuje s danou premennou. premennaSFunkciou = void sayHello() { System.out.println("HelloWord impls"); } • názov sayHello = ak pristupujeme k hodnote, ktorá je v premennej, tak ku nej pristupujme názvom premennej, v našom prípade je názov premennej premennaSFunkcou, takže ani druhé meno nepotrebujeme. premennaSFunkciou = void () { System.out.println("HelloWord impls"); } • typ návratovej hodnoty – pri písaní lambda výrazov nemusím písať, aký je návratový typ, prekladač vie, podľa vnútra metódy, čo sa vracia. premennaSFunkciou = () { System.out.println("HelloWord impls"); } Toto ale ešte nie je labmda výraz. Ak napíšem šípku (pomlčka - a znamienko väčšie >) medzi zátvorky a blok kódu, tak vtedy sme vytvorili labmda výraz.  premennaSFunkciou = () -> { System.out.println("HelloWord impls"); } Ak metóda obsahuje len jeden riadok, teda nie viac riadkov, tak je možné ďalej upraviť tento výraz a to tak, že odstránime zložené zátvorky. Ak je viac riadkov, tak zložené zátvorky ponecháme.  premennaSFunkciou = () -> System.out.println("HelloWord impls"); Teraz si už vieme predstaviť, spraviť, to, že pošleme funkciu ako parameter metódy a vo vnútri spustíme danú funkciu.  public void printHelloWord(------){ -----(); }Do metódy môžeme vložiť ako argument pri volaní metódy priamo lambda výraz.  printHelloWord(() -> System.out.println("HelloWord impls")){ PríkladyNapíš metódu, ktorá zoberie ako parameter číslo a vynásobí ho 5timi. nasobokPiatichFunkcia = public int nasobokPiatich(int i){ return i*5; }Prepíšeme to na lambda výraz, vyškrtám všetko, čo nepotrebujem. Teda názov, návratovú hodnotu a modifikátor prístupu.  nasobokPiatichFunkcia = (int i){ return i*5; }Napíšeme tam šípku a keďže riadok je tam len jeden, tak vieme odmazať kučeravé zátvorky.  nasobokPiatichFunkcia = (int i) -> return i*5;Tu máme ďalšiu pomôcku, alebo možnosť škrtať. Keďže java kompilátor pozná vnútro metódy a vie, čo má vrátiť, môžem vymazať aj return.  nasobokPiatichFunkcia = (int i) -> i*5;Keď máme jednoriadkový lambda výraz bez zložených zátvoriek, tak je nevyhnuté nepoužívať return.  SčítaniescitanieFunkcia = (int a, int b) -> a+b;  OdčítanieodcitanieFunkcia = (int a, int b) -> a-b; Bezpečné deleniebezpecneDelenieFunkcia = (int a, int b) -> { if(b==0) { return 0 ; } return a/b; };Spojenie reťazcovstringJoin = (String x, String y) -> x.concat(y);  Stále sme v Jave. Teda v typovom jazyku. Aké sú typy týchto premenných, ktoré v sebe držia lambda výrazy?  Video:Ak ťa viac baví počúvať a pozerať, tak si môžeš pozrieť sériu videí o lambda výrazoch v kurze Java pre pokročilých.  ZáverAk by si sa chcel dozvedieť o Jave viac alebo si nepochopil všetko, tak som aj pre teba pripravil online kurzy o Jave na https://skillmea.sk. Ak sa chceš o mne dozvedieť viac, tak klikaj na jaroslavbeno.sk alebo ma sleduj na sociálnych sieťach – youtube, facebook, instagram, linkedin.  Zakomponujem aj malú reklamu. V spolupráci s tvorcami stoličky Neseda.com ti ponúkam s kódom/kupónom JaroslavBeno 10% zľavu (aplikovateľná aj na zľavnenú stoličku).  Ja som Jaro a my sa vidíme, počujeme ak Boh dá nabudúce.  Čaves.
Instagramové profily, ktoré sa oplatí sledovať
Ostatné
03.07.2019
Katarína Kučáková

Instagramové profily, ktoré sa oplatí sledovať

Možno patríš medzi tých, ktorí si dajú Instagram ešte pred raňajkami. Alebo v ňom len často hľadáš inšpiráciu pre svoju prácu, príspevky. A tak sme trochu presurfovali Instagram a našli zaujímavých ľudí, ktorých sa určite oplatí sledovať. Marketing  visibilitysk (Visibility)Túto online marketingovú agentúru nie je potrebné predstavovať, pretože je dostatočne “visible”. Instagramový život Visibility zobrazuje ľudí, ktorí stoja za dianím v agentúre, mapuje ich prácu, úspechy, office život. Svadby, deti, teambuildingy a konferencie, aj to patrí k životu úspešných marketérov. Nám sa na tomto profile páči prirodzenosť a priestor, ktorý venujú vlastným ľuďom. jandl_advertising (Jandl)Marketingová agentúra Jandl sa môže hrdiť reklamnou kampaňou napríklad pre Coop Jednotu (kto by nepoznal dvoch pošetilých bačov zo salaša), kampaňou Ideme vlakom pre ZSSK, poznáme ich tiež z bilboardov Zoo Bratislava. Na Instagrame nájdeš ukážky ich práce, zábery z natáčania reklamných spotov, ale tiež profily jednotlivých ľudí tvoriacich Jandl a zákulisný život agentúry.   elitesolution (Elite solutions)Taký príjemne neformálny instagramový profil jednej reklamnej agentúry. Veď napokon sa aj prezentujú ako kolegovia a kamaráti v jednom. Aktuálne ste možno zachytili ich kampaň #Nebuďpirát v spolupráci s O2 a známymi influencermi, za zmienku určite stojí ich spolupráca s neziskovou organizáciou DEPAUL SLovensko, kde pomáhajú získavať prostriedky pre ľudí bez domova. Design mikaela220 (Michaela Chmeličková)Milujeme tento farebný a ilustrovaný instagramový profil z planéty 220. Miška je skúsená dizajnérka a ilustrátorka, na rováši má také zaujímavé projekty ako napríklad Curaprox, Biela noc, dizajn tričiek a obalov na telefóny pre Kompót. Vďaka nej sa na tričká dostala aj taká osobnosť, akou je Majka z Gurunu. petra.ziackova_tattoo (Petra Žiačková)Ak sa raz rozhodneme pokresliť, určite to bude tetovačka od Petry Žiačkovej. Petra tiež ilustruje, jej detailné obrázky ťa úplne pohltia a vtiahnu do iného sveta. Magického.  michalslovak (Michal Slovák)Michal robí obaly. Aspoň podľa Instagramu. Nájdeš tam džúsové, čokoládové, mydlové, kávové. Skrátka samé dobré veci. Okrem toho Michal rád cestuje a svetovými fotkami je poprelínaný aj jeho Instagram. Balans musí byť. Nám sa to páči. Foto&Video Patrik Paulíny (patrikpaulinyi)Fotograf a filmár Patrik Paulíny cestuje po svete a na svoj Instagram prináša skvelé zábery. Za svoje príspevky si vyslúžil ocenenie Instagram roka 2018. Patrika preslávil najmä projekt Follow me to Slovakia, ktoré ťa v 2-minútovom videu vezme na cestu za krásami Slovenska. michal_zahornacky (Michal Záhornácky)Michalovým zameraním je umelecká fotografia, snové portréty pôsobia surrealisticky, až rozprávkovo. Na svojom profile zachytil mnohé tváre, nájdeš medzi nimi aj známe osobnosti, každý portrét je jedinečný, rozpráva iný príbeh, emóciu. Zaujímavá je jeho spolupráca s Danielom Hevierom v rámci projektu Chymeros, dobrodružnej výpravy, do ktorej je zapojených už vyše tisíc detí zo základných škôl z celého Slovenska. maria.svarbova (Mária Švarbová)Jej fotografie, inšpirované funkcionalistickou architektúrou a minimalizmom, sú akousi magickou realitou. Mária je mladá fotografka, za svoju jedinečnú tvorbu nedávno získala ocenenia ako Forbes 30 under 30, prestížne ocenenie Hasselblad Master 2018 Máriu radí medzi fotografickú špičku sveta. V slávnej sérii Swimming Pool sa Márii podarilo zmapovať približne 11 slovenských plavární, téma je unikátna. Ak sa zaujímaš o fotografiu, určite odporúčame navštíviť Máriin profil. Tak čo povieš? Necháš sa inšpirovať niekým z týchto šikovných ľudí? 
Tipy, ako ušetriť čas pri práci v Sketchi, Photoshope, Illustratore a InDesigne
Tipy a triky
19.06.2019
Katarína Kučáková

Tipy, ako ušetriť čas pri práci v Sketchi, Photoshope, Illustratore a InDesigne

Práca v grafických programoch sa niekedy podobá na cirkusový chaos. Ikonky, záložky, nekonečný počet nástrojov, pluginov. Vieme, je ťažké sa v tom zorientovať. Preto sme pre teba v spolupráci s lektormi vybrali tipy, ktoré aj nám zjednodušujú život a hlavne šetria čas. Konkrétne sa pozrieme na programy Sketch, Adobe Photoshop, Illustrator a inDesign.  Sketch Sketch je profesionálny ilustračný program pre prácu s vektorovou grafikou, ktorý je dostupný pre užívateľov Mac OS X. Sketch je intuitívny a užívateľsky nenáročný, jeho zvládnutie na profi úrovni však spočíva najmä v malých trikoch. Tu sú niektoré z nich. [Image] • Rotate copies (rotovanie kópií)                                                                                                       Nástroj Rotate Copies ti umožní rotovať kópie určitej vrstvy okolo konkrétneho bodu. Vezmi si napríklad kvet. Stačí vytvoriť jeden lupeň a desiatky jeho kópií môžeš rotovať okolo stredu. Voilá. Tento nástroj sa štandardne nenachádza v paneli nástrojov, ale môžeš si ho pridať cez control-click a “Customize toolbar”, prípadne v menu cez Layer > Path > Rotate Copies. • Convert to outlines (previesť na obrysy) Ako a kedy previesť text na obrysy je nevyhnutnou znalosťou z hľadiska vektorovej kresby. Fonty totiž dokážu narobiť pri tlači veľa problémov. Na druhej strane, ak sa rozhodneš previesť text na obrysy, text sa stane grafikou a po konverzii ho už nebude možné upraviť. Pre konverziu textu na obrysy zvoľ v menu Layer > Convert to Outlines (prípadne stlač Shift-Command-O). • Obnovenie stratených dát Mac má skvelú funkciu, ktorá je kompatibilná aj so Sketchom. Môžeš si tak pozrieť históriu súboru a obnoviť stratené dáta cez File > Revert To > Browse All Versions. • Vnorenie symbolov Vnorený symbol môžeš vytvoriť tak, že inštanciu (kópiu) symbolu umiestniš do iného symbolu na stránku symbolov. Pri vykonaní zmeny rodičovského symbolu sa zmenia všetky jeho inštancie, bez ohľadu na to, či sú súčasťou iného symbolu, alebo nie. Neexistuje limit na to, ako hlboko je možné symbol vnoriť, symbol však nesmie obsahovať inštanciu seba samého. • Zdieľanie súborov cez appky (napríklad Slack) Jednoducho zdieľaj súbory cez appku tak, že potiahneš vybraný file zo sekcie Export - file a vložíš na plochu vybranej appky.  • Export Presets Týmto nástrojom ušetríš nesmierne mnoho času, môžeš si totiž kopírovať prvky zo svojho designu. Vytvorenie jednotlivých presets urobíš pomocou Presets preference panel. • Klávesové skratky Prehľad všetkých užitočných klávesových skratiek nájdeš tu! • Pluginy Užitočné pluginy sú Stark na kontrolu kontrastu, Runner na rýchlejší prístup k funkciám a Rename it + Styles Generator na stavbu knižníc. Adobe Photoshop Photoshop je veľmi obľúbeným nástrojom v oblasti úpravy fotografií a grafiky. Máš už v malíčku všetky jeho zákutia? [Image] • Kopírovanie farby z akéhokoľvek obrázka, vzoru a podobne.  Pomocou nástroja Eyedropper tool máš možnosť vybrať farbu zo zdroja mimo prostredia photoshopu a palety farieb. Jednoducho klikni a podrž nástroj kvapadlo a so stlačeným tlačidlom prejdi na vybranú stránku alebo obrázok. Namier kurzor na plochu s farbou, uvoľni myš a máš k dispozícii novú zadefinovú farbu. • Zmena veľkosti (a tvrdosti) štetca Asi ťa zdržiava neustále meniť veľkosť a tvrdosť štetca pomocou nástrojovej lišty. Najmä pri úpravách ako je retuš, či práca s maskami oceníš klávesovú skratku Alt+pravé tlačidlo myši (Ctrl+Alt+ľavé tlačidlo na Mac). Stačí podržať tlačidlo myši a pri pohybe vpravo-vľavo môžeš meniť veľkosť štetca, pri pohybe hore-dolu zase jeho tvrdosť. • Zmena prelínacích módov (blend modes) Práca s prelínacími módmi je vždy tak trochu experimentovaním, výsledok je totiž ťažké odhadnúť. Ty sa však nechceš zdržiavať dlho, čaká ťa kopec ďalšej práce, preto by si si mal osvojiť zaujímavú skratku Shift+plus. Táto skratka slúži na rýchle testovanie efektov na fotke. • Izolácia konkrétnej vrsty Niekedy môže projekt obsahovať toľko vrstiev, že sa zdá nemožné zobraziť len jednu konkrétnu. Vtedy stačí jednoducho podržať Alt (Option na Mac) a kliknúť na ikonku oka na vybranej vrstve.  • Bird's-eye-view Táto funkcia ti umožní ľahko sa orientovať v jednotlivých častiach obrázka pri detailnom priblížení. Ak si práve použil zoom a chceš prejsť na inú časť bez toho, aby si musel view zmenšovať, klikni a podrž H a potom ľavé tlačidlo myši. Teraz pohybuj kurzorom myši a prejdi na požadovanú oblasť. Uvoľnením tlačidla myši sa vrátiš k štandardnému náhľadu. • Exportovanie všetkých vrstiev do jednej  Potrebuješ exportovať všetky vrstvy do jednej? Aj na to poznáme skratku. Pomocou Control+Shift+Alt+E. (Command+Shift+Option+E pre Mac) spojíš všetky vrstvy do jednej.  • Prehľad klávesových skratiek[Image] Zdroj: www.digitalsynopsis.com • Užitočné pluginy Ak si dizajnér, alebo grafik, určite oceníš plugin RH Hover Color Picker. Ponúka prehľadnú prácu s farbami a  moderné rozhranie, ktoré konečne nevyzerá ako palubná doska v lietadle. Kopec efektov a filtrov ti umožní ON1 Effects, obrázky zase získaš prostredníctvom pluginu Pexels alebo Shutterstock.   Adobe Illustrator Illustrator je veľmi obľúbený pre svoje široké využitie, vytvoríš v ňom všetko od firemného loga, webových ikon, až po knižné ilustrácie. Ak si chceš osvojiť užitočné tipy a triky pre prácu s ním, si na správnom mieste. [Image] • Výber podobných objektov Ak už v Illustratore kreslíš zložitejšie tvary, je užitočné sa naučiť, ako vyhľadať podobné objekty. Ak napríklad chceme zmeniť vlastnosti viacerým objektom, nemusíme prácne objekty vyhľadávať, navyše môžu byť čiastočne zakryté inými objektmi. Stačí vybrať vybrať jeden z objektov, prejsť na Select>Same a vybrať požadované kritérium vyhľadávania objektov (napríklad Fill Colour). Všetky objekty s požadovanou farbou výplne potom systém vyberie a zmení pomocou vzorkovníka farieb. • Nauč sa správne používať Pen Tool Zvládnutie tohto nástroja v Illustratori by malo byť tvojím prvým krokom. Nie je to žiadne umenie a pomocou nástroja Pen Tool získaš väčšiu kontrolu nad tým, čo vytváraš. Výhodou je i jeho univerzálne použitie, keďže napríklad vo všetkých Adobe programoch funguje rovnako. • Použitie Pathfinder na vytvorenie komplexných tvarov Po zvládnutí Pen Tool by si mal upriamiť pozornosť aj na nástroj Pathfinder. Pathfinder umožňuje kombinovať objekty do nových tvarov. Môžete napríklad vrstviť jednoduché tvary a potom pomocou ukazovateľa pohybu ich transformovať na jednotnejší, zložitejší tvar. Existuje niekoľko tutoriálov na použitie Pathfinder na transformáciu základných tvarov na niektoré úžasné umelecké diela.  • Vyrob si vlastné štetce Ilustrátor milujeme, ale je potrebné si v ňom vytvoriť vlastný priestor. Nie všetky jeho základné funkcie sú pre vytvorenie vlastnej grafiky dostačujúce. To platí napríklad i o štetcoch. V Adobe Illustrator existujú 4 základné druhy štetcov: kaligrafické, rozptylové, umelecké a vzorkové. Ty máš ale možnosť pridať si svoje vlastné. Vyber si všetky tvary, z ktorých chceš urobiť štetec. V palete štetcov klikni na malú šípku vľavo vyber "new brush".  • Použi Color CC Ak chceš, aby tvoje ilustrácie vyzerali profesionálne, mali by obsahovať kombinácie farieb, ktoré oku lahodia. To je nie vždy jednoduché a ak nechceš strácať čas ich porovnávaním, určite využi Color CC. Tento nástroj ti umožní vybrať pekné, vkusné kombinácie farieb, navyše ich pridaním do palety farieb budeš mať hneď poruke. • Prehľad základných klávesových skratiek[Image] Zdroj: www.digitalsynopsis.com • Užitočné pluginy Prevezmi kontrolu nad svojimi vektormi pomocou VectorScribe v3, ktorú tvorcovia opisujú ako vektorový švajčiarsky nôž. Ak si začínajúci dizajnér, ktorý sa chce ponoriť do sveta 3D grafiky, určite neobíď plugin Cineware, efektný je aj Gold Rush a Phantasm v3.  Adobe InDesign Podobne ako Illustrator, je InDesign založený na vektorovej grafike. Poskytuje priestor, v ktorom môžeš spojiť všetky všetky svoje ilustrácie a grafiku (napr. z Photoshopu, Illustratoru) a vytvoriť si vlastné interaktívne dokumenty pre web, tlač, mobilné zariadenia a podobne. A aké triky by si si mal osvojiť v InDesigne? [Image] • Vytvorenie viacerých objektov rovnakej veľkosti  Ak chceš vytvoriť viacero objektov rovnakej veľkosti, nastav potrebnú šírku a výšku jedného objektu. Potom je už len potrebné vybrať zostávajúce objekty a zvoliť Object> Transform Again> Transform Sequence Again Individually. • Matematické funkcie v paneli nástrojov povedzme, že máš obrázok v ráme a chceš ho zväčšiť o 1″, pretože by tak pravdepodobne vyzeral lepšie. V paneli nástrojov, konkrétne vo Width field napíš 1 hneď vedľa existujúcej hodnoty. Stlač Tab a InDesign urobí ostatné za teba. Rovnako môžeš použiť i funkcie odčítanie (-), násobenie (*) a delenie (/). • Používaj vyplnenie zástupným textom.  Lorem Ipsum ti určite nemusím predstavovať. V InDesigne nám môže poslúžiť ako zástupný text (pravé tlačidlo > Vyplniť zástupným textom) v návrhoch, kde tento text použijeme pre lepšiu predstavu finálneho návrhu.  • Prispôsobenie rámu (frame fitting) Ak chceš prispôsobiť rám grafike vo vnútri neho, je potrebný dvojitý klik na roh rámu. Alebo stlač Cmd-Opt-C (Mac) / Ctrl-Alt-C (PC). • Vkladanie viacerých obrázok pomocou Adobe Bridge (multiplace from Bridge) Síce pre vloženie obrázka môžeš použiť File>Place, prípadne pretiahnuť požadovaný obrázok na plochu InDesign, je však určite jednoduchšie vkladať viacero obrázkov naraz. Otvor Adobe Bridge, vyber si obrázky, ktoré chceš použiť vo svojom layoute a zvoľ File>Place>In InDesign. Tým sa automaticky prepneš do InDesign, pomocou klávesov so šípkami môžeš prechádzať obrázky v kurzore a jednoducho ich klepnutím umiestniť. Pre úpravu môžeš využiť Object>Fitting. • Aplikovanie efektu z jedného objektu na iný Podarilo sa ti vytvoriť skvelý efekt, ktorý by si chcel aplikovať na ďalšie objekty? V tom prípade vyber objekt s požadovaným formátovaním a potiahni ikonu “FX” z panela efektov na objekt, na ktorý chceš formátovanie aplikovať. V prípade, že chceš vymazať všetky efekty z objektu, zvoľ „clear effects“ z Effects okna v paneli nástrojov.  • Klávesové skratky Prehľad všetkých užitočných klávesových skratiek nájdeš tu! • Užitočné pluginy Aquafadas AVE ti uľahčí digitálne publikovanie - od návrhu po distribúciu obsahu, jeho prispôsobenie rôznym platformám. Platený plugin Active Tables ti do InDesign prinesie Excel, vďaka PDF2Id zase budeš môcť importovať PDF súbory a konvertovať na editovateľný formát.  Práca v uvedených softvéroch je veľmi obsiahla a komplexná, snažili sme sa ti uviesť aspoň niekoľko "hackov" pre zjednodušenie a urýchlenie práce. Ak by si chcel prispieť nejakými overenými trikmi, podeľ sa o ne v komentári! Zaujala ťa téma grafiky a designu? Na Learn2code sme pre teba pripravili ponuku online kurzov grafiky, z ktorých si vyberieš svoj ušitý na mieru.
Lektor Pavol Banáš - Zažívame zlatú éru videa
Rozhovory
12.06.2019
Katarína Kučáková

Lektor Pavol Banáš - Zažívame zlatú éru videa

Radi sa pochválime novým prírastkom do Learn2code rodiny. Dnes ti predstavíme lektora Pavla Banáša, ktorý ťa v novom kurze Ako vybrať techniku na nakrúcanie naučí zorientovať sa vo fototechnike a vybrať si vhodné zariadenie. Aby tvoje videá mali „šťavu“. :) A čo nám prezradil? O svojej práci Pracujem ako freelance videomaker, pod svojou značkou Bajter studio (www.bajterstudio.com) vytváram videá rôznych žánrov a kategórií. V mojej tvorbe prevažujú najmä hudobné videoklipy. Popri tom študujem Masmediálnu komunikáciu na FMK UCM v Trnave.  Odkedy sa venujem videotvorbe, prešiel som si už všeličím. V tomto smere rád experimentujem a rozširujem svoje obzory vždy, keď sa naskytne príležitosť. Keď to mám zhrnúť, tak mám za sebou produkciu videoklipov, pár videí zo svadieb, dokument, nejaké tie aftermovies, propagačné videá, krátke hrané filmy, živé prenosy futbalových zápasov v športovej televízií, stáž v reklamnej agentúre a momentálne dokončujem projekt svojej bakalárskej práce- rapový muzikál.  [Image] O jeho ceste k videoprodukcii K videu som mal blízko od malička, kamera ma vždy lákala. Prvé videá som začal vytvárať s príchodom foťákov do mobilov. Zlomový bod v mojej kariére prišiel, keď som mal 16 a chodil na gymnázium. Spolu s dvoma spolužiakmi sme v rámci videokrúžku prihlásili náš výtvor do celoslovenskej súťaže Cineama a vo finále sme získali ocenenie od dekana Filmovej a televíznej fakulty VŠMU. Súčasťou tohto ocenenia bola aj účasť na Letnej škole filmového jazyka organizovanej práve touto fakultou. Počas tohto kurzu som prehĺbil svoje, dovtedy plytké znalosti z oblasti videa a uvedomil si, že práve toto by mohol byť ten smer, ktorý ma bude v budúcnosti živiť.  [Image] O rozhodnutí stať sa lektorom v Learn2code Takmer denne na mňa smeruje množstvo otázok o videu, technike či nakrúcaní. Po nejakom čase odpovedania na tieto otázky som si uvedomil, že okrem samotnej tvorby videa je vlastne aj toto oblasť, ktorá ma baví. Chcel som teda vyskúšať, ako by som zvládol skombinovať videotvorbu s vyučovaním. Sen o takomto niečom bol v mojej hlave už dlhšie a keď sa ku mne dostala ponuka od Learn2Code, neváhal som. Zároveň je to pre mňa výzva skúsiť niečo úplne nové, čo vždy skúšam rád. O tom, čo sa v jeho kurze naučíš Naučíš sa veľa z otázok, ktoré sa ku mne dostávajú a sú smerované k výberu techniky na nakrúcanie. Na túto otázku však neexistuje univerzálna odpoveď. Ak sa človek bez skúseností s videom či fotografiou rozhodne kúpiť svoje prvé záznamové zariadenie, veľmi rýchlo sa stratí v množstve parametrov a rôznych druhov zariadení. Preto som sa rozhodol spraviť kurz v širšom kontexte, ako len priamej odpovedi “toto si kúp”. Mojím cieľom je, aby absolvent kurzu vedel, čo je to video, ako sa zaznamenáva pohyb, aké technické parametre sú pri kamerách dôležité a na čo všetko si dať pozor pri kúpe. Absolvent si teda nebude len schopný vybrať sám zariadenie, ktoré mu maximálne splní jeho požiadavky, ale bude disponovať aj potrebnými teoretickými znalosťami, na ktorých môže stavať pri samotnej práci so zariadením. [Image] O potrebe sledovať trendy a inovácie V súčasnosti prežívame zlatú éru videa. Všetko od techniky, cez tvorcov, až po distribučné kanály prudko napreduje a to, čo bolo trendom pred rokom, je dnes už úplne out. Preto je dôležité neustále na sebe pracovať a zlepšovať sa. Na druhú stranu je ale rovnako dôležité nepodliehať úplne všetkým trendom a vkladať do videa aj svoju kreativitu. Veľa tvorcov na toto zabúda a potom vznikajú tisícky videí, ktoré sa podobajú “ako vajce vajcu”. Takže určite trendy sledovať, ale nezabúdať, že video je hlavne o kreativite. :)  O tom, čo ho najviac baví na jeho práci Pri tvorbe videoklipov je úžasné, ako sa dá v priebehu 3-4 minút divákovi povedať veľmi silná myšlienka a odkaz. Toto je to, čo mám na svojej práci rád. A síce, keď nie je video len pekným vizuálom, ale nesie v sebe myšlienku, ktorá môže diváka inšpirovať. [Image] O jeho plánoch do budúcnosti Aktuálne je priorita číslo jedna zoštátnicovať. Ak bude pozitívna odozva a záujem od študentov, rád by som pripravil aj ďalšie kurzy pre Learn2Code v oblasti videa. Mám už v hlave pár nápadov, ktoré by mohli začínajúci tvorcovia oceniť. Samozrejme, chcem aj naďalej pracovať na sebavzdelávaní a zlepšovaní svojich schopností a zručností, keďže oblasť videa poskytuje prakticky neobmedzený priestor na sebarozvoj. Krátky odkaz čitateľom na záver Nakrúcajte vždy a všade, využívajte každú príležitosť na tvorbu. Práve to je najlepšia cesta, ako sa zlepšovať vo videotvorbe. Nezabúdajte však, že dôležitá nie je len forma, ale hlavne obsah. Prajem vám príjemné štúdium a veľa kreatívnych chvíľ s vašou kamerou či fotoaparátom :) . 
Prežijem prázdniny ako programátor
Podujatia
05.06.2019
Skillmea

Prežijem prázdniny ako programátor

Začiatok letných prázdnin so sebou prináša pre rodičov otázku ako skombinovať spoločné trávenie času, letné aktivity na táboroch a čas u starých rodičov. Možností je neuveriteľne veľa a vybrať si nie je jednoduché. Ako sa rozhodnúť? Pri výbere sa zväčša zamýšľame nad preferenciami dieťaťa i poznaním nás rodičov, čo potomkovi prinesie radosť i impulzy k jeho sebarozvoju. Žijeme v dobe, keď byť zbehlý v digitálnych technológiách je nevyhnutnosť. Predstavte si svoje deti, ako často trávia čas pred obrazovkou počítača, mobilu alebo televízora.[Letné aktivity pre deti počas prázdnin] Deti pred obrazovkou - áno, či nie?Myslíme si, že prospešnejšie než jednoducho zakazovať takéto trávenie času je pracovať s prirodzenou detskou túžbou spoznávať a skúšať nepoznané. Ukázať im a nenápadne ich naviesť k tomu, že namiesto pasívnych prijímateľov, budú vedieť sami obsah vytvárať a popritom si hravou formou precvičia logické uvažovanie a rozvinú kreativitu.  Pri riešení problémov, pred ktoré ich aj najjednoduchšie programovanie kladie, si sami vytvárajú a testujú hypotézy, pracujú s kategóriami, vyberajú dôležité informácie pred tými nepodstatnými, vidia pred sebou big picture, no súčasne nezanedbávajú detaily. Keď deti programujú, učia sa presne a analyticky premýšľať o nepredvídateľnom svete kódu, hľadať riešenia tu a teraz.   Scratch, JavaScript and companyPočas piatich dní na letných táboroch Learn2Code sa deti zoznámia s programovacími prostrediami Scratch alebo JavaScript. Naučia sa ako vytvoriť a rozpohybovať jednotlivé postavičky, jednoduchý príbeh alebo simuláciu s najrôznejšími animáciami a zvukmi.  Programovacie prostredie Scratch je vhodné ako vstupná brána do programovania pre deti. Uľahčuje deťom zvyknúť si na architektúru príkazov. Scratch tábor sa hodí pre deti, ktoré vedia plynulejšie písať, čítať a počítať - ideálna veková hranica je 9 rokov.  Novinkou je denný tábor v programátorskom jazyku JavaScript, od ktorého je to už len krok k vývoju mobilných aplikácií a hier. Záujemca alebo záujemkyňa o JavaScript bude kódy priamo písať, vekovú hranicu sme mierne oproti Scratchu zvýšili na 11 rokov.[Deti sa v tábore naučia programátorský jazyk JavaScript] Chcete vidieť a vedieť, čo je náplňou programovacích jazykov? Nie je nič ľahšie, získajte predstavu v online kurzoch Scratch Starter a JavaScript Games. V Learn2Code chceme, aby deti prežili 5 plnohodnotných dní, a tak po výdatnom kódovaní, pre nich máme pripravené aktivity, ktoré posilnia ich tímového ducha mimo počítača - budú súťažiť v kvízoch, precvičia si priestorovú predstavivosť, vybláznia sa v Laser tag aréne, precvičia si argumentáciu. Okrem zmysluplného programu kladieme rovnako veľký dôraz na kvalitných lektorov, na ktorých máme od našich pravidelných návštevníkov, pozitívne odozvy. Ak chcete, aby vaše dieťa zažilo fajnový letný týždeň, prihláste ho do Learn2Code letného tábora. Po jeho absolvovaní si osvojí univerzálnu syntax programovacieho jazyka, naprogramuje vlastnú hru a otvorí sa mu cesta aj k náročnejším programátorským výzvam.  Viac ako polovicu miest už máme zaplnenú, tak ak ešte váhate, neváhajte.
Galaxiáda 2019. Čo nás naučil druhý ročník súťaže?
Podujatia
29.05.2019
Katarína Kučáková

Galaxiáda 2019. Čo nás naučil druhý ročník súťaže?

24. mája sa v coworkingovom priestore Banka Žilina stretlo približne 80 ľudí. Boli medzi nimi súťažiaci, učitelia, rodičia. Decká prišli súťažiť v programovaní vo vzdelávacej hre GalaxyCodr a tvorbe hier. Učitelia a rodičia prišli zistiť, či vôbec celé to klikanie do počítačov má pre deti zmysel a malo by byť súčasťou vzdelávania. [Image] Pre nás ste všetci víťazi! Z každej strany počúvame, aké nástrahy pre deti internet predstavuje. Prax však prináša mnoho zaujímavých pozitívnych príkladov, o ktorých prišiel porozprávať aj Michal Čadecký z projektu First Lego League a Zuzka Tanková z dobrovoľníckeho programu Business Leader Forum. Jano Horváth z Teach for Slovakia zase napríklad učí informatiku deti, ktoré nikdy nevideli klávesnicu a vie, aké digitálne zručnosti využijú deti, ktoré nedokončia základnú školu. Jeho prípadová štúdia výučby informatiky dokazuje, že sociálne médiá vedia zvýšiť gramotnosť detí, pre ktoré slovenčina nie je rodným jazykom. [Image] [Image] [Image] [Image] Naši súťažiaci však boli pre zúčastnených najlepšou prípadovou štúdiou. Ako sa ukázalo, už v mladom veku dokážu vytvárať komplexné a funkčné hry s príbehom. Tak nejak sa všetci zhodli na tom, že ak naučíme deti digitálne médiá správne využívať, dokážu veľké veci. Predsa len sa celý svet digitalizuje a "tým počítačom a internetom" sa už nevyhnú. Navyše má Európskej Únii do roku 2020 chýbať pol milióna špecialistov a tento trend len porastie. Prečo teda deťom zakazovať niečo, čo ich baví a môže ich v budúcnosti celkom dobre uživiť?  Na záver sa chceme poďakovať všetkým účastníkom Galaxiády a samozrejme, našim partnerom, Nadácii Orange a Fondu na podporu umenia. Bez ich podpory by tento event zostal len v našich hlavách. Ďakujeme! [Image]
Java 10 a 11 – vybrané programátorské zmeny
Tipy a triky
22.05.2019
Skillmea

Java 10 a 11 – vybrané programátorské zmeny

Zaujíma ťa, aké zmeny sa udiali v Java 10 a 11? Čítaj článok a všetko podstatné sa dozvieš. Java 10Var Od verzie 10 je dostupná možnosť nešpecifikovať typy premenných pre lokálne premenné, ak ich vie kompilátor zistiť z pravej strany. Namiesto napísania typu stačí napísať nešpecifikovaný typ a to var. var list = new ArrayList<String>(); Kompilátor vie zistiť, akého typu je list a teda nie je možné pridávať čísla do listu, ale iba String. var list = new ArrayList<String>(); list.add("Jaro");Var sa neberie ako kľúčové slovo, ale ako nešpecifikovaný typ. Teda nemôžeme vytvoriť triedy s názvom var, ale je možné vytvoriť metódu s názvom var. //error String return(){ return ""; } //ok String var(){ return ""; }Nová metóda na kolekciách Pri kolekciách pribudla metóda copyOf, ktorá skopíruje jednu kolekciu do druhej. 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ýrazoch Lambda výrazy podporujú type inferenciu, čo znamená, že ak používaš premennú v lambda výraze, tak java kompilátor vie zistiť, akého je typu a nemusíme typ zadefinovať. list.stream() .map(s -> s.toLowerCase()+".") .collect(Collectors.toList());V predchádzajúcich verziách javy sme nedokázali písať anotácie k premenným vo vnútri lambda výrazu, ktoré nemali zadefinovaný typ. Od verzie 11 je to možné, skoro – nemusíme zadefinovať špecifický typ, stačí ak napíšeme var. list = list.stream() .map((@Notnull var s) -> s.toLowerCase()+".") .collect(Collectors.toList());Jednoduchšie spustenie programuAk si napíšeš jednoduchý program a chceš ho spustiť v konzole, tak ho musíš najprv skompilovať cez príkaz javac a potom spustiť cez príkaz java.  Teraz stačí, keď rovno spustíš .java súbor pomocou java príkazu. Stane sa to, že sa automaticky súbor skompiluje a spustí.  java Main.java  java.lang.String metódyV triede String pribudli nové metódy.  isBlank() – vracia true, pokiaľ je reťazec prázdny alebo obsahuje len biele znaky  lines() – zo Stringu sa vráti stream riadkov – ak stream obsahuje oddeľovače riadkov  java.util.function.Predicate not Predstavme si takýto kód: lines.stream() .filter(s -> !s.isBlank())Pomocou Predicate.not vyzerá krajšie a čitateľnejšie: list.stream() .filter(Predicate.not(s -> s.isBlank()));S výhodou použitia method referencie:  list.stream() .filter(Predicate.not(String::isBlank));Ak použijeme statický import: list.stream() .filter(not(String::isBlank));Ak ťa zaujal článok a chcel by si sa dozvedieť viac, tak klikni na moju stránku a presuň sa na to, čo ťa zaujíma. Programovanie, kurzy, videá zdarma a iné záležitosti. Klikaj na www.jaroslavbeno.sk
Vyhlásenie výsledkov súťaže #studujonline je tu!
Novinky
17.05.2019
Skillmea

Vyhlásenie výsledkov súťaže #studujonline je tu!

Aj ty si nám v uplynulých troch týždňoch poslal kreatívny príspevok, ako študuješ niektorý z našich kurzov? Čítaj teda ďalej a možno sa nájdeš medzi výhercami! V prvom rade ďakujeme za všetky vtipné a kreatívne príspevky, ktoré dokázali, že študovať sa dá naozaj odkiaľkoľvek. Zároveň nás prekvapilo, že niektorí chceli vyhrať až tak veľmi, že sa uchýlili k nečestným praktikám získavania interakcií. Mnohí účastníci súťaže si nakúpili "fake lajky" z Ázie a iných exotických destinácií. Považujeme to za nefér. A hoci sme mali v pravidlách súťaže uvedené, že vyhrá post s najväčším počtom interakcií, rozhodli sme sa to zmeniť. Určite je to aj naša chyba, priznávame, poučili sme sa. V budúcnosti už víťazov nemôžeme hľadať zmanipulovateľnou cestou. O konečnom poradí v súťaži #studujonline sme rozhodli interným hlasovaním, o víťazoch tak rozhodol náš tím Learn2Code a naši lektori. Kocky sú hodené, poďme na výsledky! 1. miesto: iPad + ročné predplatné online kurzov                                           2. miesto: ročné predplatné online kurzov                                              3. miesto: 3-mesačné predplatné online kurzov    Ak si medzi výhercami, gratulujeme a ešte dnes ti napíšeme správu na Instagrame a dohodneme sa na prevzatí výhry. Keď si sa zapojil/a, ceníme si tvoju snahu a ďakujeme za príspevok. Ak sa ti aj nepodarilo vyhrať, určite nezúfaj a neprestávaj sa vzdelávať. Tvoje schopnosti sú koniec-koncov najväčšou výhrou, preto dnes na Learn2code nájdeš už viac ako 80 online kurzov!
Rozhovor s lektorom kurzu Linux
Rozhovory
13.05.2019
Skillmea

Rozhovor s lektorom kurzu Linux

Dnes ťa čaká rozhovor s naším lektorom Jančim Kunom, ktorý sa postaral o nový online kurz Linux pre začiatočníkov II. Porozpráva ti o svojich ťažkých začiatkoch v IT, prečo sa nenechal odradiť a čo ho motivovalo stať sa lektorom v Learn2code. Na záver má Janči pre teba odkaz, dúfame teda, že sa dočítaš až k nemu. :) Na začiatok niečo o tvojej práci. Čo ťa zamestnáva?Veľa vecí. Asi prejdime k ďalšej otázke (smiech). V podstate mojou náplňou práce je z 50 percent to, aby veci fungovali (linuxy, webservery, DB, rôzne korporátne aplikácie) a ďalších 50 percent je vývoj (php, docker, testy). Na akých projektoch si pracoval/pracuješ? Projekty, na ktorých pracujem, sú zväčša korporátne, a teda podliehajú utajeniu (smiech). Radšej by som hovoril o tom, čo mám v pláne vytvoriť v rámci svojho súkromného portfólia. A vlastne to prezradiť nemôžem, keďže ani konkurencia nikdy nespí. Tak skúsim inak. Skúšali ste už OnlyOffice? Pred nejakým rokom alebo dvoma som bol zodpovedný za preklad do českého a slovenského jazyka, a vtedy sa nám v krátkom čase podarilo dostať sa z pár percent na asi 99. Ak sa teda pri práci s OnlyOffice stretnete so zlým prekladom, viete, na koho sa máte obrátiť. (smiech)  A ako si sa k Linuxu a serverom vôbec dostal? Náhodou. Ako som už spomínal vo videách, s Linuxom som mal aké-také skúsenosti, ale nie pracovné. Všetko to boli skôr domáce pokusy a bezmyšlienkovité klikanie v snahe dozvedieť sa o programe čo najviac. V práci mimo IT sféry som bol celkom spokojný,mal som totiž pravidelný plat a dostatok voľného času. Zvrat prišiel, keď mi zomrel otec. Musel som sa začať obracať, začal som sa intenzívne učiť, rozšíril som si znalosti v rôznych oblastiach IT a šiel s kožou na trh. Vymenil som pohodlie a istotu svojej doterajšej práce za celkom neznámy svet a cítil som sa v ňom ako trpaslík medzi gigantmi. Veľmi mi vtedy pomohol kamarát, ktorý mi pomohol ukázať, čo viem a uplatniť sa v IT. Vďaka nemu som sa nenechal odradiť ťažkými začiatkami a som tam, kde som.  Prečo si sa rozhodol spolupracovať s Learn2Code a pripraviť online kurzy?O Learn2Code viem v podstate od jeho začiatkov. Bol to najmä Yablko a Yablkove kurzy Php a Laravelu, ktoré mi dali obrovské množstvo odpovedí na otázky a chuť niečo reálne v php začať robiť. Dovtedy to boli také len pokusy a nič konkrétne, chýbal mi návod v slovenčine. A potom som našiel jeho kurz, navyše Yablkov výklad bol zrozumiteľný a zaujímavý, chytilo ma to a vďaka nemu sa mi podarilo posunúť v tejto problematike. Ani rokmi však neprichádzalo žiadne video o Linuxoch, tak som si povedal, že sa pokúsim aj ja podeliť s informáciami. Aby si ľudia nemysleli, že sa musia učiť len dizajn alebo programovanie.  Čo všetko sa človek naučí v tvojich kurzoch o Linuxe a serveroch? No pri mojich videách sa človek naučí predovšetkým trpezlivosti (smiech). Lebo akokoľvek mám snahu urobiť to video zaujímavé a poučné, akonáhle zasvieti kontrolka na mikrofóne, tak sa zaseknem, zakoktám sa a ústa sa mi otvárajú bez toho, aby som ich ovládal. Ale asi to tak vnímam len ja. Vo videách popisujem, ako sa Linux a linuxové príkazy používajú. V jednom kurze sa nedá obsiahnuť všetko, a to navyše ani nie je cieľom.  Cieľom je ukázať ľuďom, ktorý s Linuxom nikdy nepracovali, ako sa ten systém vlastne používa a ovláda. Takže prechádzam postupne jednotlivé príkazy, vysvetľujem, ako a prečo sa používajú. Okrem toho vyšiel aj kurz o Serveroch, kde sa snažím ukázať, ako tieto (a nielen tieto) informácie využiť na to, aby ste si vedeli postaviť vlastný web server, pridať k tomu databázu, ssl certifikát atď. V priebehu tohto roka sa chystám natočiť aj druhú časť, kde sa zase pozrieme na nejaké nové vecičky ktoré môžeme na serveroch mať a využívať. Ale ešte predtým otvorím tretiu oblasť a tá sa bude venovať scriptovaniu v Linuxovom Bashi. Tým by sme mohli mať pokryté asi 2% práce s Linuxami. A áno, percento som si vycucal z prsta a reálne to bude ešte menej (smiech). Je v tejto oblasti potrebné sledovať aktuálne trendy a inovácie? Ako si na tom ty? Samozrejme.Tak ako vo všetkom, aj tu treba sledovať, čo je nové. Ale týka sa to najmä aplikácií, ktoré ak musíme pravidelne updatovať, tak treba sledovať changelogy, fóra a gitlaby daných aplikácií. Po update totiž nemusí fungovať niečo, na čo ste boli zvyknutí, alebo to môže fungovať inak. Prípadne ak ste zvyknutí používať niečo na ubutnu 16ke, tak na 18ke môže ten istý program vyžadovať iné nastavenia. A samozrejme, to čo je platné pre Ubu nemusí, respektíve nebude fungovať na CentOS a tak. Takže upravujem svoje pôvodné tvrdenie o rozdelení práce z 50:50 na 40:50:10 (smiech).   [Image] Čo ťa najviac baví na tvojej práci? Najviac ma baví to, že rýchlo ubieha. Ha-ha. Neskutočne. Keď som robil niečo, čo ma nebavilo, tak sa čas vliekol a nudil som sa. Však to možno poznáte. Ale v IT sa neustále učíte, v niečom vŕtate. Presnejšie povedané, jeden deň ste možno o niečom letmo počuli, druhý deň to študujete a na tretí deň už s tým musíte vedieť pracovať.  Druhá vec je pohodlie. Ak máte možnosť, tak pracujete z domova, v pyžame, papučiach a nemusíte vidieť žiadnych ľudí. Nemusíte cestovať v zlom počasí do práce. Problém je len vtedy, keď vypadne elektrina. Aké sú tvoje ďalšie aktivity? Odvtedy, ako som naplno v IT, nemám čas na nič. Predtým som chodil občas na hory, na bicykel, čítal knihy, okopával v záhrade, fotografoval alebo len tak pozeral večer na hviezdy.  Teraz už ani neviem, či mi foťák funguje, v podstate pol dňa strávim prácou na rôznych projektoch a tých pár zvyšných hodín strávim s rodinou alebo prácou v okolí domova.To asi neznie fajn. Ale v podstate si za to môžem sám, pracujem na mnohých projektoch, najmä v zime, kedy okrem lyžovačky nemám čo robiť. V lete si dám pauzu od určitých projektov a nájde sa čas aj na zábavu. Aké máš plány do budúcnosti?Poprosiť Škodovku, nech mi darujú Kodiaqa (smiech). A potom cesta do vesmíru. Ten ma fascinuje nenormálne. Ale z tých, povedzme reálnych vecí je to taká slovenská klasika: Postav dom, zasaď strom, ... Čo sa týka pracovných plánov, tie nemám, lebo nech si naplánujem čokoľvek, vždy to dopadne úplne inak. Určite by som chcel dokončiť a zrealizovať svoje nápady, ktorých je neúrekom. Každý rok sa chcem do toho pustiť, ale vždy mi do toho niečo skočí. A aj keď mám niečo rozpracované a odložené, s pribúdajúcim časom je to staršie a staršie, a tak to zapadne prachom. Krátky odkaz všetkým čitateľom na záver Nebojte sa IT, skúšajte a vŕtajte sa vo všetkom. Skúšajte programovať, skúšajte dizajn, skúšajte linuxy, skúšajte všetko. Stále. Každý deň si nájdite niečo, čo budete robiť. Aj keď len hodinku po večeroch, keď si splníte svoje manželské a ostatné povinnosti. Len tak sa naučíte, ako veci pokaziť a ako ich opraviť. A to je dôležité. Poučiť sa zo svojich chýb a nájsť riešenie. Časom sa prirodzene vykryštalizuje, čo vás baví a čomu sa chcete venovať. Určite nezúfajte, keď vám niečo nejde. A určite nepôjde. Vtedy si v pohode urobte kávu, pomodlite sa (ten môj hore má meno Anton) alebo si choďte zabehať. Len neprestávajte. Máš na Jančiho nejaké otázky? Napíš ich smelo do komentára  Ak ťa zaujala Jančiho práca a chcel/a by si sa zdokonaľovať v tejto problematike, v spolupráci s Jančim sme pre teba pripravili kurzy Linux pre začiatočníkov, Linux pre začiatočníkov II. a Servery pre začiatočníkov.