Náš blog

V této kategorii naleznete komplexní přehled článků z různých oblastí, včetně IT kurzů a témat zaměřených na inovační vzdělávání. Články pokrývají širokou škálu témat, která vám pomohou získat nové znalosti a dovednosti. Chcete-li být v obraze a zlepšovat se v oblasti vzdělávání či technologií, tato sekce je pro vás.

Eratostenovo síto
Vzdělávání
30.05.2020
Skillmea

Eratostenovo síto

V předchozím blogujsme se zabývali prvočísly. Ukázali jsme si ukázku programu, který rozeznal, zda zadané číslo je prvočíslem nebo ne. Dnes bych vám chtěl na konkrétním příkladu ukázat, jak řeší podtitulek tohoto blogu a tedy zjistit prvočísla na definovaném intervalu přirozených čísel, přičemž horní hranici intervalu bude zadávat uživatel. Spodní hranicí intervalu bude 0, která samozřejmě není prvočíslem a to z toho důvodu, že prvočíslo je dělitelné číslem 1 a sebou samým. Z toho vyplývá, že 0, i když je dělitelná číslem 1, není dělitelná 0, protože výraz 0/0 není definován. Přestože by si někdo myslel, že výsledek by mohl být roven číslu 1, není tomu tak. Nula prostě nemůže dělit žádný výraz. Pojďme teď trochu dál. Už v minulém blogu jsem vyvodil závěr, že ani 1 není prvočíslo a to proto, že je dělitelné 1 a sebou samým, což je opět číslo 1. A 1 a 1, nejsou dva různé faktory. Podmínka, která vylučuje, že 0 a 1 nejsou prvočísla, je samozřejmě v mém programu ošetřena. Co ale ostatní čísla, která se nacházejí na intervalu, jehož horní hranici zadal uživatel. Na tuto otázku nám přímo dá odpověď jednoduchý algoritmus, který nese název Eratostenovo síto. Eratostenes z Kyrény byl mimo jiné řeckým matematikem, který působil v dávné Alexandrii přibližně 280 let. před Kristem. Kromě toho, že vypočítal obvod země, definoval také algoritmus, který jsem pro vás implementoval ve vyšším programovacím jazyce C++. Předtím, než si detailně rozebereme program napsaný v jazyce C++, si algoritmus ukážeme na následujících přirozených číslech: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19. Máme tedy posloupnost, která je na začátku definována číslem 0 včetně a na konci číslem 20, které se nachází již mimo intervalu posloupnosti. A to je právě ta horní hranice, která byla výše zmíněna. Umístíme tuto posloupnost do jednořádkové tabulky, která v mém programu bude reprezentována vektorem celých čísel (vektor typu int). Jako poznámku chci dodat, že budeme tedy používat třídu knihovny STL, kterou je vektor. Vektor je entita, z níž se lépe manipuluje než s polem. Právě proto je tento článek určen těm čtenářům, kterým je alespoň poněkud známá problematika vektorů. Těm, kteří nejsou obeznámeni s problematikou vektorů, doporučuji nejprve prostudovat typ size_t, třídu vector a členskou metodu třídy vector push_back(). Potom se s elánem mohou tito čtenáři pustit do tohoto blogu. Ale zpět k našemu definovanému problému. Mějme tedy zmiňovanou posloupnost:[Image] V této tabulce vyznačme modrou barvou skutečnost, že 0 a 1 nejsou prvočísla:[Image]K indexům, na kterých se nacházejí čísla 0 a 1 se už tedy nebudeme vracet. Pojďme se podívat na číslo 2. O tomto čísle víme, že je nejmenší prvočíslo na tomto intervalu, což je prvotní podmínkou k tomu, abychom vyřešili podtitulek tohoto blogu. Ostatní prvky (čísla) posloupnosti budeme testovat Eratostenovým sítem – to znamená, že budeme nyní odstraňovat násobky čísla 2. Jelikož číslo 3 není násobkem čísla 2, projde Eratostenovým sítem. Zaznačme tedy do tabulky násobky čísla 2 červenou barvou.[Image]Vidíme, že v jednom kroku odstranil algoritmus (Eratostenovo síto) čísla 4, 6, 8, 10, 12, 14, 16 a 18. Zároveň se již nebudeme žádným způsobem vracet k indexu čísla 2. S předchozí tabulky je také očividné, že číslo 3 je prvočíslem. Pojďme nyní odstranit z tabulky jeho násobky a zaznačme tuto skutečnost zelenou barvou.[Image] V dalším kroku nám algoritmus odstranil číslo 6, 9, 12, 15, 18, které prvočísly nejsou. Ano, zelenou barvou jsme označili i některá čísla, která byla v předchozím kroku odstraněna násobkem čísla 2. To však nemění nic na skutečnosti, že tento krok nám odstranil z posloupnosti další čísla, kterými jsou čísla: 9 a 15. Po provedení zmiňovaného kroku vidíme , že číslo 5 zůstalo vyznačeno žlutou barvou. Číslo 5 je tedy prvočíslo, protože prošlo Eratostenovým sítem. Když bychom v následujícím kroku odstranili násobky čísla 5. zjistíme, že již byla čísla 10 a 15 odstraněna násobkem jiného čísla. Kdy tedy algoritmus skončí? Bude to tehdy, dokud se skutečně nedostaneme k číslu 19. Číslo 19 už nemá za úkol odstraňovat žádný násobek, protože se za ním v naší tabulce nic nenachází. Dosažení jeho indexu určitou interační proměnnou je podmínkou pro skončení algoritmu, ačkoli se již ve stavu prvočísel nebo odstraněných čísel nic nemění. Vyberme nyní všechna čísla označená žlutou barvou z naší tabulky:[Image] Zůstanou nám čísla, která jsou zajisté prvočísly. A tak jsme se dostali k výsledku našeho algoritmu, kterými jsou čísla 2, 3, 5, 7, 11, 13, 17 a 19. Pro kontrolu si můžete porovnat tato čísla s prvočísly uvedenými v jiných zdrojích, ale určitě dostanete tentýž výsledek. Pojďme nyní do detailu rozebrat následující zdrojový kód napsaný v jazyce C++, který je implementací verbálního vysvětlení algoritmu uvedeného výše. Jazyk C++ nám nabízí další možnosti, jak zefektivnit výpočet. Jsou to například. skoky v programu, které můžeme provést pomocí klíčových slov break a continue. Ale k tomu později. Pojďme pěkně popořadě od prvního řádku. Na řádku 1 máme direktivou preprocesoru přidaný hlavičkový soubor iostream.h. To znamená, že do tohoto řádku se vloží obsah souboru iostream.h. Podobně máme na řádku 2 a 3 vloženy stejnou direktivou hlavičkové soubory vector.h a string.h. Na řádku 4 je deklarováno, že budeme v celém zdrojovém kódu, který tvoří jeden soubor používat jmenný prostor std a tudíž jej nemusíme explicitně ve funkci main volat, když budeme z něj potřebovat nějakou třídu nebo objekt. Příkladem mohou být objekt cin nebo cout. Na řádku 6 definujeme funkci main a následně na řádku 7 začíná její tělo. Na řádku 8 deklarujeme proměnnou integrálního typu a to konkrétně char s identifikátorem proměnné c_end. Tato proměnná reprezentuje jeden znak, který rozhodne o tom, zda se vnější smyčka po provedení vlastního algoritmu Eratostenova síta ukončí nebo ne. Právě proto je na řádku 89 vyzván uživatel, aby stiskl klávesu a nebo n. Pokud potlačí n, program pokračuje dalším cyklem while smyčky. Pokud potlačí jinou klávesu program skončí. Na řádku 9 je definována nová instance třídy string s identifikátorem sz, která je inicializována na prázdnou hodnotu. Za touto inicializací je na řádku 10 uvedena deklarace proměnné iSZ na typ int bez další inicializace. Na řádku 11 deklarujeme proměnnou typu bool, která bude v programu uchovávat informaci, zda uživatel na výzvu programu odpověděl zadáním validní hodnoty (tedy hodnoty integer), která se bude uchovávat v proměnné iSZ. Pokud uživatel zadá platnou vstupní informaci z okna konzolové aplikace, proměnná is_size_t se nastaví na true, v opačném případě (pokud tedy uživatel nezadá platnou hodnotu z rozsahu integer) proměnná is_size_t se nastaví na hodnotu false. Proměnná is_size_t je na řádku prvotně inicializována na hodnotu false. To reprezentuje stav, že proměnná iSZ nebyla ještě inicializována a to je ve skutečnosti pravda. Na řádku 13 je uvedeno klíčové slovo do. To znamená, že začíná tělo smyčky do while, ve které je jako podmínka uvedena komparace obsahu proměnné c_end se znakem n (viz. řádek 95). Když program přejde dál, dostane se na řádek 14, které otevírá tělo zmíněné smyčky do while, za kterou na řádku 15 začíná smyčka while, což znamená smyčka s podmínkou na začátku každého cyklu. Právě zde se program ptá (srovnává), zda je v proměnné uložena hodnota false. Pokud ano, program pokračuje kladnou větví a vyzve na řádku 17, aby uživatel zadal horní hranici Eratostenova síta. Tato hodnota nebude brána v úvahu při testování čísla na prvočíslo. Na řádku 18 se vstup zadaný uživatelem načte do proměnné (objektu) sz, která je novou instancí třídy string. Načtení proběhne pomocí metody getline(), která má dva parametry a to objekt cin a objekt sz. Na řádku 20 následuje blog kódu try a catch, které slouží k rozpoznání validity hodnoty zadané uživatelem do objektu sz. Ve větvi try se program pokouší konvertovat hodnotu v objektu sz na hodnotu celého čísla, které reprezentuje délku intervalu, na kterém hledáme Eratostenovým sítem všechna prvočísla. Pro tuto konverzi se použije funkce stoi, což ve zkratce znamená string to integer (v českém jazyce string na integer). Po konverzi se na řádku 24 ještě testuje, zda uživatel nezadal na vstupu číslo 0. Pokud ano program nastaví proměnnou is_size_t na hodnotu false a skočí pomocí příkazu continue na opětovně vyhodnocené podmínky dalšího cyklu smyčky while. Jelikož v proměnné is_size_t je opět false program pokračuje ve smyčce while, kdy na řádku 17 je uživatel znovu vyzván k zadání horní hranice intervalu Eratostenova síta. Takto může být program zacyklen, dokud uživatel nezadá platnou hodnotu na vstupu konzolové aplikace. Pojďme se podívat nyní na to, když uživatel nezadá hodnotu z rozsahu integrálního typu (např. neplatnou hodnotu „hsfu“). Již asi tušíte, že se nejedná o hodnotu integrálního typu, ale o nesmyslné znaky, které sice může uživatel zadat, protože tyto hodnoty lze přiřadit typu string, ale konverze této hodnoty na hodnotu typu integer se nezdaří. Právě proto je v našem programu umístěn na řádku 34 blok catch, kteří tuto výjimku zachytí. A co se vlastně stane dál? No totéž, co v případě zadání 0, to znamená, že se nastaví hodnota false do proměnné is_size_t a program skočí pomocí příkazu continue na začátek smyčky while, kde sa znovu v podmínce vyhodnotí, zda má pokračovat výzvou uživatele k zadání validní hodnoty horní hranice Eratostenova síta, a jelikož je negace hodnoty v proměnné is_size_t true, program i tak učiní. A takto bude program dokola vyzývat uživatele k zadání platné hodnoty. V případě, že uživatel zadá platnou hodnotu, program skočí do větve try, kde pak skočí do záporné větve příkazu if (klauzule else na řádku 29), kde se již hodnota is_size_t nastaví na true. Tím pádem program v tomto cyklu vyskočí ze smyčky while, protože již nesplňuje podmínku pro další provedení cyklu. Když uživatel zadal platnou horní hranici Eratostenova síta, může se tato informace použít k alokaci vektoru o délce iSZ (alokace vektoru s identifikátorem vNumberVektor), což je implementováno na řádku 41. Na řádku 42 je alokován vektor o délce 0 (vektor s identifikátorem) . Do tohoto vektoru budeme ukládat prvočísla, která projdou Eratostenovým sítem. Délku 0 má vektor proto, že je možné do něj přidávat prvočíslo po prvočísle, až když část algoritmu učiní rozhodnutí, zda číslo, které se vybírá z vektoru vNumberVektor je prvočíslem nebo ne. Na řádku 44 začíná for smyčka, která je ve svých jednotlivých cyklech řízena iterační proměnnou i, která se v každém cyklu inkrementuje, dokud nedosáhne hodnoty iSZ. Tato for smyčka ve svém těle naplňuje vektor vNumberVektor čísly od 0 po 19 (protože horní hranice, kterou jsme vymezili v ukázce je 20). Vlastní algoritmus Eratostenova síta začíná na řádku 49, kde je iterační proměnná na začátku cyklu inicializována na hodnotu 2. Proč je tomu tak? Protože na prvních dvou indexech vektoru (index 0 a 1) jsou uložena čísla 0 a 1 a ta nepatří do množiny prvočísel. Toto je základní idioma, kterou je třeba si uvědomit. Kdybychom totiž dělili nulou, program by vyhlásil chybu. Kdybychom dělili jedničkou, nedostali bychom nic jiného než původní číslo. Právě proto se testují pouze čísla od hodnoty 3. Proč od 3, když iterujeme od 2? Jedná se o prvotní podmínku, kterou jsem zmiňoval. Pokud tedy číslo na indexu 2 se bude rovnat 2, přidáme toto číslo do vektoru vPrimeVektor, protože o něm víme, že je nejmenší prvočíslo. Ostatní čísla už budeme testovat, to znamená, že pokud bude index větší nebo roven 3, program testuje konkrétní číslo tak, že dělí toto číslo čísly uloženými ve vektoru vPrimeVektor (což jsou prvočísla) se zbytkem. To znamená, že bere v úvahu zbytek po dělení čísla prvočíslem. Pokud je tento zbytek po dělení různý od nuly, našli jsme další prvočíslo a to uložíme za vnitřním cyklem řízeným iterační proměnnou j (k tomu nám poslouží proměnná typu bool, do které při nalezení prvočísla uložíme hodnotu true, která indikuje tento stav), do vektoru vPrimeVektor, který reprezentuje hledaná prvočísla. Uložíme jej na poslední index pomocí metody push_back, což nám zároveň zaručuje uspořádání hledaných prvočísel od nejmenšího po největší. Pokud by byl zbytek po dělení roven nule, testované číslo není prvočíslem a to znamená, že nastavíme proměnnou flag na false, skočíme pomocí klíčového slova break na konec for smyčky (iterační proměnná j). Do vektoru vPrimeVektor se v tomto případě nic neuloží, protože v proměnné flag je uložena hodnota false. vnější smyčka for se ukončí, když jsou otestována všechna čísla uložená ve vektoru vNumberVektor. Posledním testovaným číslem je tedy číslo 19. Po otestování všech čísel následuje zápis prvočísel do okna konzolové aplikace (viz. řádek 78 až 83), k čemuž využijeme objekt cout a smyčku for. K zápisu samozřejmě patří také přechod kurzoru na nový řádek na řádku 85. Potom se do okna konzolové aplikace zapíše výzva, kterou se program uživatele ptá, zda chce program ukončit nebo ne. Pokud uživatel stiskne klávesu n, program pokračuje a uživatel je vyzván k opětovnému zadání horní hranice Eratostenova síta s tím, že do proměnné is_size_t se opět uloží hodnota false. Pokud by uživatel potlačil jinou klávesu (což znamená ukončení programu), program skočí za vnější smyčku while na řádek 97, funkce main vrátí operačnímu systému 0 a celý program končí. Připomínám, že na řádku 98 je pravá programová závorka, která uzavírá tělo funkce main. Výpis programu main.cpp 1: #include <iostream> 2: #include <vector> 3: #include <string> 4: using namespace std; 5: 6: int main() 7: { 8: char c_end; 9: string sz = ""; 10: int iSZ; 11: bool is_size_t = false; 12: 13: do 14: { 15: while (!is_size_t) 16: { 17: cout << "Nacitaj hornu hranicu Eratostenovho sita: "; 18: getline(cin, sz); 19: 20: try 21: { 22: iSZ = stoi(sz); 23: 24: if (iSZ == 0) 25: { 26: is_size_t = false; 27: continue; 28: } 29: else 30: { 31: is_size_t = true; 32: } 33: } 34: catch (const std::exception&) 35: { 36: is_size_t = false; 37: continue; 38: } 39: } 40: 41: vector<int> vNumberVector(iSZ); 42: vector<int> vPrimeVector(0); 43: 44: for (int i = 0; i < (int)vNumberVector.size(); i++) 45: { 46: vNumberVector.at(i) = i; 47: } 48: 49: for (int i = 2; i < (int)vNumberVector.size(); i++) 50: { 51: if (i == 2) 52: { 53: vPrimeVector.push_back(vNumberVector.at(i)); 54: } 55: else 56: { 57: bool flag = false; 58: for (int j = 0; j < (int)vPrimeVector.size(); j++) 59: { 60: if (vNumberVector.at(i) % vPrimeVector.at(j) != 0) 61: { 62: flag = true; 63: } 64: else 65: { 66: flag = false; 67: break; 68: } 69: } 70: 71: if (flag) 72: { 73: vPrimeVector.push_back(vNumberVector.at(i)); 74: } 75: } 76: } 77: 78: cout << "Vypis prvocisel:" << endl; 79: cout << "----------------" << endl; 80: for (int i = 0; i < (int)vPrimeVector.size(); i++) 81: { 82: cout << vPrimeVector.at(i) << " "; 83: } 84: 85: cout << endl; 86: 87: cout << "Chces skoncit [a/n]: "; 88: 89: cin >> c_end; 90: cout << endl << endl; 91: 92: cin.ignore(); 93: is_size_t = false; 94: 95: } while (c_end == 'n'); 96: 97: return 0; 98: }Okno konzolové aplikace u horní hranice Eratostenova síta 20[Image]Na obrázku lze vidět, že výsledná prvočísla se ztotožňují s prvočísly, které jsme vypočítali analytickým způsobem (viz. poslední tabulka v textu). Doufám, že vás příklad a program s Eratostenovým sítem zaujal, stačí už jen, abyste si to implementovali na svém počítači. Tento blog napsal lektor C++ kurzů Marek ŠURKA. Pokud máš nějaké dotazy, napiš je do komentářů.
Rozhovor s Andrejem, lektorem kurzu SketchUp
Rozhovory
18.05.2020
Skillmea

Rozhovor s Andrejem, lektorem kurzu SketchUp

Andrej Bryndza je macher na 3D a modelování. Dělá s CAD softwary a 3D modelováním všemožného druhu. Už na střední škole jej fascinovaly počítače a to nejen na hraní her. Chodil na stavební průmyslovku a tak měl k výkresům a technice velmi blízko. Když se k němu dostala první verze AutoCADu, od té doby se nezastavil. Přečti si rozhovor s Andrejem ⤵ Na začátek nejprve začněme tvou prací. Co přesně děláš?Jelikož to nelze pojmenovat jedním slovem, vedu ti raději konkrétní příklad. Snáze si to představíš. Pokud chceš například rekonstruovat dům* (*nahraď čímkoli například altán, prodejna, bar, kancelář,...), a neumíš si představit, jak by to mohlo následně vypadat, tak já ti umím pomoci. Všechno zakreslím, zpracuji projekt, 3D model a vizualizaci, takže uvidíš všechny plánované změny ještě před tím, než bys vůbec začal něco bourat. Což je nesporná výhoda, protože změny návrhu se vždy dělají snadněji v předstihu na počítači, než když už máš rozbombarovaný dům a uprostřed zjistíš, že to není úplně tak, jak jsi chtěl. Takto ti ušetřím čas, nervy a peníze. Ale pokud to řekneme více obecně, tak zpracovávám projekty, výkresovou dokumentaci, tvořím 3D modely a bavím se se vším, co má něco společného s CAD, 3D a grafikou. Na jakých projektech jsi pracoval? Jaké jsou tvé pracovní aktivity?Mám zkušenosti s prací na projektech všech velikostí. Od modelování malého nábytku, přes altány, rodinné domy, restaurace, administrativní budovy až po velké technologické celky a budovy v průmyslu. Drtivou většinu mého pracovního času však trávím nad kreslením výkresů převážně stavebního a architektonického zaměření. Většina z toho se zpracuje také jako 3D model a následně i vizualizace. Moje služby využívají nejrůznější firmy, architekti, designéři, ale také v podstatě kdokoliv, kdo chce něco zpracovat, nakreslit nebo vymodelovat na počítači. Když zrovna nekreslím, tak se věnuji výuce AutoCADu, SketchUPu a konzultacím zaměřeným na problematiku CAD a kreslení.[Image] Jak ses dostal k 3D modelování?To je také těžko říct. Zřejmě neexistuje konkrétní moment, že kdy. Mě to vžy neskutečně fascinovalo. Někde už na střední škole jsem zjistil, že počítače lze využít i jinak než jen na hry. Chodil jsem na stavební průmyslovku, takže k výkresům a technice mám velmi blízko. Tehdy jsme kreslili všechno ručně. Ke mně se však dostala stará verze AutoCADu a tehdy to nějak začalo. Začaly první pokusy. Jako samouk jsem zkoušel, co AutoCAD dokáže. Protože internet jsem neměl, byl to systém pokus/omyl, mnoho pokusů a omylů. Začal jsem dělat školní projekty, první 3D modely a už se to nedalo zastavit. Tehdy mě to tak chytlo, že sice jsem nevěděl co a už vůbec ne jak to udělám, ale věděl jsem, že tohle je přesně to čím se chci jednou živit. A tak to nějak také vyšlo 😊    Proč ses rozhodl spolupracovat s Learn2Code?Learn2Code mi dává příležitost odprezentovat to, co vím. Dává mi možnost ukázat, že není tak složité kreslit a modelovat ve 3D, jak se možná na první pohled zdá a že se to dokáže naučit každý, kdo má zájem. Na druhé straně mi tato spolupráce dala hodně iz opačné strany. Přestože se věnuji kurzům a vzdělávání již delší dobu, musel jsem se naučit mnoho věcí i já sám. A stále se je učit musím protože prezentovat něco formou videa na živě jsou dvě diametrálně rozdílné věci. Možnost spolupráce s Learn2Code nelituji a šel bych do toho znovu. Co všechno se člověk naučí ve tvých online kurzech SketchUp a AutoCAD?Tyto dva kurzy jsou sice odděleny a na první pohled se může zdát, že namají nic společného, opak je však pravdou. V AutoCADu se člověk naučí kreslit přesně a připravit si výkresy pro stavbu, výrobu nebo jako podklad pro jiné programy. Jedná se o celosvětově nejrozšířenější program na kreslení výkresů a považuje se za jakýsi standard, základ, který by měl ovládat každý, kdo má zájem v budoucnosti projektovat a kreslit. Bez ohledu na to v jaké oblasti. Po zvládnutí pochopení principů a ovládání dokonce není problém přejít ani na jiný podobně zaměřený program, protože všechny vycházejí a porovnávají se přímo s AutoCADem. AutoCAD má řadu variant a různých nástaveb v závislosti na specializaci a jde skutečně o silný nástroj pro 2D a 3D projektování. SketchUP je na druhé straně mnohem jednodušší a nemá ani zdaleka tak široké možnosti práce jako AutoCAD. Jedná se však o velmi dobrý a skutečně povedený program pro modelování a tvorbu ve 3D. Je široce využíván napříč různými oblastmi a po kombinaci s dalším softwarem jako například V-Ray nebo Lumion, dokážete produkovat velmi pěkné vizualizace. Takže pokud to řekneme v jedné větě, tak člověk se naučí nakreslit výkresy například domu v AutoCADu, přenést je do SketchUPu a tam z nich zpracovat pěkný 3D model a následně i vizualizaci. Kromě toho získá základ pro práci v jiných programech.  [Image] Je v této oblasti třeba sledovat aktuální trendy a inovace? Jak jsi na tom ty?Tak asi jako ve všem, i tady se neustále něco mění, vylepšuje, pořád jsou novinky a je dobré pokud se v tom člověk trochu orientuje. Já se v oblasti kreslení a modelování pohybuji už trochu déle a vidím obrovský pokrok jak v softwaru, tak v postupech projektování a modelování. Určitě je třeba sledovat trendy a neustále zkoušet nové věci, nebát se mnohdy i improvizovat. Jelikož já se o tuto problematiku zajímám a baví mě, tak to ani neberu jako práci nebo jako povinnost. Rád sleduji trendy, zkouším nové postupy, nechám se inspirovat a samozřejmě i já se musím stále učit, abych držel krok.    Co tě nejvíc baví na tvé práci?Určitě se nedá mluvit o stereotypní práci. Nejvíce mě baví právě ta různorodost. Baví mě komunikace s klientem, ačkoli, co si budeme říkat není to vždy snadné 😊. Do každého projektu se snažím dát co nejvíce tak, aby zanechala dobrý dojem a aby se ke mně klienti vrátili, případně aby mě doporučili i dále. Jaké máš plány do budoucna?Plánuji pokračovat v tom co dělám a co nejlépe jak jen vím 😊. Někdy je obtížné naplánovat si věci dopředu a často je třeba improvizovat, není to jednoduché, ale stojí to za to, takže já se budu snažit posouvat vpřed. Krátký odkaz všem čtenářům na závěr 😊Zaměřte se na věci, které vás baví. Najděte si něco, v čem jste lepší než ostatní a rozvíjejte to. Každý má něco. A zkoušejte, neustále hledejte nové možnosti. Určitě se vyskytnou problémy, ale bez nich by to bylo velmi lehké, takže hlavně není třeba přestávat. Pokud vás zajímá 3D a kreslení, pořiďte si všechny dostupné programy, internet je plný návodů a lidí ochotných pomoci. Jeden program nestačí, dokonce ani dva, ani tři. Netřeba vědět všechno jako profík, dost pomohou i základy. Třeba vědět co nejvíce a následně to budete umět vše kombinovat A překvapivě zjistíte, že ty programy mají hodně společného. A mnohdy jsou to šílené kombinace a vymýšlení. Takže tomu dost pomůže když vás to bude také bavit. Takže jaký je odkaz? Jestli něco chceš, tak se do toho pusti. A nepřestávej se učit 😊 Andreji děkujeme za rozhovor a pokud ta něco zajímá, zeptej se otázky v komentářích. 👇👇
Jak se tvoří JavaScript
Vzdělávání
02.05.2020
Lubo Herkoo

Jak se tvoří JavaScript

Letos nám frajeři z TC-39 (nevíš-li co TC-39 je, čti dále) naservírují novou verzi ECMAScript specifikace - novinky, které můžeme jako vývojáři používat při programování v JavaScriptu. BigInt, optional chaining, Promise.allSettled, String.matchAll, globalThis a další. O tom, jaké problémy řeší tyto nové funkcionality, si povíme v dalším blogu. Tento text je věnován specifikaci ECMAScript a mimo jiné se dočteš: • proč potřebujeme specifikaci na to, jak implementovat JavaScript Engine v prohlížeči • proč se specifikace nevolá JavaScript, ale ECMAScript a co je to vlastně ta ECMA • jak dlouho trvá, než se nápad nové funkcionality jazyka JavaScript stane jeho součástí ECMAScript?V roce 1995 vyhrál oscar Tom Hanks s filmem Forrest Gump, v rádiích fičel Gansta's Paradise od Coolia a web BBC vypadal takto:[Image] 80% uživatelů internetu surfovalo v prohlížeči Netscape Navigator a Microsoft teprve končil vývoj Internet Exploreru. Pokud ho vůbec někdy dokončili. Ne všichni byli spokojeni s tím, jak web tehdy fungoval: statický obsah, sdílení dokumentů a žádný pohyb. Softwarový inženýr z Netscape - Mark Andreessen - chtěl vytvořit jazyk, který by s lehkostí používali nejen vývojáři, ale také designéři a do webů přinesli špetku interaktivity. Buttony a tak. Brendan Eich (jméno je třeba si zapamatovat - je to frajer) je člověk, který tento programovací jazyk začal tvořit. Prvním pokusem byla implementace jazyka SCHEME do prohlížeče Netscape. Mimochodem - jevisté v SUN Microsystems přemýšleli nad způsobem, jak spouštět Java kód v prohlížeči, čímž také přinesli interaktivitu do webových stránek. Tato implementace však nebyla jednoduchá na používání, a proto zůstala volbou korporátních mastičů. Mocha (takto se jmenovala první verze dnešního JavaScriptu) byla vytvořena jako alternativa pro designéry a vývojáře. Mocha » LiveScript » JavaScript vs JScriptVytvoření první verze Mocha trvalo jen 10 dní. Později byl tento jazyk přejmenován na LiveScript a poté na finální JavaScript. Fun fact: slovo „Java“ se tam nedostalo náhodou – byl to však jen marketingový způsob, jak se svést na popularitě jazyka Java. Internet Explorer chtěl také držet krok s dobou, a proto začali iv MS pracovat na implementaci čehosi, což bylo velmi podobné JavaScriptu. Finální jazyk se jmenoval JScript. Implementace však byla natolik odlišná od JavaScriptu, že tyto implementace nebyly navzájem kompatibilní! Výsledkem byla skutečnost, že nebylo možné vytvořit jeden web, který by fungoval v obou prohlížečích. Tak vznikly tehdy slavné nálepky do footerů: „Best viewed in Internet Explorer“ a „Best viewed in Netscape Navigator“.[Image]Tvořit weby v té době nebyla žádná legrace, vývojáři volali po standardu, který sjednotí implementace JavaScriptu a JScriptu. Proto byl vytvořen standard ECMAScript, který zastřešila organizace ECMA International. Ta fungovala už dávno předtím a jejím úkolem bylo právě vytvářet standardy pro informační a komunikační systémy. Od listopadu 1996 existuje tedy standard ECMAScript, který popisuje, jak má být implementován JavaScript Engine. Fun fact: standard nemůže nést ikonický název JavaScript, neboť na toto slovo až do dnešního dne vlastní copyright firma Oracle. ECMA-262 a TC-39 - whaaat?ECMA International zastřešuje mnoho standardů, ten, který se týká implementace JavaScriptu obdržel číslo 262. ECMA-262 je tedy název standardu, který popisuje implementaci JavaScriptu. Není to žádné příjemné čtení, aha. Komise (rozuměj: živé bytosti, lidé), která rozhoduje o tom, jaké nové funkce bude nová verze JavaScriptu obsahovat, dostala zase název TC-39. Členem této komise není leckdo. Jsou to frajeři – vybraní lidé, kteří zastupují velké firmy působící na online trhu (Facebook, PayPal, Google, Amazon, Mozilla...)[Image] Nová funkcionalita v JS - schvalovací procesČlenové TC-39 organizují meetingy (většinou online) každé dva měsíce. Cílem těchto meetingů je dopodrobna rozkecat a zanalyzovat, které funkce bude obsahovat nová verze ECMAScript, nebo jaké opravy budou v této verzi provedeny. Zajímavé je, že tato komise funguje na principu shody – téměř všichni členové komise musí souhlasit s návrhem, aby se jím byť jen začali zabývat. Zcela zajímavé je například sledovat, jak se dostala do JavaScriptu podpora pro BigInt – brutálně velká čísla. Protože v JavaScriptu jsme dosud mohli používat jen strašně velká čísla. Stage 0Každý návrh začíná na takzvané nulté úrovni – Stage 0. Některý z členů TC-39 vytvoří dokument, který popisuje danou funkcionalitu a jaký problém řeší. Na meetingu členů TC-39 tento problém přednese a členové rozhodli, že např. BigInt je super věc a posunul ho do dalšího Stage-u. Stage 1Stage 1 je parádní úspěch a zároveň to znamená, že někdy v budoucnu bude pravděpodobně dána funkcionalita součástí JavaScriptu. Všem (nebo téměř všem) členům TC-39 se tento nápad líbí a souhlasí s ním. Může to však trvat roky. BigInt funkcionalita musí být ještě podrobněji popsána, musí obsahovat příklady, jak se bude používat a analýzu, zda to nepřinese i nějaké problémy. Stage 2Takzvaný Draft. V této fázi je víceméně jisté, že funkcionalita bude součástí JavaScriptu a proto musí být ještě podrobněji popsána. Toto je také stage, kdy se přemýšlí nad vhodnou syntaxí a různými detaily používání nové funkcionality. V případě BigInt funkcionality např. členové rozhodli, že bude vhodné, pokud BigInt číslo bude obsahovat na konci znak n - aby prohlížeč (engine) věděl, že pracuje s brutálně velkým číslem, a ne jen strašně velkým číslem. const bigIntCislo = 12345n; const obycajneCislo = 12345; Stage 3Funkcionalita je téměř hotová a potřebuje feedback od vývojářů a vnějšího světa. Všichni testují BigInt ve svých programech. Tvůrci internetových prohlížečů se předbíhají, kdo z nich bude podporovat BigInt jako první – protože implementovat BigInt už má smysl. Stage 4Vše je otestováno a BigInt je součástí specifikace ECMAScript. Hotovo. ZáverCelý proces např. v případě BigInt trval 2 roky. Umím si představit, že schvalování některých ještě komplexnějších funkcionalit může trvat ještě déle. Frajerům z TC-39 ale můžeme děkovat za to, že do JavaScriptu se dostávají opravdu jen věci, které dávají smysl.
Amazon a Skillmea přinášejí bezplatné webináře a online kurzy pro děti
Vzdělávání
21.04.2020
Skillmea

Amazon a Skillmea přinášejí bezplatné webináře a online kurzy pro děti

Dokud jsou školy zavřené, prožívají nelehký čas rodiče, učitelé i děti. Ale díky jednoduchým nástrojům se domácí vzdělávání může stát zajímavým a kreativním zážitkem. Tuto myšlenku si osvojili také ve společnosti Amazon a rozhodli se nabízet bezplatné online webináře pro děti. Amazon navázal partnerství se sdružením Learn2Code, které pro širokou veřejnost poskytuje kurzy tvorby webstránek, programování webových a mobilních aplikací a další témata. Jejich cílem je zpřístupnit mladé generaci digitální vzdělávání, učí je rozumět marketingu, pracovat s grafikou a videem. V rámci partnerství společnost Amazon zastřešuje sérii webinářů Code Jungle Česko pod taktovkou zkušených odborníků z praxe z Learn2Code. Všechny webináře, které se budou konat dvakrát do týdne, vždy v pondělí a čtvrtek budou pro všechny účastníky díky spolupráci s Amazonem zcela zdarma až do konce června 2020. Webináře jsou určeny pro děti přibližně od 10 let. Během webinářů se seznámí s programováním v jazyce Scratch a vytvoří si několik atraktivních her. První se bude konat ve čtvrtek 23. 4. 2020, od 15:00. Každý z webinářů bude trvat 75 minut a lze je absolvovat i jednotlivě. Záznam všech webinářů bude dostupný na Learn2Code YouTube kanálu. „Prostřednictvím těchto bezplatných online webinářů, chceme oslovit děti, které zůstávají doma, a podělit se s nimi o znalosti a dovednosti budoucnosti kreativním a poutavým způsobem,“ řekla Blanka Fijołek, CEE PR & komunitní manažerka společnosti Amazon. Druhou částí této spolupráce je poskytnutí všech online kurzů pro děti od Learn2Code účastníkům od teď až do konce června 2020 bezplatně. Jedná se o 15 online kurzů, které sestávají z 30 vyučovacích hodin a účastníci dostávají i domácí úkoly k procvičení probírané látky. Kurzy slouží také jako podklad pro učitele informatiky. „Jsme velmi rádi, že díky spolupráci s Amazonem můžeme poskytnout všechny probíhající online kurzy pro děti až do konce června zdarma“, řekl Marián Kristel marketing & operations z Learn2Code a dodal: „žijeme v mimořádné situaci a takto chceme pomoci rodičům a také naučit zábavným způsobem děti něco nového a užitečného“. Kompletní seznam kurzů a přihlašování najdete zde. O webinářích Code Jungle Česko:Webináře budou probíhat 2x týdně online, přes nástroj na webináře ZOOM. Zaměřeny jsou na programování her v prostředí Scratch. Rozsah vyučovací jednotky je 60 minut plus 15 minut prostor vyhrazený pro otázky. Během webinářů se budou programovat velké hry. Flappy Bird, Pacman, Super Mario a další. Věk účastníků se doporučuje minimálně 10 let. Potřebný je vlastní laptop nebo počítač. Do konce června 2020 zorganizujeme téměř 20 webinářů. Jednotlivé webináře budou zveřejněny na YouTube a budou dostupné pro všechny zdarma. Kompletní seznam webinářů a veškeré informace naleznete zde. Jak se můžete zúčastnit webinářů?UPDATE: Webináře Code Jungle byly ukončeny.
Úvod do Data Science a Machine Learning
Vzdělávání
18.04.2020
Miroslav Beka

Úvod do Data Science a Machine Learning

Na začátku, kdy člověk vstupuje do Data Science je velmi důležité pochopit, co se skrývá za různými označeními. Lidé si umějí některé pojmy mýlit a proto bych v tomto článku rád velmi zrychleně prošel přes některé základní součásti. Data Science je procesZa tímto výrazem se skrývá celá posloupnost úkolů, které musí datascience inženýr provést. První fáze je silně propojena s byznysem. Používají se zde proto různé byznys výrazy (Business Intelligence). Jak efektivně umíme využít software k dosažení cílů firmy? Pracovat pro firmu jako data scientist vyžaduje pochopení potřeb byznysu. V této fázi je také velmi důležité odkomunikovat, jaké jsou možnosti Data Science a čeho lze reálně dosáhnout a co ne. Spousta manažerů totiž nerozumí technické stránce věci a ty jako datascience inženýr jsi tam na to, abys jim to vysvětlil lidskou řečí. Druhá fáze je příprava dat. Nějaká data může mít firma již nasbíraná, jiná je třeba koupit nebo najít nový způsob jak sesbírat to, co potřebuješ. Takže tady se budeš hrabat v databázích, vytahovat různá data, spojovat všechno dohromady do nějakého smysluplného celku. Také musíš umět vizualizovat tato data, abys viděl, co máš na ruce. Třeba si ověřit, že data mají tu kvalitu, jakou očekáváš. Často se totiž stává, že data jsou vadná, nekvalitní, v jiných jednotkách a podobně. Na to si musíš dávat velký pozor. Ve třetí fázi začneme pracovat na modelu. To, co jsme zjistili v předchozích krocích, musíme „přeložit“ do řeči machine learning. Jaký model použít (vzhledem k tomu, jaká máš data), jaké informace se z modelu umíme dozvědět a jak to souvisí s byznysem. Čtvrtá fáze by nám měla vyplivnout hotový model připravený k používání. Tady všechny ty naše úvahy a předpoklady musíme přetavit do kódu a natrénovat model na datech. Zní to jednotuše, ale není to úplně easy. Hlavně to záleží na tom, jak kvalitní data máš k dispozici. Pátá fáze se opět dotýká silně byznysu. V první řadě musíme umět zhodnotit, zda model skutečně řeší náš problém, který jsme chtěli vyřešit a zda je v tom dobrý. Zde zvykneme vytáhnout další data, která model ještě neviděl (testovací data) a otestovat úspěšnost modelu. Výstupem by měla být krásná prezentace se všelijakými grafy a vysvětlivkami, aby to ti "shora" pochopili a dali ti palec nahoru. Machine LearningMachine Learning je součástí Data Science a věnuje se algoritmům, programování a trénování modelu. Tento výraz si lidé zaměňují s umělou inteligencí. Abychom v tom měli jasno, umělá inteligence využívá techniky machine learning, aby napodobila lidskou inteligenci obecně. Umělá inteligence se zabývá také tím, jak lidé interagují s inteligentním agentem a aby se lidé cítili pohodlně, když interagují se strojem. Čili je tam toho zahrnuto mnohem více (např. i psychologie). Machine Learning je tady a nyní a dennodenně se používá. Jsou to pokročilé algoritmy a techniky, které zpracují nějaká data a vyplivují výsledek. Jsou úzce specializovány na jeden a jediný úkol. ML technik a algoritmů je mnoho a každý řeší určitý malinký podíl té umělé inteligence. SlovníkToto odvětví se jen tak hemží různými výrazy. Tyto stránky obsahují základní výrazy, na které určitě narazíš a je dobré vědět, co znamenají: • https://towardsdatascience.com/the-new-data-scientist-glossary-4a2c14bf550 • http://www.datascienceglossary.org/ • https://developers.google.com/machine-learning/glossary/ DatasetyExistuje několik stránek, které nabízejí svá data veřejně a zdarma. Jinak je většinou třeba za data tvrdě platit a kopec firem si na shromažďování dat vytvořily byznys. Googlene jistě pomůže najít mnohé stránky, které nabízejí svá data. Zde je seznam několika populárních stránek: • https://www.kaggle.com/datasets • https://data.world/ • https://archive.ics.uci.edu/ml/index.php • http://academictorrents.com/ • https://www.reddit.com/r/datasets/ • https://datasetsearch.research.google.com/ Pokud chceš vědět více o Data Science a Machine Learningu, přihlas se do mého online kurzu Python Data Science.Pokud máš připomínky nebo dotazy k článku, směle se ptej v komentářích.
Nejznámější tech a IT seriály
Ostatní
12.04.2020
Marián Kristeľ

Nejznámější tech a IT seriály

Připravili jsme pro tebe seznam seriálů z oblasti IT, technologií a vědy. Komediální, kriminální i sci-fi. Pokud máš čas a jsi seriálový maniak, podívej se na náš výběr. IT CrowdZačínáme britskou klasikou se zábavnou dvojkou Royem a Mossem, kteří pracují v IT oddělení firmy Reynholm Industries. Jejich šéfkou se stane svá Jen, která toho o serverech a informačních technologiích neví téměř vůbec nic. Jen nemá zájem pracovat s Royem a Mossem v suterénu budovy, kde se IT oddělení nachází. Postupně však k sobě najdou cestu a vytvoří sehraný tým. Seriál má 5 sérií a na IMDB má hodnocení 8,5. Doporučujeme 👌 Silicon ValleyKomediální seriál z produkce HBO z prostředí mekky technologických firem si od svého začátku získal mnoho fanoušků. Hlavními postavami jsou programátor Richard, jeho spolubydlící Big Head, Gilfoyle a Dinesh. Žijí zdarma v domě milionáře Erlicha výměnou za podíl ve všech svých projektech. Richard vyvine unikátní algoritmus a musí se rozhodnout, zda přijme multimilionové nabídky k odkupu nebo založí vlastní firmu. Seriál nabízí satirický pohled na život ve startupech v Silicon Valley. Celkem bylo natočeno 6 sérií a seriál má na IMDB hodnocení 8,5. Mr. RobotKto má raději drama a thrillery, pro toho doporučujeme seriál Mr. Robot. V jedné bezpečnostní firmě pracuje mladý programátor Elliot (Rami Malek), který má na starosti kyberbezpečnost korporace E Corp. V noci se však z něj stává hacker a chce zničit ty, které přes den chrání. Podaří se mu to s pomocí tajemného Mr. Robota (Christian Slater), který Elliota naverbuje do své hackerské organizace F-Society? Seriál byl ověnčen několika oceněními, včetně Zlatého glóbu za nejlepší dramatický seriál nebo Cenou Emmy za nejlepší herecký výkon v hlavní roli. Seriál má 4 série a hodnocení na IMDB má známku 8,5.  WestworldDalší úspěšná produkce z dílny HBO. Seriál Westworld patří mezi nejsledovanější TV seriály současnosti. Inspirací byl stejnojmenný film a děj tohoto sci-fi dramatu je zasazen do futuristického zábavního parku, který obývají robotické bytosti. Seriál režíruje Jonathan Nolan a jeho manželka Lisa Joy, v hlavních rolích se představila herecká esa jako Anthony Hopkins, Ed Harris, Ewan Rachel Wood nebo Jeffrey Wright. Westworld je thriller z přetechnizované budoucnosti. Zatím jsou venku 3 série a hodnocení je z IMDB je 8,7. The Big Bang TheoryPopulární americký sítcem ze světa mladých vědátorů, fyziků Leonarda a Sheldona, kteří spolu žijí v jednom bytě. Leonard a Sheldon jsou 'geekové' žijící ve svém vlastním světě a reálný život jim moc neříká. Všechno se změní v okamžiku, kdy se do sousedního bytu nastěhuje blondýnka Penny. Dále jsou hlavními postavami seriálu letecký inženýr Howard žijící se svou matkou a astrofyzik Ráj, který má problém povídat si se ženami. 12 lepších i méně povedených sérií hodnotí na IMDB známkou 8,1. Halt and Catch FireTo nejlepší na konec? Vysoce hodnocený seriál o historii IT s názvem Halt and Catch Fire (slovenský překlad PC Rebelové) produkovala televize AMC. Tvůrci se snažili o realistické vykreslení technologií, IT, programování. Seriál tě přenese do 80. let minulého století do období, kdy vznikaly první přenosné počítače. První série byla o vývoji klonu IBM PC, ve druhé je to vytváření online multiplayerové hry a fóra pro online komunitu. Třetí série byla o rizikovém kapitálu v Silicon Valley. Čtvrtá série je o "začátcích" internetu a webových prohlížečích. Pro IT geeky je tento seriál povinná jízda a je mimořádně oblíbený především v technologické komunitě. Byly natočeny 4 série a hodnocení na IMDB veľmi solídních 8,4. Steve Wozniak, jeden ze zakladatelů Apple, ohodnotil tento seriál známkou 10/10 😮 Máš nějaké další tipy na seriály z IT, tech či geek prostředí? 
Konstruktory v Javě
Vzdělávání
03.04.2020
Skillmea

Konstruktory v Javě

V tomto článku se podíváme, co je to konstruktor v Javě (constructor in java). K čemu se používá? Co je to? Třída slouží k popisu a výrobě objektů. Zkusme nyní popřemýšlet nad reálným objektem – například auto. Pokud chceme popsat auto do programu, tak k popisu auta použijeme třídu. Co má auto? Jaké vlastnosti? Má počet dveří, značku, RZ, objem kufru a dalších xy věcí. Ne všechny budeme používat. V našem projektu si vytvoříme novou třídu:[Image] Pojmenujeme ji Auto a napíšeme tam globální proměnné. public class Auto { int doorCount; String brand; String plateNumber; }Nyní si vytvoříme objekt typu Auto. K výrobě objektů budeme používat konstruktor. Konstruktor jako název naznačuje slouží ke zkonstruování nového objektu. Aniž bys ty sám napsal nějaký konstruktor, tak máš jeden dostupný automaticky. Tento se jmenuje – bezparametrický konstruktor – je to jakoby metoda, která na vstupu nemá parametry. Proto je možné vyrobit nový objekt pomocí new Auto(); public class Auto { int doorCount; String brand; String plateNumber; public static void main(String[] args) { Auto auto = new Auto(); } }V programu jsme použili new Auto() i když nic takového nemáme napsáno. Co můžeme udělat, je napsat si takový konstruktor sami. public class Auto { int doorCount; String brand; String plateNumber; public Auto() { } public static void main(String[] args) { Auto auto = new Auto(); } } Do nitra tohoto konstruktoru si nyní můžeme napsat libovolný kód. Konstruktory se nejčastěji využívají vedle výroby nového objektu ik nastavení dat. Například pokud chci vyrobit auto, které je značky Škoda, tak vyrobím nový – druhý konstruktor, jehož vstupní parametr bude právě počet dveří. Volat chceme Auto auto = new Auto(“Škoda”); public Auto(String brand) { }Co ale uděláme s touto proměnnou brand, kterou máme jako parametr? Pokud uvažujeme, tak chceme nastavit globální proměnnou brand pro tento nový objekt. Ale jak řeknu, že globální proměnná brand ať se rovná tomu, co je v parametru metody brand? Udělám to pomocí klíčového slova this. Slovo this se odkazuje na právě tento nový objekt, který konstruujeme. Tedy this se váže na nově vyrobený objekt ze třídy Auto. Po správnosti bych měl říci, že this odkazuje na instanci (instance) objektu. Pomocí konstruktoru vyrobíme novou instanci třídy Auto. Pokud vyrobím 5 objektů, tak jsem vyrobil 5 instancí třídy Auto. Takže this.brand ukazuje kam? Slovo this ukazuje na danou instanci objektu a přes tečku přistupuji k věcem dostupným v dané instanci auta. Co je tam k dispozici? Nyní jsou dostupné globální proměnné. Tak udělám: public Auto(String brand) { this.brand = brand; }public static void main(String[] args) { Auto auto = new Auto("Škoda"); }Po zavolání tohoto konstruktoru mám v proměnné auto odkaz na objekt Auto s nastevním brandem na Škoda. Takto si nyní můžu vytvářet nové instance typu Auto. public static void main(String[] args) { Auto auto = new Auto("Škoda"); Auto auto2 = new Auto("Škoda"); } Jsou tato dvě auta stejná? Ne, nejsou, i když mají stejný brand. Proč? Neboť voláme-li slovíčko new, tak se vytváří vždy zcela nový objekt v paměti. Ukázka konstruktoru, kde nastavujeme všechny globální proměnné. V IDEI stlač ALT+Insert a vyber konstruktor – následně označ všechny proměnné. Tyto proměnné se jinak nazývají také fieldy.[Image] public Auto(int doorCount, String brand, String plateNumber) { this.doorCount = doorCount; this.brand = brand; this.plateNumber = plateNumber; } public static void main(String[] args) { Auto auto = new Auto("Škoda"); Auto auto2 = new Auto("Škoda"); Auto auto3 = new Auto(4, "Opel", "CCdddDD"); }Nové objekty můžeš vytvářet kde chceš a kdy chceš. Teď jsem to dělal v metodě main přímo ve třídě Auto. To ale samozřejmě většinou dělat nebudeš. Více o konstruktorech v Javě a Java programování se dozvíš v našich online kurzech Java a OOP pro začátečníky a Java pro pokročilé. 
Success story: z mateřské k front-endu
Success stories
18.03.2020
Skillmea

Success story: z mateřské k front-endu

Petra Poliaková je další úspěšnou absolventkou našich kurzů, díky kterým si našla práci v IT. Aktuálně pracuje jako front-end developerka pro jednu martinskou firmu. K tvorbě webů se dostala během mateřské, kdy se začala pomaličku věnovat HTML a CSS. Jak se jí podařilo najít si práci v IT a co všechno pro to udělala, to si přečti v tomto blogovém příspěvku 👇 Začněme tvou aktuální prací. Co přesně děláš, jaká je tvá pozice?Pracuji jako front-end developer pro jednu Martinskou firmu, která působí na trhu již několik let. Tvoří e-shopy, webové aplikace a jsem v podstatě freelancer. Než jsem začala spolupracovat s touto firmou jsem vytvářela jen jednoduché prezentační weby. Nyní se zaměřuji více na online obchody, vzdělávám se v oblasti online marketingu (vytváření PPC reklam), nasazuji šablony do CMS systému wordpress a zpracovávám frontendovou část v ODOO systému. Jak jsi k této pozici dostala? Jak jsi k této pozici dostala?Na internetu jsem hledala firmy, které dělají weby, jsou v mém okolí a hledají kolegy, nejlépe is možností zaučení. Buď jsem jim posílala žádosti nebo poslala email. Firma mě kontaktovala, postupně mi dávali na zkoušku dělat projekty a začali jsme spolupracovat. Máš nějaký vzor, který tě inspiruje? Osobu, která je pro tebe motivátorem?V oblasti tvorby webu mě inspiruje Yablko, nejen svými rozsáhlými vědomostmi, ale také svým humorem. A také je to můj partner, který mi trpělivě vysvětluje, jak pochopit programátorský svět a myšlení. Kde bereš inspiraci pro svou práci? Máš nějaké tipy, které zaručeně fungují?Inspiraci hledám na internetu, od zkušenějších, ale i od samotných klientů, se kterými jsem často v kontaktu při tvorbě stránky. Zaručené tipy bohužel nemám. Stále se učím od zkušenějších.[Jeden z webů, na kterých Petra pracovala] V této oblasti je třeba sledovat aktuální trendy, inovace. Jak jsi na tom ty? Stíháš to všechno při práci?Když mám říct pravdu, moc ne. Jsem na úrovni juniora, takže je toho ještě mnoho, co se mám učit, ale některé trendy a inovace přicházejí rovnou s požadavkem webu. Tehdy je stíhat musím 😊 Čím vším sis musela projít, pokud ses vypracoval na tuto pozici?Nemám žádné IT vzdělání, takže jsem začínala úplně od nuly. Během mateřské jsem se začala zajímat o to, jak se dají dělat webové stránky, co to všechno obnáší a vůbec jestli bych něco takového zvládla. Začala jsem studovat HTML a CSS. Všechno jsem se učila přes internet. Lepší a rychlejší cestu jsem našla, když jsem objevila online kurzy od Learn2Code. Začala jsem kurzem Webrebel 1. Co jsem se naučila, to jsem otestovala na známém, který potřeboval webstránku pro svoji firmu. Výsledek se dostavil. Počet zákazníků se díky webové stránce začal zvyšovat. Své znalosti jsem si rozšiřovala o další kurzy z Learn2Code. Dostala jsem možnost pracovat v jedné firmě, ale musela jsem se rychle přeorientovat na Javu. Výhodou Learn2Code bylo to, že i takový kurz tam byl. Ve firmě jsem nějakou dobu programovala. Musela jsem však odejít. Mám dvě malé děti a přišlo období, kdy se střídala jedna nemoc za druhou. Vedle péče o děti jsem se vrátila k vytváření webstránek a začala si budovat svůj web – své portfolio. Znovu jsem využila různorodost kurzů a zaměřila jsem se na marketingové kurzy, které mi pomohly, jak se prezentovat. Udělala jsem si firemní profil na Facebooku a profil na LinkedIn. Takto připravená jsem hledala vhodné firmy. Co tě nejvíc baví na tvé práci? Máš nějaký oblíbený task, který děláš nejraději?Na této práci mě baví, když dosáhnu úspěchu a překonám překážky, které projekt přináší. Velice ráda pracuji s frameworkem bootstrap.[Další ukázka práce] Dnes je obrovská poptávka po programátorech. Co bys poradila všem, kdo nemají žádné zkušenosti, ale chtěli by nějak začít?Nepřemýšlet nad tím, jestli na to mám nebo ne. Nejlepší začít a zkoušet. Nesrovnávat se na začátku s profesionály, z toho je docela slušná depka 😀. Připravit se na to, že výsledky nebudou hned. Všechno potřebuje svůj čas. No a samozřejmě využít možnosti vzdělávat se pomocí kurzů a zkoušet, kódovat, kazit a hledat řešení. Dobré je vyzkoušet i reálný projekt. Co je podle tebe největší výhodou práce v IT odvětví?Výhodou je svoboda, velké množství možností práce a pro mě jedna osobní a obrovská výhoda, která mi pomůže splnit si rodičovský sen – trávit čas s dětmi, když budou růst a ne sedět někde v kacelárii. Měl jsi někdy pocit, že to nezvládneš? Bylo období, kdy jsi chtěl skončit a dělat něco úplně jiného?Několikrát. Ale zjistila jsem, že už ani nevím, co by to jiné mělo být. Potom si uvědomím proč to dělám, nadechnu se a překonávám se dál. Jaké jsou tvé plány do budoucna?Cestu mi zkřížil WordPress, který jsem moc nechtěla ovládat, takže pořádně dostudovat framework Vue a pomalu přejít na backend. Máš nějakou radu, kterou bys chtěl sdílet se studenty, kteří teprve začínají s tvorbou web stránek a programováním nebo se svým vzděláváním v IT oblasti?Nezůstaňte při jednom kurzu. Nenechte se odradit od prvotních neúspěchů. A když budete trpěliví a posouvat se neustále dopředu, tak můžete získat výhodu oproti ostatním. Pomohli ti naše kurzy a našel sis díky nim práci. Napiš nám a rádi s tebou uděláme podobný rozhovor. Pro všechny, kteří váhají s tím, jestli začít a jak začít, na našem YouTube jsou další úspěšné příběhy našich absolventů.
Kolekce v Javě
Vzdělávání
06.03.2020
Skillmea

Kolekce v Javě

V tomto úvodním článku do série pokročilá java se podíváme na zoubek kolekcím (collections in java). Kolekce jsou jako kontejnery, které v sobě drží další objekty. Jinak můžeme kolekce chápat také jako seznamy. Seznam telefonních čísel. Seznam osob. Seznam aut. Seznam souborů. Seznam čísel .... U kolekcí budeme hovořit o Rozhrání, Implementaci a Algoritmech. Java collection framework – Java sama o sobě poskytuje několik kolekcí. Poskytuje nám jejich implementace a také algoritmy pro vyhledávání, vkládání, třídění a podobně. Rozhraní kolekcí v tomto frameworku jsou generická. Tedy umožňují do nich vkládat různé typy objektů. Pamatujte, že Java je striktně typový jazyk a do proměnné typu String prostě int nedáš, musí tam jít pouze String. Ke generikám se ještě dostaneme v pozdějším článku.[Image] Seznam rozhraní Java collection frameworkuCollection – top v hierarchii, používá se k přesunu kolekce, manipulaci kde se požaduje aby tam přišla jakákoliv kolekce. Do Collection můžeš vložit jakýkoli typ kolekce, který tuto kolekci rozšiřuje. Set – nemůže obsahovat duplicity List – seznam, může obsahovat duplicity, pořadí elementů je zachováno pomocí indexů Queue – FIFO – first in first out, což přijde první do této kolekce tak z ní i první odejde, některé implementace mají výjimky Deque - FIFO i LIFO (last in first out) - elementy mohou být vkládány i vybírány z obou konců Map – object který mapuje objekty k jejich klíčům, nemůže obsahovat totožné klíče SortedSet a SortedMap – jsou vlastně seřazeny Map a Set Implementace (nejpoužívanější jsou zvýrazněny boldem): SetEnumSet, HashSet, LinkedHashSet, TreeSetListArrayList, LinkedList, Stack, VectorMapEnumMap, HashMap, LinkedHashMap, TreeMapSortedSet NavigableSetTreeSetSortedMap NavigableMapTreeMapQueueLinkedList, PriorityQueue  SetNeobsahuje duplicitní elementy – lépe řečeno nemůže obsahovat duplicitní elementy. HashSet – neuchovává pořadí v jakém byly elementy vloženy, ale pracuje nejrychleji LinkedHashSet – uchovává pořadí elementů v jakém byly vloženy TreeSet – pořadí elementů je seřazeno podle jejich hodnot, je pomalejší Mějme kolekci, která obsahuje elementy, které jsou duplicitní. Jak z ní nejrychleji získáme kolekci, která nemá duplicity? Collection<Type> noDups = new HashSet<Type>(c); Funguje to tak, že z kolekce se vytvoří Set. A Set už z definice nemůže obsahovat duplicity. Přidání elementů do Setu: Set<String> set1 = new HashSet<>(); String s = "e"; set1.add("element1"); set1.add("element2"); set1.add("element3"); set1.add("element4"); set1.add(s);Je element v kolekci?  System.out.println(set1.contains("e")); //true     Odstranění elementu z kolekce: set1.remove(s);Procházení přes Set: Iterator i = set1.iterator(); while (i.hasNext()){ System.out.println(i.next()); }for(String s : set1) { System.out.println(s); }Zeptám se, jestli všechny elementy ze set1 jsou iv set2 set1.containsAll(set2)); Odstraním z set1 všechny shodné elementy se set2 set1.removeAll(set2);Vše ze set2 přidám do set1 set1.addAll(set2);ListUchovává pořadí elementů. Elementy jsou přístupné i pomocí indexů. Je možné do již vytvořeného Listu přidat nové elementy i na indexy, které jsou obsazeny – elementy se posunou. Můžeme v nich vyhledávat indexOf a lastIndexOf. U dopisů si musíme dávat velký pozor na to, abychom neshodili program kvůli přístupu k neexistujícím elementům – respektive k neexistujícím indexům v listu. Například máš List se 4 elementy a chceš přistoupit k 6-tému elementu. Základní pomocné algoritmy, specifické ke List:  • sort — setřídí elementy v listu • shuffle — náhodně promíchá elementy v listu. • reverse — otočí pořadí elementů v Liste • rotate — otočí pořadí všech elementů od specifického indexu • swap — přehodí elementy z Listu na specifikovaných indexech • replaceAll — nahradí všechny výskyty specifikované hodnoty za druhou specifikovanou hodnotu • fill — přepíše všechny elementy v listu za specifikovanou hodnotu ArrayList – přizpůsobuje svou velikost, základní pole musela mít specifikovanou délku při vytvoření, nemohla růst nebo se zmenšovat LinkedList – jiná implementace, rozdílu jsou v časových zátěžích s různými operacemi nad Listy Přidání elementů do Listu: List<String> list = new ArrayList<>();          list.add("list1");          list.add("list2");          list.add("list3");          list.add("list4");          list.add("list5");  Výběr elementů z listu na indexy 1:         list.get(1);  Je prázdný?         list.isEmpty();  Přidej na pozici 2:         list.add(2,"list2b");  Odstraň element:         list.remove("list1");           list.remove(4);  Různé manipulace:         Collections.sort(list);          Collections.shuffle(list);          Collections.reverse(list);          Collections.rotate(list,2);          Collections.swap(list, 0, 1);          Collections.replaceAll(list, "list4", "new list4");          Collections.fill(list,"Jaro");  MapMapa obsahuje hodnoty vázané na klíč. Takže to máme anglicky key – value hodnoty. Klíče musí být unikátní. HashMap – nedrží si pořadí, náhodné uspořádání LinkedHashMap – drží pořadí Vložení do Mapy: Map<Integer,String> map = new HashMap<>();          map.put(10,"jaro");          map.put(1,"fero");          map.put(3,"duro");          map.put(4000,"karol");          map.put(4000,"peter"); // přepíše předchozí element Získáme a vypíšeme hodnotu elementu s klíčem 1:         System.out.println(map.get(1));  Přechod přes elementy Mapy:         for(Map.Entry m : map.entrySet()){              System.out.printf("key %d, value %s %n",m.getKey(),m.getValue());          }          for(Integer k : map.keySet()){              map.get(k);                  }
Co má společného Picasso a WordCamp Košice 2020?
Události
26.02.2020
Skillmea

Co má společného Picasso a WordCamp Košice 2020?

WordCamp je nezisková konference, která se pořádá v 75 městech po celém světě. Je určena zejména fanouškům redakčního systému WordPress, zároveň má však značný přesah do marketingu, podnikání i osobního života. Rozvíjí znalosti a dovednosti, které jsou v dnešní IT době velmi žádané. Pablo Picasso byl významný umělec 20. století, který měl mnoho talentů. Možná o nich ze začátku ani nevěděl, ale postupným tvořením a rozvíjením se z něj stal maestro. Tak jako Picasso, i ty máš v sobě různé talenty, ale musíš je objevit a rozvíjet.[Image] Díky konferenci WordCamp Košice 2020 máš možnost získat znalosti a dovednosti o používání a škálování systému WordPress, poznat příběhy lidí z WordPress komunity, můžeš se stát součástí této komunity – objev a rozviň svůj #wordpresstalent. „Třetí ročník WordCampu v Košicích s sebou opět přináší nové změny, kterými se snažíme zvyšovat úroveň konference. Jednou z těch větších jsou nové prostory - Kasárny/Kulturpark. Ty se nacházejí v centru města, jen pár minut chůze od Hlavní ulice.“, uvedli organizátoři konference.   Už 16. května tě v prostorách Kasáren/Kulturpark čekají zajímavé přednášky i workshopy z různých oblastí tvorby, používání či propagace webu. Tématické okruhy přednášek a workshopů se budou střídat, takže pokud si např. hardcore dev, budeš mít program vystaraný na celý den. Learn2Code má rádo WordPress a proto jsme hrdým partnerem této konference. Ahoj a vidíme se 16.5.2020 v Košicích na WordCampu.
Rozhovor s lektorem kurzu o 3D modelování
Rozhovory
10.02.2020
Skillmea

Rozhovor s lektorem kurzu o 3D modelování

Nedávno jsme na naší stránce spustili první online kurz zaměřený na 3D modelování s použitím Autodesk Fusion 360. Jako freelancer, tvůrce a spolu-tvůrce se lektor kurzu Agi Gonda od roku 2015 věnuje ruční výrobě dřevěných dekorativních předmětů. Jelikož ho vždy zajímaly nové technologie a jejich možnosti využití ve výrobě, začal se v roce 2018 intenzivně věnovat oblasti konstrukčního modelování s propojením na 3D tisk a jiné možnosti výstupů. Od června 2018 jsem členem komunity e-NABLE, a zakladatelem její slovenské pobočky, jejíž dobrovolníci z celého světa využívají své 3D tiskárny k vytváření „open source“ tištěných dlaní a rukou pro děti a dospělé, kteří náhradu těchto částí rukou potřebují. Přečti si celý rozhovor s lektorem Agim 👇 Na začátek nejprve začněme tvou prací. Co přesně děláš?Na tuto otázku nedokážu odpovědět přesně :-) Když shrnu svůj okruh zájmů a pojmenuji to, co stále jmenujeme „práce“, posledních několik let se jako tvůrce a spolutvůrce věnuji ruční výrobě dřevěných dekorativních předmětů, což je ještě i dnes velkou částí mého fungování . Sám v sobě však cítím potřebu posunout se i za pomoci současných technologií od čistě ruční výroby k výrobě, která je do jisté míry usnadněna i nástroji řízenými počítačem – ať už je to CNC fréza nebo 3D tiskárnu, kterou při práci se dřevem využívám hlavně k výrobě různých šablon a přípravků. Jelikož se snažím všechny mé činnosti co nejefektivněji propojovat, věnuji se i zakázkovému 3D modelování, či poskytování konzultací, které souvisejí s učením se základů konstrukčního 3D modelování. Tak vzniklo i propojení s Learn2Code a video kurzem o získání dovednosti a přehledu při používání programu Autodesk Fusion 360.[Image] Na jakých projektech jsi pracoval? Jaké jsou tvé pracovní aktivity?V posledním období je pro mě velmi významné zapojení do projektu celosvětové komunity e-NABLE, jejíž dobrovolní členové využívají své 3D tiskárny a pro děti a dospělé připravují náhrady prstů, dlaní či celých rukou pro ty, kteří je potřebují a mají o ně zájem. Tato komunita funguje již devátý rok a je do ní po celém světě zapojeno více než 20000 členů s více než 10000 vytvořenými a předanými náhradami. V září 2018 se mi podařilo vytvořit pobočku této komunity i na Slovensku, pod názvem e-NABLE Slovakia ji můžeš najít na internetu i sociálních sítích. Navíc energie momentálně věnuji do přípravy a rozjetí mého nového projektu - GeoDome.sk, který je opět propojen se dřevem. Jde o přípravu a výrobu dřevěných konstrukcí kopule - geodomy, které lze velikostně libovolně přizpůsobit a použít na množství připravovaných realizací - provedení v provedení fóliovníku, výletu - výběhu pro zvířata, překrytí bazénu as dalšími úpravami je lze využít i jako rekreační domek určený pro odpočinek a relax. A znovu jako dosud je opět vše propojeno a na přípravu těchto konstrukcí ve velké míře využívám 3D modelování a tisku šablon na 3D tiskárně.[Image] A jak ses k 3D modelování vůbec dostal?První pokusy naučit se modelovat jsem měl ještě někdy na střední škole. Když jsem se však do učení pustil, velmi rychle jsem s ním skončil s výsledkem a prohlášením, že něco takového nezvládám :-) Potom však přišel můj zájem o 3D tisk as dostupností velmi jednoduchých modelovacích programů, které jsou ve vynikající funkčnosti přístupné ve free verzích i přes webový prohlížeč, jsem dokázal a chtěl vstoupit i do tohoto nového prostoru. Byly to hodiny a hodiny sledování zahraničních instruktážních videí, ze kterých jsem si vybral ty způsoby a postupy, které jsou pro mě nejjednodušší, nejrychlejší a nejefektivnější. Tyto informace se mi hned podařilo vyzkoušet v praxi při spolupráci na modelování a tlačení zmenšených modelů sportovních trenažérů. Proč ses rozhodl spolupracovat s Learn2Code?Myšlenka spolupráce se mi objevila jako nabídka spolupracovat s Learn2Code jako lektor. Byla to pro mě jednoznačně výzva jít do nové zkušenosti a zužitkovat získané informace a znalosti. Co všechno se člověk naučí ve tvém online kurzu Autodesk Fusion 360?Kurz a jeho obsah jsem skládal s myšlenkou, aby se za těch několik desítek minut setkat s 3D modelováním prakticky kdokoli – i když s ním dosud neměl žádnou zkušenost. Zájemce se dokáže seznámit se základními možnostmi a funkcemi tohoto programu as malou dávkou představivosti si po jeho ukončení vymodelovat požadovaný objekt a od úplných základů zjistit, jak funguje vytvoření prostorového objektu přidáním třetí dimenze. Program Fusion 360 jsem zvolil pro jeho dostupnost a vysokou variabilitu v pozdějším - nazvu ho pokročilejším modelování. V kurzu společně přejdeme od stažení a instalace programu, přes jeho základní funkce a nastavení. Možná nebude na začátku dávat smysl, že začneme s kreslením a přiřazováním vztahů objektů ve 2D prostoru a až později přejdeme na přidání jejich třetího rozměru. Je to však v tomto případě nejjednodušší způsob a postup a po narýsování kruhu a čtverce se prakticky jednou dodatečnou funkcí dostaneme z kreslení pločných objektů k tvoření těch prostorových. Je v této oblasti třeba sledovat aktuální trendy a inovace? Jak jsi na tom ty?3D modelování je oblast nekonečných možností. Jen za období tvoření kurzu vývojáři programu Fusion 360 několikrát změnili a zjednodušili pracovní prostředí a přidali mu další užitečné funkce. Jednou z nich bylo vylepšení zjišťování pevnosti a statiky objektů či modelování PCB desek s celým portfoliem doplnění elektroniky ve formě pluginu. Někdy je pro mě nepříliš snadné držet se všemi novinkami krok a naučit se je používat. Dělám to však tak, že nové možnosti programu zaregistruji a naučím se je a začnu používat až ve chvíli, kdy je opravdu potřebuji. Myslím, že při dnešním množství informací a změn to takovýmto způsobem dělá většina z nás :-) Velmi rád však sleduji inovace v oblasti 3D tisku a novinky, které pomohou tento proces výroby zdokonalit a zrychlit. Rychlost procesu výroby je momentálně jednou z velkých výzev pro všechny výrobce těchto zařízení. Co tě nejvíc baví na tvé práci?Na všem do čeho se pustím mě nejvíc baví obrovská dávka kreativity a do velké míry i volnosti při tvoření. Baví mě nové nápady, setkání se stejně naladěnými lidmi, ale mám rád i dobře a efektivně nastavený výrobní stereotyp, kterým si energii neubírám – naopak mě taková činnost dokáže velmi povzbudit. Absolutně vše vidím v nastavení jednoduchosti procesů a nezatěžováním se záležitostmi, které nejsou zrovna v tuto chvíli podstatné. Jaké máš plány do budoucna?I když mám představy o dalším směřování, příliš tuto otázku neřeším. Mnohem více se zaměřuji na to, co můžu udělat lépe a jinak než dosud v tuto konkrétní chvíli. Jak mohu změnit zažitý postoj, kterým jsem se již několikrát nevedl k žádnému citelnému posunu a začít dělat věci novým – otevřenějším způsobem a více důvěřovat přicházejícím okolnostem. Hej, to je můj plán do budoucna :-) Krátký odkaz všem čtenářům na závěrMůj odkaz shrnu do pár slov... Za jakýchkoli okolností - i těch lehkých a ne ne tak lehkých, nepřestávej tvořit. Cokoli! Rukama, nohama, celým tělem, nástrojem, přístrojem, obrazem v mysli či nejhlubším pocitem. Tak, aby to úmyslně neublížilo nikomu druhému, ale aby tě to posunulo v každou novou chvíli o krok vpřed. A hlavně vlož do každého tvoření co nejvíce své energie a srdce, aby sis s každým pohlédnutím do zrcadla či každým večerním usínáním mohl a mohla říct - dnes jsem udělal a udělala nejvíc, co bylo v mých silách. I pro všechny kolem, ale v první řadě pro sebe. Pokud máš na Agiho nějaké dotazy, neváhej je napsat do komentářů 👇 Kurz o 3D modelování v Autodesk Fusion 360 najdeš na naší stránce. 
Známé weby, které používají WordPress
Ostatní
19.01.2020
Martina Baumann

Známé weby, které používají WordPress

WordPress je nejznámější a nejrozšířenější redakční systém CMS (Content Management System) pro tvorbu webstránek, který stále využívá většina uživatelů. Vznikl v roce 2003 a od té doby si už mezi sebou našel miliony uživatelů a fanoušků. Jeho velkou výhodou je dostupnost, srozumitelnost a možnost instalovat spoustu pluginů a widgetů, díky kterým například změříte návštěvnost, doplníte si svůj web různými aplikacemi nebo si jej propojíte se sociálními sítěmi. Tento článek původně vznikl v létě 2017, upravili jsme jej o a doplnili o další weby. Čti dál. A k čemu WordPress slouží?Takový WordPress se používá na klasické webové stránky, klasický e-shop a samozřejmě oblíbené blogy. Jeho velkou výhodou je, že nepotřebujete licence. Tento publikační software je totiž vyvíjen pod licencí GNU GPL (licence pro svobodný software). Používají jej i velké firmy, organizace, redakce na Slovensku a také v zahraničí. Pokud i ty přemýšlíš nad tím, že by sis chtěl udělat webku a nejsi zrovna dobrý v programování, může ti pomoci tento blog na malou inspiraci. Existují různé možnosti, jak si udělat webku jednoduše a rychle ve WordPressu a to od systémů, které jsou zdarma až po ty placené. V tomto případě však určitě platí, pokud chcete rozjet svůj byznys ve velkém stylu, investujte do placené verze – působí to totiž mnohem profesionálněji a potencionální klienti jistě ocení i to, že máte vlastní název web stránky. WordPress.orgNabízí vlastní název webky a také emailovou adresu - kromě toho, že je to (jak jsem již zmiňovala výše) profesionálně, tak je to snáze zapamatovatelné. Dále můžete používat pluginy a také spoustu možností, jak může váš web vypadat. V neposlední řadě nabízí kvalitní SEO. Abyste však neřekli, zde je kratičký přehled šablon, které jsou k použití zdarma: Sydney, Interface, Flash, Zerif Lite, Everal, Astrid, Hestia, ionMag, Writee a mnohé další (opravdu je jich na internetu celá spousta, stačí jen trošku poguglit). WordPress.org je vhodná pro lidi, kteří chtějí mít seriózní profesionálně vypadající webovou stránku nebo eshop. Pokud s WordPressem teprve začínáte, určitě si prohlédněte náš online kurz pro začátečníky o WordPressu ao tom, jak rozběhat a spustit vlastní webstránku. Možná jste se někdy setkali také s platformou WordPress.com. WP.com je vhodná spíše pro netechnické lidi, kteří nemají kapacitu pro různá nastavování ve "klasickém" WordPressu. Známé WordPress webyPojďme se nyní podívat na známé webové stránky, které jsou založeny na WordPressu. Které jsou to? Nemusíte se mnou souhlasit, můžete mi pod článek napsat své vlastní tipy. Objektivní názor v tomto případě jednoznačně neexistuje 😊 A hádat se s vámi nebudu... Denník N Začněme nejprve od populárního slovenského deníku, které se věnuje převážně zpravodajství a investigativní žurnalistice. Má svoji internetovou stránku, která funguje také na WordPressu. Má velkou čtenářskou základnu, denně produkuje desítky článků a různých příspěvků.[Image] Startitup Kdo by neznal na Slovensku tento portál? Populární web, který je zaměřen na úspěšné startupy a přináší velmi mnoho poutavých příběhů nejednoho úspěšného Slováka. Všechny tyto příspěvky na oblíbené webce Slováků čtete právě díky WordPressu.[Image] Dušan Plichta Blog Velmi populární je i tento blog, který mimo jiné získal letos speciální cenu Nejlepší WordPress blog 2017. Součástí webky je také e-shop.[Image] ADMA Asociace digitálních marketingových agentur (ADMA) je známá jako sdružení profesionálních agentur, které působí v oblasti digitálního marketingu. A jejím hlavním úkolem je zvyšování úrovně digitálního marketingu na Slovensku.[Image] Visibility Agentura se na začátku zaměřila na SEO, později se však začala věnovat online marketingu ve velkém a dnes má významné klienty. Webka je spojena kvalitního obsahu a pěkného designu.[Image] PizzaSEO Další špičková agentura, která používá WordPress a je důkazem, že to dělá dobře. Také významné digitální agentury používají WordPress.[Image] Bloger roka A tak určitě musím vzpomenout i tuto webku – ptá si to.[Image] V zahraničí používají WordPress opravdu velká jména, zmíním například tato: FORBES Snad nejdůvěryhodnější magazín, známe jej i díky populárním žebříčkům nejbohatších lidí na planetě, který pravidelně uveřejňuje.[Image] TECH CRUNCH Zpravodajský web o startupech, technologiích, ventura kapitálu a Silicon Valley.[Image] REUTERS Zpravodajská a tisková agentura, která používá WordPress.[Image] THE WALL STREET JOURNAL Známý americký deník se věnuje zejména financím a podnikání.[Image] ebay ebay nemusím ani představovat? Určitě sis tady už něco koupil i ty.[Image] A mně se líbí ještě: Star Wars Blog Oficiální blog o Star Wars - najdeš zde všechny aktuální info, videa, recenze, komunitní sekci a mnoho dalšího.[Image] Baťa Proč bychom nezmínili i něco pro dámy - obuvnická firma, kterou založili sourozenci Anna, Antonín a Tomáš Baťoví ve Zlíně v září 1894.[Image] NFL A aby nebyli zkráceni i muži - tak vzpomínám i tuto webku. National Football League je největší a nejprestižnější liga amerického fotbalu na světě.[Image] The New Yorker Týdeník, který přináší komentáře a zprávy o politice, ekonomice, mezinárodních záležitostech, kultuře, umění a vědě. A samozřejmě používá WordPress.[Image]Vypíchli jsme jen několik webů, které používají WordPress, je jich určitě mnohem víc. Jelikož na WordPressu dnes běží přibližně 20% všech webů na světě. Pokud jsme na nějaký významný web zapomněli, vzpomeň ho v komentáři. Líbil se ti tento článek? Věnuj mu 👍 Pokud máš nějaké rady a tipy i ty a rád by ses s nimi podělil s ostatními, napiš nám dolů do komentáře 👇