Zpět na blog
Tipy a triky

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

Skillmea
22.05.2019
3 minuty čtení
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 10

Var

Od 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ích

U 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 11

Var v lambda výrazech

Lambda 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í programu

Pokud 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 metody

Ve 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 not

Př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
Skillmea
🥇 Sme jednotka v online vzdelávaní na Slovensku.
Na našom webe nájdeš viac ako 300 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod. 
Vyber si kurz, ktorý ťa posunie vpred ⏩

Mohlo by tě zajímat

Kontingenční tabulky, I.část – Vytvoření kontingenční tabulky
Tipy a triky
29.04.2019
Skillmea

Kontingenční tabulky, I.část – Vytvoření kontingenční tabulky

Kontingenční tabulka – vytvoření, pole kontingenční tabulkyKontingenční tabulky. Stačí zmínit toto slovní spojení a lidé automaticky začínají mít jakousi formu alergické reakce. V některých se dokonce probudí výčitky svědomí: „Měl bych je ovládat, vždyť v životopisu mám uvedenou znalost Excelu na úrovni pokročilý.“ Máme pocit, že se jedná o něco těžkého, ve skutečnosti však kontingenční tabulky vůbec nejsou jaderná fyzika. Pojď se o tom přesvědčit. [I tebe straší kontingenční tabulky?] Jak a kdy se používají?Kontingenční tabulka neboli tzv. pivot table je velmi efektivním nástrojem Excelu. Dokáže sumarizovat a organizovat rozsáhlá data z různých tabulek a databází. Představ si, že dostaneš v práci zadání. Všechny objednávky, které přišly do tvé firmy v rámci roku (což může být klidně několik tisíc) máš roztřídit podle jednotlivých poboček, kategorií nákupu. Zároveň chceš zjistit, kolik jednotlivá pobočka vydělala na jakém produktu, popřípadě vyjádřit procentuální podíl konkrétního produktu na celkovém počtu prodaných produktů. Pár dní by sis nad takovým zadáním trhal vlasy, nebýt kontingenční tabulky. Během pár minut ti umí poskytnout potřebné údaje k analýze a porovnávání dat. Ještě pořád si nezaslouží tvé uznání? Vytvorenie kontingenčnej tabuľky Tak ses k tomu odhodlal. Správně. Ještě před vytvořením tabulky je však třeba si dát pozor na několik věcí: 1. Hlavička tabulky, ze které chceš vytáhnout data musí být kompletně vyplněna, tzn. každý ze sloupců má název    2. Hlavička tabulky nesmí obsahovat sloupce se stejným názvem    3. V případě, že máš součtový řádek pod tabulkou, odděl ho od zbytku tabulky (stačí prázdným řádkem). Vyhneš se tak duplicitnímu sčítání hodnot.    4.Doporučujeme vytvářet kontingenční tabulku na novém listu. Pokud totiž tabulka zasáhne do vstupních dat, natrvalo je smaže. Vstupní údaje sis zkontroloval a už netrpělivě čekáš na to, aby ses mohl pustit do své první kontingenční tabulky. Tak směle! 1. Označ tabulku, případně buňky, ze kterých si přeješ kontingenční tabulku vytvořit[Image] 2. Na kartě Vložit klikni na možnost Kontingenční tabulka[Image] 3. Otevře se nové dialogové okno, kde uvidíš, ze kterých buněk bude kontingenční tabulka vytvořena a možnost umístění novém nebo existujícím archu.Stiskni OK. Voila.[Image]4. Na novém listu se ti vlevo zobrazí jakási prázdná tabulka, vpravo se nachází nástroj kontingenční tabulky[Image] Zbývá už jen získat údaje podle kritérií našeho zadání. K tomu nám poslouží nástroj kontingenční tabulky. Skládá se z 5 částí:  1. Pole kontingenční tabulky - jsou tvořena z názvů sloupců ze zdrojové tabulky.   2. Filtr sestavy - hodnoty, podle kterých chceme kontingenční tabulku filtrovat   3. Jmenovky řádků - hodnoty v tomto poli budou vepsány do řádků   4. Jmenovky sloupců - hodnoty v tomto poli budou vepsány do sloupců   5. Hodnoty – hodnoty v tomto poli jsou číselné, využíváme při nich různé matematické operace Texty například zadává Excel automaticky do řádků. Řekněme, že ti to nevyhovuje. Tehdy stačí jen myší přesunout požadované pole z jedné oblasti do druhé. z Jmenovky řádků do Jmenovky sloupců. Pole si tedy uspořádáš tak, abys získal co nejlepší přehled o údajích k analýze. Potřebuješ si vytisknout kontingenční tabulku?Nejprve ti doporučujeme zvolit si vertikální rozložení, které je vhodnější pro tisk. Svislé rozložení je vhodnější zejména tehdy, nechceš-li, aby tvoje kontingenční tabulka byla rozložena vodorovně na celém listu. Pokud se k tomu ještě přidají pole s hodnotami ve sloupcích, které jsou standardně uspořádány vodorovně, tabulka bude velmi široká. Náš tip: Pokud tiskneš kvůli své práci množství nejen kontingenčních tabulek, v rámci úspory barvy ti doporučujeme kompatibilní náplně do tiskárny. Ty jsou v porovnání s originálními náplněmi levnější, ekologičtější, avšak stále nabízejí 100% kvalitu tisku. ZávěrA právě jsi dospěl do bodu, kdy už dokážeš nejen vytvořit kontingenční tabulku, ale umíš si v ní údaje zorganizovat tak, aby byla analýza a porovnání dat jednodušší. Kontingenční tabulka ti dokáže ušetřit hodiny a hodiny zbytečného filtrování a ty můžeš využít svůj volný čas smysluplněji. Jak, to je na tobě. :)[Image]I komplexní práce s kontingenčními tabulkami je součástí našeho online kurzu Excel pre pokročilé, kde najdeš rozsáhlé tutoriály pro práci s excelovskými funkcemi, makry, formátováním a podobně. Naučíš se s Excelem pracovat jako profík, což bude plusem nejen pro tvé CVčko, ušetří ti určitě spoustu času iv praktickém životě. Navíc na konci kurzu získat od Learn2code certifikát o absolvování kurzu, aby více o tvé úrovni nikdo nepochyboval!
Nejvhodnější software pro editaci videa (část I.)
Tipy a triky
17.04.2019
Katarína Kučáková

Nejvhodnější software pro editaci videa (část I.)

Víme, že v nabídce dostupných softwarů je někdy obtížné se orientovat a vybrat si ten, který bude našim potřebám vyhovovat nejvíce. Toto dilema neobchází ani téma editování videí. V článku ti proto představíme 3 programy, ze kterých si budeš umět vybrat i jako odhodlaný začátečník. Které to jsou? Premiere Pro CC Premiere Pro z dílny Adobe je zřejmě nejpoužívanějším softwarem používaným pro střih a editaci videí. Pod střechou Premiere Pro prošly takové filmové blockbustery jako Deadpool, Avatar nebo Gone Girl. Je určen pro současné a budoucí profesionály, náročné youtubery a pod. To ovšem nemusí odradit ani nezkušené editory. Pokud jsi začátečník, zřejmě se ti bude zdát používání Premiere Pro dost náročné, obrň se však trpělivostí k překonání těžkých začátků a nebudeš se ho chtít vzdát. Možná ale přece. Důvodem je vyšší cena, software si totiž můžeš koupit jen formou předplatného na časově omezené období, než jsme zvyklí u všech Adobe dětí. V rámci ročního plánu si tak Premiere Pro pořídíš za 23.99 Eur/měsíčně. Výhodou je neustálá aktualizace softwaru, příliš drahé to však bude pro rekreačního uživatele Premiere Pro. A v čem je Premiere Pro tak výjimečný? Adobe Premiere Pro je dostupný ve verzích pro Windows a Mac OS X, obrovskou výhodou je jeho možné propojení s Adobe sourozenci, kterými jsou např. Photoshop, After Effects nebo Audition sound editor. Flexibilní timeline umožňuje práci na různých elementech videa, jako jsou vrstvy, zvuk, text a obraz, což oceníte při komplexnějších nebo týmových projektech. Díky preciznímu color gradingu budeš umět přivést svá „syrová“ videa k životu použitím barev, včetně kalibrace bílé barvy a nastavení jasu pro různé světelné podmínky. Software navíc inteligentně analyzuje barvy vybraných klipů a aplikuje na ty požadované. Potěší tě nekonečné možnosti animací, Premiere Pro nezapomíná ani na kvalitní funkce pro zpracování zvuku. Exportování souborů se může u Premiere Pro jevit jako zdlouhavější, export videí však umíš přizpůsobit tomu, zda je určen pro mobilní obrazovky nebo plátna kin. Pokud tedy znáš svého diváka, budeš umět optimalizovat videa jako nikdy předtím.[Image] Adobe Premiere Rush Uživatele sociálních sítí určitě nadchne nová aplikace pro střih a úpravu videa, kterou je Adobe Premiere Rush. Tato appka výrazně usnadňuje přechod od snímání k editaci videí a jejich sdílení na sociálních sítích. Videa v něm upravíš jednoduše na jakémkoli zařízení, svůj projekt můžeš například začít stříhat v mobilu a dokončit na počítači. Adobe Rush poskytuje základní možnosti pro úpravu zvuku a obrazu, náročným uživatelům však postrádají pokročilejší funkce. Přesto se jedná o revoluční appku, ve které přeměníš svá amatérská videa na vizuální a zvukový zážitek. A to kdekoli. Úžasný nástroj pro generaci youtuberů, vloggerů nebo prostě lidí, kteří chtějí udělat hezká videa, ale nemají čas učit se náročné editovací programy. Všechny podstatné nástroje pro střih a editaci videí totiž Adobe zabalil do jedné appky. Jelikož se jedná produkt z rodiny Adobe, uživatel musí počítat s předplatným. Měsíčně tě appka vyjde na 11,99 Eur, možností je vyzkoušet si bezplatně Premiere Rush CC Starter Plan s neomezenou funkčností na neomezeném množství projektů, exportovat ti však dovolí maximálně tři z nich.[Image] Final Cut Pro X Dalším z kvalitních střihačských softwarů je Final Cut Pro. Ten je ovšem dostupný pouze pro Mac zařízení, což okamžitě eliminuje velkou část potenciálních userů. Pokud si ale uživatelem jablíčkového zařízení, Final Cut Pro je tím ideálním softwarem. Jedná se o rychlý (a zřejmě i nejrychlejší) a intuitivní software, který bude vyhovovat všem tvým editorským potřebám. Velkou výhodou Final Cut je jednorázová platba za jeho užívání, nemusíš tak platit „výpalné“ jako u Adobe produktů. Uživatelské rozhraní Final Cut je nastaveno způsobem dávajícím smysl i uživateli, který software otevřel poprvé. Možnosti úprav jsou v logickém pořadí a konkrétní nástroj tak budeš umět najít, aniž bys zuřivě klikal na nesprávné nástroje ve snaze najít ten požadovaný. Vytvoříš v něm i složité animace, zvukové a vizuální efekty a nabízí snadný přístup k pluginům. Na Final Cut budeš milovat jeho jednoduchý a přehledný design a inovativní časovou osu, která zajišťuje synchronizaci mezi jednotlivými stopami. Silnou stránkou softwaru je úprava zvuku. Při importování souborů máš možnost náhledu videí, čímž se vyhneš zdlouhavému nahrávání souborů, které vlastně ani nepotřebuješ. Bezproblémový je i export a renderování, nahrávání souborů. sociální sítě se děje v reálném čase, nemusíš tak čekat na exportování souboru, jeho uložení do počítače a opětovné nahrávání.[Image] Závěr Tak jak určit vítěze tohoto battle? Univerzální odpověď neexistuje, záviset to bude na tvých editorských potřebách, zkušenostech, profesionálním využití a podobně. Všechny důležité otázky jsou zodpovězeny, výběr je tedy jen na tobě! Learn2Code má pro tebe i nabídku online kurzů k uvedeným editorům, abys uměl z kteréhokoli z nich vytěžit maximum: Pokud chceš být profi user, pro kterého bude editování videí víc, než jen hobby, klikni na: https://skillmea.sk/kurzy/movie-maker-adobe-premiere-pro Ak vlastníš Mac a hľadáš kvalitný a cenovo dostupný editor,nájdeš sa tu:  https://skillmea.sk/kurzy/final-cut-pro-x Ak si vlogger,youtuber a chceš rýchly a jednoduchý editovací nástroj, toto je pre teba:  https://skillmea.sk/kurzy/adobe-premiere-rush V pokračovaní sa pozrieme na ďalšie z rady video editorov, ako sú Adobe After effects, DaVinci resolve, Sony Vegas a iné.. 
Java nejnovější verze (Java 9): příkazový řádek JShell (2. část)
Tipy a triky
21.03.2019
Skillmea

Java nejnovější verze (Java 9): příkazový řádek JShell (2. část)

Java příkazový řádekJShell Command Line je nástroj, kde můžeme zkoušet spouštět kód, aniž bychom museli vytvořit novou třídu s main metodou.[Image]JShell spustíme z bin adresáře, kde máme nainstalovanou jevu jdk ve verzi 9 a více. Při učení se preferuje použít verbose mód jshellu, což nám poskytne co nejvíce zpětné vazby při práci s konzolí. jshell –v Pokud jshell spustil bez –v můžeš jshell vypnout s příkazem /exit a pak spustit znovu s –v nastavením. Nyní můžeš zadávat výrazy. První způsob je zadeklarovat proměnnou s hodnotou a následně hodnotu vypsat:[Image]Nebo můžeš rovnou napsat výraz, který se vyhodnotí a výsledek se zapíše do proměnné, která obdrží pořadové číslo.[Image] Je možné deklarovat metody. Při psaní příkazů, pokud jshell zjistí, že příkaz není ukončen, například si napsal kadeřavou závorku a zmáčkneš enter, tak se vytvoří nový řádek na jehož začátku budou speciální znaky ...> což znamená, že pokračuješ v psaní kódu a výraz se ještě nevyhodnotí.[Image] Metodu pak voláš klasicky:[Image] Pokud bys chtěl přepsat metodu, respektive co dělá uvnitř, tak ji umíš napsat znovu a ona se přepíše a platná bude poslední napsaná. Lze také přepsat typ proměnné. Pokud na začátku bude x číslo, tak později může být String.[Image]Pod výpisy máme vždy i poznámky o tom, co se děje na pozadí. Například, že proměnná x byla nahrazena za String. Můžeš napsat metodu, která uvnitř používá proměnné nebo metody, které ještě nebyly definovány. Fungovat budou až když všechno zadefinuješ. Příkazem /list si zobrazíš kód, který jsi napsal. Každý vstup má číslo, což představuje id vstupu. Tyto id slouží i při výjimkách. Napište si příkaz, který spadne a vypíše se výjimka.[Image]Po výpisu /list zjistíme co znamenají čísla ve výpisu. Za prvé tam máme: at divide (#15:2), což znamená, že chyba nastala na příkazu s id 15 a řádku 2 toho příkazu. Za druhé at (#16:1) je další místo, kde se metoda jmenovala – klasický stack trace, ale s odkazem na /list výpis.[Image]Jshell nabízí také možnosti k doplnění, když stiskneme tab. Pokud do konzole napíšu Sy a zmáčknu tab, tak mi nabídne možnosti. Pak napíšu-li System. a zmáčknu tab, tak mám další možnosti vypsány. A tak dále.[Image]Zde se dostáváme k tomu, že umíme používat klasické dostupné api. Jako například String metody. V konzole jsem napsal prázdný String tečku a stiskl tabulátor.  [Image]Pokud některé třídy nejsou dostupné, tak je umíme importnout. Při psaní umíme typu stiskneme Shift + Tab a pak písmeno i, chceme-li importnout. Potom máme možnost udělat nic nebo importovat.[Image]Do shellu umíme psát i shell specifické prkazy. Setkali jsme se už s /list. Existují i další, například /methods pro výpis dostupných metod, /vars pro výpis dostupných proměnných, nebo /list –all pro výpis všeho i importů i chybně zadaných příkazů. Všechno, co jsme napsali, úspěšně si umíme uložit do souboru pomocí příkazu /save nazevSouboru.txt. Tento soubor je uložen ve složce bin, kde jsme spustili jshell, pokud nezadáme jinak. Znovu umíme tento program otevřít pomocí /open a název souboru. I u těchto příkazů funguje doplňování po stisku tabulátoru.[Image]Je možné psát zkratky příkazů, jsou-li ty zkratky unikátní. Jediný příkaz, který začíná na písmeno l je dopis, tedy lze napsat /l. Totéž platí i pro příkazy pro /l pokud dáme pomlčku a tab, tak dostanu možnosti. Příkaz, který začíná na a je jen jeden tak můžu napsat /l –a místo /list –all.[Image] Tento příkaz jsem spustil nad čistou novou jshell, tak si můžeme prohlédnout, co je importováno jako default. Přiblížili jsme si základní možnosti nastavení příkazové řádky JShell, je jich ale daleko více. Pokud máš zájem se do této problematiky "zavrtat" hlouběji, můžeš si prohlédnout kompletní tutoriál.  Ptáš se „proč Java“? Java je jeden z nejpoužívanějších programovacích jazyků na světě. Pokud se o Javu zajímáš (je jedno, jestli jsi začátečník, nebo už programuješ), připravili jsme pro tebe mnoho kurzů.

Nezmeškej info o nových kurzech a speciálních nabídkách