Náš blog

Success stories
30.03.2021
Martina Baumann

Success story: Kurzy vs. nový job. Dnes je Michaela integračnou špecialistkou v Luigi’s Box

Úspešná absolventka kurzov z našej dielne nám porozprávala o svojej motivácii a skúsenosti s tým, ako to funguje, keď sa človek rozhodne vzdelávať po svojej osi. Ako dieťa ju vždy bavila matematika a informatika, k IT mala blízko, veď vyštudovala aplikovanú informatiku. Ako sama hovorí, v tej dobe sa ale na škole HTML jazyk vyučoval len veľmi okrajovo, všetko sa učila sama až do chvíle, keď objavila Learn2Code. Predtým pracovala v administratíve, potom ju čakali rodičovské povinnosti a teraz je naspäť v pracovnom kolobehu. Michaela Hargašová dostala po kurzoch novú pracovnú príležitosť. Práve cez Learn2Code sa dozvedela o tom, že v Luigi’s Box hľadajú novú posilu. Už je to niekoľko mesiacov, čo je súčasťou tímu ako integračná špecialistka. [Michaela Hargašová]Prezraď na úvod našim čitateľom, čo si predtým, ako si si urobila kurzy cez Learn2Code, robila. Kde si pracovala?Po ukončení vysokej školy som pracovala ako asistentka, teda v administratíve a potom som dlhšiu dobu bola na rodičovskej dovolenke. Ako sme už povedali, tých kurzov cez Learn2Code si si urobila hneď niekoľko. Môžeš nám ale konkrétne povedať, ktoré ťa oslovili, pre ktoré si sa rozhodla?Začala som s kurzom Webrebel 1: HTML, CSS & JavaScript s Yablkom (Roman Hraška). Vždy ma bavilo programovanie a tvorba web stránok. A keď som sa tomu chcela viac venovať, potrebovala som si zopakovať staré vedomosti a získať ešte veľa nových. Takže to bol skvelý úvod. Potom som vedela, akým smerom sa chcem uberať a prešla som na JavaScript a neskôr aj na WordPress pre programátora. Posunulo ťa to ďalej, malo to pre teba zmysel?Samozrejme. Vďaka nim som sa veľa naučila, možno viac ako v škole 🙂, ale hlavne sa môžem teraz naplno venovať tomu, čo ma nesmierne baví. A predtým si si niekedy už robila podobné kurzy? Zaujímala si sa o túto oblasť?O tvorbu web stránok sa zaujímam už od vysokej školy. Vyštudovala som Aplikovanú Informatiku a počas štúdia som mala možnosť získať trochu prax a pracovať ako SEO Editor, kde som optimalizovala web stránky pre vyhľadávače. Tu sa to všetko začalo. Z práce sa stala záľuba a zo záľuby práca. Lenže v tej dobe sa na škole HTML jazyk vyučoval len veľmi okrajovo a ani neviem o tom, že by podobné kurzy boli a všetko som sa musela naučiť sama. Až do chvíle keď som objavila Learn2Code a vaše kurzy.  Viem, že si sa dostala do Luigi’s Box? Čo všetko tomu predchádzalo a ako dlho už si tam?V podstate za to, že som dostala prácu v Luigi’s Box, vďačím práve Learn2Code. Jedného dňa mi prišiel email od Learn2Code s pracovnou ponukou pre Luigi’s Box. Bolo to skvele načasované 🙂, pretože práve v tom čase som hľadala novú prácu z oblasti tvorby webstránok. S Luigi‘ Box spolupracujem zatiaľ len pár mesiacov, ale môžem len chváliť. A čo konkrétne tam robíš?Pracujem na pozícií Integračný špecialista. Vkladám Luigi’s Box našepkávač a vyhľadávač na webové stránky našich klientov na základe spracovaných dát. Každá web stránka, s ktorou pracujem, má svoj vlastný web dizajn a je unikátna. A aby sme sa čo najviac priblížili k dizajnu web stránky, musím k tomu upraviť aj dizajn vyhľadávania. Samozrejme, k práci patrí aj support, alebo teda podpora pre klientov. Je zaujímavé, že už si vlastne druhá Miška, ktorá sa cez kurzy Learn2Code dostala do Luigi’s Box. Čím to je? Menom alebo kurzami, prezraď nám 🙂. Keby to bolo len menom,  je to možno osud 🙂, ale spája nás najmä absolvovanie kurzov cez Learn2Code. Keď si tam nastúpila, aký to bol pocit. Musela si sa aj s niečím možno aj „popasovať“?Už pri pohovore na mňa spravil Luigi’s Box skvelý dojem. A keď si ma vybrali spomedzi uchádzačov, bol to skvelý pocit. Získala som skvelú prácu s perfektnými ľuďmi, ktorú som dlho hľadala. Takmer som už stratila nádej. Ale predsa sa podarilo. Zo začiatku to bolo trochu náročné. Samozrejme, musela som sa „popasovať“ s množstvom nových informácií a mnohé sa naučiť. A dá sa povedať, že každý deň sa stále učím niečo nové, a to je na tom skvelé, že môžem na sebe pracovať, zlepšovať sa a získavať nové vedomosti.  Dalo by sa povedať, že si technický typ? Predsa len robíš to, čo robíš...Myslím si, že áno. V škole ma vždy najviac bavila matematika a informatika. A baví ma čokoľvek skladať, od puzzle cez Lego až po nábytok.  Poďme sa trošku pozrieť na aktuálnu situáciu aj vo svete. Rok bojujeme s pandémiou. Tá nám akoby potvrdila, resp. tým, ktorí tomu možno nechceli veriť, aké dôležité sú digitálne technológie a zručnosti v tejto oblasti. Ako to vnímaš ty?Áno, za posledný rok sa IT technológie dostali veľmi rýchlo do popredia, pretože pandémia ovplyvnila v mnohom náš starý spôsob života. V prvom rade obmedzila možnosti vykonávania práce a donútila viacerých, ktorí túto možnosť majú, pracovať homeoffice. Aj ja tak momentálne pracujem. A tiež sme všetci začali viac nakupovať cez internet. Myslím, že v dnešnej dobe majú obrovskú výhodu tí z nás, ktorí v IT oblasti pracujú, alebo sa aspoň o IT technológie nejakým spôsobom zaujímajú.  Ak sa teda vrátime k tomu, čo robíš, ako vyzerá tvoj bežný pracovný deň?Napriek tomu, že sa nestretávame a každý z nás momentálne pracuje homeoffice, máme pravidelne každý pracovný deň online poradu. Potom začnem so spracovaním nových projektov a ich dát a pripravujem integrácie nášho vyhľadávania pre klientov alebo riešim požiadavky klientov, ktoré prídu k nám na support.  S akými klientmi u vás vo firme robíte?Prevažne našimi klientmi sú internetové obchody – eshopy - slovenské, ale aj zahraničné. Samozrejme, sú medzi klientmi aj takí, ktorí potrebujú zlepšiť vyhľadávanie v informáciách. Máš aj nejaký vlastný projekt, ktorým by si sa mohla pochváliť? Nedá sa pochváliť konkrétnym projektom, pretože v Luigi’s Boxe pracujeme ako tím, takže na jednom projekte pracujeme viacerí a každý z nás má nejakú úlohu. Preto je to aj zásluha celého tímu. Dalo by sa povedať, že si si našla super prácu a čo teraz? Končí pre teba to, že by si sa ďalej išla vzdelávať aj po vlastnej osi? Plánuješ si napríklad robiť ďalšie kurzy, resp. sleduješ trendy?Určite ešte využijem niektoré kurzy od Learn2Code. Ešte vždy sa mám v čom zlepšovať. Počas rodičovskej dovolenky som nestíhala sledovať nové trendy. Tak teraz sa snažím dobehnúť zameškané. Máš na Michaelu najaké otázky? Neváhaj ich napísať do komentára 👇
Vzdelávanie
26.03.2021
Skillmea tím

Študijný plán pre budúceho JavaScript programátora

Ľudia sa nás často pýtajú, ako sa stať frontend developerom, aké technológie by mali ovládať, čo všetko vedieť, kde začať a aká je správna postupnosť jednotlivých online kurzov. Na základe našich skúseností, rád od lektorov ako Yablko a ďalších, sme v tomto článku dali dokopy študijnú cestu budúceho frontened developera. Frontend developer vs backend developer vs fullstack developerFrontend developer, frontenďák je človek, ktorý je zodpovedný za časti webovej aplikácie alebo webstránky, ktoré používatelia vidia a interagujú s nimi. Backend developer je človek, ktorá má na starosti všetko to, čo človek nevidí - infraštruktúra, dátový model, databáza. No a potom je tu full-stack developer, ktorý je zmesou frontendu aj backendu a zvládne celý proces návrhu webovej aplikácie od začiatku do konca. Pomôžme si týmto meme pre lepšiu vizualizáciu:[Programátorské meme]V dnešnej dobe sa dosť stiera hranica medzi frontendom a backendom. Je to kvôli tomu, že čoraz viac úloh, ktoré spadajú do oblasti backendu, majú na starosti frontend vývojári. Frontend developer robí najmä tieto úlohy: • rozhoduje o dizajne a štruktúre webstránok, • vyvíja funkcie na dosiahnutie dobrej používateľskej skúsenosti (user experience), • dbá na responzivitu webstránky, • optimalizuje webstránku pre rýchle načítanie a škálovateľnosť v budúcnosti, • volí správnu kombináciu webových technológií pre dosiahnutie najlepšieho výsledku. Zručnosti front-end developeraDobrý frontenďák je na nezaplatenie. Doslova. Pri vývoji webstránok či aplikácií je nesmierne dôležitý a musí preto mať komplexné znalosti nielen z oblasti vývoja webu: • ovládať technológie ako HTML, CSS, JavaScript a ďalšie (čítaj ďalej v článku), • ak vie pracovať s nejakým grafickým softwarom ako napr. Photoshop, Sketch alebo Illustrator, je to veľké plus, • základné znalosti SEO, • dobré komunikačné znalosti, lebo veľa komunikuje s kolegami (grafik, backend developer, projektový manažér, klient), • nezľakne sa problémov a vie ich riešiť. Mzda frontend developeraPodľa portálu platy.sk na Slovensku zarába JavaScript developer (prečo sme vybrali práve pozíciu JavaScript developer sa dozvieš nižšie v článku) od 1.300 Eur až po 2.900 Eur. Záleží od počtu rokov praxe, skúseností, projektoch na akých si už pracoval a tak ďalej. Dobrých JavaScript developerov firmy stále hľadajú, takže keď naskočíš na vlak frontend  developmentu, o prácu budeš mať postarané.[Image] JavaScript je aj extrémne populárny, podľa RedMonk rebríčka je JavaScript číslo 1 čo sa týka popularity na GitHube a Stack Overflow. Keď pohľadáš aj otvorené pozície napr. na Profesii, vyhodí ti to stovky pozícií JavaScript či frontend programátora. A keď si do svojho LinkedIn profilu doplníš, že ovládaš JavaScript a k tomu nejaký JavaScript framework, inbox ti vybuchne od ponúk rôznych IT recruiterov. Poď na to a pozri si návod, ako sa stať frontend programátorom. Ako sa stať frontend developerom?Nenechaj sa odradiť a choď za svojim cieľom. V texte nižšie sme vypichli podľa nás tie najdôležitejšie technológie, ktoré by si ako dobrý frontenďák mal ovládať. Poďme na to. “TL;DR: HTML, CSS a JavaScript sú chrbtovou kosťou frontend developmentu. Frontend development kombinuje práve tieto tri technológie a k tomu JavaScriptové frameworky (alebo knižnice).” Krok číslo 1: HTML a CSSToto je úplne prvá téma, ktorej by si sa mal venovať, pokiaľ máš v pláne byť frontend developerom. Je to alfa a omega celého frontend developmentu. HTML a CSS používajú všetky weby, všetky webové aplikácie. HTML a CSS ťa zadarmo naučí kurz Webrebel 1: HTML, CSS a JavaScript. Všetky videá o HTML a CSS sú k dispozícii zadarmo, stačí sa prihlásiť do kurzu. V tomto kurze sa naučíš aj dôležité veci o tom, ako vôbec internet funguje, ako fungujú prehliadače, čo je HTTP a HTTPS, DNS, JSON, XML a kopec ďalších skratiek, ktorým teraz možno nerozumieš, ale v procese tvorby webstránok sú to dôležité znalosti. A keď budeš pri CSS, venuj mu poriadne veľa času. Môže sa zdať, že je ľahké pracovať s CSS, ale na jeho zvládnutie je potrebného veľa času. Skús sa opýtať backend developera, prečo nie je frontendistom? Šanca, že ti odpovie, "Lebo neznášam CSS" je dosť vysoká. Sledovať videá nestačí a preto si určite počas ich sledovania rob domáce úlohy, ktoré v kurze sú. Urob si svoje vlastné portfólio, ponúkni sa svojim známym, že im spravíš webstránku, rob maličké projektíky len tak pre svoje potešenie a takto sa budeš zdokonaľovať a chytíš písanie kódu za pačesy.[Ukážka HTML, CSS, JavaScript |Zdroj: https://moz.com/blog/javascript-seo] Krok číslo 2: píš lepšie CSSLepšie CSS sa naučíš písať napríklad vďaka preprocesorom. Známymi preprocesormi sú Sass, Less alebo Stylus. Preprocesor je program, ktorý spracuje kód v jednom formáte (napr. Sass) a zmení ho na kód v druhom formáte (CSS). Vďaka Sass vieš písať menej kódu a bude prehľadnejší.  Keď budeš robiť na webových projektoch, je dobré ovládať aj nejaký ten CSS framework. Najväčšími frajermi na tomto poli sú pravdepodobne Bootstrap a Foundation. Bootstrap je iniciatíva Twitteru a zaslúži si veľkú pochvalu za zavedenie responzívneho dizajnu vo veľkom meradle. Bol to prvý framework, ktorý podporoval filozofiu 'mobile-first'. Pomocou Bootstrapu vieš relatívne rýchlo vytvárať responzívne weby.  Ak je pre teba Bootstrap zbytočne obmedzujúci v tom, ako tvoj dizajn bude vyzerať, vyskúšaj CSS framework Tailwind 2. Je pre ľudí, ktorí chcú mať flexibilitu a tvoriť vlastný dizajn. Tailwind je intuitívny a moderný CSS framework, ktorý sa dá rýchlo naučiť. Krok číslo 3: trošku prikúrime - JavaScriptJavaScript bude pre teba ako frontend developera bezpochyby najdôležitejšou zručnosťou. Ako sa naučiť JavaScript? Logická odpoveď: začni základmi. Nebuď povrchný, ale ani v úvode nechoď do úplných detailov. Learning by doing je naše odporúčanie, keď sa učíš JavaScript: 1. Nauč sa základy JavaScriptu, 2. Nauč sa React, Vue alebo Angular, 3. Pochopíš, že nemáš dobré základy JavaScriptu, 4. Vráť sa k bodu 1. a nauč sa poriadne JavaScript. JavaScript je už niekoľko rokov po sebe najpopulárnejším programovacím jazykom, pozície vyžadujúce JavaScript pribúdajú ako huby po daždi. Keď budeš vedieť JavaScript, o robotu máš postarané. Yablko pripravil parádny kurz o modernom JavaScipte. Tento kurz ťa naučí písať moderný JavaScript, budeš vedieť jeho syntax (ES6 a ES7), aby si nepísal spaghetti code a pravidlá jazyka. Okrem toho, zvládneš nástroje ako package managers (správa závislostí) npm a yarn, skrotíš DOM, budeš vedieť používať nástroje ako Webpack a tak ďalej. V kurze je takmer 23 hodín materiálu o modernom JavaScripte, bude to fuška, ale výsledok bude stáť za to. Krok číslo 4: vyber si svoj osud - Vue, React, AngularKeď si zvládol predchádzajúce tri kroky, si pripravný naučiť sa pracovať s mocnými nástrojmi v podobe JavaScript frameworkov alebo knižníc. Aktuálne v roku 2021 sú najviac v kurze Angular, React a Vue. Nemusíš vedieť všetky, radšej jeden a poriadne. Každá z týchto technológií má svoje pre a proti a sú určené na komplexný vývoj frontendových webových aplikácií. Tieto frameworky sú si podobné a pokiaľ sa naučíš jeden, prejsť na iný framework nie je až také náročné. Poďme si teraz veľmi stručne predstaviť spomínané tri frameworky. Angular je vývíjaný spoločnosťou Google, prvýkrát bol vydaný v roku 2010 a je postavený na TypeScripte. Otcom Angularu je Slovák Miško Hevery. V roku 2016 bol predstavený výrazný update tohto frameworku - Angular 2, v rámci ktorého došlo aj k vypusteniu "JS" z názvu. Okrem Googlu samotného používajú Angular weby ako PayPal, Upwork, Microsoft a ďalšie. React je vyvíjaný ďalším gigatnom - Facebookom, ktorý ho okrem iného používa v aplikáciách Instagram či WhatsApp, na Reacte fičia aj weby Netflixu či Uber. Prvý release bol v roku 2013 a ide o JS knižnicu pre vytváranie používateľských rozhraní (UI).  Vue je najmladším JS frameworkom v tomto výbere. Vue za sebou síce nemá žiadnu veľkú firmu, ale tiež je používaný veľkými firmami, napr. Alibaba, Behance alebo GitLab. S príchodom Vue 3 v septembri 2020 prešlo Vue na TypeScript.[JavaScript frameworks Angular, React, Vue] BONUSGitGit sa používa vo väčšine vývojárskych firiem, čím skôr sa naučíš s Gitom pracovať, tým lepšie pre teba. Git je verziovací systém, vďaka ktorému sa môžeš kedykoľvek vrátiť k pôvodnej verzii svojho kódu, zdieľaš kód s kolegami spolupracovníkmi, pracuješ v tíme. Git ovládaš cez príkazový riadok alebo si nainštaluješ nejaké GUI pre Git. Git ti vlastne ukladá celú históriu tvojho projektu do repozitára. Svoje repozitáre ukladáš na akomsi hostingu - čo môže byť GitHub, GitLab či Bitbucket. TestovanieAk chceš byť úplný kráľ, svoj kód určite aj testuj. Vyhneš sa tak mnohým problémom pri vývoji. Pri JavaScripte sú najpoužívanejšie knižnice pre testovanie Jest, Mocha, Chai. ZáverNezabúdaj, nemusíš dokonale ovládať všetko z vyššie uvedeného. V tomto článku sme sa snažili priniesť ti prierez technológií, ktoré by si mal ovládať, pokiaľ sa chceš stať frontend programátorom. Mohlo by sa zdať, že ich je priveľa a bojíš sa, že to nezvládneš. Pre dodanie sebadôvery si prečítaj tieto príbehy absolventov našich kurzov, ktorí sa rozhodli zmeniť kariéru. Alebo si pozri zopár rozhovorov s absolventami na našom YouTube. Nikdy nie je neskoro začať s programovaním. Keď sa rozhodneš pre vzdelávanie formou online kurzov, najdôležitejšie je vydržať. Držíme ti palce. Kódovaniu zdar!
Tipy a triky
11.03.2021
Ľudovít Nastišin

Zmena oblohy na fotkách vo Photoshope jediným klikom

Štandardný postup pri zmene oblohy na fotkách si vyžaduje istú zručnosť vo výberoch a maskovaní. Avšak s novým Photoshopom je na scéne aj veľmi zaujímavá funkcia, ktorá tieto časovo náročné postupy zlúčila v podstate do jediného kliknutia. Hovoríme o „Sky Replacement Tool“, ktorý nájdeme vo Photoshope 2021.  V tomto článku sa na túto funkciu pozrieme a ukážeme si to aj na príklade. Sky Replacement nájdeme v edit>Sky Replacement. Ihneď po otvorení tejto funkcie začne softvér automaticky analyzovať obrázok. Okamžite potom si sám vytvorí na danom obrázku masku oblohy a vymení ju za inú. Jediným klikom. Tento nástroj využíva Adobe Sensei (umelú inteligenciu spoločnosti Adobe). Je to niečo podobné ako funkcia „Select and Mask“, ktorá je v posledných verziách Photoshopu taktiež veľmi kvalitná. Asi to nebudeš využívať každý deň, no čas od času sa takáto úloha objaví. A vtedy je dobré o tomto nástroji vedieť, lebo si ušetríš čas. Nastavenie nástroja "Sky Replacement"Je to síce výmena oblohy na jeden klik, no väčšinou to treba trošku doladiť. Najprv si zvolíš obrázok oblohy z ponuky nástroja, ktoré sú v troch priečinkoch: Blue Skies, Spectacular a Sunsets. Máš samozrejme možnosť importovať si tam svoju vlastnú oblohu. Stačí kliknúť na ozubené koliesko v pravom hornom rohu a nájsť možnosť „Import Skies“ alebo cez ikonku + a nahrať si oblohu ako .jpeg súbor. Máme tu aj ďalšie nastavenie, o ktorých si treba niečo povedať. Shift Edge – cez tento slider si vieš doladiť okraje výberu a zbaviť sa tak prípadných nedotiahnutých miest, ktoré Photoshop až tak dobre nezvládol. Refine Edge Brush – pre prípad, že si tvoju pozornosť vyžaduje len nejaká malá časť výberu, máš k dispozícii aj známy nástroj z balíka „Select and mask“, ktorým tiež  vieš dotiahnuť prípadné nedokonalosti. Fade Edge – tento nástroj umožňuje vytvoriť jemnejší prechod pri horizonte obrázka. Photoshop ale väčšinou urobí robotu veľmi dobre a ďalšie úpravy okrajov nie sú zvlášť potrebné. Temperature, Brightness a Scale – tieto nástroje upravujú už samotnú oblohu. Väčšinou treba doldiť  je farebnosť, prípadne je príliš tmavá či svetlá. Alebo je nutné oblohu zväčšiť aby sedela s horizontom fotky. Všetko to sa dá upraviť v týchto Sky Adjustments  úpravách. Foreground Adjustments – máme možnosť doladiť farebne aj samotný obrázok mimo oblohy tak, aby sme celú kompozíciu čo najviac zjednotili. Keď si s výsledkom spokojný, je treba si ešte stanoviť, akým spôsobom sa má táto úprava aplikovať do obrázka. Je tu možnosť duplikovať vrstvu alebo output do nových vrstiev. Skvelé je, že tento nástroj je nedeštruktívny. Ak si vyberieš si vyberieš output do nových vrstiev, celá úprava sa zobrazí vo klasickej vrstve s maskou a spolu s adjustment vrstvami. Takto máš plnú kontrolu nad výsledkom a prípravu pre ďalšie modifikácie tejto kompozície. Sú však situácie, kedy ti Sky Replacement pomôže len čiastočne. Jednou z takých môže byť situácia, kedy sa snažíš vymeniť oblohu na obrázku s vodnou hladinou. A tá bude stále odrážať pôvodnú oblohu. V takom prípade bude potrebné tento odraz vyriešiť manuálne. Výhodou však je, že väčšinu potrebných masiek vrstiev už z tohto nástroja máš. Sky replacement tool je podľa nás skvelý nástroj a aj keď ho nebudeš používať každý deň, v tej pravej chvíli ti pomôže. Jeho ukážku si pozri aj na tomto videu, v ktorom sme sa pohrali so známou bratislavskou scenériou. Vymenili sme oblohu a odstránili všetky postavy. A všetko nám to zabralo len pár minút.
Rozhovory
08.03.2021
Martina Baumann

Basgitarista Filip je srdcom nielen muzikant, ale aj zvukár

Filip Andel je vášnivý zvukár, milovník hudby a všetkého toho, čo sa okolo zvuku či hudby deje.  Jeho život je plný aktivít, pracuje v RTVS, popritom stíha hrať na basgitaru v skupine Eufory a ešte si takmer každý deň mixuje zvuk a hudbu v nahrávacom programe. Dnes sme sa preto porozprávali s muzikantom a zároveň naším lektorom, ktorý vedie kurz Základy zvuku, aby sme vám priniesli viac zo zákulisia zvuku.  V nasledujúcich riadkoch sa tak dozviete niečo o samotnom kurze a Filip tiež prezradí, čo znamená práca zvukára a ako sa v nej uplatniť. V Learn2Code máš nový kurz Základy zvuku. Čo presne je to za kurz a pre koho je určený? Kurz je zameraný na úplne základy zvuku a zvukárskej práce, hovorovo zvukariny. Čiže,  aká je úloha zvukariny, čo je to zvuk, ako sa šíri, prenáša a spracúva. Kurz je určený primárne začiatočníkom, ale aj mierne pokročilým, či dokonca pokročilým zvukárom. Účastníci sa v ňom dozvedia základné princípy, ktoré je potrebné chápať a dodržiavať pri práci so zvukom pre dosiahnutie čo najlepších výsledkov. Čiže mohla by som sa napríklad prihlásiť aj ja, i keď nemám vôbec žiadne skúsenosti, ale chcela by som s takým niečím nejako začať?Určite áno, avšak je dobré, ak potenciálneho účastníka odbor zvukariny aspoň zaujíma. Ale nie je to podmienkou, kurz je vedený tak, aby to pochopil aj úplný laik (úsmev). A ako dlho trvá? Koľko času si naň treba vyhradiť?Kurz trvá bezmála tri hodiny. Nuž, zvuk je naozaj obsiahla téma. A to sme iba na začiatku... Dobre, urobíme si tvoj kurz a čo ďalej? Čo viem  napríklad po jeho absolvovaní konkrétne urobiť?Snažil som sa tento kurz nastaviť tak, aby účastník po jeho absolvovaní dokázal pracovať so zvukom. Minimálne po tej technickej stránke, čo je zhruba polovica nutných schopností. Zvyšok je kreatívna časť a tá je u každého individuálna. Ako príklad môžem uviesť trebárs ozvučenie kapiel v kluboch, nahrávanie v štúdiu, tvorba videí. Ak s tým človek začína a nevie si dať rady so zvukom, verím tomu, že po absolvovaní kurzu sa dokáže pohnúť ďalej. Môžeš nám viac prezradiť o sebe, o tvojej práci, čomu sa venuješ a možno spomenúť aj nejaké tvoje projekty...Už ako dieťa som bol fascinovaný technikou, strojmi, elektronikou. V 15-tich som prepadol láske k hudbe, očarila ma basgitara na metalovom koncerte kapely Helloween (smiech).  No a keď si skombinujeme hudbu a technológie, zvuk bol prirodzenou cestou, o ktorú som sa začal zaujímať. Najskôr som vypomáhal vo firme pri ozvučení koncertov, plesov, festivalov. Neskôr som pracoval v dabingovom štúdiu pre Discovery Channel a odtiaľ moje kroky viedli do RTVS, štúdio Slovenského rozhlasu v Košiciach. Tam pôsobím doteraz. Popri tom som si túžil splniť sen, mať vlastné nahrávacie štúdio. To sa podarilo a v roku 2019 som svoje Clangor Studio otvoril. Popritom sa stále aktívne venujem aj hudbe, hrával som v rôznych kapelách, najvýraznejšie sa v mojom živote zapísali Within Silence, Fictive Marry a aktuálne pôsobím v Eufory.  A čo teda považuješ za svoj najväčší úspech?Ťažko povedať :) Určite bolo pre mňa veľkým úspechom dostať sa do RTVS, kde som okrem práce dostal asi tú najlepšiu školu v oblasti zvuku, vďaka starším kolegom, ktorí sú nesmierne ústretoví a radi sa delia o svoje dlhoročné skúsenosti. Za to som im neskonale vďačný. Takisto považujem za úspech to, že som si dokázal splniť sen a otvoriť vlastné štúdio. Pomaly sa to rozbieha správnym smerom. A ak hovoríme o tvojej práci, čo máš na nej najradšej?No, ono ma to tak všeobecne baví a napĺňa. Ale tak v rámci práce v RTVS je to určite rozmanitosť, každý deň je niečo iné na práci, nikdy sa to nezunuje. V štúdiu je to zas práca s hudbou, stretávanie skvelých muzikantov a práca s nimi, so zvukom, s technikou,  keď to má veľa gombíkov a bliká to, je to super (smiech). Máš aj nejaký nesplnený sen, čo by si chcel ísť robiť? Také dva veľké nesplnené sny, dúfam, že iba zatiaľ,  mám. Prvým je moje štúdio, rád by som pracoval so svetovými umelcami, kapelami a v úžasných priestoroch. Druhým snom je hudba.  Rád by som so svojou kapelou zažil aspoň jedno svetové turné. Čím sa inšpiruješ pri svojej práci? Pravdepodobne je tá inšpirácia pri kreatíve nevyhnutná. Mýlim sa?Áno, jednoznačne je inšpirácia nutná. Muzikantov môže inšpirovať čokoľvek okolo nás, dianie vo svete, príroda, vlastné skúsenosti, myšlienky, sny… Mňa zas inšpirujú samotní muzikanti. Keď prídu s niečím, že “takúto mám predstavu o zvuku, urob to nejak”, tak je to vždy výzva ruka v ruke s inšpiráciou. Okrem toho sa rád nechám inšpirovať ostrieľanými zvukármi, ktorí majú za sebou stovky úspešných hitov. Ich videá sa dajú nájsť na nete, tak tie si tak vo voľnom čase pozerám a učím sa. Pracuješ aj ty na sebe v tom zmysle, že sa učíš ďalej nové veci? Alebo už všetko vieš?Oh...kto už si len môže povedať, že všetko vie? (úsmev) Samozrejme, že sa snažím na sebe pracovať, pri zvuku je to nikdy nekončiaci proces učenia. Jedna vec sú technológie. Každým rokom príde na trh niečo nové, nejaké nové zariadenie, nové postupy a podobne. Čiže to je jedna z vecí, kde sa treba neustále učiť a zdokonaľovať. Popritom, ako som už spomenul, rád si pozerám videá a články od svetových zvukárov, učím sa od nich rôzne postupy, triky a podobne. Ešte by som povedal, že teória je síce super, ale prax je prax. Ako sa vraví, skúsenosť je neprenosná, a preto je lepšie raz skúsiť, než stokrát vidieť, počuť, čítať... Takže to je ďalšia možnosť, ako sa dá na sebe pracovať. Ja osobne sa snažím každý deň otvoriť Cubase (nahrávací program) a niečo si zmixovať. Hoc len tak, cvične, ale stále sa treba držať v kondícii. Ktoré stránky odporúčaš sledovať ľuďom, ktorí sa zaujímajú o zvuk? Vieš im dať nejaké dobré tipy, resp. možno spomenúť aj zaujímavé aplikácie, ktoré im môžu pomôcť? Je niečo také?Najjednoduchšia odpoveď je YouTube. Ale aby to nevyznelo, že som lenivý... Faktom je, že na YouTube sa dá nájsť nespočetné množstvo kvalitných videí o zvuku. Od základov, cez pokročilé postupy nahrávania či mixáže až po top level mastering. Okrem toho, síce platený, ale skvelý obsah majú stránky ako PureMix alebo Mix With The Masters. Tie obsahujú také kurzy, resp. walkthrough (prepáčte, neviem ako to nazvať slovensky ☺) videá od top svetových zvukárov. Ukazujú v nich, ako mixovali alebo aj nahrávali niektoré svetové hity, ktoré mnohí poznáme aj bežne z rádií. A dá sa teda dnes uživiť podľa teba v tomto odvetví. Kde všade sa totiž taký zvukár môže uplatniť? Ak by si mal urobiť totálne promo tohto povolania, ako by to teda vyzeralo? Fuuu, ťažká otázka :) Je to o šikovnosti, asi ako všade. Nemôžem povedať, že je to úplne jednoduché, má to svoje úskalia. Hlavne na začiatku, ak je človek sám a bez kontaktov, má ťažkú cestu. Ale ja si myslím, že to stojí za to. Zvukár sa môže uplatniť či už v rozhlase, v televízii, pri práci na filmoch, dabing. Potom samozrejme čisto zvukárske odvetvia ako koncerty, festivaly, koncertné kluby a bary, prípadne môže chodiť ako kapelný zvukár spolu s kapelou na každý jej koncert.  Urobiť promo? Ľudia, choďte do toho! Stretnete množstvo zaujímavých ľudí, umelcov, máte možnosť podieľať sa na veľkých filmových projektoch, či na veľkých festivaloch, koncertoch, s kapelami si zažijete kopu srandy. Ja osobne neľutujem ani sekundu, odkedy som sa rozhodol pre túto profesnú dráhu. Foto: Súkromný archív F. A.
Novinky
25.02.2021
Ľudovít Nastišin

Tieto farby by mali udávať dizajnové trendy v roku 2021

Každý rok sa veľké spoločnosti zo sveta kreatívy predbiehajú v predikovaní farebných trendov na aktuálny rok. Každá má na to svoj vlastný postup, vždy je však založený na dátach a skúsenosti. My sme sa pozreli na to, čo pre rok 2021 vybrali Shutterstock a Pantone. A dali sme ti to aj do prehľadnej infografiky v závere. Farba je v grafickom dizajne jeden z najvýraznejších elementov. A je úplne jedno, o aký typ dizajnu ide. Rovnako ako fonty či obrázky dokáže upútať či odpudiť pozornosť, prípadne vyvolať  nejakú konkrétnu asociáciu. Výberu farieb pre svoje projekty by si preto mal venovať náležitú pozornosť a nepokaziť to hneď na začiatku. Ak vidíš svoju budúcnosť práve v kreatívnom biznise, nebude na škodu oboznámiť sa s teóriou farieb a stavať na rokmi overených základoch.  Vždy je ale dobré vedieť, aké farby aktuálne letia. Pekný pohľad na vec nám ponúka report farebných trendov od známej spoločnosti Shutterstock. Ich predikcie stoja na analýze zvýšenej aktivity či nárastu stiahnutí jednotlivých obrázkov. Je až neuveriteľné, že sa pozerali na HEX kódy pre každý jeden pixel týchto obrázkov. Takto teda vznikli predikcie farebných trendov pre rok 2021. Set Sail Champagne (#FAEBD7)Ide o prírodný odtieň s veľmi univerzálnym použitím. Najmä ak chceme v dizajnoch docieliť “zemitý” prírodný efekt. Ide o jemný a svetlý odtieň oranžovej, pekne dopĺňa modré farebné palety. Fortuna Gold (#DAA520)Názov Fortuna pochádza z rímskeho pomenovania bohyne šťastia. Ide o výrazný, tmavý odtieň žltej. Je veľmi vďačná pri metalických dizajnoch, prípadne ako komplementárna farba pre predchádzajúcu.  Tidewater Green (#2F4F4F)Základom tejto farby sú modrá a zelená. Je veľmi vhodná pre doplnenie dizajnov s veľkou saturáciou farebnej schémy. Prípadne ju môžeme použiť ako vylepšenú verziu pre neutrálnej časti dizajnov, napríklad namiesto sivej.  Shutterstock ale nie je jediný, kto má čo povedať k farebným trendom. Spoločnosť Pantone rovnako predstavila farby pre rok 2021. Ich predpoveď stojí na sivej farbe Ultimate Gray a žltej farbe s príťažlivým názvom Illuminating. Mali by reprezentovať pocit tepla domova a zodpovednosti, čo je pre aktuálnu situáciu na mieste. Schopnosť spoločnosti Pantone predpovedať farebné trendy je ich marketingovou silou, ktorá pomáha dizajnérom z rôznych oborov ísť s trendami od sezóny k sezóne.  Illuminating Yellow (#F5DF4D)Podľa ich vlastného vyjadrenia ide o hrejivý odtieň  "jasnej a veselej žltej s temperamentom". Tento popis je pre danú farbu vcelku výstižný.  Ultimate Gray (# 939597)Ide o “kamenistú” farbu reprezentujúcu to pevné a spoľahlivé v živote. Je dobre asociovaný so stabilitou v živote.  Tieto farby by mali teda v aktuálnom roku dominovať. Avšak pozor na to, aby ste sa nimi nenechali príliš uniesť. Stále sú to iba trendy. A tie prichádzajú a odchádzajú. Vždy sa treba zamyslieť a vybrať farby pre svoj projekt na základe viacerých faktorov. Niekedy je treba byť trendy, niekedy nadčasový a niekedy to treba skombinovať.  Pripravili sme si pre teba aj jednoduchú infografiku na stiahnutie, kde sú všetky trendy farby roka 2021 pohromade:  Celkom zaujímavé sú aj preferencie farieb rozdelené podľa krajín. Slovensko tam síce uvedené nie je, no keď sa pozrieš na Francúzsko, Nemecko, Švajčiarsko či Taliansko, trend je jasný. Náš odhad pre top farbu Slovenska by bola niektorá z nich. Čo ty na to? [Zdroj: Shutterstock]
Vzdelávanie
19.02.2021
Skillmea tím

Kotlin Raw String

String je základný dátový typ v programovacích jazykoch. Slúži na uchovanie textu. Ak chceme napísať String tak text vložíme medzi dvojité úvodzovky.  val cesta = "cesta";Vo väčšine prípadov je to dostačujúce. Čo ak do textu chceme nastaviť cestu na súbor ako text. C:\work\tools\__test Musíme ho vložiť do premennej typu String a všetky lomítka zdvojiť - escapnúť.  val cesta = "C:\\work\\tools\\__test";Kotlin má aj pomôcku a tou je Raw String. Na napísanie textu použijem trikrát dvojité úvodzovky na začiatku aj na konci. val cestaRaw = """C:\work\tools\__test"""Raw String nám umožňuje zapísať String na viac riadkov bez nutnosti spájania pomocou +.  Mám text, ktorý chcem napísať na viac riadkov. Čo musím spraviť ak to chcem v jednom Stringu? Všetky časti spojím pomocou + a pridám špeciálnu značku pre nový riadok \n. val text = "1 639,33\n" + "6 540,03\n" + "8179,36\n" + "+2500,04"Pri Raw Stringu len stlačím enter pre nový riadok a pokračujem v písaní. val textRaw = """1 639,33 6 540,03 8179,36 +2500,04"""Tento spôsob ale nie je pekne čitateľný – všetok text mám zasadený na ľavú stranu, lebo nechceme aby sme tam dali napr. taublátor – v pôvodnom textne nebol.  Čo môžeme spraviť je pridať nejaké špeciálnu značku na začiatok riadku, ktorý chcem odsadiť a potom poviem, že všetko na ľavo od značky spolu so značkou považujem len za odsadenie textu. Pridajme značku (hocijakú): val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04"""Teraz povieme, že # je špeciálna značka pre odsadenie. val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04""".trimMargin("#")A môžeme odsadiť pre lepšiu čitateľnosť: val textRaw = """1 639,33 #6 540,03 #8179,36 #+2500,04""".trimMargin("#")Alebo použijeme default znak oddeľovača, čo je pipe |. val textRaw = """1 639,33 |6 540,03 |8179,36 |+2500,04""".trimMargin()Teraz sa tieto dva Stringy budú rovnať. println("${text == textRaw}") //truePoužitie v reálnej aplikácii Určite by si rád videl príklad z reálnej aplikácie. Jedným z takýchto príkladov by bolo použitie pri písaní Android aplikácie. Presnejšie napríklad pri písaní príkazov pre dopyt na databázu v Room frameworku, ktorý sa používa na zjednodušený prístup k databázam. V Room píšeme takzvané Dao triedy na prístup k databáze. Vezmime si jeden príklad kde chcem napsíať SQL príkaz na vybratie filmov z databázy. @Query("SELECT id, movie_name, genres, directors year FROM MOVIES") suspend fun getAllMovies(): List<MovieShort>Príkaz by si rád napísal na viacero riadkov aby bol lepšie čitateľný. @Query("SELECT id, movie_name, genres, directors year " + "FROM MOVIES") suspend fun getAllMoviesInShortForm(): List<MovieShort>Alebo použiješ Raw String. @Query(""" SELECT id, movie_name, genres, directors year FROM MOVIES """)Určite si vieš predstaviť ako sa ti zlepší čitateľnosť, ak budeš mať zložitejšie select príkazy v kombinácii napríklad s join.
Success stories
28.01.2021
Martina Baumann

Success story: Mariana pracuje v úspešnej IT firme. Všetko sa učí sama, od základov

Mariana Kubíková v našom rozhovore priznáva, že nemá IT vzdelanie, učí sa všetko sama. Vďaka svojej motivácii a chuti pracovať na sebe má za sebou skvelé výsledky. Robí to pre to, že ju to baví, ale na druhej strane si tiež uvedomuje, ako ju to posúva ďalej – aj profesne. Mariana je absolventkou kurzov Learn2Code, predtým sa vo voľnom čase vzdelávala prostredníctvom sieťovej akedémie CCNA. Počas pandémie menila prácu a dnes pracuje ako QA Engineer v jednej IT spoločnosti. V nasledujúcich riadkoch porozprávala o tom, aké kurzy má za sebou, čo jej dali a prezradila i to, na akých projektoch pracuje/pracovala. Práve Mariana je dôkazom toho, že dlhé hodiny strávené nad rôznymi vzdelávacími platformami majú zmysel. Čomu si predtým, ako si si urobila kurzy cez Learn2Code, venovala? Kde si pracovala? Predtým, ako som začala s učením programovania, som pracovala na pozícii Network Administratora. Bola som zodpovedná za firewally. Na túto pozíciu som sa tiež dostala vďaka samoštúdiu na sieťovej akadémii CCNA. Pre ktoré kurzy si sa v Learn2Code rozhodla a prečo? Boli to kurzy zamerané na programovací jazyk Java. Najprv to bol kurz Java pre začiatočníkov, ktorý je zdarma. Dal mi veľmi dobrý základ, čo sa týka Javy. Potom neskôr to zas bol Java a OOP pre začiatočníkov, Java pre pokročilých, ktorý ešte ale nemám úplne ukončený. Tiež kurz Automatizované testovanie webu v Seleniu. Čiže si sa sama snažila nájsť všetky dostupné možnosti. A posunuli ťa tieto kurzy ďalej? Áno a veľmi. Ja nemám IT vzdelanie, takže všetko sa učím sama, od základov. Na základe týchto kurzov, samoštúdia a hlavne ochoty venovať tomu čas sa človek vie ozaj veľa naučiť. A predtým si si niekedy už robila podobné kurzy? Čo sa programovania a testovania týka tak nie. Tesne pred koncom štúdia na vysokej škole som navštevovala sieťovú akadémiu CCNA. Výučba bola raz týždenne a tiež sme sa vzdelávali vo voľnom čase. Čomu sa konkrétne teraz venuješ? Robíš pre nejakú firmu alebo si freelancer? Momentálne pracujem ako QA Engineer pre košickú spoločnosť Ness Digital Engineering. Pôvodne som bola na pozícii Java Developer, ale tu sa musím priznať, že moje vedomosti ešte nestačili na prácu na komplexnom projekte. Predtým som pracovala v inej spoločnosti na pozícii Automation Testera, takže testing ako taký mi bol známy. Písala som Seleniove testy v Jave, takže som sa rozhodla vrátiť späť k testingu a pokračovať vo vzdelávaní. Momentálne pracujem s testami v jazyku Cucumber, takže moje poznatky sa rozšírili. Taktiež som nadobudla veľa skúsenosti s toolmi ako Jenkins, Git a Maven. [Mariana vo svojom prirodzenom prostredí - pracuje vo firme Ness]Keď si po kurze začala riešiť prácu, bolo niečo s čím si sa možno musela aj „popasovať“?Patrím medzi ľudí, čo stále musia mať nejaký cieľ, a tak som vedela, že čo chcem robiť a s kými technológiami chcem pracovať. Konkrétne v spoločnosti Ness som zistila, že samotná Java je na development veľmi málo. Chýbali mi znalosti ohľadom Gitu, ako sa pracuje s verziami, ako sa spúšťajú joby v Jenkise, ako sa riešia chyby počas buildu, alebo čo je to artifact a kedy sa používa, ako sa generuje a pod. Bolo toho ozaj veľa, čo som sa naučila, ale ukázalo mi to aj, že ešte je na čom pracovať. Poďme trošku k tebe. Ako by si opísala seba? Si technický typ? Predsalen robíš, to čo robíš... Áno, to určite som. Odmalička ma zaujímala veda a technika. Dlho ma fascinoval vesmír, letecká technika, vedela som naspäť všetky výpravy na Mesiac...dokonca som si z papiera skladala vesmírnu stanicu ISS (smiech). Takže som vedela, že asi nebudem robiť typicky „ženskú prácu“. Našťastie už dnes ženy robia aj v IT, pomaličky pribúdajú i na Slovensku. Veď práve v Learn2Code máme už dosť príbehov o absolventkách, ktoré sa presadili v „mužskom svete“.  Ale keď to takto spomínaš, pýta sa ťa okolie na tvoju prácu? Napríklad kamarátky, iné dievčatá a ženy v tvojom okolí, nepýtajú sa ťa na to, že počuj, aj ja by som chcela ísť robiť to, čo ty. Poraď mi, ako na to.... Často sa mi stávalo po príchode do tímu v IT, že som bola sama žena v kolektíve. Ale čo sa týka vývoja SW, tak pôsobí tu aj dosť žien. Mám aj dosť kamarátok, ktoré sa tiež venujú programovaniu, testingu, alebo riadia vývoj softwaru v tíme. Keď som prešla z networkingu na vývoj SW, tak kolegovia a známi sa ma pýtali, ako sa mi to podarilo, čo k tomu treba. Vaše kurzy som odporučila nejednému známemu, ale, žiaľ, stáva sa, že ľudí náročnosť a komplexnosť programovania odradí...čo je veľká škoda. Momentálne „žije“ celý svet pandémiou, ktorá ale potvrdila, aké dôležité sú digitálne technológie a zároveň aké sú nevyhnutné zručnosti v tejto oblasti. Ako to vnímaš ty teraz? Ako berieš to, že celý svet zdigitalizoval? Cítiš to vo svojej práci? Aktuálne pracujeme už pár mesiacov z domu. Keďže som menila prácu počas pandémie, tak niektorých nových kolegov som naživo ešte nestretla. Meetingy máme online, tak riešime všetku komunikáciu. Mne osobne to veľmi chýba, lebo som bola zvyknutá na prácu v kolektíve, to typické office prostredie, káva a rozhovory s kolegami. To mi chýba najviac, čo mi digitalizácia nevie vynahradiť. [Beh je super relax, Marian šport odporúča každému]Ako potom vyzerá taký  tvoj bežný pracovný deň?Mám takú typickú pracovnú flexi dobu. Začínam od 8:00 do 16:30. Ráno si prečítam maily, odpoviem na ne, ak sa ma to týka. Potom kontrola ticketov v Jire, čo je tool, kde si priraďujeme prácu, aby sme mali prehľad, kto na čom pracuje. Robíme v Scrume, takže denne máme meetingy. Tu každý povie, na čom robil včera, na čom bude pracovať dnes a či je nejaký problém, čo nevie vyriešiť. My testeri upravujeme testy, prípadne píšeme nové, ak je to potrebné a fixujeme chyby, reportujeme bugy a pod. Môžeš nám prezradiť možno aj konkrétnejšie nejakých klientov, projekty? Momentálne pracujem pre zákazníka Masternaut. Ide o aplikáciu, ktorá sa používa na monitorovanie áut, ich rýchlosti, spotreby paliva a pod. Samotný projekt je veľmi rozsiahly, ešte som na ňom krátko, takže sa tiež zoznamujem s jednotlivými modulmi. A čo tak nejaký tvoj konkrétny projekt, ktorý máš za sebou? Je niečo také?   Moja prvá práca v programovaní v Jave bola vo firme Wirecard. Tam som prvýkrát vyskúšala, aký je to pocit spustiť prvý automatizovaný test. Bolo to už pred vyše rokom, ale pamätám si to dodnes. Keďže pracujem stále pre nejakú firmu a riešim potreby konkrétneho zákazníka, tak na vlastných projektoch nepracujem. Popravde, ešte nemám na to vedomosti. Vo voľnom čase si však sama skúšam nové funkcie a píšem si vlastné testy mimo práce. Proste ma to baví 🙂 Ešte nám prezraď, či si plánuješ robiť teraz nejaké ďalšie kurzy? A či aj sleduješ trendy? Teraz sa snažím najmä nadobudnúť vedomosti ohľadom pracovného projektu, nech mám to náročné začiatočnícke obdobie pri zmene projektu za sebou (smiech) a večer po práci sa učím Selenium WebDriver. Tento kurz od Furbyho by som chcela dokončiť a tiež Java pre pokročilých od Jara Beňa. Mojou srdcovkou však stále ostáva to Selenium, hlavne WebDriver. Takže chcem si vedomosti ďalej rozširovať týmto smerom. Máš na Marianu otázky? Smelo ich píš do komentárov 👇
Vzdelávanie
21.01.2021
Lubomir Herko

Ako na vlastný Virtuálny privátny server - časť 1.

Každý týždeň jeden blog. Také som si dal predsavzatie do nového roka. Hneď prvý týždeň sa to nepodarilo, ale čo už 🤦🏻‍♂️ . V tomto texte (alebo seriáli?) budeme riešiť tvoj vlastný Virtuálny privátny server (VPS). Konkrétne: • zistíme čo to VPS vlastne je a aké sú výhody a prípadné nevýhody, • skúsime analyzovať naše potreby a vybrať vhodné parametre nášho servera, • VPS kúpime, nastavíme, zabezpečíme a pripravíme pre našu aplikáciu, • z GitHub repozitára nasadíme našu aplikáciu do produkcie pomocou GithubActions (CI), • kúpime doménu a nasadíme SSL certifikát pomocou letsencrypt. Je to veľa práce, pome na to. Načo mi je vlastný server?Hneď na začiatku si to vyjasnime: VPS je pre väčšinu projektov zbytočný. Pri dnešných možnostiach, ako svoju aplikáciu vieme nasadiť do produkcie a sprístupniť ju používateľom na pár klikov je často zbytočné riešiť komplikované nastavovanie vlastného servera. Hlavne údržba a riešenie prípadných problémov nám môže pripomenúť, ako zle sme sa rozhodli. Napriek tomu VPS má svoje miesto a niekedy sa naozaj môže hodiť, napríklad: • ak máš linux v malíčku, alebo svoj VPS už máš (si skúsený/á), • ak výkon zdieľaného hostingu viditeľne nestačí a už nevieš svoju aplikáciu ďalej optimalizovať, • ak nepostačujú dostupné technológie zdieľaného hostingu (potrebuješ doinštalovať vlastné knižnice, tooly), • ak má aplikácia extrémne nároky na výkon procesora, veľkosť pamäte, alebo potrebuješ ukladať gigabajty/terabajty dát, • ak sú dáta, s ktorými pracuješ príliž senzitívne na to, aby boli uložené na jednom mieste spolu s dátami iných používateľov zdieľaného hostingu. Asi by sme našli aj dalšie prípady, špecifiká, kedy sa hodí VPS, tieto nám však nateraz postačia. Ak teda spadáš do niektorého z kritérií, čítaj ďalej. Aký výkon servera potrebujem?Brzdi. Predtým, ako pristúpime ku kúpe servera by sme mali vedieť, aké sú naše požiadavky. Aspoň približne. Potrebujeme veľa jadier procesora? Alebo si vystačíme s jedným, prípadne dvoma jadrami? Potrebujeme veľa operačnej pamäte, alebo terabajty dát na disku? To sú ťažké otázky, ale poradím ti: • Ak aplikácia neexistuje a chceš VPS len vyskúšať, zvoľ najlacnejší server aký je v ponuke. Či máš 1 procesor, alebo 32 procesorov - terminál reaguje vždy rovnako rýchlo. • Ak je aplikácia nová a nepoznáš jej nároky, začni radšej s menej výkonným a lacnejším serverom. Napríklad CPU s jedným, alebo dvoma jadrami a 2G RAM. Väčšina providerov disponuje jednoduchým škálovacím nástrojom. Ak sa zvýšia nároky, pohneš v administračnom rozhraní nejakým sliderom a šup, máš o dve jadrá viac, prípadne dvojnásobok RAM - do pár sekúnd. • Ak si narazil na limity zdieľaného hostingu, pravdepodobne poznáš dôvod, prečo chceš vyskúšať VPS. Najlepšie ak si komunikoval s podporou svojho providera a potvrdili, že si narazil na limit ich CPU, alebo RAM. Kde kúpiť server?Takže, ak vieme aspoň približne čo chceme, urobme prieskum. Osobne mám vyskúšaných týchto predajcov VPS: • Linode, DigitalOcean, Hetzner, WebSupport Ubuntu Server a terminál bude u každého predajcu rovnaký. Riadiť sa teda môžeme podľa nasledovných kritérií: 2. cena 4. ešte raz cena 6. možnosti administračného rozhrania a prípadného navyšovania výkonu do budúcnosti 8. lokalita dátového centra (čo najbližšie k používateľom) Moja skúsenosťV poslednej dobe to u mňa osobne vyhráva Hetzner (hetzner.de). Frajeri majú vynikajúce ceny (vlastný server v čase písania tohoto textu vieš získať už za 3E/mesiac) a navyšovanie počtu CPU a RAM je riešené jednoduchým sliderom v administračnom rozhraní. Super vec 🎉. Dátové centrum môžeš zvoliť relatívne blízko - Falkenstein, Nemecko. TIP: V ľavom hornom rohu zmeníš jazyk webu z nemeckého na anglický. 😎 Vytvorenie konta HetznerAko sa už konečne teda dostaneme k vlastnému serveru? Takto: 2. Vytvor si konto na hetzner.de (klik) 4. Klikni na linku, ktorú ti Hetzner poslal na email zadaný pri registrácii 6. V sérii formulárov vyplň svoje iniciály (posledný formulár vyžaduje údaje o platbe, žiadna platba vopred však nie je potrebná) 8. Po vyplnení a odoslaní formulárov sa implicitne zobrazí formulár - nastavenia tvojich iniciál. Vpravo hore klikaj na štvorčeky a vyber z ponuky možnosť "Cloud": Ak máš po absolvovaní predchádzajúcich krokov pred sebou takúto obrazovku: [Konzola cloudu Hetzner.de.]je všetko v poriadku. Môj server!Už sme blízko. V zozname projektov (predchádzajúci obrázok) klikni na "Default" (tento názov vieš zmeniť cez ikonu troch bodiek v pravom hornom rohu karty produktu) a následne "Add server". [Vytvorenie nového VPS.] Parametre serveraTeraz zvolíme parametre servera. V tomto prípade zvolíme najlacnejší variant, ale niektoré možnosti popíšeme bližšie. Parametre servera teda nastavíme nasledovne: 2. Location (umiestnenie dátového centra): Falkenstein, pretože je najbližšie k Slovensku. 4. Image (operačný systém): Ubuntu 20.04, pretože s ním viem pracovať a tiež existuje obrovská komunita používateľov Ubuntu servera, čo uľahčí vyhľadanie návodov a riešení prípadných problémov. So serverom Ubuntu bude ďalej pokračovať aj tento tutoriál. 6. Type (typ servera): Štandardný, pretože nám nevadí, že spolu s našim VPS budú na fyzickom serveri bežať aj iné virutálne servery. Dedikovaný typ servera je vhodný len vtedy, ak potrebujeme naozaj veľký výpočtový výkon pre naše použitie. Z ďalších možností typu servera vyberme hneď prvý s označením CX11 a teda 1x VCPU, 2GB RAM, 20GB SSD v cene €2.99 za mesiac. 8. Volume (externý disk): Nevytvárame externý disk. • TIP: Ak vytvoríme VPS s veľkosťou SSD 20GB a potrebujeme viac dát, nemusíme hneď meniť veľkosť SSD na serveri, ale môžeme pripojiť k serveru externý disk. Má to jednu veľkú výhodu a jednu menšiu. Veľkou výhodou je, že v prípade zvyšovania výkonu (napr. z 1CPU a 2GB RAM na 4CPU 8GB RAM) môžeme zvoliť možnosť, že nechceme navyšovať aj veľkosť SSD - teda SSD ostane na hodnote 20GB. Takéto rozhodnute nám v budúcnosti umožní aj krok späť a teda zníženie počtu VCPU a RAM. Takto môžeme ušetriť nemálo finančných prostriedkov, ak potrebujeme zvýšiť výkon VPS len dočasne, nie natrvalo (napr. ak je aplikácia preťažená len v období Vianoc). 10. Network (sieť): Nevytvárame sieť, pretože nevytvárame skupinu serverov, ktoré potrebujeme mať na jednej sieti (napr. ak by sme potrebovali zvlášť VPS pre webserver a databázový server). 12. Additional features (ďalšie možnosti): V prípade možnosti User data nešpekulujeme (zatiaľ). To sa nám môže hodiť vtedy, ak chceme niektoré činnosti automatizovať, napríklad automaticky pridať používateľov do systému, spustiť rôzne skripty po inštalácii a podobne. Backups sú pravidelné zálohy, čo je nutnosť na produkčnom serveri, kde beží ostrá aplikácia. Táto služba je však spoplatnená - 20% z ceny nášho servera. Ak teda vytváraš produkčný server, nafurt, tak odporúčam aj so zálohami. Ak len testuješ, tak je to na tebe 😉 . 14. SSH Key (SSH kľúč): Ak máš skúsenosti s *nix systémami, možno máš vytvorený svoj id_rsa.pub kľúč. Ak áno, tu ho môžeš použiť a tak sa autentifikovať pri pripájaní k serveru. V opačnom prípade (a to je náš prípad) ti bude zaslané heslo k root použivateľovi na tvoj email. Tu teda nešpekulujeme a zatiaľ nezaškrtneme túto možnosť. • TIP: Povoliť vzdialený prístup pre root používateľa nie je bezpečné a používa sa len pre prvotné nastavenie servera (prvé prihlásenie do nového VPS). Jedným z prvých krokov po prihlásení sa do nového VPS by malo byť vytvorenie vlastného používateľa, ktorý sa bude prihlasovať pomocou kľúča (nie hesla) a zakázanie vzdialeného prístupu pre root používateľa. To bude aj náš postup. 16. Name (Názov): Toto je názov servera, ktorý je zobrazený v administračnom paneli hetzner, ale aj v konzole po pripojení k serveru cez SSH protokol. • TIP: Spomeň si na nejaké názvy svetov, postáv z tvojich obľúbených počítačových hier, komixov alebo filmov 😎 . Veľa čítania kôli pár klikom. Nastavenie servera teda môže vyzerať aj takto: [Nastavenie parametrov VPS.] Prvé SSH spojenie Po potvrdení nastavení chvíľu počkáme na spustenie novej inštancie nášho VPS. Zároveň nám Hetzner doručí email s informáciami o IP adrese, na ktorú sa budeme pripájať a heslom pre root používateľa. Tak skontroluj email a poď sa prihlásiť na server cez SSH. Aký program použiť na prihlásenie cez SSH? Pre MacOS je to Terminal, alebo iTerm. V prípade linuxu (akéhokoľvek) je to veľmi podobné MacOS - čiže opäť Terminal. Používatelia Windows môžu použiť na SSH pripojenie program Putty, prípadne nainštalovať WSL doplnok a použiť WSL terminal. Napíš do komentára ak sa stretneš s nejakým problémom, poriešime. Z emailu som sa dozvedel, ze IP môjho servera je 78.47.244.57 a heslo k používateľovi root je ss3PgfWnHwxUhUaKEEr9 (ani neskúšaj, server v dobe čítania tohto textu už nebude existovať). [Email s autorizáciou do nášho VPS.]TerminalPríkaz ssh, ktorý použijeme v MacOS, Linux alebo WSL termináli má nasledovný syntax: ssh pouzivatel@ip_serveraTeda v našom prípade: ssh root@78.47.244.57Terminál si vypýta heslo, môžeme ho len skopírovať a prilepiť. Pri zadávaní hesla do terminálu sa nezobrazujú žiadne hviezdičky ani odozva. Preto len potvrdíme príkaz klávesou Enter. Ak sa na server pripájame prvýkrát, SSH sa opýta, či chceme server uložiť do zoznamu SSH serverov. Napíšeme yes a spojenie sa v prípade správneho hesla úspešne nadviaže: [Prvé pripojenie k serveru cez SSH.]Pri prvom prihlásení je nutné zmeniť heslo používateľa root. Zadáme staré heslo a vytvoríme nové. Hotovo. Náš nový VPS server Ubuntu 20.10 je vytvorený. Čo ďalej?V ďalšej časti blogu budeme pokračovať s nastavením nášho servera: 2. vytvoríme si na lokálnom počítači SSH kľúč 4. vytvoríme na serveri vlastného používateľa a nastavíme prihlasovanie cez SSH kľúč 6. zabezpečíme server pomocou firewallu, fail2ban a iných nástrojov 8. nainštalujeme a spustíme webový server (nginx) 10. nainštalujeme a spustíme databázový server (postgresql, ak budeš potrebovať tak aj MySQL) 12. nainštalujeme závislosti (git, nodejs, ...) V tretej časti budeme riešiť deploy našej aplikácie na VPS: 2. kúpime doménu a nasmerujeme ju na server 4. naklonujeme našu aplikáciu na server, spustíme ju pod doménou a vytvoríme k nej službu (systemd service aby sa automaticky spustila pri prípadnom reštarte servera) 6. pomocou certbot nastavíme doméne SSL certifikát a sprístupníme aplikáciu pod HTTPS 8. pomocou GithubActions nastavime continous integration tak, aby sa po push do main branche spustili automatizovane testy a v pripade bezchybnosti sa aplikacia rovno nasadi do produkcie Veľa roboty máme. Ale veľa sa aj naučíme. Štvrtá časť nie je.
Rozhovory
11.01.2021
Martina Baumann

Lektor Erich Stark: Pandémia len potvrdila, že na trhu je nedostatok programátorov

Nedávno z našej dielne vyšiel nový kurz Ionic framework - vývoj hybridných mobilných aplikácií, ktorý má na svedomí Erich Stark. Náš nový lektor sa primárne venuje frontendu, pracuje na rôznych projektoch a popritom ešte učí webové technológie na Paneurópskej vysokej škole v Bratislave. A práve s ním sme sa porozprávali o samotnom kurze a nielen to. Pozreli sme sa na jeho príbeh, čo všetko má za sebou, ako napreduje a čomu sa presne venuje. V nasledujúcich riadkoch si už prečítajte o jeho skúsenostiach a zopár tipov, ktoré sa vám určite zídu. V Learn2Code máš nový kurz Ionic framerwork. Môžeš nám ho najskôr predstaviť, čo všetko v ňom nájdeme?Ionic je UI framework určený pre tvorbu mobilných aplikácií, ale vďaka jeho možnostiam umožňuje tvorbu aj desktopových a, samozrejme, klasických webových aplikácií. Vzhľad týchto komponentov je tak perfektne naštýlovaný, že by sme takmer nerozoznali rozdiel od natívnych aplikácií v iOS, resp. v Androide.  V kurze si prejdeme základné koncepty a komponenty frameworku primárne s integráciou Angularu (viete použiť aj Vue, React, ak ich už ovládate). Potom som vymyslel aplikáciu IonBank, kde tieto komponenty integrujeme do ucelenej aplikácie. Do kurzu ešte pribudnú nejaké kapitoly, ktoré rozširujú vlastnosti aplikácie a, samozrejme, ako ju dostať do obchodu s aplikáciami.  A pre koho je teda primárne určený? Môžu sa naň prihlásiť napríklad aj začiatočníci?Kurz je vhodný aj pre začiatočníka. V tomto kontexte začiatočníka myslím človeka, ktorý má základné znalosti z HTML, CSS a JavaScriptu. Potrebný zvyšok sa dá pochopiť počas kurzu. Avšak bolo by super, ak sa už stretol aj s frameworkom Angular. Prípadne React/Vue, v ktorých sa tiež dá Ionic UI použiť. Dobre, teraz si urobím kurz a čo ďalej? Čo môžem robiť, kde sa môžem uplatniť?Poznatky z kurzu vie študent aplikovať vo viacerých oblastiach v závislosti od preferencií. Ako som spomínal, Ionic je primárne UI framework určený pre mobilný vývoj. Takže, ak si bude chcieť vytvoriť mobilnú appku, ktorá pracuje s dátami, nemusí sa učiť pre začiatok natívne technológie (Kotlin, Swift), ale využije existujúci skill v tých webových. To je podľa mňa najväčšia výhoda, pretože čas máme obmedzený a nemôžeme vedieť všetko. Avšak vďaka jeho rozšíreniam je možné tvoriť aj progresívne webové aplikácie (tu by som spomenul napríklad https://zive.aktuality.sk/clanok/145060/progresivne-webove-aplikacie-maju-byt-este-dokonalejsie-google-chysta-zmenu/), ktorých počet bude tiež len rásť. Ale to pravdepodobne nestačí, ak chce človek rásť ďalej a zamýšľa sa nad tým, v čom pokračovať...ako sa vzdelávať, čo si prípadne z ponuky kurzov ešte vybrať? Čo odporúčaš potom?Po absolvovaní kurzu je vhodné si prehĺbiť znalosti z frameworku, ktorý tam používame (Angular/Vue/React). To nám umožní používať pokročilejšie vlastnosti daných technológií, a tak písať robustnejšie aplikácie. Výhoda, že všetky tri sú spracované formou kurzov aj na Learn2Code.  Čo by som ešte spomenul ako dôležité a často sa nad tým vývojári nezamýšľajú, je znovupoužiteľnosť, resp. zdieľanie kódu. Predstavme si príklad, že ovládame technológie ako Angular, Ionic a Backend si píšeme v Node.js. To nám umožňuje zdieľať napr. modely medzi Frontend a Backend. Zároveň by sme si vedeli medzi Angular a Ionic zdieľať vlastné UI komponenty. Samozrejme, zmysel to začne dávať až pri väčších aplikáciách. Poďme sa teraz porozprávať trošku viac aj o tebe. Ako si sa dostal k tomu, že robíš lektora pre Learn2Code? Kde ešte pôsobíš?V podstate už počas štúdia som pracoval v tejto oblasti a neskôr som začal pracovať ako kontraktor, kde sa s kolegami venujeme hlavne frontendu (https://starkcodes.com). Keď som im niečo vysvetľoval, ako by som to riešil alebo pristupoval k danému problému, často som dostal spätnú väzbu, že mi to ide celkom dobre. (úsmev) Tak som si uvedomil, že keď sa niečo naučím, viem z danej technológie vydestilovať tie dôležité časti a podať ich ďalej celkom v zrozumiteľnej forme. Samozrejme, je to potom iné, či to človek podáva online alebo prezenčne. A tak som sa rozhodol tento skill viac kultivovať a po štúdiu PhD. na FEI STU som začal učiť na Paneurópskej vysokej škole webové technológie.  Do online sveta som chcel už vstúpiť dávnejšie a keď prišla táto nešťastná pandémia a viac času som trávil doma, tak som si povedal, že by to mohol byť ten správny čas. Ako dlho sa tomu teda venuješ?Ak vezmem do úvahy všeobecne programovanie a webové technológie tak pracovne už asi šesť rokov. V roku 2018 sme mali v práci zaujímavý projekt pre mobilnú aplikáciu, kde som sa rozhodol použiť Ionic. Pri každom projekte človek narazí aj na isté problémy, ale všetko sa dá vyriešiť. Čo je ale dôležitejšie, treba používať správnu technológiu pre konkrétny projekt. Počas tvojej kariéry si sa vyprofilovali špeciálne len na frontend? Čo všetko máš už vo svojom portfóliu?Počas štúdia som sa naučil rôzne technológie, kde frontend mi sedel asi najviac. Avšak myslím si, že je to často ovplyvnené aj prvou prácou, kde sa človek začína profilovať na nejakú oblasť. Poslednou dobou sa zamýšľam nad tým, čo všetko musím ovládať, aby som zastrešil celkový vývojový proces aplikácie. Z toho dôvodu si študujem aj technológie pre tvorbu Backendu. Prioritne sa venujem HTML, CSS a JavaScript, ktoré sú veľmi dôležitý základ vo webovom svete, pretože tu budú asi nastálo, zatiaľ čo frameworky sa budú meniť podľa trendu. Takže pomocou nich som tvoril rôzne webové prezentácie alebo komponenty. Potom som rozšíril skúsenosti aj o frameworky ako Angular a neskôr Ionic. V súčasnosti pracujem na knižnici komponentov pre klienta, pomocou štandardu Web Components. Myslím si, že to by mohol byť ďalší zaujímavý kurz v blízkej dobe 🙂 Čo považuješ za svoj najväčší úspech?Mal som obdobie v živote, keď sa pretínala full time práca, doktorandské štúdium a ešte k tomu drobné projekty pre klientov. Neviem, či to bol teda úspech, ale bolo to náročné obdobie. Čo by som skôr považoval za úspech, že sa mi podarilo zladiť môj pracovný rozvrh po narodení dieťaťa tak, aby som mohol venovať dostatok času aj svojej rodine.  A ty máš svoju obľúbenú mobilnú aplikáciu?V roku 2020 som objavil mailovú aplikáciu HEY. Neuberá mi pozornosť pri čítaní mailov a viem sa sústrediť na to, čo potrebujem vybaviť a neskôr čítať newsletter v čase, keď to ozaj chcem a nie vtedy, keď mi to svieti v Inboxe.  Musí sa aj taký lektor dovzdelávať? Učíš sa aj ty? Ak chceme zostať aktuálni v našej oblasti, musíme sa stále vzdelávať. Takže áno, pravidelne. Treba sledovať rôzne novinky z oblasti, ktorej sa venujeme a občasne študovať aj nové technológie. Samozrejme, ideálne cielene a s vyskúšaním si na nejakom projekte, inak ich zabudneme. Ak by sa ťa niekto spýtal, čo všetko sleduješ, aké trendy, čo by si odpovedal? Máš aj nejaké zahraničné zdroje, zaujímavé tipy?Trendy je dobré si všímať, ale nie nutne hneď nasledovať. V súčasnosti si skôr vyhľadávam „mature“ projekty, ktoré spĺňajú svoj účel a držia veľmi dobrú kompatibilitu. Často sa stáva pri mladých projektoch, že entuziazmus vývojára vyhasne a potom sa musíte obzerať po novej knižnici a podobne. Nechcem odrádzať od objavovania nových trendov, pretože vždy sme v nejakej fáze. Niekedy potrebujeme experimentovať, pretože hľadáme niečo nevšedné a progresívne. A niekedy zasa potrebujeme vyvíjať projekt, pri ktorom vieme, že je to dlhodobá záležitosť, vtedy treba staviť na stabilnú technológiu. Novinky sledujem hlavne cez newsletter ako Frontend Focus alebo JavaScript weekly.  Myslíš si, že súčasná situácia, aj keď nie je veľmi priaznivá, na druhej strane môže otvoriť dvere tým, ktorí môžu mať slobodu a pracovať povedzme z domu, resp. z hocakého kútu sveta?Presne k tomuto sme aj posledné roky smerovali. Veľa ľudí už pracovalo vzdialene a dosahovalo vynikajúce výsledky. Súčasná situácia to len urýchli. Je smutné, že veľa ľudí prišlo o prácu, dokonca niektoré pracovné pozície aj zaniknú. Na druhú stranu tu máme nedostatok programátorov. Tu vidím priestor pre ľudí, ktorí zvažujú zmenu pracovnej oblasti a chceli by skúsiť napr. IT. Práve im by som dal takú radu. Možno si na začiatku budú myslieť, že všetko je náročné a nezvládnu to. Treba sa zamyslieť nad tým, ako sa učíme nové veci. Chce to TRPEZLIVOSŤ a ČAS. Môže to trvať mesiace, ale aj roky. Napr. odkedy som začal študovať, tak som neprestal ani vo voľnom čase. A stále vidím priestor na zlepšenie. Rozdiel sa láme v tom, keď už máme dostatok znalostí na to, aby sme začali robiť praktické veci a potom už len na tom staviame a vylepšujeme. Máš na Ericha nejaké otázky? Neváhaj ich napísať do komentárovej sekcie.
Ostatné
04.01.2021
Skillmea tím

Najpopulárnejšie kurzy a články v roku 2020

V roku 2020 sme na našom webe zverejnili viac ako 45 nových online kurzov. V tomto článku ti prinášame prehľad najpopulárnejších a najlepšie hodnotených kurzov roku 2020 a takisto najčítanejšie články z blogu. Poďme na to. Najpopulárnejšie kurzy roku 2020V roku 2020 bol najäčší záujem o online kurz tvorby webstránok Webrebel 1. V tomto kurze sa naučíš technológie HTML, CSS a JavaScript, popritom responzívny dizajn, ako funguje server, hosting, domény a všetky dôležité pojmy spojené s tvorbou webov. Kurz Webrebel 1 odporúčame každému záujemcovi, ktorí chce začať s tvorbou webstránok a programovaním. 2. Webrebel 1: HTML, CSS & JavaScript 🥇 4. Java pre začiatočníkov 🥈 6. Základy programovania a OOP 🥉 8. Webrebel 2: PHP 10. SQL databázy: MySQL a SQLite 12. Python pre začiatočníkov 14. JavaScript a ES6 16. Microsoft Excel 18. Visual Design Digital: Photoshop 20. Social Media Marketing Najlepšie hodnotené online kurzy roku 2020V rámci tohto rebríčka sme zobrali do úvahy len kurzy, ktoré mali 10 a viac hodnotení, inak by bol rebríček oveľa dlhší. Online kurz Základy programovania a OOP hodnotilo v roku 2020 viac ako 35 jeho absolventov a všetci mu udelili maximálnych 5 hviezdičiek. O niečo menej hodnotení, ale tiež len tých najvyšších mali online kurzy React, Angular, Vue (a TypeScript) a Branding - budovanie úspešnej značky. 2. Základy programovania a OOP 🥇 4. React Angular Vue (a TypeScript) 🥈 6. Branding - budovanie úspešnej značky 🥉 8. Git a GitHub základy 10. Microsoft Excel 12. SQL databázy: MySQL a SQLite 14. JavaScript a ES6 16. Úspešný content marketing 18. Client management 20. Pokročilé SEO stratégie Najčítanejšie blogy v roku 2020V tomto zozname sú články, ktoré vás v roku 2020 zaujímali najviac.  2. Vyskúšaj si Learn2Code na mesiac zadarmo 🥇 4. Čo je nové v Bootstrap 5 🥈 6. Známe weby, ktoré používajú WordPress 🥉 8. Success story: Michaela vymenila administratívu za frontend 10. Eratostenovo sito
Vzdelávanie
08.12.2020
Skillmea tím

Abstrakcia a zoraďovanie v kolekciách v Jave

Poďme sa porozprávať o abstraktných triedach v jave (abstract class in java). Abstrakcia slúži na schovanie zložitosti od používateľa a zobrazuje len relevantné informácie. Abstraktné triedy a metódy V našom príklade vieme, že všetky zvieratá vydávajú zvuk. Je to niečo abstraktné – niečo, čo si vieme predstaviť a v kóde to zapíšeme nasledovne. Upravme metódu v triede Animal. public abstract void makeNoise();Dáva to zmysel, lebo Animal nepredstavuje určité špecifické zviera a teda nevieme, aký zvuk vydá, ale vieme, že chceme aby všetko, čo bude dediť od Animal, vydávalo zvuk. Pomocou public abstract som povedal, že táto metóda nemusí mať vnútro – nemusí mať kód (implementáciu). Ak mám abstraktnú metódu, tak aj celá trieda musí byť abstract. public abstract class Animal{ public String name = "animal"; public abstract void makeNoise(); }Ak je trieda abstract, tak z nej nemôžem vyrobiť objekt. Načo by som aj robil objekt Animal, však je to len abstrakcia. Toto nebude fungovať: Animal animal = new Animal();Ak je Animal abstract a obsahuje abstract metódu, tak som povedal, že potomk musí napísať implementáciu abstract metódy alebo bude potom tiež abstract. Nám vyhovuje, aby Mamal bol tiež abstract. Tým pádom nemusíme vyrobiť implemntáciu. Z triedy Mamal zmažeme makeNoise a označíme ju za abstract. public abstract class Mamal extends Animal { public String name = "mamal"; }Teraz triedy, ktoré dedia od Mamal musia implementovať metódu makeNoise. Cat a Dog už danú metódu implementujú, teda nemusíme nič robiť. Ale Fox túto metódu nemá a preto ju musíme implementovať. IntelliJ IDEA nám v tomto pomôže skratkou. Stlačíme Alt + Insert a vyberieme Implement Methods. public class Fox extends Mamal { @Override public void makeNoise() { System.out.println("Ring-ding-ding-ding-dingeringeding!"); } } Zoraďovanie v kolekciáchPre zoraďovanie použijeme už existujúci algoritmus v triede Collections.sort(l). Písmeno l v tomto prípade bude List. Ak by tento List obsahoval sadu Stringov, boli by zoradené abecende, ak by obsahoval Dátum tak budú zoradene chronologicky. Ako je to možné? Je to preto, lebo tieto triedy implementujú rozhranie Comparable. Ak by si sa snažil takto zoradiť také triedy, ktoré neimplementujú toto rozhranie, tak program vyhodí výnimku. Existuje ale možnosť, že v tvojej triede implementuješ toto rozhranie. Potom toto triedenie je teraz považované za prirodzené. Príklad: Máme Osobu, ktorá implementuje Comparable. Musíme implementovať metódu 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()); } }Čo ak chceš použiť úplne iné ako prirodzené triedenie, chceš to triediť napríklad podľa veku. Alebo chceš triediť objekty, ktoré neimplementujú Comparable rozhranie? Tak si ho vyrobíš. Na to použiješ rozhranie Comparator a potom ho požiješ Collections.sort(e, VEK_TRIEDENIE);. 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()); } };Vyskúšame 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 ďalších blogoch sa pozrieme na zopár zaujímavostí z Javy 13 a takisto sa budeme venovať aj Kotlinu. Ostaň nám verný a uč sa Javu 😊
Vzdelávanie
16.11.2020
Skillmea tím

Funkcie VLOOKUP

Funkcia VLOOKUP sa používa vtedy, keď potrebujete nájsť údaje v tabuľke alebo rozsahu podľa riadka. Vyhľadajte napríklad cenu automobilovej časti podľa čísla časti alebo vyhľadajte meno zamestnanca na základe ID zamestnanca. Funkcia VLOOKUP patrí k najpraktickejším Excel funkciám. Funkcia VLOOKUP znamená: = VLOOKUP (čo chcete vyhľadať, kde ho chcete vyhľadať, číslo stĺpca v rozsahu obsahujúcom hodnotu, ktorá sa má vrátiť, vráťte približnú alebo presnú zhodu – označenú ako 1/TRUE alebo 0/FALSe). Vysvetlime si danú funkciu na jednoduchom príklade: • v databáze chceme pridať k ID klienta jeho priezvisko a mesto, z ktorého pochádza. • v jednej tabuľke (v ľavej, viď obrázok nižšie) nám chýbajú určité údaje o klientoch, konkrétne priezvisko a mesto • v druhej tabuľke (v pravej, viď obrázok) máme údaje o klientoch - jeho ID, priezvisko a mesto, z ktorého pochádza. Obidve tabuľky majú spoločný jeden identifikátor, a teda ID_klient. Na základe tejto spoločnej zhody vieme pomocou funkcie VLOOKUP vyhľadať údaje z jednej tabuľky a priradiť ich do druhej tabuľky. Riešenie: zadajme do bunky Priezvisko funkciu VLOOKUP a rozkliknime si ju. Argument funkcie Vyhľadávaná_hodnota je niečo, čo naše dve tabuľky spája, teda ID_klient. Argument funkcie Pole_tabuľky sú údaje z druhej tabuľky, z ktorej čerpáme (túto tabuľku si nezabudnite vo funkcii ukotviť pomocou klávesy F4). Ďalším argumentom fukcie VLOOKUP je Číslo_indexu_stĺpca, do ktorého napíšeme číslo stĺpca z našej druhej tabuľky - hľadáme Priezvisko, čo je druhý stĺpec, tak napíšeme číslo 2. Posledný argument funkcie je Vyhľadávanie rozsahu, ktorá môže byť približná alebo presná zhoda; TRUE (1) alebo FALSE (0). V našom prípade chceme presnú zhodu, teda použijeme 0 - FALSE. Funkcia bude zapísaná nasledovne: A tu je výsledok, podľa ID_klient sa nám zobrazia v našej prvej tabuľke priezviská zákazníkov Rovnako môžeme postupovať aj v prípade, že chceme doplniť MESTO klienta do prvej tabuľky. Krátke zhrnutie k funkcii VLOOKUP, obsahuje tieto 4 argumenty: 2. čo hľadám, 4. kde to hľadám, 6. v ktorom stĺpci je výsledok, 8. chcem hľadanú hodnotu presne alebo približne? Pokiaľ máš nejaké otázky k tejto funkcii, alebo je ti z článku niečo nejasné, napíš otázku do komentára.