Výsledky vyhledávání

pro ”c++” jsme našli 120 výsledků

Články (83)

Všechny články
Celostránkové editování v DIVI
Novinky
03.12.2021
Jaroslav Beňo

Celostránkové editování v DIVI

V říjnu a listopadu 2021 vyšly dvě novinky do perfektního Wordpress tématu DIVI. V tomto článku se na novinky podíváme podrobněji, konkrétně na první z nich. Celostránkové editování v DIVI. První novinkou je možnost editovat celou stránku odkudkoli. V minulosti, pokud jste chtěli upravit hlavičku stránky, tak jste museli přejít speciálně na místo pro úpravu hlavičky. Nyní umíte upravit všechno odkudkoli. Pokud to vidíš, umíš to upravit. Tato aktualizace ti umožňuje snadno přejít na tvé vlastní hlavičky, zápatí a šablony příspěvků během prohlížení webových stránek a tak je rychleji upravovat ve Visual Builderu. K úpravě částí tvého webu již není třeba přecházet přes informační panel WordPressu nebo Divi builderu. Když povolíš Visual Builder, můžeš upravovat vše, co vidíš, od horní části webu až po její spodní část. V jednoduchosti řečeno: bez ohledu na to, kde se na svém webu nacházíš, můžeš upravovat to, co vidíš. Samozřejmě, pomocí Divi umíš upravovat vše, co na stránce vidíš, ale v minulosti jsi musel jít přes Divi theme builder, který jsi musel lokalizovat a poté najít specifickou část stránky a tak ji upravit. To mohlo zabrat nějaký čas, zvláště pokud jsi měl vytvořeno několik templatů a nejprve jsi musel zjistit, který chceš upravit – který je aktivní. Nainstaluj updaty Jako první krok musíš udělat update Divi témata na nejnovější verzi. Pokud nemáš povoleny automatické updaty, tak postup je následující: půjdeš do Appearance – Themes a uděláš update.[Image]Pokud vlastníš jednorázovou licenci, tak updaty si umíš stahovat během prvního roku. Pokud ne, tak ti doporučuji zakoupit si plnou licenci - updaty máš stále zadarmo. Jak začít Jsme na našem webu, který chceme upravovat. Jsme přihlášeni a prohlížíme si web. [Image] V horní liště povolíme Visual Builder stisknutím na Enable Visual Builder. Nyní umíš jednoduše upravovat custom header, custom footer, stránky a prostě všechno, co na stránce vidíš.[Image]Teď už ti nic nebrání vyzkoušet tuto novinku a potěšit se s jednodušším editováním 🙂
Mario Šmýkal: Jak psát dobré články a texty? Dá se psaní naučit?
Rozhovory
30.12.2022
Tím Skillmea

Mario Šmýkal: Jak psát dobré články a texty? Dá se psaní naučit?

Mário Šmýkal se narodil v Prievidzi a vystudoval marketingovou komunikaci v Trnavě. Aktuálně pracuje v deníku SME, kde vede obsahové studio SME Creative, píše newsletter Škola nepsaní a v Prievidzi pořádá talkshow Takové ze života a běžecké akce Brose Night Run Prievidza.    V podcastu nám prozradil jak psát i jak nepsat, jaké jsou nejčastější chyby při psaní, jaké předpoklady má dobrý autor a uvedl i několik zajímavých pisatelských úspěchů.   Mário Šmýkal: Jak psát dobré články a texty? Dá se psaní naučit? ➡️ Co jsou podle tebe takové nejčastější chyby, které dělají autoři? To je velmi náročná otázka, neboť lze říci filozoficky i velmi prakticky. Kdybych měl mluvit prakticky tak: • nesprávně dlouhé věty  • nesprávně vyskládané věty  • nesprávné pořadí slov ve větách - to je velmi náročné • uspořádání informací v článku - nemůžeš začít nějakou těžkou nudou nebo historickým exkurzem, to jsou právě momenty, které se mohou objevit nejdříve ve 2/3 článku    Z filozofických věcí je asi nejdůležitější psát pro čtenáře a ne pro sebe. Ve většině případů autoři píší tak, aby se to líbilo jim.   Každý jeden článek, který píšu nebo edituji, čtu nahlas několikrát. Jakmile mě přestane bavit nebo v momentě, kdy uprchne moje pozornost, si to okamžitě vyznačím a zjišťuji, co se tam vlastně stalo. Snažím se pozorovat, proč mi tam ušla pozornost. Za normálních okolností by se nemělo stát, že by člověk nevydržel číst dostatečně poutavý text.   ➡️ Jaká je optimální délka standardního článku, který bys chtěl publikovat například do novin?   Závisí na formátu, například my máme: · nejkratší odrážkový text do 4000 znaků  · střední délka textu do 6000 znaků · nejdelší jsou kolem 9000 znaků   Napsat tak dlouhý článek, aby byl od začátku po konec dobrý, je dost náročné. Některá témata neodkomunikuješ rychle a krátce. Potřebuješ se do toho tématu ponořit jako do bahenní koupele, tak aby tě téma najednou obalilo a ty sis ho zapamatoval mnohem lépe, než kdybys o něm narychlo přečteš 5 vět.    ➡️ Informace je třeba prý prezentovat formou příběhů. Co ty o tom myslíš? Jaká je podle tebe nejzajímavější forma jak podat nějakou informaci?  Ano, příběh je jednoznačně důležitý. Dělám to od začátku a pravděpodobně to budu dělat navždy. Každý jeden z našich článků musí mít nějaký příběh a to je patrné i na číslech. Nejčtenější články, které máme, jako například o kuřatech v Kauflandu, dosáhly přes 200 000 přečtení. Když jsem šel psát reportáž o kuřatech v Kauflandu, až na místě jsem začal zjišťovat, jaká je to vlastně firma a jaké má zajímavé benefity pro zaměstnance. Když jsem o tomto napsal příběh a pouze mezi řádky zmínil kuřata, dosáhl článku výrazně lepších výsledků.   ➡️ Co by měl splňovat člověk, který chce psát články a dělat nativní obsah?V první řadě bychom měli být všímaví a citliví k věcem. Psaní se lze naučit, ale pouze někoho. Důležité je všímat si věcí, které jiní nevidí. Pouze 1 ze 100 lidí si všimne něčeho, co nikdo jiný když vejde do místnosti. Například, já jsem si všiml, že tramvaje v Bratislavě mají čísla 1, 3, 4, 7 a 9, což mě zaskočilo, protože číslo 4 je sudé, zatímco ostatní jsou liché. Toto je jen příklad, že nemusíte vědět odpověď na všechno, pokud se člověk naučí všímat věci, pak je snadné psát. Ale pokud si někdo nedokáže všímat věci, tak mu nic nepomůže. Ani vědět jak psát, protože bez schopnosti všímat si věcí, nikdy nebude moci napsat dobrý článek a bude klouzat pouze po povrchu.   V podcastu i na přednášce v Trnavě Mário vzpomínal, že psaní se lze naučit. Ale ne každého.   Inspiroval se citátem od Stephena Kinga: „I když je nemožné udělat ze špatného spisovatele schopného a stejně tak z dobrého spisovatele geniálního..."   .... je možné učinit ze schopného spisovatele dobrého. Je k tomu zapotřebí množství práce, nadšení pro věc a včasná pomoc. Tak jako zpěv nebo herectví nemůže dělat každý, stejně nemůže každý psát – nejlépe.   ➡️ Jak probíhá výběr nového kandidáta?  Tak v první řadě mě zajímá, co už napsal. Potom se pokaždé snažím vymyslet nějakou otázku nebo téma, které má kandidát zpracovat. Především se snažím objevit jeho všímavost. Je důležité umět si i domyslet (ne ve smyslu vymyslet něco vlastního). Uvedu na příkladu:    Na fotce jsou zimní běžecké závody. Tipněte si kdo vyhraje. [TIP: Všichni jsou navlečení, jen 2 mají kraťasy a krátké tričko.]⬇️ ⬇️ ⬇️ Určitě nevyhraje nikdo, kdo má dlouhý rukáv. Protože když běžíte rychle, tak vám bude vedro.  Čili při psaní je důležité umět si domyslet, pospojovat a přemýšlet v kontextu. Pro více Mariových zajímavých storiek si poslechněte Skillmea podcast: #9 Jak psát dobré články a texty? a pro hodnotné tipy pro psaní článků všemi deseti doporučujeme odběr newsletteru Škola nepsání.
Summer Code Camp 2015 - jak jsme to viděli my
Události
14.07.2015
Skillmea

Summer Code Camp 2015 - jak jsme to viděli my

V pondělí ráno 6. července Slovensko ovládly tropické teploty, lidé odpadávali od tepla a my jsme se chystali na letošní Summer Code Camp pro děti v  Digipointu , v nákupním středisku Polus City Center. Byli jsme plní očekávání a velmi jsme se těšili, když začaly přicházet první děti s rodiči.[Summer Code Camp 2015] Původně bylo naplánováno programování v herním vývojářském nástroji Unity, nicméně některé počítače s touto volbou nesouhlasily, a my jsme museli pokračovat s plánem B, tedy s programováním ve Scratchi. Cíl naprogramovat hru na styl Flappy Bird jsme však nezměnili :) První hodiny rychle uběhly a po vydatném obědě jsme vyrazili směrem do Petržalky, kde byla naší cílovou destinací známá vývojářská firma  Pixel Federation . Měli jsme příjemnou přednášku o game designu, o tom, jak probíhá celý proces vytváření počítačových her. Děti byly nadšené, o čemž svědčí i to, že během diskuse byla každá ruka vysoko ve vzduchu, kluci museli čelit nekonečnému množství otázek. Netřeba se ani divit, že po exkurzi v celé firmě by skoro každý chtěl v budoucnu pracovat pro Pixel Federation. [Děti během "vyučování" v letním táboře][Image] Druhý den po obědě jsme si to namířili do Mlýnské Doliny na Fakultu informatiky a informačních technologií. Tam nás čekala přednáška ve  FabLab -o tom, jak funguje 3D tisk, laserová řezačka a plotr. Nad našimi hlavami létaly i drony. Děti se (společně s námi :P) nestačily divit, co vše lze v dnešní době vytvořit, kam se technologie dostaly za poslední roky.[Image]Poslední den se nesl v duchu testování. Děti jsme rozdělili do dvou skupin a cílem bylo v týmu vytvořit jednu bludiskovou hru s určitými parametry. Výherce čekala sladká odměna, měli obrovskou motivaci. Po asi 40 minutách se ozvala první skupina s hotovou hrou. Samozřejmě ani poražení nezůstali bez odměny[Děti dostaly také certifikát] Děti dostaly certifikát o úspěšném absolvování celého tábora , jsme pyšní na každého, protože tvrdě pracovali, všichni byli velmi šikovní. Můžeme tedy konstatovat, že učit se programovat se dá is úsměvem a že nikdy není dost brzy začít s programováním. Věříme, že děti si odnesly cenné znalosti a budou mít krásné vzpomínky na tyto tři dny. My se už teď moc těšíme na následující Summer Code Camp! Příjemné léto všem a nezapomeňte, že Learn2Code je fajn!
Pražáci pozor: Čeká nás první meetup
Události
24.04.2024
Klára Procházková

Pražáci pozor: Čeká nás první meetup

Pokud se nacházíš na začátku své cesty v IT nebo zvažuješ změnu kariéry směrem k technologickému sektoru, pak bys neměl minout tuto skvělou příležitost. Připoj se k nám v Skillmea na inspirativním meetupu, který nabídne nejen cenné rady, ale i motivaci a podporu na tvé cestě k úspěchu v IT. Kdy a kde:• Datum: 9. května 2024 • Čas: Od 18:00 do 20:00 (následuje networking) • Místo: Mississippi House, Karolinská 706/3, 186 00 Praha 8 - Karlín [networking] Téma panelové diskuze: Jak rozběhnout kariéru v ITDiskutovat budou: Roman Hraška (Yablko) Roman je osobností známou v programátorském světě. Se svými mnohaletými zkušenostmi v oboru, stálým přispíváním na YouTube a tvorbou kurzů programování na Skillmea.cz, přináší nejen technické know-how, ale také inspiraci a motivaci pro začátečníky i pokročilé. Honza Javorek Honza není jen obyčejný programátor. Jeho dobrovolnické aktivity a zapojení do komunity kolem programovacího jazyka Python jej přivedly k vytvoření projektu junior.guru, který pomáhá začínajícím programátorům najít svou cestu v IT a získat první pracovní zkušenosti. Moderátor: Radovan Debnár, CEO ve Skillmea Radovan Debnár je spoluzakladatel a výkonný ředitel Skillmea, největší česko-slovenské vzdělávací platformy pro digitální dovednosti, která původně působila od roku 2012 pod názvem Learn2Code. Společnost založil spolu s Mariánem Kristeľem. Radovan má na starost zlepšování platformy Skillmea.cz a budování finanční, marketingové a HR strategie. Kromě toho má přehled o trendech ve vzdělávání, technologických startupech a zajímá se o inovace v oblasti umělé inteligence nebo kryptoměn. Radovan bude hostům pokládat otázky včetně těch z publika. Co můžeš očekávat?• Inspirativní diskuse: Naši hosté budou sdílet své příběhy, výzvy a tipy, jak dosáhnout úspěchu v IT. • Praktické rady: Jak začít s programováním, jak získat první pracovní zkušenosti a jak se orientovat v IT světě. • Networking: Po diskuzi bude příležitost setkat se s ostatními účastníky i speakery, sdílet zkušenosti a navázat nová kontakty. Jak se zapojit?Kapacita naší akce je omezená, proto si co nejdříve zarezervuj své místo. Registrace stojí pouhých 100 Kč a můžeš se zaregistrovat zde. Nepropásni tuto příležitost k posunu ve tvé IT kariéře! Přijď a inspiruj se s námi na Meetupu: Jak rozběhnout kariéru v IT. Pokud máš nějaké dotazy, neváhej nás kontaktovat na info@skillmea.cz. Těšíme se na setkání s tebou!
Code Week 2018
Události
02.10.2018
Skillmea

Code Week 2018

Co je Evropský týden programování? Evropský týden programování je nezávislé hnutí dobrovolníků, kteří ve své vlasti propagují programování v roli velvyslanců týdne programování. Všichni organizátoři akcí zaměřených na programování (školy, učitelé, programátorské kluby a kroužky, knihovny, podniky, veřejné orgány) se vyzývají, aby doplnili svou akci na mapu na stránce codeweek.eu . K čemu slouží týden programování?• Oslavuje programování jako tvůrčí činnost • Dává lidem svobodu • Spojuje lidi • Nadchne více lidí pro vědu, techniku, inženýrství a matematiku Co si mohu z této akce odnést já?• Programování je zábava! • Programování je tvůrčí! Lidstvo se od nepaměti věnuje tvorbě – nejprve s pomocí hlíny, kamene, cihel, papíru či dřeva, dnes už i díky počítačovému kódu. • Programování dává lidem svobodu! Digitální obsah nemusíte jen pasivně přijímat. Díky programování můžete věci i sami tvořit a zpřístupňovat je milionům lidí. Můžete vytvářet webové stránky či hry nebo kontrolovat počítač nebo robota kódem. • Je to možnost pochopit svět. Stále více věcí je vzájemně propojeno. Pokud víme, co se děje v zákulisí, pochopíme, jak funguje svět! • Programování nás učí algoritmickému myšlení, řešení problémů, kreativitě, kritickému myšlení, analytickému myšlení a týmové práci. • Až 90 % pracovních míst dneška vyžaduje digitální dovednosti včetně programování.[Image] Jak se mohu zapojit do Evropského týdne programování?• Programátoři mohou pořádat semináře v místních školách, co-workingových prostorách, komunitních střediscích nebo knihovnách. • Učitelé, kteří mají zkušenosti s programováním, mohou vést hodiny programování, vyměňovat si učební osnovy či pořádat semináře pro kolegy. • Učitelé, kteří (zatím) nemají zkušenosti s programováním, mohou zorganizovat semináře nebo pozvat rodiče či studenty, aby se navzájem naučili programovat. • Rodiče mohou podpořit své děti, aby navštívili seminář věnovaný programování. • Podniky a neziskové organizace mohou vést semináře o programování, poskytnout své zaměstnance jako školitele v rámci aktivity „staň se školitelem“, organizovat pro studenty zábavné programátorské soutěže nebo takové akce sponzorovat. • Veřejné instituce mohou pořádat semináře o programování nebo diskuse u kulatého stolu ve vlastních prostorách. • Každý, kdo se účastní akce zaměřené na programování, se o zkušenosti může podělit na webové stránce Evropského týdne programování a inspirovat ostatní! Nezapomeňte přidat své akce na stránce CodeWeek  a používat hashtagy #CodeEU a #CodeWeek.
Power BI vs Tableau: Co si vybrat v roce 2023?
Vzdělávání
11.03.2023
Skillmea

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

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

Lambda výrazy v Javě - část I.

V tomto a v následujících článcích se podíváme na zoubek lambda výrazem. Budeme si je vysvětlovat zcela dopodrobna, abychom je pochopili a využívali. Obsahově se zaměříme na tyto oblasti: 1. porozumění lambda výrazům, 2. použití lambda výrazů, 3. funkcionální rozhraní (functional intefaces), 4. reference metod (method references), 5. vylepšení na kolekcích. Proč použít lambda výrazy? Řekneme si pár odrážek, proč je používat. • povoluje použít takzvané funkcionální programování, což je dosud něco, řekl bych divné, protože Java je objektově orientovaný jazyk, • zpřehledňují kód, lepší čitelnost v některých případech, kde bychom použili několik zbytečných řádků, abychom napsali totéž. Možná se zamýšlíš, proč používat funkcionální programování v jazyce, který je objektově orientovaný. Už není OOP tak dobré? Už zanikne? Ne, nezanikne a java je a myslím si, že pořád bude objektově orientovaný jazyk. Toto funkcionální programování ber jen jako další nástroj, který jako vývojář máš ve své ruce. U OOP jsou vývojáři zvyklí přemýšlet v podstatných jménech, v objektech, ve třídách. Například Pes štěká. Štěkání je součástí Psa. Tím pádem metoda, která bude zajišťovat psí štěkání, je součástí třídy Pes. Někdy ale potřebuji kus kódu, metodu – nebo jinak řečeno funkci, která nepatří do žádné třídy speciální. Podsunutí chování do metodyUvažuj nad tím, že máš metodu, která na konzoli vypíše nějaký text. Například staré známé Hello World. Pro tento účel bychom si vytvořili třídu, které by byla metoda pro vypsání Hello Word. Tuto metodu bychom pak vypsali na konzoli v main metodě. Příklad v idea Lambda2. Naším úkolem bude nyní předělat tento kód tak, abych dané metodě podsunul chování a uvnitř té metody se jen provede to chování. Ukažme si na příkladu. Takže jsme udělali, co jsme chtěli. Do metody jsme podsunuli chování jako argument a poté jsme jej provedli. Ale ne tak přesně. Do metody jsme podsunuli něco, co má v sobě chování. Podsunuli jsme implementaci rozhraní, která má v sobě metodu, která provede očekávané chování. Právě tomuto chtějí lambda výrazy zabránit. Chtějí zabránit tomu, abychom podsouvali objekty, ale chtějí, abychom podsouvali funkce. Namísto tohoto: public void printHelloWord(IHelloWord helloWord){ helloWord.sayHello(); } chceme do metody vložit nějakou akci, nějakou funkci. Tento přístup umožňuje chovat se k funkcím jako k hodnotám. public void printHelloWord(funkcia){ funkcia(); } Pokud napíšu String jméno = “Jaro”; tak jsem hodnotu Jaro přidělil do proměnné jméno. Nyní jsme ale nastínili, že do nějaké proměnné bychom chtěli vložit blok kódu, který prezentuje naši funkci. Takže blok kód by se stal hodnotou a ta by se dala vložit do proměnné. Takže tam, kde používám danou proměnnou, tak tam používám i danou funkci, která je v ní. Pro představivost, chceme dosáhnout tohoto: premennaSFunkciou = public void sayHello() { System.out.println("HelloWord impls"); } Toto je možné pomocí lambda výrazů. Nejprve se ale podívejme na tento kus kódu a řekněme si, co nepotřebujeme: • public – označuje mi, jestli je něco veřejně dostupné mimo třídu, dává smysl v kontextu třídy, tady ale přidělujeme do proměnné, tak to nepotřebujeme, neboť funkce je dostupná tomu, kdo pracuje s danou proměnnou. premennaSFunkciou = void sayHello() { System.out.println("HelloWord impls"); } • název sayHello = pokud přistupujeme k hodnotě, která je v proměnné, tak k ní přistupujme názvem proměnné, v našem případě je název proměnné proměnnou SFunkcí, takže ani druhé jméno nepotřebujeme. premennaSFunkciou = void () { System.out.println("HelloWord impls"); } • typ návratové hodnoty – při psaní lambda výrazů nemusím psát, jaký je návratový typ, překladač ví, podle nitra metody, co se vrací. premennaSFunkciou = () { System.out.println("HelloWord impls"); } Toto ale ještě není lambda výraz. Pokud napíšu šipku (pomlčka - a znaménko větší >) mezi závorky a blok kódu, tak tehdy jsme vytvořili labmda výraz. premennaSFunkciou = () -> { System.out.println("HelloWord impls"); } Pokud metoda obsahuje jen jeden řádek, tedy ne více řádků, tak lze dále upravit tento výraz a to tak, že odstraníme složené závorky. Pokud je více řádků, tak složené závorky ponecháme. premennaSFunkciou = () -> System.out.println("HelloWord impls"); Teď si už umíme představit, udělat, to, že pošleme funkci jako parametr metody a uvnitř spustíme danou funkci. public void printHelloWord(------){ -----(); }Do metody můžeme vložit jako argument při volání metody přímo lambda výraz. printHelloWord(() -> System.out.println("HelloWord impls")){ PříkladyNapiš metodu, která vezme jako parametr číslo a vynásobí ho 5ti.nasobokPiatichFunkcia = public int nasobokPiatich(int i){ return i*5; }Přepíšeme to na lambda výraz, vyškrtám všechno, co nepotřebuji. Tedy název, návratovou hodnotu a modifikátor přístupu. nasobokPiatichFunkcia = (int i){ return i*5; }Napíšeme tam šipku a jelikož řádek je tam jen jeden, tak umíme odmazat kudrnaté závorky. nasobokPiatichFunkcia = (int i) -> return i*5;Tady máme další pomůcku, nebo možnost škrtat. Jelikož java kompilátor zná vnitřek metody a ví, co má vrátit, můžu vymazat i return. nasobokPiatichFunkcia = (int i) -> i*5;Když máme jednořádkový lambda výraz bez složených závorek, tak je nezbytné nepoužívat return. SčítáníscitaniFunkce = (int a, int b) -> a+b;  OdčítáníodcitaniFunkce = (int a, int b) -> a-b; Bezpečné děleníbezpecneDelenieFunkcia = (int a, int b) -> { if(b==0) { return 0 ; } return a/b; };Spojení řetězcůstringJoin = (String x, String y) -> x.concat(y);  Stále jsme v Javě. Tedy v typovém jazyce. Jaké jsou typy těchto proměnných, které v sobě drží lambda výrazy? Video:Pokud tě více baví poslouchat a dívat, tak si můžeš prohlédnout sérii videí o lambda výrazech v kurzu Java pro pokročilé. ZáverPokud by ses chtěl dozvědět o Javě víc nebo jsi nepochopil všechno, tak jsem i pro tebe připravil online kurzy o Javě na https://skillmea.sk. Pokud se chceš o mně dozvědět více, tak klikej na jaroslavbeno.sk nebo mě sleduj na sociálních sítích – youtube, facebook, instagram, linkedin.  Zakomponuji i malou reklamu. Ve spolupráci s tvůrci židle Neseda.com ti nabízím s kódem/kuponem JaroslavBeno 10% slevu (aplikovatelná i na zlevněnou židli). Já jsem Jaro a my se vidíme, slyšíme-li Bůh dá příště. Čaves.
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í.