Zpět na blog
Vzdělávání

Novinky v Java 15

Skillmea
14.04.2023
6 minut čtení
Novinky v Java 15
Najnovšia verzia Java je Java 20 alebo JDK 20 vydaná 21. marca 2023. JDK 17 je najnovšia LTS platformy Java SE. Postupne si budeme predstavovať zmeny v Jave od verzie 15 a v tomto článku si predstavíme hlavné programátorské zmeny vo verzii 15.

Text Blocks

O tejto funkcionalite sme už rozprávali. Teraz je však táto funkcia zaradená ako štandard a nie ako preview funkcionalita. Napriek tomu si to znovu vysvetlíme, ak si napríklad túto časť preskočil v minulosti hlavne kvôli preview statusu. 

Funkcia Text Blocks umožňuje zápis viacriadkových reťazcov (texty) jednoducho. Týmto spôsobom je možné zapisovať ľahšie čitateľné reťazce, ktoré obsahujú viac riadkov alebo formátovaný text.

Text Blocks začínajú a končia trojitými úvodzovkami ("""") a môžu obsahovať text, ktorý je rozdelený do viacerých riadkov bez potreby zadávať znak nového riadku /n. Java tu  zohľadňuje nové riadky a na pozadí automaticky odstraňuje nadbytočné biele znaky (medzery, tabulátory) na začiatku riadkov.

Ako sa správa to automatické odstraňovanie? Pozrime sa na príklad:
String html = """
              <html>
                  <body>
                      <p>Hello, World!</p>
                  </body>
              </html>
              """;
Jednoduchý kúsok HTML. Ak si všimneš, tak tag <html> je od pravej ľavej strany odsadený. Je tam viacero bielych znakov. Keď tento text budeš používať ďalej, tak tieto biele znaky budú odstránené.

Na ďalších príkladoch si všimni ako sa pohybuje zelená zvislá čiara. Podľa nej zistíš ako sa odstraňujú biele nadbytočné znaky. 
Nakoniec si daj pozor, aby tvoj text nezačínal na riadku prvých trojitých úvodzoviek, lebo to by bol chybný zápis. Za prvými trojitými úvodzovkami musí byť nový riadok.
Ukážka kódu
Ukážka kódu
Ďalšie príklady:
String json = """
              {
                  "id": "1",
                  "name": "Jaro",
                  "age": "35"
              }
              """;
 
String sql = """
             SELECT id, name, age
             FROM users
             WHERE age > 10
             """;
Formátovanie textu:
String formattedText = """
                       Id: %d
                       Name: %s
                       Age: %d
                      “”".formatted(“1”, “Jaro”, “35”);

Records

Java Records boli uvedené už v Jave 14 ako skorý preview. V Jave 15 boli nejaké zmeny a vylepšienia. Poďme si povedať, čo sú tie Java Records. V Jave 15 je táto funkcionalita stále v preview móde.

Records je nový druh tried, ktoré slúžia na zjednodušenie práce s dátovými triedami. To sú triedy, ktoré majú slúžiť ako jednoduchý nositeľ informácie. Tieto triedy automaticky generujú konštruktory, metódy equals, hashCode a toString bez nášho zašpecifikovania.

Príklady

Vytvorenie record:
public record User(int id, String name, int age) {} 
Použitie:
User user = new User(1, "Jaro", 35);System.out.println(user.name()); // Výstup: Jaro 
Je to rozdiel oproti klasickej definícii triedy, kde si musel zašpecifikovať konštruktor a get metódy. Je to kratšie a prehľadnejšie.

Ďalšie príklady:
record Employee(String name, int id) {}
 
Employee employee = new Employee("Janka", 534);
String name = employee.name();
int id = employee.id();
Máme možnosť zadefinovať vlastný konštruktor. Napríklad ak chceme urobiť nejaký test nad vstupnými dátami: 
record Adult(int age, String Name) {
    public Adult {
        if (age < 18) {
            throw new IllegalArgumentException("Must be adult.");
        }
    }
}

Adult validAdult = new Adult(35, "Jaro");
Adult invalidRange = new Adult(10, "Fero"); // exception
Môžeme pridávať metódy: 
record Circle(Point center, double radius) {
    double area() {
        return Math.PI * radius * radius;
    }
}
Circle circle = new Circle(new Point(0, 0), 5);
double area= circle.area(); 

Pattern Matching for instanceof je funkcia, ktorá bola zavedená v Jave 15 ako druhá fáza návrhu (preview feature). Táto funkcia zjednodušuje testovanie typu objektu a získavanie hodnoty z objektu. 

Pattern Matching

Pattern Matching je znovu predstavený v statuse preview. Umožňuje kombinovať overenie typu a pretypovanie do jedného kroku, čo zlepšuje čitateľnosť a zjednodušuje kód.

Všimni si, že v podmienke sme predstavili premennú s typu String. Táto sa nazýva binding variable.
Object obj = "Hello, World!";
 
if (obj instanceof String s) {
    System.out.println("Length: " + s.length());
} else {
    System.out.println("Not a string");
}
V minulosti to vyzeralo takto: 
Object obj = "Hello, World!";
 
if (obj instanceof String) {
    String text = (String) s;
    System.out.println("Length: " + s.length());
} else {
    System.out.println("Not a string");
}

Ďalšie príklady:
Object data = List.of("one", "two", "three");
 
if (data instanceof String s) {
    System.out.println("Length: " + s.length());
} else if (data instanceof List<?> list) {
    System.out.println("Size: " + list.size());
}
 
Object obj = 3.14;
 
if (obj instanceof Integer i || obj instanceof Double d) {
    System.out.println("Number: " + obj);
} else {
    System.out.println("Not a number");
}

Sealed Classes

Sealed Classes je v Jave 15 ako preview. Sealed Classes umožňujú obmedziť rozsah dedenia tried. Týmto spôsobom môžeš kontrolovať, ktoré triedy môžu dediť od tejto triedy. Sealed Classes sú často používané v kombinácii s pattern matchingom.

Majme sealed triedu:
sealed class Shape permits Circle{}
 
Trieda, ktorej povoľuje dedenie musí byť final.
final class Circle extends Shape {    
...} final class Rectangle extends Shape {    ...} 
 
Teraz sme povedali, že od triedy Shape môže dediť len Circle. Pri iných triedach, ktoré by sa pokúsili dediť od triedy Shape bude chyba is not allowed in the sealed hierarchy.

Tento princíp vieme využiť napríklad takto:
double calculateArea(Shape shape) {
    return switch (shape) {
        case Circle c -> Math.PI * c.getRadius() * c.getRadius();
        case Rectangle r -> r.getWidth() * r.getHeight();
    };
}

Na vstupe máme Shape a vieme, že od neho môže dediť len Circle a Rectangle.

Hidden Classes

Pre bežného používateľa nezaujímavé a pravdepodobne to nikdy nevyužije. V skratke ide o to, že je možné vytvárať triedy zabehu aplikácie a nie sú viditeľné ani použitím reflexie.
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

Power BI vs Tableau: Co si vybrat v roce 2023?
Vzdělávání
11.03.2023
Skillmea

Power BI vs Tableau: Co si vybrat v roce 2023?

Power BI a Tableau jsou dvě důležité Business Intelligence technologie pro shromažďování, integraci, analýzu a prezentaci obchodních informací. Pomáhají vám provádět datovou analýzu, manipulaci s údaji a jejich vizualizaci, abyste měli přehled v informacích a dobré podklady pro byznys rozhodnutí. V tomto článku se podíváme na Power BI a Tableau, prozkoumáme jejich podobnosti a rozdíly, jakož i jejich výhody a nevýhody. Po přečtení byste měli mít představu o tom, co je pro vaše potřeby to pravé. Krátce o historii Business IntelligenceBusiness Intelligence je zde s námi již od 60. let 19. století, kdy Sir Henry Furnese, americký bankéř sbíral a analyzoval údaje, aby získal cenné informace a předčil tak konkurenci. V roce 1958, napsal počítačový vědec IBM Hans Peter Luhn článek, který popsal potenciál shromažďování Business Intelligence pomocí technologií. Business Intelligence, jak se dnes chápe, využívá technologie pro shromažďování a analýzu údajů, jejich přeměnu na užitečné informace a jednání na základě nich. Tableau bylo poprvé spuštěno v roce 2004 a poskytuje uživatelům drag-and-drop způsob vytváření interaktivních vizualizací a dashboardů. Tableau má řadu produktů, které pomáhají firmám ukládat, analyzovat a vizualizovat údaje. Microsoft Power BI přišlo na scénu o několik let později, poprvé bylo veřejnosti představeno v roce 2011. Cílem bylo vytvořit snadno použitelné rozhraní, které umožní organizovat a vizualizovat data i neprogramátorům. Stejně jako Tableau obsahuje i Power BI několik různých komponentů. Podobnosti Power BI a TableauV následujících řádcích se podíváme na podobnosti mezi těmito dvěma nástroji. Uživatelsky přívětivé a code-freeTableau i Power BI jsou ideálními nástroji, které se naučíte, pokud jste nováčkem v oblasti datové analýzy. Pokud jste business analytikem, jsou to dva hlavní nástroje pro vizualizaci dat, které budete potřebovat pro práci s nimi. Připojení na různé zdroje datJedna věc je vizualizace údajů, které máte, ale důležité je mít řadu vstupů. Firmy mají tendenci shromažďovat data z více kanálů. Při srovnání Tableau a Power BI vidíme, že obě se mohou připojit k širokému spektru zdrojů. Patří sem MS Excel, CSV a JSON a placená verze obou platforem vám poskytuje přístup k více než 50 dalším datovým konektorům, jako jsou Google Bigquery, Amazon Redsift a Salesforce. Vizualizace se aktualizují, pokud se změní základní údaje.[Příklad dashboardu v Power BI] Množství různých vizualizacíTableau i Power BI vám mohou pomoci prezentovat data různými způsoby. Máte možnosti pro vizualizace včetně sloupcových a čárových grafů, stromových map a geografických map. Na obou platformách můžete s těmito vizualizacemi interagovat, například umístěním kurzoru myši na ně získáte více informací a použitím filtrů, a také je můžete zkombinovat a vytvořit interaktivní dashboardy. PopularitaNa základě údajů z webstránky Slintel z března 2023 má Power BI tržní podíl 13,27 %, zatímco Tableau využívá 13,83 % firem v rámci Business Intelligence řešení. Obě řešení mají desetitisíce firemních zákazníků na světě.[Příklad dashboardu v Tableau] Rozdíly mezi Power BI a TableauTyto rozdíly mezi Power BI a Tableau zvažte, pokud uvažujete o jejich využití pro při svém podnikání či ve své kariéře. Power BI funguje pouze na WindowsTo může výrazně zasáhnout do výběru těchto dvou platforem. Pokud budete pro svou práci většinou používat Mac, lepší volbou je Tableau, protože Power BI nemůžete používat na macOS. CenyPower BI má výhodu oproti Tableau, pokud jde o ceny. Power BI Pro stojí 10 USD měsíčně na uživatele a ještě výkonnější služba Power BI Premium stojí 20 USD měsíčně na uživatele. Více než 8 % uživatelů uvádí ceny jako jednu z největších silných stránek Power BI. Uživatelé služby Power BI zjišťují, že její cena je často zahrnuta v balíčku předplatného od společnosti Microsoft a existuje bezplatná verze. Uživatelé si mohou vybrat z úplného balíka Tableau Creator za 70 USD měsíčně nebo se rozhodnout pro Tableau Explorer za 42 USD měsíčně, pokud potřebujete použít pouze stávající dashboardy. Uživatelé, kteří si jen potřebují prohlížet a interagovat s informačními panely, mohou získat předplatné Tableau Viewer ve výši 15 USD měsíčně. Programovací jazykyPokud jde o použití Power BI a Tableau s různými programovacími jazyky, existují další rozdíly: • Power BI: k manipulaci s daty a modelování můžete použít jazyk M a Data Analysis Expression. Je možné připojit i programovací jazyk R. • Tableau: s Tableau máte větší výběr a flexibilitu. Kromě jednodušší integrace s R můžete implementovat Tableau Software Development Kit s jazyky Python, Java, C a C++. Další rozdíly• Tableau je nejlépe známé pro své vizuálně atraktivní vizualizace dat, zatímco Power BI je preferováno pro svou schopnost pracovat s více údaji. • Tableau je ideální pro zkušené datové analytiky, zatímco Power BI mohou používat zkušení i začínající uživatelé. • Zvládnutí Tableau vyžaduje čas a odborné znalosti, zatímco používání Power BI je jednodušší. • Tableau dokáže efektivně zpracovat velké objemy dat, zatímco Power BI je lepší pro omezené objemy dat. ZávěrTakže Power BI nebo Tableau? Který z těchto dvou nástrojů si nakonec vyberete, jednoduše závisí na tom, jak je potřebujete používat ve svém podnikání. Pro nás má mírně navrch Power BI. Jeho snadné použití, podobnost s Excelem a cenová dostupnost z něj činí skvělou volbu pro mnoho firem. Tableau má stále jedinečné výhody, které ocení mnohé firmy a analytici. Je lepší pro větší objemy dat, nabízí krásné vizualizace dat a větší možnosti přizpůsobení než Power BI.
Vývojářské a programátorské zkratky (část I.)
Vzdělávání
04.02.2023
Skillmea

Vývojářské a programátorské zkratky (část I.)

Zajímalo vás někdy, kdo je ten Jason, o kterém mluví všichni vývojáři. Ve skutečnosti je to JSON a je to zkratka JavaScript Object Notation a je to standardní formát souboru pro výměnu dat. Při práci s weby bez ohledu na to, zda jste vývojář, marketér, editor, SEO specialista nebo něco mezi tím, narazíte na řadu akronymů a zkratek. Seznámení se s nimi vám usnadní práci. Pojďme se spolu podívat na první čásť seznamu nejpoužívanějších zkratek akronymů ve vývoji softwaru. AJAXAJAX je zkratka pro asynchronní JavaScript a XML. Možná to nedává až takový smysl - ale ve skutečnosti jde o to, že když jste na nějaké webstránce a na něco kliknete, tak se daná stránka nenačte celá, ale do ní se přidá jen to, co potřebujete. Interakce s webem se tak výrazně zlepšuje. APIAPI je zkratka z Application Programming Interface. Umožňuje dvěma různým aplikacím „mluvit spolu“. Takže API je součástí serveru, který přijímá požadavky a posílá odpovědi jiným aplikacím. API funguje jako jakýsi prostředník mezi webem (respektive softwarem, který vyžaduje nějaké informace) a databází. API tedy figuruje na pomyšlené pozici číšníka, který v restauraci tlumočí přání zákazníka kuchaři. ASP.NETASP.NET je zkratka pro Active Server Pages a .Net odkazuje na framework .NET (dotNET). ASP.NET je open-source webový framework pro vytváření webových aplikací na rozhraní .NET. Je vytvořen společností Microsoft a umožňuje vývojářům vytvářet dynamické webové aplikace, webové stránky a podobně. ASP.NET se přesunulo na verzi ASP.NET Core, která je multiplatformová, ale ASP.NET je stále podporována a aktualizována od společnosti Microsoft. Existuje aj verzia ASP.NET Web Pages. BLOBBLOB je zkratka pro Binary Large Object. Jedná se o soubor binárních údajů uložených jako jedna entita v databázi. Používá se především při ukládání médií, jako jsou zvuk, obrázky a video. To se poněkud liší od jiných druhů databází, protože často ukládají řetězce nebo celá čísla. Protože objekty BLOB často ukládají obrovské soubory, budou samozřejmě vyžadovat i podstatně více místa. CDNCDN je zkratka pro Content Delivery Network. Jedná se o skupinu geograficky distribuovaných serverů, které spolupracují s cílem velmi rychle doručit obsah návštěvníkovi webové stránky nebo aplikace. Pomocí sítě CDN lze provádět rychlé přenosy daných aktiv k načtení obsahu webstránek včetně obrázků a videí. Většina velkých internetových služeb, jako jsou sociální média, streamovací služby, e-commerce weby, zpravodajské portály a podobně, využívají CDN sítě. CMSContent management system v překladu znamená systém pro management obsahu. Jedná se o software, aplikaci nebo program navržený pro snadnou tvorbu, upravování a editaci webového obsahu (text, video, obrázky, atd.). Nejpoužívanějším CMS systémem na světě je WordPress. CRUDCo znamená CRUD? Znamená to vytvořit (Create), přečíst (Read), aktualizovat (Update) a odstranit (Delete). Je to zkratka v rámci programování. Tyto čtyři funkce jsou potřebné pro operace prováděné na nějakém datovém úložišti. Každá ze čtyř funkcí je důležitá, pokud jde o interakce s databází. CSSCSS je zkratka pro Cascading Style Sheets, což je jazyk šablony stylů, který se používá k zobrazení toho, jak by měl vypadat HTML dokument. Spolu s HTML a JavaScriptem je CSS jedním ze základních kamenů webstránek. DNSZkratka DNS znamená Domain Name System. DNS je to, co umožňuje uživatelům zadat libovolnou URL adresu ve svém prohlížeči a najít požadovaný cíl – aniž by museli na serverech procházet podadresáři IP adres, aby našli webovou stránku. DNS můžeme označit jako telefonní seznam internetu. Na webovou stránku přistupujeme přes adresu (doménu) jako skillmea.sk nebo wikipedia.org. Počítače a webové prohlížeče však interagují prostřednictvím adres internetového protokolu (IP). Domain Name System (DNS) přeloží požadovanou doménu na IP adresu, kterou pak počítače a prohlížeče načtou. FTPFTP znamená File Transfer Protocol. Jedná se o komunikační systém, který umožňuje přenos souborů mezi počítači. Pokud je uživateli udělen přístup pomocí uživatelského jména a hesla, je možné přistupovat ke vzdálenému počítači v síti (nejčastěji k serveru zvanému FTP-host), kde pak může uživatel získávat nebo přijímat soubory. FTP připojení se často používá pro přístup k web serveru pro nahrávání nebo stahování souborů. GraphQLGraphQL je open-source datový dotazovací a manipulační jazyk původně vyvinutý a vydaný společností Facebook v roce 2012. GraphQL byl v roce 2015 uvolněn jako open source a nyní je řízen nadací GraphQL Foundation, aby se zajistilo, že jeho vývoj bude probíhat otevřeným a neutrálním způsobem . Umožňuje klientům definovat strukturu požadovaných dat a přesně stejná struktura dat je vrácena ze serveru. Klienti si mohou určit, jaké údaje jsou potřebné. Tím zabrání jak problémům nadměrného načítání, tak nedostatečného získávání dat. GUIGUI je zkratka pro grafické uživatelské rozhraní (Graphical User Interface). Je to systém interaktivních komponent, které jsou vizuálně prezentovány uživateli počítačového programu. Grafické uživatelské rozhraní zobrazuje objekty, které přenášejí informace a akce, které může uživatel provést. Mohou to být objekty, které mění velikost, barvu nebo viditelnost. Grafické uživatelské rozhraní často obsahuje objekty jako ikony, kurzory a tlačítka. Někdy jsou dokonce dále rozvíjeny zvukem, animacemi nebo stíny. První prototyp GUI vyvinuli ve firmě Xerox v roce 1979 a později Steve Jobs a Apple inženýři vyvinuli Lisa, první počítač s GUI dostupným pro veřejnost. HTMLHTML je zkratka pro jazyk Hypertext Markup Language a je standardním jazykem pro vývoj webstránek. S HTML jste se už tak či onak určitě setkali, jelikož všechny webové stránky na internetu jsou napsány pomocí HTML. Více si přečtěte v tomto článku. HTTPHTTP znamená Hypertext Transfer Protocol. Jedná se o protokol, přes který se do vašeho webového prohlížeče odesílají informace na webovou stránku, kterou si prohlížíte. Prohlížeč a webová stránka spolu komunikují prostřednictvím údajů, které se odesílají v čistém textu. Problém s obyčejným textem je v tom, že jej mohou přetínat a číst jiní. Proto byl protokol HTTP aktualizován na bezpečnější verzi s názvem HTTPS - Hypertext Transfer Protocol Secure. IDEIDE je zkratka pro integrované vývojové prostředí (Integrated Development Environment). Je to softwarový balíček, který používají vývojáři ve vývojovém prostředí a je navržen tak, aby maximalizoval produktivitu a efektivitu vývojáře. JSJS je zkratka pro JavaScript. Je to skriptovací jazyk, který se používá k vytváření a ovládání dynamického obsahu na webové stránce. To může zahrnovat vše, co se pohybuje na webové stránce, vše, co se obnovuje nebo jinak mění na obrazovce, bez jakéhokoli zásahu uživatele. Mohou to být šoupátka, carousely obrázků, návrhy automatického doplňování nebo jiné interaktivní prvky. JSONJSON znamená JavaScript Object Notation. Jedná se o standardní formát souboru pro výměnu dat. Pro ukládání a přenos datových objektů mezi webovými servery a aplikacemi používá text, který lidé dokáží přečíst a porozumět mu. Je to velmi běžně používaný datový formát. Jedná se o textovou reprezentaci strukturovaných údajů s páry klíč – hodnota a uspořádanými seznamy. MVCMVC je skrakta pro Model-View-Controller, což je návrhový vzor v rámci softwarového vývoje. Aplikace se navrhuje tak, že je rozdělena na 3 části: Model - View a Controller. Model je reprezentací vlastností objektu, tedy byznys logika. View je vizuálním zobrazením dat a Controller je spojivkem mezi jednotlivými Modely a View. ZávěřTolik zkratek na úvod by stačilo, pokračovat budeme dalšími zkratkami, jejichž význam vám jistě pomůže zorientovat se ve světě softwarového vývoje.
Odmocnina v Excelu
Vzdělávání
18.01.2023
Skillmea

Odmocnina v Excelu

Chcete se naučit odmocňovat v Excelu? Je to jednoudché, umíte to udělat dvěma způsoby a to buď pomocí vzorce nebo pomocí funkce. Výpočet druhé odmocninyPro výpočet druhé odmocniny má Excel ve svém repertoáru připravenou matematickou funkci SQRT.[Funkce SQRT] Tato funkce má pouze jeden argument a tím je číslo, ze kterého chcete vypočítat druhou odmocninu. Tento argument je povinen. Jak bude vypadat výsledek odmocniny čísla 16? Prohlédněte si to na obrázku níže. Pomocí funkce SQRT jsem vypočítal druhou odmocninu čísla 16 v buňce A4. Vzorec je =SQRT(A4) a výsledek je číslo 4.[Druhá odmocnina v Excelu] Výpočet jiné odmocninyV pořádku, druhou odmocninu v Excelu vypočítat víte. Co však, když chcete vypočítat jinou než druhou odmocninu? K tomu již neumíte použít funkci SQRT(). Existují dva přístupy k výpočtu, podívejme se nejprve na výpočet pomocí matematického vzorce. Výpočet odmocniny pomocí matematického vzorceX-tá odmocnina z čísla y se vypočítá jako y na (1/x) Excel funkce bude vypadat následovně: =y^(1/x) Rychlý příklad, třetí odmocninu z čísla 15 vypočítáte následovně: =15^(1/3), výsledek:[Výpočet odmocniny přes matematický vzorec]Nevíte, jak zadat symbol stříšky? Použijte tuto klávesovou zkratku: “Windows: Alt + 94 nebo Ctrl + Alt + š nebo Alt Gr + š Mac: option + 6” Výpočet odmocniny pomocí funkce POWERDruhý přístup pro výpočet odmocniny je pomocí funkce POWER. Tato funkce vypočítá mocninu daného čísla a obsahuje dva argumenty: 1. číslo: základ mocniny, jedná se o libovolné reálné číslo, 2. mocnina: jedná se o exponent, na který chcete základ umocnit. Jelikož však chceme vypočítat odmocninu, zadáme do argumentu Mocnina exponent ve tvaru 1/3 pro výpočet třetí odmocniny, 1/4 pro výpočet čtvrté odmocniny atp.[Výpočet odmocniny pomocí funkce POWER] ZávěrVyzkoušejte si vše sami na příkladech, abyste získali zručnost při počítání odmocnin. Chcete-li se dozvědět něco víc, co v návodu nebylo, napište komentář. Prohlédněte si také naše online kurzy zaměřené na práci s funkcemi v Excelu.

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