Späť na blog
Tipy a triky

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

Skillmea
22.05.2019
3 minúty čítania
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 10

Var

 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 11

Var 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 programu

Ak 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ódy

V 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
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 ťa zaujímať

Kontingenčné tabuľky, I.časť – Vytvorenie kontingenčnej tabuľky
Tipy a triky
29.04.2019
Skillmea

Kontingenčné tabuľky, I.časť – Vytvorenie kontingenčnej tabuľky

Kontingenčná tabuľka – vytvorenie, polia kontingenčnej tabuľkyKontingenčné tabuľky. Stačí spomenúť toto slovné spojenie a ľudia automaticky začínajú mať akúsi formu alergickej reakcie. V niektorých sa dokonca prebudia výčitky svedomia: „ Mal by som ich ovládať, veď v životopise mám uvedenú znalosť Excelu na úrovni pokročilý.“ Máme pocit, že sa jedná o niečo ťažké, v skutočnosti však kontingenčné tabuľky vôbec nie sú jadrová fyzika. Poď sa o tom presvedčiť.  [Image] Aj teba strašia kontingenčné tabuľky? Ako a kedy sa používajú? Kontingenčná tabuľka alebo tzv. pivot table je veľmi efektívnym nástrojom Excelu. Dokáže sumarizovať a organizovať rozsiahle dáta z rôznych tabuliek a databáz. Predstav si, že dostaneš v práci zadanie. Všetky objednávky, ktoré prišli do tvojej firmy v rámci roka (čo môže byť pokojne niekoľko tisíc) máš roztriediť podľa jednotlivých pobočiek, kategórií nákupu. Zároveň chceš zistiť, koľko jednotlivá pobočka zarobila na akom produkte, prípadne vyjadriť percentuálny podiel konkrétneho produktu na celkovom počte predaných produktov. Pár dní by si si nad takým zadaním trhal vlasy, nebyť kontingenčnej tabuľky. V priebehu pár minút ti vie poskytnúť potrebné údaje k analýze a porovnávaniu dát. Ešte stále si nezaslúži tvoje uznanie? Vytvorenie kontingenčnej tabuľky Tak si sa na to odhodlal. Správne. Ešte pred vytvorením tabuľky je však potrebné si dať pozor na viacero vecí:  1. Hlavička tabuľky, z ktorej chceš vytiahnuť dáta musí byť kompletne vyplnená, tzn. každý zo stĺpcov má názov   2. Hlavička tabuľky nesmie obsahovať stĺpce s rovnakým názvom   3. V prípade, že máš súčtový riadok pod tabuľkou, oddeľ ho od zvyšku tabuľky (stačí prázdnym riadkom). Vyhneš sa tak duplicitnému sčítaniu hodnôt.   4.Odporúčame vytvárať kontingenčnú tabuľku na novom hárku. Ak totiž tabuľka zasiahne do vstupných dát, natrvalo ich zmaže. Vstupné údaje si si skontroloval a už netrpezlivo čakáš na to, aby si sa mohol pustiť do svojej prvej kontingenčnej tabuľky. Tak smelo!  1. Označ tabuľku, prípadne bunky, z ktorých si želáš kontingenčnú tabuľku vytvoriť[Image]   2. Na karte Vložiť klikni na možnosť Kontingenčná tabuľka[Image]   3. Otvorí sa nové dialógové okno, kde uvidíš, z ktorých buniek bude kontingenčná tabuľka vytvorená a možnosť umiestnenia novom alebo existujúcom hárku.Stlač OK. Voilá.[Image]  4. Na novom hárku sa ti vľavo zobrazí akási prázdna tabuľka, vpravo sa nachádza nástroj kontingenčnej tabuľky[Image] Zostáva už len získať údaje podľa kritérií nášho zadania. K tomu nám poslúži nástroj kontingenčnej tabuľky. Skladá sa z 5 častí:   1. Polia kontingenčnej tabuľky - sú tvorené z názvov stĺpcov zo zdrojovej tabuľky.  2. Filter zostavy - hodnoty, podľa ktorých chceme kontingenčnú tabuľku filtrovať  3. Menovky riadkov - hodnoty v tomto poli budú vpísané do riadkov  4. Menovky stĺpcov - hodnoty v tomto poli budú vpísané do stĺpcov  5. Hodnoty – hodnoty v tomto poli sú číselné, využívame pri nich rôzne matematické operácie Texty napríklad zadáva Excel automaticky do riadkov. Povedzme, že ti to nevyhovuje. Vtedy stačí len myškou presunúť požadované pole z jednej oblasti do druhej, napr. z Menovky riadkov do Menovky stĺpcov. Polia si teda usporiadaš tak, aby si získal čo najlepší prehľad o údajoch k analýze. Potrebuješ si vytlačiť kontingenčnú tabuľku?Najprv ti odporúčame zvoliť si vertikálne rozloženie, ktoré je vhodnejšie na tlač. Zvislé rozloženie je vhodnejšie najmä vtedy, ak nechceš, aby bola tvoja kontingenčná tabuľka rozložená vodorovne na celom hárku. Ak sa ešte k tomu pridajú polia s hodnotami v stĺpcoch, ktoré sú štandardne usporiadané vodorovne, tabuľka bude veľmi široká. Náš tip: Ak tlačíš kvôli svojej práci množstvo nielen kontingenčných tabuliek, v rámci úspory farby ti odporúčame kompatibilné náplne do tlačiarne. Tie sú v porovnaní s originálnymi náplňami lacnejšie, ekologickejšie, avšak stále ponúkajú 100% kvalitu tlače. ZáverA práve si dospel do bodu, kedy už dokážeš nielen vytvoriť kontingenčnú tabuľku, ale vieš si v nej údaje zorganizovať tak, aby bola analýza a porovnanie dát jednoduchšie. Kontingenčná tabuľka ti dokáže ušetriť hodiny a hodiny zbytočného filtrovania a ty môžeš využiť svoj voľný čas zmysluplnejšie. Ako, to je na tebe. :) [Image] Aj komplexná práca s kontingenčnými tabuľkami je súčasťou nášho online kurzu Excel pre pokročilých, kde nájdeš rozsiahle tutoriály pre prácu s excelovskými funkciami, makrami, formátovaním a podobne. Naučíš sa s Excelom pracovať ako profík, čo bude plusom nielen pre tvoje CVčko, ušetrí ti určite veľa času aj v praktickom živote. Navyše na konci kurzu získať od Learn2code certifikát o absolvovaní kurzu, aby viac o tvojej úrovni nikto nepochyboval! 
Najvhodnejší software na editáciu videa (časť I.)
Tipy a triky
17.04.2019
Katarína Kučáková

Najvhodnejší software na editáciu videa (časť I.)

Vieme, že v ponuke dostupných softvérov je niekedy ťažké sa orientovať a vybrať si ten, ktorý bude našim potrebám vyhovovať najviac. Táto dilema neobchádza ani tému editovania videí. V článku ti preto predstavíme 3 programy, z ktorých si budeš vedieť vybrať aj ako odhodlaný začiatočník. Ktoré to sú?  Premiere Pro CC Premiere Pro z dielne Adobe je zrejme najpoužívanejším softwarom používaným pre strih a editáciu videí. Pod strechou Premiere Pro prešli také filmové blockbustery ako Deadpool, Avatar či Gone Girl. Je určený pre súčasných a budúcich profesionálov, náročných youtuberov a pod. To však nemusí odradiť ani neskúsených editorov. Ak si začiatočník, zrejme sa ti bude zdať používanie Premiere Pro dosť náročné, obrň sa však trpezlivosťou k prekonaniu ťažkých začiatkov a nebudeš sa ho chcieť vzdať. Možno ale predsa. Dôvodom je vyššia cena, software si totiž môžeš kúpiť len formou predplatného na časovo obmedzené obdobie, ako sme zvyknutí pri všetkým Adobe deťoch. V rámci ročného plánu si tak Premiere Pro zaobstaráš za 23.99 Eur/mesačne. Výhodou je neustála aktualizácia softwaru, pridrahé to však bude pre rekreačného užívateľa Premiere Pro.  A v čom je Premiere Pro tak výnimočný? Adobe Premiere Pro je dostupný vo verziách pre Windows a Mac OS X, obrovskou výhodou je jeho možné prepojenie s Adobe súrodencami, ktorými sú napríklad Photoshop, After Effects alebo Audition sound editor. Flexibilná timeline umožňuje prácu na rôznych elementoch videa, ako sú vrstvy, zvuk, text a obraz, čo oceníte pri komplexnejších alebo tímových projektoch.  Vďaka precíznemu color gradingu budeš vedieť priviesť svoje “surové” videá k životu použitím farieb, vrátane kalibrácie bielej farby a nastavenia jasu pre rôzne svetelné podmienky. Software navyše inteligentne analyzuje farby vybraných klipov a aplikuje na tie požadované. Potešia ťa nekonečné možnosti animácií, Premiere Pro nezabúda ani na kvalitné funkcie pre spracovanie zvuku.  Exportovanie súborov sa môže pri Premiere Pro javiť ako zdĺhavejšie, export videí však vieš prispôsobiť tomu, či je určený pre mobilné obrazovky, alebo plátna kín. Ak teda poznáš svojho diváka, budeš vedieť optimalizovať videá ako nikdy predtým. [Image] Adobe Premiere Rush Užívateľov sociálnych sietí určite nadchne nová aplikácia pre strih a úpravu videa,  ktorou je Adobe Premiere Rush. Táto appka výrazne uľahčuje prechod od snímania k editácii videí a ich zdieľanie na sociálnych sieťach. Videá v ňom upravíš jednoducho na akomkoľvek zariadení, svoj projekt môžeš napríklad začať strihať v mobile a dokončiť na počítači. Adobe Rush poskytuje základné možnosti pre úpravu zvuku a obrazu, náročným užívateľom však budú chýbať pokročilejšie funkcie. Napriek tomu sa jedná o revolučnú appku, v ktorej premeníš svoje amatérske videá na vizuálny a zvukový zážitok. A to kdekoľvek. Úžasný nástroj pre generáciu youtuberov, vloggerov alebo jednoducho ľudí, ktorí chcú urobiť pekné videá, ale nemajú čas učiť sa náročné editovacie programy. Všetky podstatné nástroje pre strih a editáciu videí totiž Adobe zabalil do jednej appky.  Keďže sa jedná produkt z rodiny Adobe, užívateľ musí počítať s predplatným. Mesačne ťa appka vyjde na 11,99 Eur, možnosťou je vyskúšať si bezplatne Premiere Rush CC Starter Plan s neobmedzenou funkčnosťou na neobmedzenom množstve projektov, exportovať ti však dovolí maximálne tri z nich. [Image] Final Cut Pro X Ďalším z kvalitných strihačských softwarov je Final Cut Pro. Ten je však dostupný len pre Mac zariadenia, čo okamžite eliminuje veľkú časť potenciálnych userov. Ak si ale používateľom jabĺčkového zariadenia, Final Cut Pro je tým ideálnym softwarom.  Jedná sa o rýchly (a zrejme aj najrýchlejší) a intuitívny software, ktorý bude vyhovovať všetkým tvojim editorským potrebám. Veľkou výhodou Final Cut je jednorazová platba za jeho užívanie, nemusíš tak platiť “výpalné” ako pri Adobe produktoch.  Užívateľské rozhranie Final Cut je nastavené spôsobom dávajúcim zmysel aj užívateľovi, ktorý softvér otvoril prvýkrát. Možnosti úprav sú v logickom poradí a konkrétny nástroj tak budeš vedieť nájsť bez toho, aby si zúrivo klikal na nesprávne nástroje v snahe nájsť ten požadovaný.  Vytvoríš v ňom i zložité animácie, zvukové a vizuálne efekty a ponúka ľahký prístup k pluginom. Na Final Cut budeš milovať jeho jednoduchý a prehľadný design a inovatívnu časovú os, ktorá zabezpečuje synchronizáciu medzi jednotlivými stopami. Silnou stránkou softwaru je úprava zvuku.  Pri importovaní súborov máš možnosť náhľadu videí, čím sa vyhneš zdĺhavému nahrávaniu súborov, ktoré vlastne ani nepotrebuješ. Bezproblémový je aj export a renderovanie, nahrávanie súborov napr. sociálne siete sa deje v reálnom čase, nemusíš tak čakať na exportovanie súboru, jeho uloženie do počítača a opätovné nahrávanie. [Image] Záver Tak ako určiť víťaza tohto battle? Univerzálna odpoveď neexistuje, závisieť to bude od tvojich editorských potrieb, skúseností, profesionálneho využitia a podobne. Všetky dôležité otázky sú zodpovedané, výber je teda len na tebe! Learn2Code má pre teba aj ponuku online kurzov k uvedeným editorom, aby si vedel z ktoréhokoľvek z nich vyťažiť maximum:  Ak chceš byť profi user, pre ktorého bude editovanie videí viac, než len 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 najnovšie verzie (Java 9): príkazový riadok JShell (2. časť)
Tipy a triky
21.03.2019
Skillmea

Java najnovšie verzie (Java 9): príkazový riadok JShell (2. časť)

Java príkazový riadokJShell Command Line je nástroj, kde môžeme skúšať spúšťať kód bez toho, aby sme museli vytvoriť novú triedu s main metódou.[Image] JShell spustíme z bin adresára, kde máme nainštalovanú javu jdk vo verzii 9 a viac. Pri učení sa preferuje použiť verbose mód jshellu, čo nám poskytne čo najviac spätnej väzby pri práci s konzolou.  jshell –v  Ak si spustil jshell bez –v môžeš jshell vyponúť s príkazom /exit a potom spustiť znovu s –v nastavením. Teraz môžeš zadávať výrazy. Prvý spôsob je zadeklarovať premennú s hodnotou a následne hodnotu vypísať:[Image] Alebo môžeš rovno napísať výraz, ktorý sa vyhodnotí a výsledok sa zapíše do premennej, ktorá dostane poradové číslo. [Image] Je možné deklarovať metódy. Pri písaní príkazov, ak jshell zistí, že príkaz nie je ukončený, napríklad si napísal kučeravú zátvorku a stlačíš enter, tak sa vytvorí nový riadok na ktorého začiatku budú špeciálne znaky ...> čo znamená, že pokračuješ v písaní kódu a výraz sa ešte nevyhodnotí.[Image] Metódu potom voláš klasicky:[Image] Ak by si chcel prepísať metódu, respektíve čo robí vo vnútri, tak ju vieš napísať znovu a ona sa prepíše a platná bude posledná napísaná. Je možné aj prepísať typ premennej. Ak na začiatku bude x číslo, tak neskôr môže byť String. [Image] Pod výpismi máme vždy aj poznámky o tom, čo sa deje na pozadí. Napríklad, že premenná x bola nahradená za String.  Môžeš napísať metódu, ktorá vo vnútri používa premenné alebo metódy, ktoré ešte neboli zadefinované. Fungovať budú až keď všetko zadefinuješ.  Príkazom /list si zobrazíš kód, ktorý si napísal. Každý vstup má číslo, čo predstavuje id vstupu. Tieto id slúžia aj pri výnimkách. Napíšme si príkaz, ktorý spadne a vypíše sa výnimka.[Image] Po výpise /list zistíme čo znamenajú čísla vo výpise. Po prvé tam máme: at divide (#15:2), čo znamená, že chyba nastala na príkaze s id 15 a riadku 2 toho príkazu. Po druhé at (#16:1) je ďalšie miesto, kde sa metóda volala – klasický stack trace, ale s odkazom na /list výpis.[Image] Jshell ponúka aj možnosti na doplnenie, keď stlačíme tab. Ak do konzoly napíšem Sy a stlačím tab, tak mi ponúkne možnosti. Potom ak napíšem System. a stlačím tab, tak mám ďalšie možnosti vypísané. A tak ďalej.  [Image] Tu sa dostávame k tomu, že vieme používať klasické dostupné api. Ako napríklad String metódy. V konzole som napísal prázdny String bodku a stlačil tabulátor.  [Image] Ak niektoré triedy nie sú dostupné, tak ich vieme importnúť. Pri písaní vieme typu stlačíme Shift + Tab a potom písmeno i, ak chceme importnúť. Potom máme možnosť urobiť nič, alebo importnúť. [Image] Do shellu vieme písať aj shell špecifické prkazy. Stretli sme sa už s /list. Existujú aj ďalšie, napríklad /methods na výpis dostupných metód, /vars na výpis dostupných premenných, alebo /list –all na výpis všetkého aj importov aj chybne zadaných príkazov.  Všetko, čo sme napísali, úspešne si vieme uložiť do súboru pomocou príkazu /save nazovSuboru.txt. Tento súbor je uložený v priečinku bin, kde sme spustili jshell, ak nezadáme inak. Znovu vieme tento program otvoriť pomocou /open a názva súboru. Aj pri týchto príkazoch funguje dopĺňanie po stlačení tabulátoru.[Image] Je možné písať skratky príkazov, ak sú tie skratky unikátne. Jediný príkaz, ktorý začína na písmeno l je list, teda jemožné napísať /l. To isté platí aj pre príkazy pre /l ak dáme pomlčku a tab, tak dostanem možnosti. Príkaz, ktorý začína na a je len jeden tak môžem napísať /l –a namiesto /list –all.[Image] Tento príkaz som spustil nad čistou novou jshell, tak si môžeme pozrieť, čo je importnuté ako default.  Priblížili sme si základné možnosti nastavenia príkazového riadku JShell, je ich ale ďaleko viac. Ak máš záujem sa do tejto problematiky “zavŕtať” hlbšie, môžeš si pozrieť kompletný tutoriál. A napíš niečo do komentárov, poteším sa. Pýtaš sa “prečo Java”? Java je jeden z najpoužívanejších programovacích jazykov na svete. Ak sa o Javu zaujímaš (je jedno, či si začiatočník, alebo už programuješ), pripravili sme pre teba mnoho kurzov na https://skillmea.sk.

Nezmeškaj info o nových kurzoch a špeciálnych ponukách