Náš blog

Studijní plán pro budoucího JavaScript programátora
Vzdělávání
26.03.2021
Skillmea

Studijní plán pro budoucího JavaScript programátora

Lidé se nás často ptají, jak se stát frontend developerem, jaké technologie by měly ovládat, co všechno vědět, kde začít a jaká je správná posloupnost jednotlivých online kurzů. Na základě našich zkušeností, rad od lektorů jako Yablko a dalších, jsme v tomto článku dali dohromady studijní cestu příštího frontened developera. Frontend developer vs backend developer vs fullstack developerFrontend developer, frontenďák je člověk, který je zodpovědný za části webové aplikace nebo webové stránky, které uživatelé vidí a interagují s nimi. Backend developer je člověk, který má na starosti všechno to, co člověk nevidí – infrastruktura, datový model, databáze. No a pak je tady full-stack developer, který je směsí frontendu i backendu a zvládne celý proces návrhu webové aplikace od začátku do konce. Pomozme si tímto meme pro lepší vizualizaci:[Programátorské meme]V dnešní době se dost stírá hranice mezi frontendem a backendem. Je to kvůli tomu, že stále více úkolů, které spadají do oblasti backendu, mají na starosti frontend vývojáři. Frontend developer dělá zejména tyto úkoly: • rozhoduje o designu a struktuře webstránek, • vyvíjí funkce k dosažení dobré uživatelské zkušenosti (user experience), • dbá na responzivitu webové stránky, • optimalizuje webstránku pro rychlé načítání a škálovatelnost v budoucnosti, • volí správnou kombinaci webových technologií pro dosažení nejlepšího výsledku. Dovednosti front-end developeraDobrý frontenďák je k nezaplacení. Doslova. Při vývoji webstránek či aplikací je nesmírně důležitý a musí proto mít komplexní znalosti nejen z oblasti vývoje webu: • ovládat technologie jako HTML, CSS, JavaScript a další (čti dále v článku), • pokud umí pracovat s nějakým grafickým softwarem jako například. Photoshop, Sketch alebo Illustrator, je to veľké plus, • základní znalosti SEO, • dobré komunikační znalosti, neboť hodně komunikuje s kolegy (grafik, backend developer, projektový manažer, klient), • nezalekne se problémů a umí je řešit. Mzda frontend developeraPodle portálu platy.sk na Slovensku vydělává JavaScript developer (proč jsme vybrali právě pozici JavaScript developer se dozvíš níže v článku) od 1.300 Eur až po 2.900 Eur. Záleží na počtu let praxe, zkušeností, projektech na jakých jsi již pracoval a tak dále. Dobré JavaScript developery firmy stále hledají, takže když naskočíš na vlak frontend developmentu, o práci budeš mít postaráno.[Priemerný hrubý mesačný plat programátora na Slovensku]JavaScript je také extrémně populární, podle RedMonk rebríčka je JavaScript číslo 1 co se týče popularity na GitHube a Stack Overflow. Když pohledáš i otevřené pozice např. na Profesi, vyhodí ti to stovky pozic JavaScript či frontend programátora. A když si do svého LinkedIn profilu doplníš, že ovládáš JavaScript ak tomu nějaký JavaScript framework, inbox ti vybuchne od nabídek různých IT recruiterů. Pojď na to a viz návod, jak se stát frontend programátorem. Jak se stát frontend developerem?Nenech se odradit a jdi za svým cílem. V textu níže jsme vypíchli podle nás ty nejdůležitější technologie, které by si jako dobrý frontenďák měl ovládat. Pojďme na to. “TL;DR: HTML, CSS a JavaScript jsou zádovou kostí frontend developmentu. Frontend development kombinuje právě tyto tři technologie ak tomu JavaScriptové frameworky (nebo knihovny).” Krok číslo 1: HTML a CSSToto je úplně první téma, kterému by ses měl věnovat, pokud máš v plánu být frontend developerem. Je to alfa a omega celého frontend developmentu. HTML a CSS používají všechny weby, všechny webové aplikace. HTML a CSS tě zdarma naučí kurz Webrebel 1: HTML, CSS a JavaScript. Všechna videa o HTML a CSS jsou k dispozici zdarma, stačí se přihlásit do kurzu. V tomto kurzu se naučíš také důležité věci o tom, jak vůbec internet funguje, jak fungují prohlížeče, což je HTTP a HTTPS, DNS, JSON, XML a spousta dalších zkratek, kterým nyní možná nerozumíš, ale v procesu tvorby webstránek jsou to důležité znalosti . A když budeš u CSS, věnuj mu pořádně hodně času. Může se zdát, že je snadné pracovat s CSS, ale na jeho zvládnutí je zapotřebí mnoho času. Zkus se zeptat backend developera, proč není frontendistou? Šance, že ti odpoví, "Nebo nesnáším CSS" je dost vysoká. Sledovat videa nestačí a proto si určitě během jejich sledování dělej domácí úkoly, které v kurzu jsou. Udělej si své vlastní portfolio, nabídni se svým známým, že jim uděláš webstránku, dělej maličké projektíky jen tak pro své potěšení a takto se budeš zdokonalovat a chytíš psaní kódu za pačesy.[Ukážka HTML, CSS a Java Script | Zdroj: https://moz.com/blog/javascript-seo] Krok číslo 2: piš lépe CSSLepší CSS se naučíš psát například díky preprocesorom. Známými preprocesory jsou Sass, Less nebo Stylus. Preprocesor je program, který zpracuje kód v jednom formátu (např. Sass) a změní jej na kód v druhém formátu (CSS). Díky Sass umíš psát méně kódu a bude přehlednější. Když budeš dělat na webových projektech, je dobré ovládat i nějaký ten CSS framework. Největšími frajery na tomto poli jsou pravděpodobně Bootstrap a Foundation. Bootstrap je iniciativa Twitteru a zaslouží si velkou pochvalu za zavedení responzivního designu ve velkém měřítku. Byl to první framework, který podporoval filozofii 'mobile-first'. Pomocí Bootstrapu umíš relativně rychle vytvářet responzivní weby. Pokud je pro tebe Bootstrap zbytečně omezující v tom, jak tvůj design bude vypadat, vyzkoušej CSS framework Tailwind 2. Je pro lidi, kteří chtějí mít flexibilitu a tvořit vlastní design. Tailwind je intuitivní a moderní CSS framework, který se lze rychle naučit. Krok číslo 3: trošku přitopíme - JavaScriptJavaScript bude pro tebe jako frontend developera bezpochyby nejdůležitější dovedností. Jak se naučit JavaScript? Logická odpověď: začni základy. Nebuď povrchní, ale ani v úvodu nechoď do úplných detailů. Learning by doing je naše doporučení, když se učíš JavaScript: 1. Nauč se základy JavaScriptu, 2. Nauč se React, Vue alebo Angular, 3. Pochopíš, že nemáš dobré základy JavaScriptu, 4. Vrať se k bodu 1. a nauč se pořádně JavaScript. JavaScript je již několik let po sobě nejpopulárnějším programovacím jazykem, pozice vyžadující JavaScript přibývají jako houby po dešti. Když budeš vědět JavaScript, o robotu máš postaráno. Yablko připravil parádní kurz o moderním JavaSciptu. Tento kurz tě naučí psát moderní JavaScript, budeš vědět jeho syntaxi (ES6 a ES7), abys nepsal spaghetti code a pravidla jazyka. Kromě toho, zvládneš nástroje jako package managers (správa závislostí) npm a yarn, zkrotíš DOM, budeš umět používat nástroje jako Webpack a tak dále. V kurzu je téměř 23 hodin materiálu o moderním JavaScriptu, bude to fuška, ale výsledek bude stát za to. Krok číslo 4: vyber si svůj osud - Vue, React, AngularKdyž jsi zvládl předchozí tři kroky, jsi připraven naučit se pracovat s mocnými nástroji v podobě JavaScript frameworků nebo knihoven. Aktuálně v roce 2021 jsou nejvíce v kurzu Angular, React a Vue. Nemusíš vědět všechny, raději jeden a pořádně. Každá z těchto technologií má svá pro a proti a jsou určena ke komplexnímu vývoji frontendových webových aplikací. Tyto frameworky jsou si podobné a pokud se naučíš jeden, přejít na jiný framework není až tak náročné. Pojďme si nyní velmi stručně představit zmíněné tři frameworky. Angular je vyvíjen společností Google, poprvé byl vydán v roce 2010 a je postaven na TypeScriptu. Otcem Angularu je Slovák Miško Hevery. V roce 2016 byl představen výrazný update tohoto frameworku - Angular 2, v jehož rámci došlo ik vypuštění "JS" z názvu. Kromě Googlu samotného používají Angular weby jako PayPal, Upwork, Microsoft a další. React je vyvíjen dalším gigatnem - Facebookem, který jej mimo jiné používá v aplikacích Instagram či WhatsApp, na Reacte fičí i weby Netflixu či Uber. První release byl v roce 2013 a jedná se o JS knihovnu pro vytváření uživatelských rozhraní (UI). Vue je nejmladším JS frameworkem v tomto výběru. Vue za sebou sice nemá žádnou velkou firmu, ale také je používán velkými firmami. Alibaba, Behance nebo GitLab. S příchodem Vue 3 v září 2020 přešlo Vue na TypeScript.[JavaScript frameworks Angular, React, Vue] BONUSGitGit se používá ve většině vývojářských firem, čím dříve se naučíš s Gitem pracovat, tím lépe pro tebe. Git je verziovací systém, díky kterému se můžeš kdykoli vrátit k původní verzi svého kódu, sdílíš kód s kolegy spolupracovníky, pracuješ v týmu. Git ovládáš přes příkazový řádek nebo si nainstaluješ nějaké GUI pro Git. Git ti vlastně ukládá celou historii tvého projektu do repozitáře. Své repozitáře ukládáš na jakémsi hostingu – což může být GitHub, GitLab či Bitbucket. TestováníChceš-li být úplný král, svůj kód určitě i testuj. Vyhneš se tak mnohým problémům při vývoji. U JavaScriptu jsou nejpoužívanější knihovny pro testování Jest, Mocha, Chai. ZávěrNezapomínej, nemusíš dokonale ovládat vše z výše uvedeného. V tomto článku jsme se snažili přinést ti průřez technologií, které bys měl ovládat, pokud se chceš stát frontend programátorem. Mohlo by se zdát, že jich je příliš mnoho a bojíš se, že to nezvládneš. Pro dodání sebedůvěry si přečti tyto příběhy absolventů našich kurzů, kteří se rozhodli změnit kariéru. Nebo si prohlédni pár rozhovorů s absolventy na našem YouTube. Nikdy není pozdě začít s programováním. Když se rozhodneš pro vzdělávání formou online kurzů, nejdůležitější je vydržet. Držíme ti palce. Kódování zdar!
Změna oblohy na fotkách ve Photoshopu jediným klikem
Tipy a triky
11.03.2021
Ľudovít Nastišin

Změna oblohy na fotkách ve Photoshopu jediným klikem

Standardní postup při změně oblohy na fotkách vyžaduje jistou zručnost ve výběrech a maskování. Ovšem s novým Photoshopem je na scéně také velmi zajímavá funkce, která tyto časově náročné postupy sloučila v podstatě do jediného kliknutí. Mluvíme o „Sky Replacement Tool“, který najdeme ve Photoshopu 2021. V tomto článku se na tuto funkci podíváme a ukážeme si to i na příkladu. Sky Replacement najdeme v edit>Sky Replacement. Ihned po otevření této funkce začne software automaticky analyzovat obrázek.[Image] Okamžitě poté si sám vytvoří na daném obrázku masku oblohy a vymění ji za jinou. Jediným klikem. Tento nástroj využívá Adobe Sensei (umělou inteligenci společnosti Adobe). Je to něco podobného jako funkce „Select and Mask“, která je v posledních verzích Photoshopu také velmi kvalitní.   Asi to nebudeš využívat každý den, ale čas od času se takový úkol objeví. A tehdy je dobré o tomto nástroji vědět, neboť si ušetříš čas. Nastavení nástroje "Sky Replacement"Je to sice výměna oblohy na jeden klik, ale většinou to třeba trošku doladit. Nejprve si zvolíš obrázek oblohy z nabídky nástroje, které jsou ve třech složkách: Blue Skies, Spectacular a Sunsets. Máš samozřejmě možnost importovat si tam svoji vlastní oblohu. Stačí kliknout na ozubené kolečko v pravém horním rohu a najít možnost „Import Skies“ nebo přes ikonku + a nahrát si oblohu jako .jpeg soubor.[Image] Máme zde i další nastavení, o kterých je třeba si něco říct. Shift Edge – přes tento slider si umíš doladit okraje výběru a zbavit se tak případných nedotažených míst, která Photoshop až tak dobře nezvládl. Refine Edge Brush – pro případ, že tvou pozornost vyžaduje jen nějaká malá část výběru, máš k dispozici i známý nástroj z balíku „Select and mask“, kterým také umíš dotáhnout případné nedokonalosti. Fade Edge – tento nástroj umožňuje vytvořit jemnější přechod při horizontu obrázku. Photoshop ale většinou udělá robotu velmi dobře a další úpravy okrajů nejsou zvláště potřebné. Temperature, Brightness a Scale – tyto nástroje upravují již samotnou oblohu. Většinou je třeba doldit je barevnost, případně je příliš tmavá či světlá. Nebo je nutné oblohu zvětšit aby seděla s horizontem fotky. Všechno to lze upravit v těchto Sky Adjustments úpravách. Foreground Adjustments – máme možnost doladit barevně i samotný obrázek mimo oblohu tak, abychom celou kompozici co nejvíce sjednotili.[Image] Když jsi s výsledkem spokojen, je třeba si ještě stanovit, jakým způsobem se má tato úprava aplikovat do obrázku. Je zde možnost duplikovat vrstvu nebo output do nových vrstev. Skvělé je, že tento nástroj je nedestruktivní. Pokud si vybereš si vybereš output do nových vrstev, celá úprava se zobrazí ve klasické vrstvě s maskou a spolu s adjustment vrstvami. Takto máš plnou kontrolu nad výsledkem a přípravu pro další modifikace této kompozice. Jsou však situace, kdy ti Sky Replacement pomůže jen částečně. Jednou z takových může být situace, kdy se snažíš vyměnit oblohu na obrázku s vodní hladinou. A ta bude stále odrážet původní oblohu. V takovém případě bude třeba tento odraz vyřešit manuálně. Výhodou však je, že většinu potřebných masek vrstev už z tohoto nástroje máš. Sky replacement tool je podle nás skvělý nástroj ai když jej nebudeš používat každý den, v té pravé chvíli ti pomůže. Jeho ukázku se podívej i na tomto videu, ve kterém jsme si pohráli se známou bratislavskou scenérií. Vyměnili jsme oblohu a odstranili všechny postavy. A všechno nám to zabralo jen pár minut.
Baskytarista Filip je srdcem nejen muzikant, ale i zvukař
Rozhovory
08.03.2021
Martina Baumann

Baskytarista Filip je srdcem nejen muzikant, ale i zvukař

Filip Andel je vášnivý zvukař, milovník hudby a všeho toho, co se kolem zvuku či hudby děje. Jeho život je plný aktivit, pracuje v RTVS, přitom stíhá hrát na baskytaru ve skupině Eufory a ještě si téměř každý den mixuje zvuk a hudbu v nahrávacím programu. Dnes jsme si proto promluvili s muzikantem a zároveň naším lektorem, který vede kurz Základy zvuku, abychom vám přinesli více ze zákulisí zvuku. V následujících řádcích se tak dozvíte něco o samotném kurzu a Filip také prozradí, co znamená práce zvukaře a jak se v ní uplatnit. V Skillmea máš nový kurz Základy zvuku. Co přesně je to za kurz a pro koho je určen?Kurz je zaměřen na zcela základy zvuku a zvukařské práce, hovorově zvukariny. Čili, jaká je role zvukariny, co je to zvuk, jak se šíří, přenáší a zpracovává. Kurz je určen primárně začátečníkům, ale také mírně pokročilým, či dokonce pokročilým zvukařům. Účastníci se v něm dozví základní principy, které je třeba chápat a dodržovat při práci se zvukem pro dosažení co nejlepších výsledků. Čili mohla bych se například přihlásit i já, i když nemám vůbec žádné zkušenosti, ale chtěla bych s takovým něčím nějak začít?Určitě ano, ovšem je dobré, pokud potenciálního účastníka obor zvukariny alespoň zajímá. Ale není to podmínkou, kurz je veden tak, aby to pochopil i naprostý laik (úsměv). A jak dlouho trvá? Kolik času je třeba si na něj vyhradit?Kurz trvá bezmála tři hodiny. Inu, zvuk je opravdu obsáhlé téma. A to jsme teprve na začátku...[Image] Dobře, uděláme si tvůj kurz a co dál? Co vím například po jeho absolvování konkrétně udělat?Snažil jsem se tento kurz nastavit tak, aby účastník po jeho absolvování dokázal pracovat se zvukem. Minimálně po té technické stránce, což je zhruba polovina nutných schopností. Zbytek je kreativní část a ta je u každého individuální. Jako příklad můžu uvést třeba ozvučení kapel v klubech, nahrávání ve studiu, tvorba videí. Pokud s tím člověk začíná a neumí si dát rady se zvukem, věřím tomu, že po absolvování kurzu se dokáže pohnout dál. Můžeš nám více prozradit o sobě, o tvé práci, čemu se věnuješ a lze zmínit i nějaké tvé projekty...Už jako dítě jsem byl fascinován technikou, stroji, elektronikou. V 15-ti jsem přepadl lásce k hudbě, okouzlila mě baskytara na metalovém koncertu kapely Helloween (smích). No a když si zkombinujeme hudbu a technologie, zvuk byl přirozenou cestou, o kterou jsem se začal zajímat. Nejprve jsem vypomáhal ve firmě při ozvučení koncertů, plesů, festivalů. Později jsem pracoval v dabingovém studiu pro Discovery Channel a odtud moje kroky vedly do RTVS, studio Slovenského rozhlasu v Košicích. Tam působím dosud. Vedle toho jsem si toužil splnit sen, mít vlastní nahrávací studio. To se podařilo a v roce 2019 jsem své Clangor Studio otevřel. Přitom se stále aktivně věnuji i hudbě, hrával jsem v různých kapelách, nejvýrazněji se v mém životě zapsali Within Silence, Fictive Marry a aktuálně působím v Eufori.[Image] A co tedy považuješ za svůj největší úspěch?Těžko říct :) Určitě bylo pro mě velkým úspěchem dostat se do RTVS, kde jsem kromě práce dostal asi tu nejlepší školu v oblasti zvuku, díky starším kolegům, kteří jsou nesmírně vstřícní a rádi se dělí o své dlouholeté zkušenosti. Za to jsem jim neskonale vděčný. Rovněž považuji za úspěch to, že jsem si dokázal splnit sen a otevřít vlastní studio. Pomalu se to rozbíhá správným směrem. A pokud mluvíme o tvé práci, co máš na ní nejraději?No, ono mě to tak obecně baví a naplňuje. Ale tak v rámci práce v RTVS je to určitě rozmanitost, každý den je něco jiného na práci, nikdy se to nezunuje. Ve studiu je to zase práce s hudbou, setkávání skvělých muzikantů a práce s nimi, se zvukem, s technikou, když to má spoustu knoflíků a bliká to, je to super (smích). Máš i nějaký nesplněný sen, co bys chtěl jít dělat? Takové dva velké nesplněné sny, doufám, že teprve zatím, mám. Prvním je mé studio, rád bych pracoval se světovými umělci, kapelami a v úžasných prostorách. Druhým snem je hudba. Rád bych se svou kapelou zažil alespoň jedno světové turné. Čím se inspiruješ při své práci? Pravděpodobně je ta inspirace u kreativu nezbytná. Mýlím se?Ano, jednoznačně je inspirace nutná. Muzikanty může inspirovat cokoliv kolem nás, dění ve světě, příroda, vlastní zkušenosti, myšlenky, sny… Mě zase inspirují samotní muzikanti. Když přijdou s něčím, že „takovou mám představu o zvuku, udělej to nějak“, tak je to vždy výzva ruku v ruce s inspirací. Kromě toho se rád nechám inspirovat ostřílenými zvukaři, kteří mají za sebou stovky úspěšných hitů. Jejich videa se dají nalézt na netu, tak ty si tak ve volném čase dívám a učím se. Pracuješ i ty na sobě v tom smyslu, že se učíš dál nové věci? Nebo už všechno víš?Oh...kdo už si jen může říct, že všechno ví? (úsměv) Samozřejmě, že se snažím na sobě pracovat, při zvuku je to nikdy nekončící proces učení. Jedna věc jsou technologie. Každým rokem přijde na trh něco nového, nějaké nové zařízení, nové postupy a podobně. Čili to je jedna z věcí, kde je třeba se neustále učit a zdokonalovat. Přitom, jak jsem již zmínil, rád se dívám videa a články od světových zvukařů, učím se od nich různé postupy, triky a podobně. Ještě bych řekl, že teorie je sice super, ale praxe je praxe. Jak se říká, zkušenost je nepřenosná, a proto je lepší jednou zkusit, než stokrát vidět, slyšet, číst... Takže to je další možnost, jak se na sobě dá pracovat. Já osobně se snažím každý den otevřít Cubase (nahrávací program) a něco si mixovat. Přestože jen tak, cvičně, ale stále je třeba se držet v kondici.[Image] Které stránky doporučuješ sledovat lidem, kteří se zajímají o zvuk? Umíš jim dát nějaké dobré tipy, resp. lze zmínit i zajímavé aplikace, které jim mohou pomoci? Je něco takového?Nejjednodušší odpověď je YouTube. Ale aby to nevyznělo, že jsem líný ... Faktem je, že na YouTube lze najít nespočet kvalitních videí o zvuku. Od základů přes pokročilé postupy nahrávání či mixáže až po top level mastering. Kromě toho, sice placený, ale skvělý obsah mají stránky jako PureMix nebo Mix With The Masters. Ty obsahují takové kurzy, resp. walkthrough (promiňte, nevím jak to nazvat česky ☺) videa od top světových zvukařů. Ukazují v nich, jak mixovali nebo i nahrávali některé světové hity, které mnozí známe i běžně z rádií. A dá se tedy dnes uživit podle tebe v tomto odvětví. Kde všude se totiž takový zvukař může uplatnit? Pokud bys měl udělat totální promo tohoto povolání, jak by to tedy vypadalo?Fuuu, těžká otázka :) Je to o šikovnosti, asi jako všude. Nemůžu říct, že je to úplně jednoduché, má to svá úskalí. Hlavně na začátku, je-li člověk sám a bez kontaktů, má těžkou cestu. Ale já si myslím, že to stojí za to. Zvukař se může uplatnit ať už v rozhlase, v televizi, při práci na filmech, dabing. Pak samozřejmě čistě zvuková odvětví jako koncerty, festivaly, koncertní kluby a bary, případně může chodit jako kapelný zvukař spolu s kapelou na každý její koncert. Udělat promo? Lidé, jděte do toho! Potkáte spoustu zajímavých lidí, umělců, máte možnost podílet se na velkých filmových projektech, či na velkých festivalech, koncertech, s kapelami si zažijete spoustu legrace. Já osobně nelituji ani vteřiny, odkdy jsem se rozhodl pro tuto profesní dráhu. Foto: Soukromý archiv F. A.
Tyto barvy by měly udávat designové trendy v roce 2021
Novinky
25.02.2021
Ľudovít Nastišin

Tyto barvy by měly udávat designové trendy v roce 2021

Každý rok se velké společnosti ze světa kreativy předbíhají v predikování barevných trendů pro aktuální rok. Každá má k tomu svůj vlastní postup, vždy je však založen na datech a zkušenostech. My jsme se podívali na to, co pro rok 2021 vybrali Shutterstock a Pantone. A dali jsme ti to i do přehledné infografiky v závěru. Barva je v grafickém designu jeden z nejvýraznějších elementů. A je úplně jedno, o jaký typ designu se jedná. Stejně jako fonty či obrázky dokáže upoutat či odpudit pozornost, popřípadě vyvolat nějakou konkrétní asociaci. Výběru barev pro své projekty by si proto měl věnovat náležitou pozornost a nezkazit to hned na začátku. Pokud vidíš svou budoucnost právě v kreativním byznysu, nebude na škodu seznámit se s teorií barev a stavět na léty ověřených základech. Vždy je ale dobré vědět, jaké barvy aktuálně letí. Hezký pohled na věc nám nabízí report barevných trendů od známé společnosti Shutterstock. Jejich predikce stojí na analýze zvýšené aktivity či nárůstu stažení jednotlivých obrázků. Je až neuvěřitelné, že se dívaly na HEX kódy pro každý jeden pixel těchto obrázků. Takto vznikly predikce barevných trendů pro rok 2021. Set Sail Champagne (#FAEBD7)[Image]Jedná se o přírodní odstín s velmi univerzálním použitím. Zejména chceme-li v designech docílit „zemitého“ přírodního efektu. Jedná se o jemný a světlý odstín oranžové, pěkně doplňuje modré barevné palety. Fortuna Gold (#DAA520)[Image]Název Fortuna pochází z římského pojmenování bohyně štěstí. Jedná se o výrazný, tmavý odstín žluté. Je velmi vděčná u metalických designů, případně jako komplementární barva pro předchozí.  Tidewater Green (#2F4F4F)[Image]Základem této barvy jsou modrá a zelená. Je velmi vhodná pro doplnění designů s velkou saturací barevného schématu. Případně ji můžeme použít jako vylepšenou verzi pro neutrální části designů, například místo šedé. Shutterstock ale není jediný, kdo má co říci k barevným trendům. Společnost Pantone rovněž představila barvy pro rok 2021. Jejich předpověď stojí na šedé barvě Ultimate Gray a žluté barvě s přitažlivým názvem Illuminating. Měly by reprezentovat pocit tepla domova a zodpovědnosti, což je pro aktuální situaci na místě. Schopnost společnosti Pantone předpovídat barevné trendy je jejich marketingovou silou, která pomáhá designérům z různých oborů jít s trendy od sezóny k sezóně. Illuminating Yellow (#F5DF4D)[Image]Podle jejich vlastního vyjádření jde o hřejivý odstín „jasné a veselé žluté s temperamentem“. Tento popis je pro danou barvu vcelku výstižný. Ultimate Gray (# 939597)[Image]Jedná se o „kamenitou“ barvu reprezentující to pevné a spolehlivé v životě. Je dobře asociován se stabilitou v životě. Tyto barvy by měly tedy v aktuálním roce dominovat. Ovšem pozor na to, abyste se jimi nenechali příliš unést. Stále jsou to jen trendy. A ty přicházejí a odcházejí. Vždy je třeba se zamyslet a vybrat barvy pro svůj projekt na základě několika faktorů. Někdy je třeba být trendy, někdy nadčasový a někdy to je třeba zkombinovat. Připravili jsme si pro tebe i jednoduchou infografiku ke stažení, kde jsou všechny trendy barvy roku 2021 pohromadě:[Image] Docela zajímavé jsou i preference barev rozdělené podle zemí. Slovensko tam sice uvedeno není, ale když se podíváš na Francii, Německo, Švýcarsko či Itálii, trend je jasný. Náš odhad pro top barvu Slovenska by byla některá z nich. Co ty na to?[Image] Zdroj: Shutterstock
Kotlin Raw String
Vzdělávání
19.02.2021
Skillmea

Kotlin Raw String

String je základní datový typ v programovacích jazycích. Slouží k uchování textu. Pokud chceme napsat String tak text vložíme mezi dvojité uvozovky. val cesta = "cesta";Ve většině případů je to dostačující. Co když do textu chceme nastavit cestu na soubor jako text. C:\work\tools\__test Musíme ho vložit do proměnné typu String a všechna lomítka zdvojit - escapnout. val cesta = "C:\\work\\tools\\__test";Kotlin má také pomůcku a tou je Raw String. Pro napsání textu použiji třikrát dvojité uvozovky na začátku i na konci. val cestaRaw = """C:\work\tools\__test"""Raw String nám umožňuje zapsat String na více řádků bez nutnosti spojování pomocí +. Mám text, který chci napsat na více řádků. Co musím udělat, pokud to chci v jednom Stringu? Všechny části spojím pomocí + a přidám speciální značku pro nový řádek \n. val text = "1 639,33\n" + "6 540,03\n" + "8179,36\n" + "+2500,04"U Raw Stringu jen stisknu enter pro nový řádek a pokračuji v psaní. val textRaw = """1 639,33 6 540,03 8179,36 +2500,04"""Tento způsob ale není pěkně čitelný – veškerý text mám zasazený na levou stranu, neboť nechceme abychom tam dali např. taublátor – v původním textně nebyl. Co můžeme udělat je přidat nějaké speciální značku na začátek řádku, který chci odsadit a pak řeknu, že vše nalevo od značky spolu se značkou považuji jen za odsazení textu. Přidejte značku (hocijakou): val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04"""Nyní řekneme, že # je speciální značka pro odsazení. val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04""".trimMargin("#") A můžeme odsadit pro lepší čitelnost: val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04""".trimMargin("#")Nebo použijeme default znak oddělovače, což je pipe |. val textRaw = """1 639,33 |6 540,03 |8179,36 |+2500,04""".trimMargin()Nyní se tyto dva Stringy budou rovnat. println("${text == textRaw}") //truePoužití v reálné aplikaciUrčitě bys rád viděl příklad z reálné aplikace. Jedním z takových příkladů by bylo použití při psaní Android aplikace. Přesněji například při psaní příkazů pro poptávku na databázi v Room frameworku, který se používá pro zjednodušený přístup k databázím. V Room píšeme takzvané Dao třídy pro přístup k databázi. Vezměme si jeden příklad kde chci napsat SQL příkaz k vyjmutí filmů z databáze. @Query("SELECT id, movie_name, genres, directors year FROM MOVIES") suspend fun getAllMovies(): List<MovieShort>Příkaz bys rád napsal na více řádků, aby byl lépe čitelný. @Query("SELECT id, movie_name, genres, directors year " + "FROM MOVIES") suspend fun getAllMoviesInShortForm(): List<MovieShort>Nebo použiješ Raw String. @Query(""" SELECT id, movie_name, genres, directors year FROM MOVIES """)Určitě si umíš představit jak se ti zlepší čitelnost, budeš-li mít složitější select příkazy v kombinaci například s join.
Success story: Mariana pracuje v úspěšné IT firmě. Všechno se učí sama, od základů
Success stories
28.01.2021
Martina Baumann

Success story: Mariana pracuje v úspěšné IT firmě. Všechno se učí sama, od základů

Mariana Kubíková v našem rozhovoru přiznává, že nemá IT vzdělání, učí se všechno sama. Díky své motivaci a chuti pracovat na sobě má za sebou skvělé výsledky. Dělá to pro to, že ji to baví, ale na druhé straně si také uvědomuje, jak ji to posouvá dál – i profesně. Mariana je absolventkou kurzů Learn2Code, dříve se ve volném čase vzdělávala prostřednictvím síťové akedemie CCNA. Během pandemie měnila práci a dnes pracuje jako QA Engineer v jedné IT společnosti. V následujících řádcích promluvila o tom, jaké kurzy má za sebou, co jí dali a prozradila i to, na jakých projektech pracuje/pracovala. Právě Mariana je důkazem toho, že dlouhé hodiny strávené nad různými vzdělávacími platformami mají smysl. Čemu jsi předtím, než sis udělala kurzy přes Learn2Code, věnovala? Kde jsi pracovala?Než jsem začala s učením programování, jsem pracovala na pozici Network Administratora. Byla jsem zodpovědná za firewally. Na tuto pozici jsem se také dostala díky samostudiu na síťové akademii CCNA. Pro které kurzy ses v Learn2Code rozhodla a proč?Byly to kurzy zaměřené na programovací jazyk Java. Nejprve to byl kurz Java, který je zdarma. Dal mi velmi dobrý základ, co se týče Javy. Potom později to zas byl Java a OOP, Java pro pokročilé, který ještě ale nemám úplně ukončen. Také kurz Automatizované testování webu v Seleniu.  Čili ses sama snažila najít všechny dostupné možnosti. A posunuly tě tyto kurzy dál?Ano a velmi. Já nemám IT vzdělání, takže všechno se učím sama, od základů. Na základě těchto kurzů, samostudia a hlavně ochoty věnovat tomu čas se člověk umí opravdu hodně naučit. A předtím sis někdy už dělala podobné kurzy?Co se programování a testování týče tak ne. Těsně před koncem studia na vysoké škole jsem navštěvovala síťovou akademii CCNA. Výuka byla jednou týdně a také jsme se vzdělávali ve volném čase. Čemu se konkrétně teď věnuješ? Děláš pro nějakou firmu nebo si freelancer?Momentálně pracuji jako QA Engineer pro košickou společnost Ness Digital Engineering. Původně jsem byla na pozici Java Developer, ale tady se musím přiznat, že mé znalosti ještě nestačily na práci na komplexním projektu. Dříve jsem pracovala v jiné společnosti na pozici Automation Testera, takže testing jako takový mi byl znám. Psala jsem Seleniovy testy v Javě, takže jsem se rozhodla vrátit zpět k testingu a pokračovat ve vzdělávání. Momentálně pracuji s testy v jazyce Cucumber, takže mé poznatky se rozšířily. Také jsem získala spoustu zkušeností s tooly jako Jenkins, Git a Maven.[Mariana ve svém přirozeném prostředí – pracuje ve firmě Ness] Když jsi po kurzu začala řešit práci, bylo něco s čím ses možná musela i „popasovat“?Patřím mezi lidi, co stále musí mít nějaký cíl, a tak jsem věděla, že co chci dělat as jakými technologiemi chci pracovat. Konkrétně ve společnosti Ness jsem zjistila, že samotná Java je na development velmi málo. Chyběly mi znalosti ohledně Gitu, jak se pracuje s verzemi, jak se spouštějí joby v Jenkisu, jak se řeší chyby během buildu, nebo co je to artifact a kdy se používá, jak se generuje a pod. Bylo toho opravdu hodně, co jsem se naučila, ale ukázalo mi to také, že ještě je na čem pracovat. Pojďme trošku k tobě. Jak bys popsala sebe? Jsi technický typ? Přece jen děláš, to co děláš...Ano, to určitě jsem. Odmalička mě zajímala věda a technika. Dlouho mě fascinoval vesmír, letecká technika, uměla jsem zpátky všechny výpravy na Měsíc...dokonce jsem si z papíru skládala vesmírnou stanici ISS (smích). Takže jsem věděla, že asi nebudu dělat typicky „ženskou práci“.  Naštěstí už dnes ženy dělají iv IT, pomaloučku přibývají i na Slovensku. Vždyť právě v Learn2Code máme už dost příběhů o absolventkách, které se prosadily v „mužském světě“. Ale když to takhle vzpomínáš, ptá se tě okolí na tvou práci? Třeba kamarádky, jiné dívky a ženy ve tvém okolí, neptají se tě na to, že slyš, i já bych chtěla jít dělat to, co ty. Poraď mi, jak na to.Často se mi stávalo po příchodu do týmu v IT, že jsem byla sama žena v kolektivu. Ale co se týče vývoje SW, tak zde působí i dost žen. Mám i dost kamarádek, které se také věnují programování, testingu nebo řídí vývoj softwaru v týmu. Když jsem přešla z networkingu na vývoj SW, tak kolegové a známí se mě ptali, jak se mi to podařilo, co k tomu je třeba. Vaše kurzy jsem doporučila nejednomu známému, ale bohužel stává se, že lidi náročnost a komplexnost programování odradí...což je velká škoda. Momentálně „žije“ celý svět pandemií, která ale potvrdila, jak důležité jsou digitální technologie a zároveň jaké jsou nezbytné dovednosti v této oblasti. Jak to vnímáš ty teď? Jak bereš to, že celý svět digitalizoval? Cítíš to ve své práci?Aktuálně pracujeme už pár měsíců z domova. Jelikož jsem měnila práci během pandemie, tak některé nové kolegy jsem živě ještě nepotkala. Meetingy máme online, tak řešíme veškerou komunikaci. Mně osobně to velmi chybí, neboť jsem byla zvyklá na práci v kolektivu, to typické office prostředí, káva a rozhovory s kolegy. To mi chybí nejvíc, co mi digitalizace neumí vynahradit.[Beh je super relax, Marian šport odporúča každému] Jak potom vypadá takový tvůj běžný pracovní den?Mám takovou typickou pracovní flexi dobu. Začínám od 8:00 do 16:30. Ráno si přečtu maily, odpovím na ně, pokud se mě to týká. Potom kontrola ticketů v Jiře, což je tool, kde si přiřazujeme práci, abychom měli přehled, kdo na čem pracuje. Děláme ve Scrumu, takže denně máme meetingy. Tady každý řekne, na čem dělal včera, na čem bude pracovat dnes a zda je nějaký problém, co neumí vyřešit. My testeři upravujeme testy, případně píšeme nové, pokud je to nutné a fixujeme chyby, reportujeme bugy a pod. Můžeš nám prozradit možná i konkrétněji nějaké klienty, projekty? Momentálně pracuji pro zákazníka Masternaut. Jedná se o aplikaci, která se používá pro monitorování aut, jejich rychlosti, spotřeby paliva a pod. Samotný projekt je velmi rozsáhlý, ještě jsem na něm krátce, takže se také seznamuji s jednotlivými moduly. A co takhle nějaký tvůj konkrétní projekt, který máš za sebou? Je něco takového?   Moje první práce v programování v Javě byla ve firmě Wirecard. Tam jsem poprvé vyzkoušela, jaký je to pocit spustit první automatizovaný test. Bylo to už před více než rokem, ale pamatuji si to dodnes. Jelikož pracuji stále pro nějakou firmu a řeším potřeby konkrétního zákazníka, tak na vlastních projektech nepracuji. Popravdě, ještě nemám na to znalosti. Ve volném čase si však sama zkouším nové funkce a píšu si vlastní testy mimo práci. Prostě mě to baví 🙂 Ještě nám prozraď, jestli si plánuješ dělat teď nějaké další kurzy? A zda sleduješ trendy?Nyní se snažím zejména nabýt znalostí ohledně pracovního projektu, ať mám to náročné začátečnické období při změně projektu za sebou (smích) a večer po práci se učím Selenium WebDriver. Tento kurz od Furbyho bych chtěla dokončit a taky Java pro pokročilé od Jara Beňa.Mou srdcovkou však stále zůstává to Selenium, hlavně WebDriver. Takže chci si znalosti dále rozšiřovat tímto směrem.
Jak na vlastní Virtuální privátní server - část 1.
Vzdělávání
21.01.2021
Lubo Herkoo

Jak na vlastní Virtuální privátní server - část 1.

Každý týden jeden blog. Takové jsem si dal předsevzetí do nového roku. Hned první týden se to nepodařilo, ale co už 🤦🏻‍♂️ . V tomto textu (nebo seriálu?) budeme řešit tvůj vlastní Virtuální privátní server (VPS). Konkrétně: • zjistíme co to VPS vlastně je a jaké jsou výhody a případné nevýhody, • zkusíme analyzovat naše potřeby a vybrat vhodné parametry našeho serveru, • VPS koupíme, nastavíme, zajistíme a připravíme pro naši aplikaci, • z GitHub repozitáře nasadíme naši aplikaci do produkce pomocí GithubActions (CI), • koupíme doménu a nasadíme SSL certifikát pomocí letsencrypt. Je to hodně práce, pome na to.[Image] K čemu mi je vlastní server?Hned na začátku si to vyjasněme: VPS je pro většinu projektů zbytečný. Při dnešních možnostech, jak svou aplikaci umíme nasadit do produkce a zpřístupnit ji uživatelům na pár kliků, je často zbytečné řešit komplikované nastavování vlastního serveru. Hlavně údržba a řešení případných problémů nám může připomenout, jak špatně jsme se rozhodli. Přesto VPS má své místo a někdy se opravdu může hodit, například: • pokud máš linux v malíčku, nebo svůj VPS už máš (jsi zkušený/á), • pokud výkon sdíleného hostingu viditelně nestačí a už neumíš svou aplikaci dále optimalizovat, • pokud nepostačují dostupné technologie sdíleného hostingu (potřebuješ doinstalovat vlastní knihovny, tooly), • pokud má aplikace extrémní nároky na výkon procesoru, velikost paměti, nebo potřebuješ ukládat gigabajty/terabajty dat, • pokud jsou data, se kterými pracuješ příliš senzitivně na to, aby byla uložena na jednom místě spolu s daty jiných uživatelů sdíleného hostingu. Asi bychom našli i další případy, specifika, kdy se hodí VPS, tyto nám však prozatím postačí. Pokud tedy spadáš do některého z kritérií, čti dále. Jaký výkon serveru potřebuji?Brzdí. Než přistoupíme ke koupi serveru bychom měli vědět, jaké jsou naše požadavky. Alespoň přibližně. Potřebujeme spoustu jader procesoru? Nebo si vystačíme s jedním, případně dvěma jádry? Potřebujeme spoustu operační paměti, nebo terabajty dat na disku? To jsou těžké otázky, ale poradím ti: • Pokud aplikace neexistuje a chceš VPS jen vyzkoušet, zvol nejlevnější server jaký je v nabídce. Zda máš 1 procesor, nebo 32 procesorů - terminál reaguje vždy stejně rychle. • Pokud je aplikace nová a neznáš její nároky, začni raději s méně výkonným a levnějším serverem. Například CPU s jedním nebo dvěma jádry a 2G RAM. Většina providerů disponuje jednoduchým škálovacím nástrojem. Pokud se zvýší nároky, pohneš v administračním rozhraní nějakým sliderem a šup, máš o dvě jádra více, případně dvojnásobek RAM - do pár vteřin. • Pokud jsi narazil na limity sdíleného hostingu, pravděpodobně znáš důvod, proč chceš vyzkoušet VPS. Nejlepší pokud si komunikoval s podporou svého providera a potvrdili, že jsi narazil na limit jejich CPU, nebo RAM. Kde koupit server?Takže, pokud víme alespoň přibližně co chceme, udělejme průzkum. Osobně mám vyzkoušených těchto prodejců VPS: • Linode, DigitalOcean, Hetzner, WebSupport Ubuntu Server a terminál bude u každého prodejce stejný. Řídit se tedy můžeme podle následujících kritérií: 1. cena 2. ještě jednou cena 3. možnosti administračního rozhraní a případného navyšování výkonu do budoucnosti 4. lokalita datového centra (co nejblíže uživatelům) Moje zkušenost V poslední době to u mě osobně vyhrává Hetzner (hetzner.de). Frajeři mají vynikající ceny (vlastní server v době psaní tohoto textu umíš získat již za 3E/měsíc) a navyšování počtu CPU a RAM je řešeno jednoduchým sliderem v administračním rozhraní. Super věc 🎉. Datové centrum můžeš zvolit relativně blízko – Falkenstein, Nemecko. TIP: V levém horním rohu změníš jazyk webu z německého na anglický. 😎 Vytvoření účtu HetznerJak se už konečně tedy dostaneme k vlastnímu serveru? Takto: 1. Vytvoř si účet na hetzner.de (klik) 2. Klikni na linku, kterou ti Hetzner poslal na email zadaný při registraci 3. V sérii formulářů vyplň své iniciály (poslední formulář vyžaduje údaje o platbě, žádná platba předem však není nutná) 4. Po vyplnění a odeslání formulářů se implicitně zobrazí formulář - nastavení tvých iniciál. Vpravo nahoře klikej na čtverečky a vyber z nabídky možnost "Cloud": Pokud máš po absolvování předchozích kroků před sebou takovou obrazovku:[Konzole cloudu Hetzner.de. je vše v pořádku.] Můj server!Už jsme blízko. V seznamu projektů (předchozí obrázek) klikni na "Default" (tento název umíš změnit přes ikonu tří teček v pravém horním rohu karty produktu) a následně "Add server".[Vytvoření nového VPS.] Parametry serveruNyní zvolíme parametry serveru. V tomto případě zvolíme nejlevnější variantu, ale některé možnosti popíšeme blíže. Parametry serveru tedy nastavíme následovně: 1. Location (umístění datového centra): Falkenstein, protože je nejblíže Slovensku. 2. Image (operační systém): Ubuntu 20.04, protože s ním umím pracovat a také existuje obrovská komunita uživatelů Ubuntu serveru, což usnadní vyhledání návodů a řešení případných problémů. Se serverem Ubuntu bude dále pokračovat i tento tutoriál. 3. Type (typ serveru): Standardní, protože nám nevadí, že spolu s naším VPS budou na fyzickém serveru běžet i jiné virutální servery. Dedikovaný typ serveru je vhodný jen tehdy, potřebujeme-li opravdu velký výpočetní výkon pro naše použití. Z dalších možností typu serveru vyberme hned první s označením CX11 a tedy 1x VCPU, 2GB RAM, 20GB SSD v ceně €2.99 za měsíc. 4. Volume (externí disk): Nevytváříme externí disk. 1. TIP: Pokud vytvoříme VPS o velikosti SSD 20GB a potřebujeme více dat, nemusíme hned měnit velikost SSD na serveru, ale můžeme připojit k serveru externí disk. Má to jednu velkou výhodu a jednu menší. Velkou výhodou je, že v případě zvyšování výkonu (např. z 1CPU a 2GB RAM na 4CPU 8GB RAM) můžeme zvolit možnost, že nechceme navyšovat i velikost SSD – tedy SSD zůstane na hodnotě 20GB. Takové rozhodnutí nám v budoucnu umožní i krok zpět a tedy snížení počtu VCPU a RAM. Takto můžeme ušetřit nemálo finančních prostředků, pokud potřebujeme zvýšit výkon VPS jen dočasně, ne natrvalo (např. pokud je aplikace přetížena jen v období Vánoc). 5. Network (síť): Nevytváříme síť, protože nevytváříme skupinu serverů, které potřebujeme mít na jedné síti (např. pokud bychom potřebovali zvlášť VPS pro webserver a databázový server). 6. Additional features (další možnosti): V případě možnosti User data nespekulujeme (zatím). To se nám může hodit tehdy, chceme-li některé činnosti automatizovat, například automaticky přidat uživatele do systému, spustit různé skripty po instalaci a podobně. Backups jsou pravidelné zálohy, což je nutnost na produkčním serveru, kde běží ostrá aplikace. Tato služba je však zpoplatněna – 20% z ceny našeho serveru. Pokud tedy vytváříš produkční server, nafurt, tak doporučuji i se zálohami. Pokud jen testuješ, tak je to na tobě 😉 . 7. SSH Key (SSH klíč): Pokud máš zkušenosti s *nix systémy, možná máš vytvořený svůj id_rsa.pub klíč. Pokud ano, tady ho můžeš použít a tak se autentifikovat při připojování k serveru. V opačném případě (a to je náš případ) ti bude zasláno heslo k root uživateli na tvůj email. Tady tedy nespekulujeme a zatím nezaškrtneme tuto možnost. 1. TIP: Povolit vzdálený přístup pro root uživatele není bezpečné a používá se pouze pro prvotní nastavení serveru (první přihlášení do nového VPS). Jedním z prvních kroků po přihlášení se do nového VPS by mělo být vytvoření vlastního uživatele, který se bude přihlašovat pomocí klíče (ne hesla) a zakázání vzdáleného přístupu pro root uživatele. To bude také náš postup. 8. Name (Název): Toto je název serveru, který je zobrazen v administračním panelu hetzner, ale iv konzole po připojení k serveru přes SSH protokol. TIP: Vzpomeň si na nějaké názvy světů, postav z tvých oblíbených počítačových her, komiksů nebo filmů 😎 . Hodně čtení kvůli pár klikům. Nastavení serveru tedy může vypadat i takto:[Nastavenie parametrov VPS.] První SSH spojení Po potvrzení nastavení chvíli počkáme na spuštění nové instance našeho VPS. Zároveň nám Hetzner doručí email s informacemi o IP adrese, na kterou se budeme připojovat a heslem pro root uživatele. Tak zkontroluj email a pojď se přihlásit na server přes SSH. Jaký program použít k přihlášení přes SSH? Pro MacOS je to Terminal nebo iTerm. V případě linuxu (jakéhokoli) je to velmi podobné MacOS - tedy opět Terminal. Uživatelé Windows mohou použít pro SSH připojení program Putty, případně nainstalovat WSL doplněk a použít WSL terminal. Napiš nám pokud se setkáš s nějakým problémem, pořešíme. Z emailu jsem se dozvěděl, že IP mého serveru je 78.47.244.57 a heslo k uživateli root je ss3PgfWnHwxUhUaKEEr9 (ani nezkoušej, server v době čtení tohoto textu již nebude existovat).[Email s autorizáciou do nášho VPS.] TerminalPříkaz ssh, který použijeme v MacOS, Linux nebo WSL terminálu má následující syntax: ssh pouzivatel@ip_servera Tedy v našem případě: ssh root@78.47.244.57 Terminál si vyptá heslo, můžeme ho jen zkopírovat a přilepit. Při zadávání hesla do terminálu se nezobrazují žádné hvězdičky ani odezva. Proto jen potvrdíme příkaz klávesou Enter. Pokud se na server připojujeme poprvé, SSH se zeptá, zda chceme server uložit do seznamu SSH serverů. Napíšeme yes a spojení se v případě správného hesla úspěšně naváže:[Image] První připojení k serveru přes SSH. Při prvním přihlášení je nutné změnit heslo uživatele root. Zadáme staré heslo a vytvoříme nové. Hotovo. Náš nový VPS server Ubuntu 20.10 je vytvořen. Co dál?V další části blogu budeme pokračovat s nastavením našeho serveru: 1. vytvoříme si na lokálním počítači SSH klíč 2. vytvoříme na serveru vlastního uživatele a nastavíme přihlašování přes SSH klíč 3. zajistíme server pomocí firewallu, fail2ban a jiných nástrojů 4. nainstalujeme a spustíme webový server (nginx) 5. nainstalujeme a spustíme databázový server (postgresql, pokud budeš potřebovat tak i MySQL) 6. nainstalujeme závislosti (git, nodejs, ...) Ve třetí části budeme řešit deploy naší aplikace na VPS: 1. koupíme doménu a nasměrujeme ji na server 2. naklonujeme naši aplikaci na server, spustíme ji pod doménou a vytvoříme k ní službu (systemd service aby se automaticky spustila při případném restartu serveru) 3. pomocí certbot nastavíme doméně SSL certifikát a zpřístupníme aplikaci pod HTTPS 4. pomocí GithubActions nastavíme continous integration tak, aby se po push do main branche spustily automatizované testy a v případě bezchybnosti se aplikace rovnou nasadí do produkce Hodně roboty máme. Ale hodně se také naučíme. Čtvrtá část není.
Lektor Erich Stark: Pandemie jen potvrdila, že na trhu je nedostatek programátorů
Rozhovory
11.01.2021
Martina Baumann

Lektor Erich Stark: Pandemie jen potvrdila, že na trhu je nedostatek programátorů

Nedávno z naší dílny vyšel nový kurz Ionic framework - vývoj hybridních mobilních aplikací, , který má na svědomí Erich Stark. Náš nový lektor se primárně věnuje frontendu, pracuje na různých projektech a přitom ještě učí webové technologie na Panevropské vysoké škole v Bratislavě. A právě s ním jsme si popovídali o samotném kurzu a nejen to. Podívali jsme se na jeho příběh, co všechno má za sebou, jak postupuje a čemu se přesně věnuje. V následujících řádcích si už přečtěte o jeho zkušenostech a pár tipů, které se vám určitě sejdou. V Learn2Code máte nový kurz Ionic framerwork. Můžeš nám ho nejprve představit, co všechno v něm najdeme?Ionic je UI framework určený pro tvorbu mobilních aplikací, ale díky jeho možnostem umožňuje tvorbu i desktopových a samozřejmě klasických webových aplikací. Vzhled těchto komponent je tak perfektně nastylován, že bychom téměř nerozeznali rozdíl od nativních aplikací v iOS, resp. v Androidu. V kurzu si projdeme základní koncepty a komponenty frameworku primárně s integrací Angularu (umíte použít i Vue, React, pokud je již ovládáte). Potom jsem vymyslel aplikaci IonBank, kde tyto komponenty integrujeme do ucelené aplikace. Do kurzu ještě přibudou nějaké kapitoly, které rozšiřují vlastnosti aplikace a samozřejmě jak ji dostat do obchodu s aplikacemi. A pro koho je tedy primárně určen? Mohou se na něj přihlásit například i začátečníci?Kurz je vhodný i pro začátečníka. V tomto kontextu začátečníka myslím člověka, který má základní znalosti z HTML, CSS a JavaScriptu. Potřebný zbytek lze pochopit během kurzu. Avšak bylo by super, pokud se už setkal is frameworkem Angular. Případně React/Vue, ve kterých lze také Ionic UI použít. Dobře, teď si udělám kurz a co dál? Co můžu dělat, kde se mohu uplatnit?Poznatky z kurzu umí student aplikovat ve více oblastech v závislosti na preferencích. Jak jsem zmiňoval, Ionic je primárně UI framework určený pro mobilní vývoj. Takže, pokud si bude chtít vytvořit mobilní appku, která pracuje s daty, nemusí se učit pro začátek nativní technologie (Kotlin, Swift), ale využije stávající skill v těch webových. To je podle mě největší výhoda, protože čas máme omezený a nemůžeme vědět všechno. Avšak díky jeho rozšířením lze tvořit i progresivní webové aplikace (zde bych zmínil například https://zive.aktuality.sk/clanok/145060/progresivne-webove-aplikacie-maju-byt-este-dokonalejsie-google-chysta-zmenu/), jejichž počet bude také jen růst. Ale to pravděpodobně nestačí, chce-li člověk růst dál a zamýšlí se nad tím, v čem pokračovat… jak se vzdělávat, co si případně z nabídky kurzů ještě vybrat? Co doporučuješ potom?Po absolvování kurzu je vhodné si prohloubit znalosti z frameworku, který tam používáme (Angular/Vue/React). To nám umožní používat pokročilejší vlastnosti daných technologií a tak psát robustnější aplikace. Výhoda, že všechny tři jsou spracované formou kurzů i na Learn2Code.  Co bych ještě zmínil jako důležité a často se nad tím vývojáři nezamýšlejí, je znovupoužitelnost, resp. sdílení kódu. Představme si příklad, že ovládáme technologie jako Angular, Ionic a Backend si píšeme v Node.js. To nám umožňuje sdílet např. modely mezi Frontend a Backend. Zároveň bychom si uměli mezi Angular a Ionic sdílet vlastní UI komponenty. Samozřejmě, smysl to začne dávat až při větších aplikacích. Pojďme si teď popovídat trošku víc io tobě. Jak ses dostal k tomu, že děláš lektora pro Learn2Code? Kde ještě působíš?V podstatě už během studia jsem pracoval v této oblasti a později jsem začal pracovat jako kontraktor, kde se s kolegy věnujeme hlavně frontendu (https://starkcodes.com). Když jsem jim něco vysvětloval, jak bych to řešil nebo přistupoval k danému problému, často jsem dostal zpětnou vazbu, že mi to jde docela dobře. (úsměv) Tak jsem si uvědomil, že když se něco naučím, umím z dané technologie vydestilovat ty důležité části a podat je dále zcela ve srozumitelné formě. Samozřejmě, je to potom jiné, jestli to člověk podává online nebo prezenčně. A tak jsem se rozhodl tento skill více kultivovat a po studiu PhD. na FEI STU jsem začal učit na Panevropské vysoké škole webové technologie. Do online světa jsem chtěl už vstoupit dříve a když přišla tato nešťastná pandemie a víc času jsem trávil doma, tak jsem si řekl, že by to mohl být ten správný čas. Jak dlouho se tomu tedy věnuješ?Vezmu-li v úvahu obecně programování a webové technologie tak pracovně už asi šest let. V roce 2018 jsme měli v práci zajímavý projekt pro mobilní aplikaci, kde jsem se rozhodl použít Ionic. U každého projektu člověk narazí i na jisté problémy, ale vše lze vyřešit. Co je ale důležitější, je třeba používat správnou technologii pro konkrétní projekt. Během tvé kariéry ses vyprofilovali speciálně jen na frontend? Co všechno máš už ve svém portfoliu?Během studia jsem se naučil různé technologie, kde frontend mi seděl asi nejvíc. Nicméně myslím, že je to často ovlivněno i první prací, kde se člověk začíná profilovat na nějakou oblast. Poslední dobou se zamýšlím nad tím, co všechno musím ovládat, abych zastřešil celkový vývojový proces aplikace. Z toho důvodu si studuji také technologie pro tvorbu Backendu. Prioritně se věnuji HTML, CSS a JavaScript, které jsou velmi důležitý základ ve webovém světě, protože zde budou asi nastálo, zatímco frameworky se budou měnit podle trendu. Takže pomocí nich jsem tvořil různé webové prezentace nebo komponenty. Potom jsem rozšířil zkušenosti io frameworky jako Angular a později Ionic. V současnosti pracuji na knihovně komponent pro klienta, pomocí standardu Web Components. Myslím si, že to by mohl být další zajímavý kurz v brzké době 🙂[Image] Co považuješ za svůj největší úspěch?Měl jsem období v životě, kdy se protínala full time práce, doktorské studium a ještě k tomu drobné projekty pro klienty. Nevím, jestli to byl tedy úspěch, ale bylo to náročné období. Což bych spíš považoval za úspěch, že se mi podařilo sladit můj pracovní rozvrh po narození dítěte tak, abych mohl věnovat dostatek času i své rodině. A ty máš svoji oblíbenou mobilní aplikaci?V roce 2020 jsem objevil mailovou aplikaci HEY. Neubírá mi pozornost při čtení mailů a umím se soustředit na to, co potřebuji vyřídit a později číst newsletter v době, kdy to opravdu chci a ne tehdy, když mi to svítí v Inboxu. Musí se i takový lektor dovzdělávat? Učíš se i ty?Pokud chceme zůstat aktuální v naší oblasti, musíme se stále vzdělávat. Takže ano, pravidelně. Třeba sledovat různé novinky z oblasti, které se věnujeme a občasně studovat i nové technologie. Samozřejmě, ideálně cíleně a s vyzkoušením si na nějakém projektu, jinak je zapomeneme. Pokud by se tě někdo zeptal, co všechno sleduješ, jaké trendy, co bys odpověděl? Máš i nějaké zahraniční zdroje, zajímavé tipy?Trendy je dobré si všímat, ale ne nutně hned následovat. V současnosti si spíše vyhledávám „mature“ projekty, které splňují svůj účel a drží velmi dobrou kompatibilitu. Často se stává u mladých projektů, že entusiasmus vývojáře vyhasne a pak se musíte poohlížet po nové knihovně a podobně. Nechci odrazovat od objevování nových trendů, protože jsme vždy v nějaké fázi. Někdy potřebujeme experimentovat, protože hledáme něco neotřelého a progresivního. A někdy zase potřebujeme vyvíjet projekt, při kterém víme, že je to dlouhodobá záležitost, tehdy je třeba vsadit na stabilní technologii. Novinky sleduji hlavně přes newsletter jako Frontend Focus nebo JavaScript weekly. Myslíš si, že současná situace, i když není moc příznivá, na druhé straně může otevřít dveře těm, kteří mohou mít svobodu a pracovat řekněme z domu, resp. z jakéhokoli koutu světa?Přesně k tomuto jsme i poslední roky směřovali. Mnoho lidí už pracovalo vzdáleně a dosahovalo vynikajících výsledků. Současná situace to jen urychlí. Je smutné, že mnoho lidí přišlo o práci, dokonce některé pracovní pozice i zaniknou. Na druhou stranu zde máme nedostatek programátorů. Zde vidím prostor pro lidi, kteří zvažují změnu pracovní oblasti a chtěli by zkusit např. IT. Právě jim bych dal takovou radu. Možná si na začátku budou myslet, že všechno je náročné a nezvládnou to. Je třeba se zamyslet nad tím, jak se učíme nové věci. Chce to trpělivost a čas. Může to trvat měsíce, ale také roky. Např. od doby, kdy jsem začal studovat, tak jsem nepřestal ani ve volném čase. A stále vidím prostor pro zlepšení. Rozdíl se láme v tom, když už máme dostatek znalostí k tomu, abychom začali dělat praktické věci a pak už jen na tom stavíme a vylepšujeme.
Nejpopulárnější kurzy a články v roce 2020
Ostatní
04.01.2021
Skillmea

Nejpopulárnější kurzy a články v roce 2020

V roce 2020 jsme na našem webu zveřejnili více než 45 nových online kurzů. V tomto článku ti přinášíme přehled nejpopulárnějších a nejlépe hodnocených kurzů roku 2020 a také nejčtenější články z blogu. Pojďme na to. Nejpopulárnější kurzy roku 2020V roce 2020 byl největší zájem o online kurz tvorby webstránek Webrebel 1. V tomto kurzu se naučíš technologie HTML, CSS a JavaScript, přitom responzivní design, jak funguje server, hosting, domény a všechny důležité pojmy spojené s tvorbou webů. Kurz Webrebel 1 doporučujeme každému zájemci, který chce začít s tvorbou webstránek a programováním. 1. Webrebel 1: HTML, CSS & JavaScript 🥇 2. Java pro začátečníky 🥈 3. Základy programování a OOP 🥉 4. Webrebel 2: PHP 5. SQL databázy: MySQL a SQLite 6. Python pro začátečníky 7. JavaScript a ES6 8. Microsoft Excel 9. Visual Design Digital: Photoshop 10. Social Media Marketing Nejlépe hodnocené online kurzy roku 2020V rámci tohoto žebříčku jsme vzali v úvahu jen kurzy, které měly 10 a více hodnocení, jinak by byl žebříček mnohem delší. Online kurz Základy programování a OOP hodnotilo v roce 2020 více než 35 jeho absolventů a všichni mu udělili maximálních 5 hvězdiček. O něco méně hodnocení, ale také jen těch nejvyšších měli online kurzy React, Angular, Vue (a TypeScript) a Branding - budování úspěšné značky. 1. Základy programování a OOP 🥇 2. React Angular Vue (a TypeScript) 🥈 3. Branding - budování úspěšné značky 🥉 4. Git a GitHub základy 5. Microsoft Excel 6. SQL databázy: MySQL a SQLite 7. JavaScript a ES6 8. Úspěšný content marketing 9. Client management 10. Pokročilé SEO strategie Nejčtenější blogy v roce 2020V tomto seznamu jsou články, které vás v roce 2020 zajímaly nejvíce. 1. Vyzkoušej si Learn2Code na měsíc zdarma 🥇 2. Co je nového v Bootstrap 5 🥈 3. Známé weby, které používají WordPress 🥉 4. Success story: Michaela vyměnila administrativu za frontend 5. Eratostenovo sito
Abstrakce a řazení v kolekcích v Javě
Vzdělávání
08.12.2020
Skillmea

Abstrakce a řazení v kolekcích v Javě

Pojďme si popovídat o abstraktních třídách v jevu (abstract class in java). Abstrakce slouží ke schování složitosti od uživatele a zobrazuje pouze relevantní informace. Abstraktní třídy a metody V našem příkladu víme, že všechna zvířata vydávají zvuk. Je to něco abstraktního – něco, co si umíme představit a v kódu to zapíšeme následovně. Upravme metodu ve třídě Animal. public abstract void makeNoise(); Dává to smysl, neboť Animal nepředstavuje určité specifické zvíře a tedy nevíme, jaký zvuk vydá, ale víme, že chceme aby všechno, co bude dědit od Animal, vydávalo zvuk. Pomocí public abstract jsem řekl, že tato metoda nemusí mít nitro – nemusí mít kód (implementaci). Pokud mám abstraktní metodu, tak i celá třída musí být abstract. public abstract class Animal{ public String name = "animal"; public abstract void makeNoise(); }Pokud je třída abstract, tak z ní nemůžu vyrobit objekt. Nač bych i dělal objekt Animal, nicméně je to jen abstrakce. Toto nebude fungovat: Animal animal = new Animal(); Pokud je Animal abstract a obsahuje abstract metodu, tak jsem řekl, že potomek musí napsat implementaci abstract metody nebo bude pak také abstract. Nám vyhovuje, aby Mamal byl také abstract. Tím pádem nemusíme vyrobit implementaci. Ze třídy Mamal smažeme makeNoise a označíme ji za abstract. public abstract class Mamal extends Animal { public String name = "mamal"; }Nyní třídy, které dědí od Mamal musí implementovat metodu makeNoise. Cat a Dog již danou metodu implementují, tedy nemusíme nic dělat. Ale Fox tuto metodu nemá a proto ji musíme implementovat. IntelliJ IDEA nám v tomto pomůže zkratkou. Stiskneme Alt+Insert a vybereme Implement Methods. public class Fox extends Mamal { @Override public void makeNoise() { System.out.println("Ring-ding-ding-ding-dingeringeding!"); } } Seřazování v kolekcíchPro seřazování použijeme již existující algoritmus ve třídě Collections.sort(l). Písmeno l v tomto případě bude Dopis. Pokud by tento List obsahoval sadu Stringů, byly by seřazeny abecende, pokud by obsahoval Datum tak budou seřazeny chronologicky. Jak je to možné? Je to proto, že tyto třídy implementují rozhraní Comparable. Pokud by ses snažil takto seřadit takové třídy, které neimplementují toto rozhraní, tak program vyhodí výjimku. Existuje ale možnost, že ve tvé třídě implementuješ toto rozhraní. Potom toto třídění je nyní považováno za přirozené. Příklad: Máme Osobu, která implementuje Comparable. Musíme implementovat metodu compareTo. public class Osoba implements Comparable<Osoba>{ private String meno; private String priezvisko; private int vek; public Osoba(String meno, String priezvisko, int vek) { this.meno = meno; this.priezvisko = priezvisko; this.vek = vek; } //get, set metódy vynechané pre čitatelnosť @Override public String toString() { return "Osoba{" + "meno='" + meno + '\'' + ", priezvisko='" + priezvisko + '\'' + ", vek=" + vek + '}'; } @Override public int compareTo(Osoba o) { int porovnaniePriezvisk = o.getPriezvisko().compareTo(this.getPriezvisko()); return porovnaniePriezvisk !=0 ? porovnaniePriezvisk : o.getMeno().compareTo(this.getMeno()); } } Co když chceš použít úplně jiné než přirozené třídění, chceš to třídit například podle věku. Nebo chceš třídit objekty, které neimplementují Comparable rozhraní? Tak si ho vyrobíš. K tomu použiješ rozhraní Comparator a poté ho požiješ Collections.sort(e, VEK_TŘÍDĚNÍ);. public class Sort { private static final Comparator<Osoba> VEK_TRIEDENIE = new Comparator<Osoba>() { @Override public int compare(Osoba o1, Osoba o2) { return Integer.compare(o1.getVek(), o2.getVek()); } };Vyzkoušíme si: public static void main(String[] args) { Osoba[] osobyArray = { new Osoba("Jaro", "Beno", 20), new Osoba("Peter", "Beno", 25), new Osoba("Karol", "Slepec", 18), new Osoba("Tomas", "Vlak", 22) }; List<Osoba> osoby = Arrays.asList(osobyArray); System.out.println(osoby); Collections.sort(osoby); System.out.println(osoby); Collections.sort(osoby, VEK_TRIEDENIE); System.out.println(osoby); } }V dalších blozích se podíváme na pár zajímavostí z Javy 13 a také se budeme věnovat i Kotlinu. Zůstaň nám věrný a uč se Javu 😊
Funkce VLOOKUP
Vzdělávání
16.11.2020
Skillmea

Funkce VLOOKUP

Funkce VLOOKUP se používá tehdy, když potřebujete najít údaje v tabulce nebo rozsahu podle řádku. Vyhledejte například cenu automobilové části podle čísla části nebo vyhledejte jméno zaměstnance na základě ID zaměstnance. Funkce VLOOKUP patří k nejpraktičtějším Excel funkcím. Funkce VLOOKUP znamená: = VLOOKUP (co chcete vyhledat, kde ho chcete vyhledat, číslo sloupce v rozsahu obsahujícím hodnotu, která se má vrátit, vraťte přibližnou nebo přesnou shodu – označenou jako 1/TRUE nebo 0/FALSe). Vysvětlíme si danou funkci na jednoduchém příkladu: • v databázi chceme přidat k ID klienta jeho příjmení a město, ze kterého pochází. • v jedné tabulce (v levé, viz obrázek níže) nám chybí určité údaje o klientech, konkrétně příjmení a město • ve druhé tabulce (v pravé, viz obrázek) máme údaje o klientech - jeho ID, příjmení a město, ze kterého pochází.[Image] Obě tabulky mají společný jeden identifikátor, a tedy ID_klient. Na základě této společné shody umíme pomocí funkce VLOOKUP vyhledat údaje z jedné tabulky a přiřadit je do druhé tabulky. Řešení: zadejme do buňky Příjmení funkci VLOOKUP a rozklikněme si ji. Argument funkce Vyhledávaná_hodnota je něco, co naše dvě tabulky spojuje, tedy ID_klient. Argument funkce Pole_tabulky jsou údaje z druhé tabulky, ze které čerpáme (tuto tabulku si nezapomeňte ve funkci ukotvit pomocí klávesy F4). Dalším argumentem fukce VLOOKUP je Číslo_indexu_sloupce, do kterého napíšeme číslo sloupce z naší druhé tabulky - hledáme Příjmení, co je druhý sloupec, tak napíšeme číslo 2. Poslední argument funkce je Vyhledávání rozsahu, která může být přibližná nebo přesná shoda; TRUE (1) nebo FALSE (0). V našem případě chceme přesnou shodu, tedy použijeme 0 – FALSE. Funkce bude zapsána následovně:[Image] A tady je výsledek, podle ID_klient se nám zobrazí v naší první tabulce příjmení zákazníků Rovněž můžeme postupovat iv případě, že chceme doplnit MĚSTO klienta do první tabulky.[Image] Krátké shrnutí k funkci VLOOKUP, obsahuje tyto 4 argumenty: 1. co hledám, 2. kde to hledám, 3. ve kterém sloupci je výsledek, 4. chci hledanou hodnotu přesně nebo přibližně? Pokud máš nějaké dotazy k této funkci, nebo je ti z článku něco nejasného, napiš otázku do komentáře.
Success story: Michaela vyměnila administrativu za frontend
Success stories
08.11.2020
Skillmea

Success story: Michaela vyměnila administrativu za frontend

V tomto rozhovoru ti představíme Michaelu, která se rozhodla vyměnit odvětví, ve kterém dříve pracovala za IT. Z administrativní a úřednické práce přesedlala na pozici frontend developerky. Přečti si Michaelin příběh, jak se dostala k programování a IT, co má ráda na své aktuální práci a co doporučuje každému, kdo se chce v IT uchytit. Jaký je tvůj příběh? Jak jsi začala s programováním a kde jsi teď? Vždy mě IT lákalo, chtěla jsem dělat něco kreativnějšího, ale neměla jsem ponětí, kterým směrem se ubírat. Jednou mi jeden známý řekl něco o frontendu a mě to zaujalo. Začala jsem kouglit, zkoušet nějaké základy a zjistila jsem, že přesně tady chci začít. Samovzdělávání vedle práce nebylo dostačující, tak jsem se poohlížela po kurzech a začala s cíleným vzděláváním. Po nějaké době jsem si našla svoji první práci v této oblasti. No a momentálně pracuji v Luigi’s Box.[Image] Co přesně děláš, jaká je tvá pozice?Integration Specialist. Nastavuji sběr dat týkajících se vyhledávání na webových stránkách, integrace našeho našeptávače a vyhledávání na stránkách a zároveň poskytuji pravidelný support pro klienty. Klienti, kreativní proces a tvorba finálního designu se liší, a to se mi na mé práci líbí. Zároveň je zajímavé, kolik informací se vedle tvůrčího procesu mohu naučit. Díky tomu mám lepší rozhled a dokážu se na zadání dívat komplexněji. Jaké byly tvé cíle, když jsi začínala a jak jsi byla stále motivovaná a vytrvalá?Můj cíl byl jednoduchý – změnit pracovní odvětví. Prostřídala jsem administrativu, úřednickou práci a velmi mě to ubíjelo. Když jsem měla slabé chvilky, podívala jsem se zpět a zhodnotila, že tohle opravdu nechci dělat celý život, takže to nevzdám a zvládnu všechny úkoly, které mě čekají. Kromě toho, u rodičů jsem našla potřebnou podporu, bez které bych do toho asi ani nešla.[Image] 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?Neustále se setkávám s pro mě novými věcmi během práce a pozornost věnuji hlavně tomu, co právě využiji. Různé novinky z oblasti proto sleduji zejména prostřednictvím vlastní práce. Dobré a netradiční zadání je ten nejlepší impuls ke vzdělávání. A když brázdím po různých webových stránkách a spatřím nějaký prvek, který mě na tom webu zaujme, tak ihned otevírám DevTools a prohlédnu si kód 😀 Co tě nejvíc baví na tvé práci? Máš nějaký oblíbený task, který děláš nejraději?Velice ráda tvořím a zároveň mám ráda pěkný design. Takže u mě je to právě ta frontendová část práce, kterou mám nejraději. Když můžu pracovat s vizuálem a výsledkem této práce je pěkná a funkční část webové stránky.[Image] Co je podle tebe největší výhodou práce v IT odvětví?Od perspektivy, přes plat až po možnost pracovat odkudkoli. Je to rychle se rozvíjející odvětví a člověk má na výběr opravdu mnoho možností, jakým směrem se může ubírat. Co bys poradila lidem, kteří právě začínají nebo uvažují o tom, jak začít s kódováním?Aby se nenechali odradit těžkými začátky. Třeba tomu jen začít věnovat čas, zkoušet a postupně si najít přesně ten směr nebo odvětví, kde by se chtěli uchytit. Výsledek stojí za to 😊 Pokud máš na Michaelu otázky, neváhej je napsat do komentářů.