Vzdělávání

Sekce vzdělávání nabízí články o různých vzdělávacích programech, včetně front end developer kurzů a kurzů jako kurz Excel, které vám pomohou získat praktické dovednosti. Objevte nejlepší způsoby, jak se vzdělávat online a posunout své schopnosti na vyšší úroveň.

Video editor pro kvalitní reels. Porovnejte DaVinci resolve vs. Finalcut Pro
Vzdělávání
15.01.2022
Skillmea

Video editor pro kvalitní reels. Porovnejte DaVinci resolve vs. Finalcut Pro

DaVinci Resolve je dobře známý jako robustní platforma pro color grading a korekci barev. Zatímco Premiere Pro je vysoce respektovaný NLE editor (non-linear editor). Premiere Pro je také plně integrován s dalším softwarem Creative Cloud od Adobe, včetně Photoshopu, Illustratoru, Audition a nejvíce s After Effects. Dalším hráčem na trhu editování a tvorby videa je Final Cut Pro, nabízený společností Apple. Final Cut Pro, Adobe Premiere Pro a stále populárnější DaVinci Resolve soupeří o pozornost dnešních video editorů. Podívejme se na výhody a nevýhody jednotlivých programů a sami se rozhodněte, jak každý z nich ovlivní váš pracovní workflow a přispěje ke zvýšení produktivity. 🌍 Celkový přehled Začněme všeobecným pohledem na každou platformu a na to, co ji odlišuje od ostatních. DaVinci Resolve Firma Blackmagic Design přeměnila DaVinci Resolve z aplikace na color grading na výkonnou aplikaci pro postprodukci videa. Resolve spojuje rychlost Final Cut se známými konvencemi Premiere Pro. Stránky Cut a Edit vám umožňují zvolit si svůj přístup k úpravám. Dokonce přidali externí hardware, aby do procesu střihu vnesli tradiční pocit „pásky“. Následuje grafika založená na nodech, efekty a třídění barev. Barevné nástroje DaVinci Resolve jsou vysoko nad konkurencí a přinášejí opravdu vynikající výsledky. Zvuk Fairlight dává editorům možnost pracovat na svém zvuku přímo v aplikaci. Final Cut Pro S Final Cut Pro X nabízí Apple nejneortodoxnější řešení v této skupině programů. Apple ve svém přístupu k úpravám považuje video za „údaje“ a ne za „filmové klipy“. Nástroje pro organizaci, klíčová slova a protokolování umožňují editorům efektivně a rychle organizovat obrovská množství záznamu. Magnetická časová osa zdůrazňuje spíše vztahy mezi klipy než celkovou časovou osu a efektivně pracuje na zefektivnění každého kroku procesu. Final Cut Pro je rovněž neustále optimalizován pro hardware Apple a rodinu kodeků ProRes. Výsledkem je editor, který se zaměřuje na metadata pro organizaci a rychlost ve střihu i exportu videa. Pokud hledáte online vzdělávací kurzy, které vás naučí efektivně pracovat s těmito nástroji, existuje řada možností. Ti nejlepší video kurzy často zahrnují podrobné lekce na všechna tato řešení, což vám pomůže najít ten správný nástroj pro váš projekt. Adobe Premiere Pro Až do verze Final Cut Pro 7, Final Cut Pro a Premiere Pro zaujaly do značné míry podobný přístup k postprodukci. Když Apple radikálně změnil své editační paradigma s příchodem Final Cut Pro X, Adobe se zaměřil na editory, kteří změnu neuvítali. V mnoha ohledech se společnost Adobe zaměřuje na to, aby byla nejběžnějším nástrojem. Známé koncepty, jako jsou koše a stopy, zkušení editoři velmi dobře znají. Ti, kteří pracují s VFX, milují dynamické propojení mezi Premiere Pro a After Effects, které umožňuje projektům přesouvat se mezi různými nástroji Adobe, aniž by je editoři museli exportovat nebo dekódovat. Adobe také obsahuje silnou sadu výkonných zvukových nástrojů v balíku Creative Cloud s Adobe Audition, který pomáhá editorům vyladit zvuk do finální podoby, aniž by opustili ekosystém Adobe. Kromě toho na Premiere Pro naleznete více editorů než na jiných platformách, díky čemuž je skvělou volbou při spolupráci s jinými týmy, vzdělávání a řešení případných problémů.DaVinci Resolve.  [DaVinci Resolve] 🧩 Rozhraní (interface) DaVinci Resolve DaVinci Resolve používá free-form editor časové osy. Rozděluje je do více sekcí, aby bylo možné snáze najít a pochopit různé části úpravy videa. Bezplatná verze nabízí pět sekcí - Cut & Edit, Fusion, Color, Fairlight a Deliver. Fairlight je místo, kde můžete upravovat zvuk videa. Final Cut Pro Final Cut Pro využívá magnetickou časovou osu, která vše zjednodušuje do jedné stopy a efektivně organizuje. To poskytuje Final Cut Pro výhodu používání zjednodušené časové osy, která usnadňuje novým uživatelům úpravy videa. Nemůžete si ji však přizpůsobit podle svých představ, ale pomocí klipů můžete dělat všechno, jako je slučování, označování, přidávání grafiky a mnohé další. Adobe Premiere Pro Premiere Pro používá časovou osu tradičního nelineárního editoru (NLE) se stopami a hlavami stop. Obsah vaší časové osy se nazývá sekvence a pro lepší organizaci můžete mít vnořené sekvence, podsekvence a dílčí klipy. Časová osa obsahuje také karty pro různé sekvence, což může být užitečné, pokud pracujete s vnořenými sekvencemi. Uživatelské rozhraní je mimořádně konfigurovatelné a umožňuje vám odpojit všechny panely. Můžete zobrazit nebo skrýt miniatury, průběhy, klíčové snímky. Existuje sedm předkonfigurovaných pracovních prostorů, včetně sestavy, úprav, barev a nadpisů. 💾 Organizace mediálních souborů DaVinci Resolve DaVinci Resolve udržuje věci organizované pomocí sekce vyhrazené pro přidávání médií. Karta Media vám umožňuje přidat jakákoli média, která můžete později použít ve videu. Může to být videoklip, obrázek, zvuk nebo cokoliv, co podporuje DaVinci Resolve. Nemůžeme nezmínit dynamické složky, které skvěle fungují pro vyhledávání souborů a jejich třídění. Final Cut Pro Na druhé straně Final Cut Pro vám umožňuje snadno organizovat soubory. Obsahuje možnosti, jako jsou knihovny, události, role a označování klíčových slov při importu médií do Final Cut Pro. Knihovna je místo, kam importujete své soubory a média. Kromě toho, že je jen importujete, můžete klipy také přejmenovat v dávkách a sledovat je všechny na jednom místě. Adobe Premiere Pro Stejně jako tradiční NLE, Premiere Pro umožňuje ukládat související média do zásobníků, které jsou podobné složkám. Stejně jako v případě složek, můžete mít zásobníky v rámci zásobníků. Na položky můžete použít i barevné štítky, ale ne klíčová slova. Panel Knihovny vám umožňuje sdílet prostředky mezi jinými aplikacemi Adobe, například Photoshop a After Effects.[Final Cut Pro X] 🔊 Audio DaVinci Resolve DaVinci Resolve přichází s Fairlight, který představuje významnou konkurenci tomu, co nabízí Final Cut Pro a Adobe Premiere Pro. Fairlight je aplikace zabudovaná do DaVinci Resolve a je k dispozici v samostatné sekci pro všechny potřeby úprav audia (zvuku). Avšak i na kartě Upravit (Edit) můžete provést několik základních úprav zvuku. Fairlight poskytuje kompletní DAW (Digital Audio Workstation) pro úpravu zvuku s různými efekty, nahráváním, mícháním stop a mnoho dalších. Final Cut Pro Final Cut Pro vám umožňuje snadno používat zvuk na časové ose. Ve srovnání s DaVinci Resolve je to nejdůležitější bod Final Cut Pro. Dodává se s širokou škálou bezplatných (royalty-free) audio stop, které můžete použít na své časové ose bez obav z porušování autorských práv. Navíc, když importujete zvuk do Final Cut Pro, automaticky se odstraní většina hluku na pozadí. To znamená, že si můžete vybrat iz rozsáhlé knihovny doplňků, abyste věci dělali rychleji. A co se týká důležitých funkcí, můžete stříhat, mixovat, spojovat a dokonce použít doplněk Apple Logic Pro k získání efektu prostorového zvuku ve vaší audio stopě. Adobe Premiere Pro Audio Mixer v Premiere Pro zobrazuje vyvážení, jednotky hlasitosti (VU), indikátory oříznutí a ztlumení/sólo pro všechny stopy časové osy. Můžete jej použít k úpravám během přehrávání projektu. Nové stopy se automaticky vytvoří, když pustíte zvukový klip na časosou osu a můžete určit typy jako Standard, Mono, Stereo, 5.1 a Adaptive. Máte-li nainstalován Adobe Audition (aplikace v Creative Cloud), můžete mezi ním a Premiere Pro přepínat zvuk a využívat pokročilé techniky, jako je adaptivní redukce šumu, parametrický ekvalizér, automatické odstranění kliknutí, studiový reverb a komprese. 🎨 Color grading DaVinci Resolve Pokud jde o color grading, DaVinci Resolve je absolutní špička. Pokud se víc zajímáte právě o barvení videa, DaVinci Resolve může být pro vás ideálním nástrojem. Nabízí širokou škálu rozsáhlých a pokročilých nástrojů pro úpravu barev. DaVinci Resolve původně začal jako nástroj pro korekci barev, takže je jistě nejlepší ve své třídě. Final Cut Pro Final Cut Pro přichází se sadou nástrojů pro korekci barev a color grading. Patří mezi ně sada nástrojů, jako jsou křivky, LUT, barevná kolečka a mnoho dalších presetů. Dokonce ani s těmito funkcemi se třídění barev ve Final Cut Pro nepřibližuje tomu, co nabízí DaVinci Resolve. Adobe Premiere Pro Premiere Pro obsahuje nástroje Lumetri Color. Jsou to funkce pro profesionální color grading, které dříve existovaly v samostatné aplikaci SpeedGrade. Nástroje Lumetri podporují 3D vyhledávací tabulky (LUT) pro výkonný a přizpůsobitelný vzhled. Nástroje nabízejí pozoruhodné množství manipulace s barvami spolu s velkým výběrem vzhledu filmu a HDR. K dispozici jsou také předvolby úprav Sytost, Vibrance, Faded Film a Sharpen. Nejpůsobivější jsou možnosti Curves a Color Wheel. Program obsahuje pracovní prostor určený pro úpravu barev.[Adobe Premiere Pro] 🚀 Motion Graphics DaVinci Resolve DaVinci Resolve má samostatnou část věnovanou pohyblivé grafice s názvem Fusion. Jelikož se jedná o pokročilý nástroj, může vyžadovat určitou dávku trpělivosti a zaškolení, abyste pochopili, jak se s ním pracuje a jak funguje. Aplikaci však není třeba instalovat aplikaci samostatně. S Fusion integrovanou do DaVinci Resolve můžete snadno vytvářet a přesouvat věci a přitom zůstat v DaVinci Resolve. Final Cut Pro Pokud jde o Final Cut Pro, nenabízí speciální možnost pro pohyblivou grafiku. Namísto toho ji můžete vytvořit pomocí Apple Motion. Je jednoduchý na používání a obsahuje všechny možnosti, které potřebujete k vytvoření základní grafiky. Získáte výhodu výběru z široké škály pluginů a šablon pro vytváření pohyblivé grafiky mnohem jednodušší. Adobe Premiere Pro Pokud jde o pohyblivou grafiku, v Creative Cloudu od Adobe je jasnou volbou číslo jedna After Effects, což je ale samostatná aplikace. After Effects je „industry standard“ pro pohyblivou grafiku a jeho kompatibilita a propojení s Premiere Pro je vynikající. Musíte se však naučit ovládat novou aplikaci, což vyžaduje určitý čas a dovednosti. 💰 Cena a dostupnosť DaVinci Resolve DaVinci Resolve je k dispozici zdarma nebo v komerční verzi (DaVinci Resolve Studio), která stojí 295 USD – jednorázový poplatek. Bezplatná verze DaVinci Resolve je dostatečná i pro ty nejzkušenější profesionální editory. DaVinci Resolve je k dispozici pro Windows, Mac i Linux, což mu dává výhodu oproti Final Cut Pro i Adobe Premiere Pro. Final Cut Pro Final Cut Pro stojí jednorázový poplatek 299 USD, který se následně přiřadí k vašemu Apple ID a lze jej nainstalovat na více počítačů. Final Cut Pro je k dispozici pouze pro počítače Mac, takže pokud žádný nevlastníte, musíte si jej koupit také. Adobe Premiere Pro Adobe používá model předplatného (subscription) pro všechny své Creative Cloud aplikace a ceny jsou různé. Jen Premiere Pro vás bude stát 23,99 Eur měsíčně. Případně je možné objednat si celý Creative Cloud balíček se všemi aplikacemi (včetně After Effects, Photoshop, Illustrator, InDesign apod.) v ceně 59,99 Eur měsíčně. Není však možné objednat program a mít k němu časově neomezený přístup, je třeba platit měsíční poplatek. Záver Každý z nástrojů pro střih videa má své silné stránky: Premiere Pro je nejpoužívanější, Final Cut Pro X je nejrychlejší a DaVinci Resolve obsahuje „vše v jednom“. Mějte také na paměti, že vývojáři těchto produktů v Adobe, Apple a Blackmagic Design neustále přinášejí nové aktualizace s vylepšeními. Naučte se důkladně jednu z těchto aplikací a ve světě editování videa se určitě neztratíte.
Jak programovat hry. 8 nejpopulárnějších programovacích jazyků pro vývoj her
Vzdělávání
28.12.2021
Skillmea

Jak programovat hry. 8 nejpopulárnějších programovacích jazyků pro vývoj her

Tvorba her je tvůrčím úsilím, které vyžaduje jak kreativitu, tak technologické znalosti. Herní vývojáři musí znát programovací jazyky, které splňují specifické požadavky herního vývoje. Většina tvůrců her měla problém vybrat ideální programovací jazyk pro vývoj her, což je téma, kterému se věnují také IT kurzy a rekvalifikační kurzy zaměřené na tvorbu her. Je možné použít programovací jazyky jako C++, Python a další, přičemž některé jazyky vynikají efektivitou a výkonem více než jiné. Výběr programovacího jazyka pro herní vývojáře závisí na typu hry (konzole, počítač nebo mobil) a míře interaktivity. V tomto článku představíme top 8 programovacích jazyků pro vývoj her, což může být užitečné pro ty, kteří chtějí začít s vývojem her v rámci vzdělávacích kurzů. Podle výzkumné zprávy od Market Research Future (MRFR), „Informace o trhu s videohrami podle herního zařízení, podle typu hry, podle koncového uživatele a regionu – prognóza do roku 2027“ byl videoherní trh oceněn na 155,9 miliard v roce 2019 a velikost odvětví má růst ročním tempem 14,5 % do roku 2026. Mezi dominantní hráče na videoherním trhu patří Ubisoft Entertainment, Electronic Arts, Qualcomm Wireless Communications Technologies, Nintendo nebo Activision Blizzard. 1. C# C# je v současnosti jedním z nejoblíbenějších programovacích jazyků pro herní vývoj, zejména díky široké podpoře v různých herních enginech. Tento jazyk je vyhledávaný v IT kurzech pro vývoj her a stal se klíčovým mezi herními vývojáři. Jedním z důvodů jeho popularity je XNA framework vyvinutý společností Microsoft speciálně pro herní účely. XNA framework je ideální pro tvorbu her na Windows a Xbox, což z C# činí všestranný nástroj. Navíc, herní engine Unity3D, který také podporuje C#, umožňuje vytvářet hry pro různé platformy, včetně iOS, Android, PlayStation a Windows. Populární hry vyvinuté pomocí C# zahrnují Pokemon Go a Super Mario Run, což inspiruje mnoho začínajících vývojářů, kteří mohou začít svou cestu s herním vývojem díky rekvalifikačním kurzům. 2. C++ Není žádným překvapením, že C++ je jedním z nejlepších jazyků pro vývoj her, zejména proto, že je to populární a flexibilní řešení. C++ je známý svou vysokou úrovní abstrakce, která umožňuje mít přesnou kontrolu nad tím, jak hardware počítače interaguje s kódem. C++ také poskytuje podrobnější kontrolu nad tím, jak systém zpracovává grafiku, což hraje v herním průmyslu velmi důležitou roli. Další klíčovou výhodou používání C++ je, že vám umožňuje optimalizovat speciální části herního designu a dát jim jejich vlastní abstrakce. Je to podobné, jak dát specifickým prvkům hry vlastní infrastrukturu a zdroje.   Tato úroveň podrobného vývoje her je u mnoha jiných jazyků náročná, ne-li nemožná. C++ byl použit k vytváření populárních her jako StarCraft, Football Pro nebo Counter-Strike. 3. Java I když Java neposkytuje stejnou úroveň ovládání jako C++, mnozí považují Javu za nejlepší jazyk pro vývoj her. Popularita Javy je částečně způsobena její jednoduchostí použití, což z ní činí skvělé řešení pro mnohé nové herní vývojáře. Java komunita také poskytuje velkou sbírku nástrojů a jiných open-source řešení. Díky tomu je vývoj her mnohem rychlejší, zvláště proto, že můžete najít kód, který již byl napsán k použití ve vaší hře. Ve srovnání s C++ nabízí Java jednoduché psaní, ladění, učení a kompilování. Hry, jako například Mission Impossible III, Minecraft, FIFA 11 a Ferrari GT 3: World Track, byly všechny vytvořeny pomocí Javy. 4. JavaScript Pokud jde o vývoj online her, jen málo jazyků je lepších než JavaScript. JavaScript si dobře rozumí s HTML i CSS, což usnadňuje vývoj her pro více platform. Někteří programátoři považují JavaScript za pohodlné všestranné řešení, protože jej můžete použít k vytváření animací a interaktivních prvků. Online komunita JavaScriptu je také obrovská, takže můžete najít řadu předem navržených prvků, které můžete použít ve svých vlastních hrách. JavaScript je jazyk, který stojí za herními hity jako American Girl, Angry Birds a Aquaria. Chcete-li začít s jazykem, vyzkoušejte náš kurz Dělej hry v JavaScriptu. 5. Python Ačkoli není tak populární jako Java nebo C++, Python sa používá na vývoj her. Jeho knihovna PyGame je vhodná pro vývojáře, snadno se používá k vytváření her a umožňuje vývojářům rychle vytvářet prototypy her. Kromě toho, stejně jako Java a C++, i Python běží na principech OOP. Jeho jednoduchá křivka učení činí z Pythonu oblíbenou možnost pro mnohé začínající herní vývojáře. Některé populární hry vytvořené pomocí Pythonu zahrnují Battlefield 2, Disney's Toontown Online, Eve Online a Frets on Fire. 6. HTML5 HTML není programovací jazyk, ale přesto je v našem žebříčku. HTML5 je jednou z nejlepších možností  pro herní vývojáře pro vytváření aplikací a her pro různé platformy a prohlížeče. Dále jej lze snadno používat s JavaScriptem. HTML5 je široce preferováno pro vývoj her pro své špičkové herní enginy. Herní frameworky včetně Construct 2, ImpactJS, Phaser, Turbulenz a Booty5 převzaly zodpovědnost za proces vývoje her v HTML5. Některé populární hry vytvořené pomocí HTML5 zahrnují Cookie Clicker, Gods Will Be Watching, World Cup Penalty 2018. 7. UnrealScript Unreal Engine vyvinul programovací jazyk UnrealScript nebo UScript. Stejně jako Java, i UnrealScript je objektově orientován bez vícenásobného dědění. Hlavní herní platformy včetně Windows, Android, Linux a Playstation používají UnrealScript. V roce 2014 však Epic Games oznámily, že Unreal Engine 4 nebude podporovat UnrealScript. Některé populární hry vyvinuté pomocí UnrealScript zahrnují Advent Rising, America's Army, The Wheel Of Time, Batman-Arkham Knight a jeho série. 8. Lua Lua je lehký, vysokoúrovňový a multiplatformový programovací jazyk, který se snadno spouští, díky čemuž je zábavné a efektivně jej používat pro vývoj videoher. Může být navržen tak, aby se dal vložit do mnoha aplikací, díky čemuž je pro vývojáře a hráče pohodlné upravovat hru. Herní enginy, jako například Gideros mobile, Corona SDK a CryEngine, používají Lua jako svůj primární programovací jazyk. Některé populární hry vyvinuté pomocí jazyka Lua jsou Age of Conan, American Girl, Angry Birds a Aquaria. Zajímá tě herní vývoj a chceš se mu začít věnovat? Určitě si prohlédněte některé z našich kurzů věnované právě tvorbě her v Unity3D, JavaScriptu či GameMaker Studio.
Co je etický hacking?
Vzdělávání
20.12.2021
Skillmea

Co je etický hacking?

Slovní spojení etický hacking se na první pohled může jevit jako oxymoron. V tomto blogu ti však vysvětlíme, co je to etický hacking, na jakých principech je postaven, jak se liší od toho neetického hackingu a jak může být přínosný pro firmy. Když vznikl pojem „hacker“, popisoval softwarové inženýry, kteří vyvinuli kód pro sálové počítače. Nyní to znamená zkušeného programátora, který se pokouší získat neoprávněný přístup k počítačovým systémům a sítím využitím slabých míst v systému. Hackeři píší skripty, aby pronikli do systémů, prolomili hesla a ukradli data. I když se hackování stalo pojmem, který nejčastěji popisuje škodlivé a neetické aktivity, nemusí tomu tak být. Hacker může tyto dovednosti stále dobře využít. V tomto článku se podíváme na etické hackování a ukážeme ti, jak můžeš začít svou cestu stát se etickým hackerem. Co vlastně dělají etičtí hacker? Etický hacking je znám také jako white hat hacking nebo penetrační testování. Může to být velmi zajímavá kariéra, protože etičtí hackeři tráví svůj pracovní den učením se, jak fungují počítačové systémy, odhalováním jejich zranitelných míst a zkoušením vkrást se do nich beze strachu ze zatčení. Na rozdíl od neetických hackerů, kteří jsou obvykle motivováni finančním ziskem, etičtí hackeři mají za cíl pomoci firmám (ale i společnosti jako celku) udržovat jejich údaje v bezpečí. Firmy si najímají etické hackery, aby našli zranitelná místa ve svých systémech a aktualizovali chybný software, aby nikdo jiný nemohl použít stejnou techniku ​​k opětovnému proniknutí. Jako etickému hackerovi se ti buď podaří nabourat do systému a poté ho opravit, nebo se pokusíš nabourat do systému a nepodaří se ti to. Oba výsledky znamenají vítězství pro etického hackera a firmu, protože firemní síť a údaje jsou v konečném důsledku bezpečné. Řekněme si ještě jaký je rozdíl mezi etickým hackerem a penetračním testerem. Zatímco termín etický hacking lze použít k popsání celkového procesu hodnocení, provádění, testování a dokumentování založeného na množství různých hackerských metodologií, penetrační testování je jen jeden nástroj nebo proces v rámci etického hackingu. Hledají zranitelná místa Zranitelnost jsou bugy nebo chyby v softwaru, které lze využít k získání neoprávněného přístupu do sítě nebo počítačového systému. Mezi nejběžnější zranitelnosti patří: • zastaralý software, • nesprávně nakonfigurované systémy, • nedostatečné šifrování údajů. Některé zranitelnosti lze snadno otestovat, protože chyby již byly zdokumentovány. V těchto případech musí penetrační tester provést pouze skenování systému, aby zjistil, zda v systému existuje chyba a aktualizovat software. Další zranitelnosti však mohou být neznámé a penetrační tester použije skripty a další nástroje, aby maximálně otestoval systém a zjistil, jestli se nějaké chyby objeví. Ukazují metody používané hackery Etičtí hackeři se mohou vžít i do role učitele. Mnoho firem a zaměstnanců ví jen málo o hrozbách kybernetické bezpečnosti ao tom, jak jejich jednání může zabránit hrozbě nebo pomoci hackerovi ukrást data. Etičtí hackeři pořádají kurzy o kybernetické bezpečnosti a varují zaměstnance před novými hrozbami, když je objeví. Vzdělávání je obzvlášť účinné proti phishingu a jiným kybernetickým útokům typu sociálního inženýrství, které vyžadují, aby útočníkův cíl ​​(člověk) podnikl kroky, aby byla jeho hackerská aktivita umožněna. Když jsou zaměstnanci informováni o potenciální hrozbě, existuje větší šance, že ji bude možné zastavit dříve, než infikuje systém. Pomáhají předcházet kybernetickým útokům Etičtí hackeři také spolupracují s ostatními členy bezpečnostního týmu na vytvoření bezpečnější infrastruktury pro podnik. Etičtí hackeři vědí, jaké druhy hrozeb existují, a mohou týmu pomoci při výběru nástrojů a vytváření bezpečnostních politik, které mohou zabránit hrozbám, o kterých možná ještě ani nevědí. Mohou také pomoci s nastavením systémů pro zálohování a obnovu, které lze použít v nejhorším případě.[Image] Klíčové principy etického hackingu Hranice mezi black hat (nebo neetickým) hackingem a white hat (nebo etickým) hackingem se může zdát nejasná. Koneckonců, existuje také gray hat hacking, které se nachází někde mezi těmito dvěma. Jako etický hacker bys měl dodržovat několik zásad: • Dodržuj zákon: hackování je etické pouze tehdy, pokud máš povolení k provedení hodnocení bezpečnosti systému, který hackuješ. • Poznej rozsah projektu: chovej se jen v intencích smlouvy, kterou máš se společností. Zjisti přesně, co máš testovat a testuj pouze tyto systémy. • Nahlas všechna slabá místa: nahlas všechna slabá místa, která najdeš a navrhni způsoby, jak je opravit. • Respektuj jakékoli citlivé údaje: penetrační tester často testuje systémy, které uchovávají citlivé údaje a bude muset podepsat smlouvu o mlčenlivosti (NDA). Proč je etický hacking důležitý? Záměrným zjištěním zneužití a slabin v počítačových sítích organizace je v podstatě možné opravit je dříve, než je zneužije neetický hacker. Etičtí hackeři tedy pomáhají organizacím identifikovat a eliminovat hrozby zlepšováním celkové bezpečnosti IT v organizaci. Samozřejmě nejsou to jen údaje, které jsou v sázce, pokud jde o počítačovou kriminalitu. Ve zprávě Centra pre strategické a medzinárodné štúdie a spoločnosti McAfee v oblasti bezpečnostního softwaru z roku 2020 bylo zjištěno, že ztráty z počítačové kriminality dosáhly v roce 2020 přibližně 945 miliard USD. Jen pro srovnání, v roce 2018 to bylo zhruba 522 miliard USD, takže nárůst je znepokojivý. Tyto rostoucí náklady se připisují lepšímu vykazování, jakož i efektivnějším technikám hackerů. Kromě ztráty údajů a peněz může počítačová kriminalita poškodit veřejnou bezpečnost, poškodit ekonomiky a podkopat národní bezpečnost. Je zřejmé, že je nezbytné chránit organizace a jejich údaje a etické hackování může v této ochraně hrát klíčovou roli. Druhy etického hackingu Existuje několik etických hackerských metod a základních oblastí, které může profesionál použít. Níže uvádíme některé z nejběžnějších typů etického hackování: • Hackování webových aplikací. Webové aplikace jsou sdíleny přes síť (jako je internet nebo intranet) a někdy jsou založeny na prohlížeči. I když jsou pohodlné, mohou být zranitelné vůči útokům skriptů a etičtí hackeři takové slabiny testují. • Hackování webového serveru. Webové servery provozují operační systémy a aplikace, které hostují webové stránky a připojují se k back-end databázím. V každém bodě tohoto procesu existují potenciálně slabá místa, která musí etičtí hackeři otestovat, identifikovat a doporučit opravy. • Hackování WIFI bezdrátové sítě. Všichni známe bezdrátové sítě – skupinu počítačů, které jsou bezdrátově připojeny k centrálnímu přístupovému bodu. S touto vymožeností však přichází řada potenciálních bezpečnostních nedostatků, které musí white-hat hackeři hledat. • Hackování systému. Přístup k zabezpečené síti je jedna věc, ale hackování systému se zaměřuje na získání přístupu k jednotlivým počítačům v síti. Etičtí hackeři se přesně o to pokusí a zároveň navrhnou vhodná protiopatření. • Sociální inženýrství. Zatímco ostatní metody se zaměřují na přístup k informacím prostřednictvím počítačů, systémů a sítí, sociální inženýrství se zaměřuje na jednotlivce, lidi. Často to znamená manipulaci lidí, aby předali citlivé údaje nebo poskytli přístup, aniž by měli podezření na špatný úmysl. Jaké pracovní pozice může obsadit etický hacker? Firmy všech velikostí a odvětví se obávají bezpečnosti své sítě. Pokud stále dochází k narušení bezpečnosti a firmy budou mít stále citlivé údaje, etičtí hackeři budou žádáni, takže trh práce pro ně vypadá dobře iv budoucnosti. Některé větší podniky mají mezi zaměstnanci etických hackerů, kteří celý den provádějí bezpečnostní testy a penetrační testy. V jiných společnostech může být etické hackování pouze součástí práce, zatímco většinu času trávíte konfigurací sítí a nastavováním nových systémů. Některé z nejpopulárnějších pozic etických hackerů zahrnují: • Penetrační tester • Security Analyst • Etický hacker • Bezpečnostní konzultant • Bezpečnostní inženýr • Bezpečnostní architekt • Analytik informační bezpečnosti • Manažer informační bezpečnosti Závěr Pokud tě kariéra v tomto odvětví zatím láká, možná tě také zajímá, jak se naučit etický hacking. Většina etických hackerů, penetračních testerů a white-hat hackerů se pustí do etického hackingu, protože je zajímá, jak funguje internet a informační bezpečnost. Jedna věc, kterou musí etický hacker vědět, je kybernetická bezpečnost. Jelikož etický hacker se zabývá i softwarovými zranitelnostmi a možná bude muset psát skripty, které mu pomohou s tímto úkolem, budeš se muset naučit i nějaký programovací jazyk (pravděpodobně to bude více jazyků). Pro etické hackery jsou doporučené jazyky jako Python, C, C++ nebo JavaScript. Práce s terminálem, scriptování v Bashi jsou také silně doporučeno, stejně tak nástroje pro testování zranitelnosti jako Metasploit a OpenVAS. Mnoho užitečných nástrojů a postupů etického hackingu se naučíš v našem online kurzu Úvod do etického hackingu. Nejdůležitějším požadavkem je však zvědavost. Takže buď zvědavý a hodně štěstí při etickém hackování!
Jak analyzovat data. 11 nejlepších nástrojů pro analýzu dat
Vzdělávání
25.11.2021
Skillmea

Jak analyzovat data. 11 nejlepších nástrojů pro analýzu dat

Objem údajů, které se vytvářejí dennodenně, každý rok exponenciálně roste. V průměru každý z nás vytvoří každou vteřinu minimálně 1,7 megabajtu dat. Mnohé z těchto údajů shromažďují firmy, pro které znamenají klíčovou roli při rozhodování a strategickém plánování. V tomto kontextu je správná analýza dat zásadním faktorem pro efektivní využití dat. Bez správných nástrojů se však data nevyužívají a jen zabírají místo. Proto přicházejí na scénu nástroje pro statistickou analýzu dat. Umožňují datovým vědcům a datovým analytikům shromažďovat a analyzovat data, aby je přeměnili na užitečné informace pro rozvoj podnikání či přijímání správných rozhodnutí. K dispozici je široká škála nástrojů pro analýzu dat. Některé z nich jsou programovací jazyky, které jsou oblíbené mezi datovými vědci, protože se snadno používají a dobře analyzují data. Mezi tyto nástroje patří například programovací jazyky, které se často vyučují v IT kurzech a které zahrnují Python, R nebo SQL. Některé nástroje jsou knihovny pro tyto programovací jazyky, které zjednodušují analýzu údajů. A některé jsou samostatné aplikace, které běží v počítači nebo ve webovém prohlížeči. Výběr správných nástrojů pro analýzu dat Před výběrem nástroje pro analýzu údajů je třeba zvážit několik otázek, zejména: • Jaký druh dat analyzujete? Jsou to jednoduché číselné údaje uložené v tabulkách a databázích, nebo kvalitativní údaje s otevřeným koncem, jako jsou konverzace v sociálních médiích, které vyžadují analýzu pomocí modelů strojového učení k vytvoření přehledů? • Kolik dat analyzujete? Pokud jsou údaje, které potřebujete analyzovat, omezené, práci zvládne téměř každý nástroj. Pokud však plánujete analyzovat big data, budete muset k analýze dat použít specifické nástroje. • Jaké technické znalosti jsou potřebné k provedení analýzy? Pokud ovládáte programovací jazyk, jako je Python, R, Java nebo SQL, pak máte mnoho možností, pokud jde o výběr nástroje pro statistickou analýzu dat. A pokud nejste technický nebo nemáte zájem o učení se jazyku, máte také několik možností, protože jsou k dispozici tzv. "no-code" nástroje, které můžete použít. • V jakém formátu chcete výsledky? Chcete vidět své výsledky ve formátu tabulky nebo byste raději generovali grafické zobrazení výsledků? Nejpopulárnější nástroje pro analýzu dat Po zodpovězení těchto otázek si uděláte přehled o různých analytických nástrojích a zvolíte ten nejvhodnější pro vaše potřeby. V seznamu níže nyní uvedeme populární nástroje pro analýzu dat, která by vám mohla pomoci. Na výběr jsou jak aplikace využívající pokročilé algoritmy, tak nástroje dostupné v rámci online kurzů, které vás provedou jednotlivými kroky analýzy. 1. Python Python je jedním z nejpoužívanějších programovacích jazyků pro analýzu dat a je také vyhledávaný ve světě vzdělávacích kurzů zaměřených na programování a práci s daty. Je to interpretovaný, univerzální, vysokoúrovňový jazyk, který lze použít pro procedurální, funkční i objektově orientované programování. Tato flexibilita je jedním z důvodů, proč je Python oblíben u programátorů s různým zaměřením. Navíc, jeho jednoduchá syntax, která je téměř jako přirozený jazyk, z něj činí ideální volbu nejen pro profesionály, ale i pro začínající vývojáře, kteří se často přihlašují na online kurzy Pythonu. Co však dělá Python skvělým jazykem pro analýzu dat, jsou všechny knihovny třetích stran, které můžete do svého projektu přidat zdarma. Mnohé z těchto knihoven, jako jsou Matplotlib, PyTorch a Pandas, jsou navrženy pro zpracování dat, což znamená, že pro analýzu dat musíte napsat méně kódu. Tyto knihovny jsou často také součástí různých IT kurzů, kde se zaměřují na efektivní vizualizaci a zpracování dat. 2. Matplotlib Matplotlib je knihovna Pythonu, která usnadňuje vizualizaci dat a grafické vykreslování. Můžete ji jednoduše nainstalovat na jakýkoli operační systém, který podporuje Python, včetně Mac, Windows a Linux. Po nainstalování můžete dlouhé seznamy čísel převést na snadno srozumitelné koláčové grafy, tepelné mapy, histogramy a jiné typy vizualizací, které jsou připraveny k použití v sestavách nebo publikování online. Statistická analýza dat s Matplotlib tak získává atraktivní a přehledné zobrazení. Matplotlib může také vygenerovat uživatelské rozhraní pro vaši grafiku s nabídkou, kterou můžete použít pro přizpůsobení grafiky bez psaní dodatečného kódu. Tato knihovna je často součástí kurzů programování, kde si studenti mohou vyzkoušet vytvoření interaktivních vizualizací a pochopit, jak vizualizovat data pro efektivní rozhodování. 3. PyTorch PyTorch je open source knihovna Pythonu, která se používá k vytváření, trénování a spouštění modelů strojního učení. Používá tenzory podobné polím pro kódování vstupů, výstupů a parametrů modelů. Tenzor je kontejner pro data, který může tyto údaje reprezentovat v libovolném počtu dimenzí, což z něj činí velmi flexibilní nástroj pro analýzu dat. Další výhodou PyTorch je, že může spouštět modely strojového učení pomocí počítačového GPU a nikoli CPU. To znamená, že model strojového učení PyTorch vám může poskytnout report 4 až 5krát rychleji než jiné nástroje pro analýzu údajů, které využívají pouze zpracování CPU. 4. Pandas Pandas je další knihovna Pythonu a je to švýcarský armádní nožík pro manipulaci s údaji. S pandas můžete změnit nestrukturované údaje z více zdrojů na 2D objekt v paměti zvaný DataFrame. Když už máte data v DataFrame, můžete je rychle filtrovat, vyhledávat, segmentovat a segregovat. Můžete také sloučit a spojit dva různé DataFrame. 5. Jupyter Notebook Jupyter Notebook je webová aplikace s otevřeným zdrojovým kódem, ve které můžete spouštět Python, R a další programovací jazyky v interaktivním prostředí. Jelikož se jedná o webovou aplikaci, umožňuje interaktivní spolupráci mezi uživateli. Nazývá se to „notebook“, protože umožňuje analytikům dat nejen ukládat a spouštět kód v prohlížeči, ale přidává také vysvětlující text, obrázky a další podpůrné informace. Zápisníky Jupyter slouží jako výpočetní záznam mezi spolupracovníky a vytvořené záznamy lze uložit jako soubory JSON. Tyto soubory pak lze použít ke sledování každého kroku procesu. O PyTorch, Pandas a tvorbě grafů v Matplotlib se více dozvíš v našem online kurzu Python Data Science. 6. R R byl navržen speciálně pro potřeby komunity zabývající se datovou analýzou a statistikou. Jazyk R je vhodný pro strojní učení, vizualizaci údajů a statistickou analýzu. Obrovskou výhodou jazyka R je právě jeho obrovská komunita. R je sada nástrojů pro manipulaci s údaji, provádění výpočtů a generování grafiky. Dodává se s výkonnými možnostmi zpracování a ukládání dat, jakož i flexibilní sadou grafických nástrojů pro generování tabulek a grafů, které jsou připraveny pro publikování v sestavách. Pokud si vyberete jazyk R, neuděláte určitě chybu, zejména proto, že byl od základů vytvořen právě pro datovou analýzu. 7. SQL SQL, což je zkratka pro Structured Query Language, je programovací jazyk, který byl vytvořen pro interakci s relačními databázemi. Z tohoto důvodu a také vzhledem k tomu, že firmy ukládají většinu svých údajů v databázích, je SQL základním nástrojem, který datoví vědci a datoví analytici používají pro tvorbu reportů a analýzu dat. SQL je navíc jednoduchý jazyk k učení, a proto se často vyučuje v rekvalifikačních kurzech online, kde se zaměřuje na efektivní práci s daty. Dotazy, které do SQL píšete, jsou téměř jako anglické věty, což usnadňuje práci i méně zkušeným uživatelům. Téměř každý jiný programovací jazyk navíc obsahuje knihovny, které můžete použít k interakci s databázemi. Tato široká podpora činí SQL výkonným nástrojem, který je často zahrnutý i v nejlepších rekvalifikačních kurzech pro práci s daty, protože umožňuje rychlou analýzu velkých datových souborů. 8. D3.js D3.js je open-source JavaScriptová knihovna pro vytváření vlastních vizualizací ve webovém prohlížeči. Spolu s JavaScriptem využívá HTML, škálovatelnou vektorovou grafiku a CSS, což umožňuje webovým vývojářům provádět analýzu dat a tvorbu interaktivních grafů přímo v prohlížeči, aniž by se museli učit nový jazyk. D3 je zkratka pro "Data Driven Documents" a umožňuje vývojářům propojit data na HTML dokumenty pomocí Document Object Modelu (DOM) a poté transformovat dokument na základě dat, která používá. D3.js také podporuje interakci, animaci, anotaci a kvantitativní analýzu. I když lze technologie, které D3 používá, poměrně snadno pochopit, knihovna obsahuje více než 30 modulů a 1 000 metod vizualizace, jejichž zvládnutí může vyžadovat čas. D3.js je součástí některých rekvalifikačních kurzů online zaměřených na datovou analýzu a vizualizaci dat, kde si studenti mohou osvojit vytváření interaktivních a dynamických vizualizací. 9. MATLAB MATLAB používá vysokoúrovňový programovací jazyk pro matematické modelování, numerické výpočty a vizualizaci dat. Jeho název je zkratkou pro „maticovou laboratoř - matrix laboratory“, protože jde o maticový jazyk. Matematické matice jsou datové struktury, které dokážou vyřešit mnohé technické výpočetní problémy efektivněji než jiné skalární programovací jazyky. MATLAB můžete použít na řadu různých úkolů, jako je vykreslování údajů, vývoj algoritmů, vytváření modelů strojního učení, interakce s programy napsanými v jiných jazycích a analýza množin dat. Díky jeho pokročilým matematickým funkcím existuje mnoho technických rolí, které používají MATLAB, včetně softwarových inženýrů a datových analytiků. 10. Tensor Flow TensorFlow je open-source platforma strojového učení a analýzy dat, kterou vytvořil tým Google Brain. Používá se pro numerické výpočty a implementaci neuronových sítí s hlubokým učením. Kód pro TensorFlow je napsán v C++, ale poskytuje API, ke kterému lze přistupovat pomocí mnoha jiných programovacích jazyků včetně Python, Go, Java, R, JavaScript a dalších. TensorFlow dokáže trénovat a spouštět modely strojového učení pro rozpoznávání obrázků, klasifikaci ručně psaných číslic, vkládání slov, opakující se neuronové sítě, překlad jazyka, zpracování přirozeného jazyka a simulaci. A namísto toho, abyste se museli zabývat podrobnostmi vytváření vlastních algoritmů, můžete si vytvořit své vlastní modely pomocí TensorFlow. 11. Tableau Tableau je přední nástroj Business Intelligence na trhu, který se používá pro analýzu a vizualizaci údajů v jednoduchém formátu. Tableau je nástroj pro analýzu dat, který se používá k vytváření kvalitních vizualizací dat pro business intelligence. Dokáže extrahovat data z mnoha zdrojů, včetně Microsoft Excel, PDF souborů, různých typů databází nebo dokonce souborů uložených na AWS. Po extrahování dat k nim může přistupovat aplikace Tableau Desktop. Potom jej můžete použít ke generování dashboardů a vizualizací v softwaru. Data mohou být také publikována na Tableau Server, kde k nim lze přistupovat z jakéhokoli místa, včetně mobilních zařízení. A to vše můžete udělat bez psaní jakéhokoli kódu. Závěr Nástroje pro analýzu dat vám pomohou objevovat trendy a vzorce, na jejichž základě budete umět dělat lepší rozhodnutí. K dispozici je široká škála nástrojů, od složitých programovacích jazyků až po aplikace, které vyžadují velmi málo technických znalostí. Výběr je jen na vás.
Co dělá DevOps Engineer?
Vzdělávání
16.11.2021
Skillmea

Co dělá DevOps Engineer?

Na základě některých statistik se předpokládá, že poptávka po softwarových inženýrech do roku 2029 poroste o 22%. Tato poptávka po softwarových inženýrech a webových či mobilních aplikacích, které vytvářejí, vedla k mnoha novým pracovním pozicím a inovativním, efektivnějším vývojovým procesům – jako například DevOps. Zajímá tě, co je to DevOps, co dělá takový DevOps Engineer (inženýr), kolik vydělává a jaké dovednosti potřebuje? Čti dál a dozvíš se víc.[Image]Co je DevOps? DevOps je spojení slov Development (vývoj) a Operations (provoz). Je to speciální metoda vývoje softwaru, která spojuje procesy, lidi a technologie, díky čemuž mohou firmy produkovat kvalitní software, služby a produkty. DevOps-áci používají nástroje, procesy a metody vývoje k zajištění efektivního vývoje aplikací. Hrají důležitou roli v každé fázi procesu vývoje, od nápadu až po implementaci a údržbu. DevOps označuje způsob vývoje softwaru, který zajišťuje, že vše běží hladce v každé fázi vývoje. Před představením DevOps v roce 2009 vývojářské týmy obvykle sestavovaly každou část aplikace nezávisle. Jeden tým by se například zabýval strukturou databáze, zatímco jiný vytvořil frontend nebo bezpečnostní prvky. I když to bylo efektivní, často to vedlo k problémům, kdy byly tyto různé části spojeny do jednoho celku. DevOps se snaží tento problém vyřešit tím, že všechny účastníky vývoje spojí dohromady. Můžeš si to lehce představit jako stavbu domu. Standardně bys měl různé dodavatele, kteří by dělali různé práce: zedníci, elektrikáři, instalatéři, malíři atp. U DevOps modelu však tito dodavatelé spolupracují, diskutují o každé fázi vývoje a pracují spolu a táhnou za jeden provaz. Výsledkem je, že konečný produkt je efektivnější, kvalitnější a ušetří i čas, protože každá složka se pojí s ostatními. DevOps Engineer zajišťuje, že se to všechno děje hladce a konzistentně během celého životního cyklu vývoje. DevOps specialisté tedy používají různé nástroje, procesy a metody vývoje, aby zajistily efektivní vývoj aplikací. V každé fázi procesu vývoje (od nápadu až po implementaci a údržbu) hrají významnou roli. Jelikož celý vývoj aplikace je v rámci jednoho týmu, vývojáři jsou schopni rychleji komunikovat mezi sebou, ale také kolaborovat se zákazníkem, což znamená častější vydávání nových verzí vyvíjeného softwaru. Funkce DevOps DevOps specialista podporuje komunikaci, spolupráci a sdílení odpovědnosti napříč všemi stranami během životního cyklu vývoje. Hlavní výzvou, které čelí DevOps-áci, je sjednotit všechny účastníky vývoje, což jsou frontend a backend developeři, UI/UX designéři, testeři, lidé zodpovědní za bezpečnost produktu, ale také obchodníci, zákaznický servis či další klíčové osoby. V DevOps kultuře jsou všichni tito účastníci stejně důležití a jejich vstupy do vývoje mají stejnou hodnotu. DevOps-ák musí zajistit, že je s tím celý tým ztotožněn, podporuje to a samozřejmě zejména praktikuje. Jaké techniky používají DevOps-áci? Nejčastěji jsou využívány následující postupy či technologie: • continuous integration, continuous deployment (CI/CD), • kontejnerizace, • monitorování. Ve zkratce si řekněme o každé z výše uvedených technologií. CI/CD Zavádí automatizaci do softwarového vývoje. Pomocí skupiny různých nástrojů tak lze zajistit automatické sestavování verzí, jejich kontrolu a reporting kvalit konkrétní verze. Po sestavení a otestování lze nasadit verzi do produkčního prostředí. To je technika Continuous Integration. Jinými slovy, změny se provedou a integrují okamžitě. "CD" se může vztahovat i na Continuous Delivery. Změny provedené v aplikaci se před odesláním do úložiště (např. GitHub) testují na chyby. Následně jsou umístěny do živé produkce. Continuous Deployment znamená automatické odesílání změn provedených vývojářům z úložiště jako například. GitHub do produkce, kde jej mohou koncoví uživatelé používat. Kontejnery Kontejnery poskytují způsob izolace procesů od zbytku softwaru. Každý kontejner funguje v podstatě jako virtuální stroj, který spouští jednu část celkového procesu. Protože kontejnery lze velmi rychle zapnout a vypnout, kontejnerizace usnadňuje vytváření, nasazování a spouštění aplikací. DevOps engineer musí rozumět kontejnerizaci, protože má vliv na to, jak se produkt vytváří, upravuje a testuje. Při vytváření kontejneru by mělo platit pravidlo, že jeden kontejner je jedna služba. Abychom docílili těchto vlastností kontejnerů, musíme dodržet 3 hlavní principy kontejnerizace: standardnost (Standard), jednoduchost (Lightweight) a izolovanost (Isolated). V dnešní době je velmi populární přechod na mikroservisově orientovanou architekturu. U této architektury je funkcionalita softwaru rozdělena do menších částí - mikroservisů. Cílem je vytvoření aplikace, která bude co nejvíce modulární. Bude to znamenat její zjednodušení, udržovatelnost a také škálovatelnost. Funkcionalita aplikace se rozdělí do jednotlivých mikroservisů, kde každý má na starosti pouze jednu, oddělenou část softwaru. Pokud bude nutná změna aplikace, tyto mikroservisy je relativně snadné upravit. Provede se jen požadovaná změna, upraví se daný mikroservis a opětovně je nasazen. Při takovém přístupu se vyskytuje méně chyb, výpadků a má to kladný vliv na testování a hledání chyb v softwaru. Monitorování Monitorování zahrnuje používání systému, který umožňuje sledovat celý vývojový ekosystém a upozorní tě, pokud se něco pokazí. S dobře nastaveným monitorováním můžeš rychle řešit problémy pomocí analýzy základních příčin, která přesně určí, kde problém začal. Monitorování ti také umožňuje zjistit, jak se různé systémy navzájem ovlivňují, ať už běží současně nebo postupně. Tvá práce jako DevOps specialisty bude téměř nemožná bez komplexního monitorovacího řešení. Řešení problémů bude rychlejší a efektivnější.[DASA DevOps Competency model (zdroj: DASA)] Dovednosti DevOps specialisty Technické dovednosti jsou nezbytností. I když se v DevOps prostředí a IT obecně neustále objevují nové technologie a nástroje, dobrý DevOps inženýr by měl mít kvalitní znalosti v těchto oblastech: • verziování, systém správy verzí (jako Git, Github, Bitbucket, Svn atd.), • Continuous integration (Jenkins, Bamboo, VSTS), • koncepty kontejnerů (Docker), • orchestrace kontejnerů (Kubernetes, Swarm, Openshift), • cloud (AWS, Azure, GoogleCloud, Openstack), • základy sítí, Linux (základy OS), Bash, • základy programování (např. Python, Design Patterns). DevOps inženýři musí být schopni psát bezpečný kód na ochranu aplikací před útoky, jakož i na obranu před běžnými zranitelnostmi kybernetické bezpečnosti. Stejně jako v jiných technických prostředích, klíčovým prvkem DevOps je také automatizace. Mnoho opakujících se a manuálních úkolů prováděných tradičnějšími systémovými administrátory lze automatizovat pomocí jazyků jako Python, Ruby, Bash či Shell. Nezapomínej ani na soft skill dovednosti jako komunikační dovednosti, dobrou organizaci, ochotu spolupracovat, flexibilitu, prezentační dovednosti nebo to, že zákazník je na prvním místě. Mzda DevOps specialisty se podle portálu platy.sk pohybuje v závislosti na regionu a seniority na úrovni od 2.000 Eur výše. Jedná se o velmi žádanou pozici, poptávka po DevOps inženýrech v posledních letech značně vzrostla.[Image]Jak se stát DevOps specialistou Aby ses stal DevOps specialistou, musíš získat znalosti a zkušenosti potřebné pro práci s různými technologiemi. Klíčem je naučit se dovednosti, aplikovat je a vybudovat si portfolio, kterým se umíš odprezentovat. Náš seznam výše v článku se zdá být vyčerpávající a nekonečný. Jak jsme již zmiňovali, v jedné oblasti můžeš být expertem ao jiných víš toho málo. To je naprosto v pořádku. Základní znalosti z každé oblasti jsou dobrým začátkem. Například, pokud jsi softwarový inženýr, určitě jsi dobrý v programování. Nemělo by být pro tebe obtížné zvládnout práci admina, protože některé činnosti jsi už určitě mohl vykonávat ve své práci. Stejně tak, pokud jsi síťový inženýr, nebudeš mít problém naučit se více o bezpečnosti, virtualizaci a správě infrastruktury. Každá z těchto dovedností spolu souvisí. Cesta k tomu, abyste se stali DevOps specialistou je dlouhá, ale stojí za to. A neexistují žádné zkratky.
Jak si vybrat vývojové prostředí? 8 populárních IDE a editorů kódu
Vzdělávání
24.10.2021
Skillmea

Jak si vybrat vývojové prostředí? 8 populárních IDE a editorů kódu

Když absolvuješ naše vzdělávací kurzy programování, budeš používat textový editor. Když studuješ IT kurzy HTML a CSS, vystačíš si i textový editor, například Notepad. Pro to, abys byl efektivní, však budeš určitě používat buď pro programování vytvořené programy na programovanie nebo IDE. V tomto článku ti vysvětlíme, co jsou IDE a editory kódu a v čem se liší. Budeme také stahovat výhody a nevýhody IDE a editorů kódu. V článku najdeš také seznam nejpopulárnějších IDE a editorů kódu, které vývojáři používají, a v čem je každý z nich jedinečný. Co jsou IDE a editory kódu?IDE je integrované vývojové prostředí. Je to software, který vývojářům umožňuje snadno vytvářet, upravovat a ladit kód. I když některé mohou vyžadovat doinstalovat knihovny pro určité programovací jazyky, většina běžných IDE je připravena, takže je snadné zachytit potenciální chyby syntaxe a chyby před kompilací nebo spuštěním kódu. Editor kódu je typ textového editoru s několika funkcemi, které usnadňují psaní kódu. Například editory kódu automaticky zvýrazní slova na základě syntaxe a automaticky odsadí řádky kódu. Editor kódu však nemá funkce ladění a automatického doplňování, které má IDE. Někteří vývojáři upřednostňují spuštění programu od začátku v editoru kódu. Jiní však při kontrole nebo úpravě kódu někoho jiného upřednostňují IDE, protože ladění je jednodušší. Nejpopulárnější IDE a editoryPokud chceš začít s IDE, budeš mít trochu větší pomoc s laděním, zvýrazňováním syntaxe a funkcemi automatického doplňování. Pokud programuješ sám, může být IDE skvělým programem na programovanie, jak získat pomoc, kterou bys na začátku mohl potřebovat. IDE často přicházejí s nástroji pro automatizaci, testování a vizualizaci procesu vývoje. V podstatě ti vybaví vše, co potřebuješ pro přeměnu kódu na fungující aplikaci nebo program. Zde jsou populární IDE a editory, které by si mohl zvážit: 1. Visual Studio CodeVS Code je výkonný textový editor, který lze spustit v různých operačních systémech jako Windows, macOS a Linux. Jeho interface je jednoduchý. Panel vlevo obsahuje verze kódu a jeden ve středu, kde píšeš kód. Obsahuje funkce ladění pro více programovacích jazyků. Dodává se s vestavěnou podporou jazyků JavaScript, TypeScript a Node.js a má bohatý ekosystém rozšíření pro další jazyky (například C ++, C#, Java, Python, PHP, Go) a runtime (napríklad .NET a Unity). Tento editor je oblíbenou volbou mezi vývojáři, protože drtivých 70% jej označilo za svého oblíbeného v průzkumu Stack Overflow v roce 2021. Je také možné ho stáhnout zdarma, díky čemuž je atraktivní volbou pro začínající programátory a rekvalifikační kurzy programování. 2. IntelliJ IDEAVývojové prostředí Intellij IDEA je produktem české softwarové firmy JetBrains. První verze vyšla již v roce 2001 a od té doby se neustále vyvíjí. IntelliJ IDEA je kompaktní a „inteligentní“ IDE, které poskytuje vývojářům návrhy na zlepšení jejich programů a výrazně jim urychluje vývoj a ladění. Mezi funkce patří kontrola verzí, analýza kódu a navrhované dokončení kódu. Navíc nepotřebuješ nové doplňky pro další jazyky. IntelliJ není zadarmo jako Visual Studio Code. V závislosti na zvolené frekvenci fakturace to stojí 499 Eur ročně nebo 49,90 Eur měsíčně. Cena je poměrně vysoká, ale mnoho vývojářů využívá právě toto vývojové prostředí ke zvýšení produktivity. Je nejoblíbenější mezi Java vývojáři, i když podporuje i jiné JVM jazyky, například Kotlin, Scala či Groovy, díky pluginům i podpora Go, Pythonu, SQL či PHP.[Image] 3. PyCharmPyCharm je primárně jedním z nejlepších IDE pro Python, ale prémiová verze podporuje i jiné jazyky pro web development jako JavaScript, CoffeeScript, TypeScript či SQL. Při kódování kontroluje chyby a má také automatické doplňování. Má elegantní, minimální interface pro přehledný vývoj a také kontroluje kvalitu tvého kódu. PyCharm je také z dílny firmy JetBrains, můžeš si stáhnout bezplatnou komunitní úroveň PyCharm, která ti umožní programovat v Pythonu. Pokud však chceš přístup k dalším funkcím pro vývoj či k podpoře HTML, SQL a JavaScript, budeš muset zaplatit za licenci. Plná verze PyCharmu stojí 199 Eur ročně nebo 19,90 Eur při měsíční platbě.[Image] 4. NetBeansNetBeans by v našem seznamu nejlepších HTML IDE pro webdevelopment neměl chybět. Patří mezi jedno z nejoblíbenějších IDE, je to jednoduchý software pro Javu, JavaScript, PHP, HTML5, CSS, ale funguje stejně dobře is PHP, C/C++ atp. Jedná se o bezplatné vývojové prostředí pro každodenní používání. Pomáhá vám také vytvářet webové stránky bez chyb zvýrazněním kódu nejen syntakticky, ale také sémanticky. Má také mnoho výkonných nástrojů na refaktorování, přičemž je otevřeným zdrojem.[Image] 5. PhpStorm / WebStormPhpStorm je další možností, kterou je třeba zvážit jako jedno z nejlepších IDE pro webový vývoj. Jak napovídá název, zaměřuje se na PHP, ale jsou plně podporovány i front-end technologie včetně HTML 5, CSS, Sass, Less, JavaScript a dalších. Zahrnuje také podporu pro WordPress, Drupal, Joomla!, Laravel či Magento. Je snadné se v něm orientovat, má automatické doplňování kódu, nástroje pro ladění a testování, jakož i rychlé (a bezpečné) refaktorování. WebStorm je odlehčená verze PhpStormu, je jedno z nejlepších IDE pro JavaScript. Zahrnuje nejen automatické doplňování kódu a live detekci chyb, ale má také debugger, unit testování a spoustu integrací, jako jsou Git, GitHub, Mercurial a další.[Image]Další tipy na zajímavá IDEčka, která můžeš zkusit jsou CodeLobster nebo Komodo. V tomto článku se jimi zabývat nebudeme, ale také poskytují kvalitní prostředí pro vývoj v jazycích jako JavaScript, PHP, Ruby, Python či Go. Další editory kódu• Sublime Text 3 Efektivní editor, který běží na Windows, MacOS i Linuxu. Zvýrazňování syntaxe, rychlé načítání či automatické doplňování kódu mají vývojáři rádi. Mnoho začínajících developerů volí právě tento editor jako svoji první volbu. • Notepad++ Editor kódu Notepad++ pracuje s různými programovacími jazyky, ale byl navržen pomocí programovacího jazyka C++ a často se upřednostňuje při vývoji ve stejném jazyce. Přestože si jej můžeš stáhnout zdarma, jeho použití je omezeno na operační systém Windows. • Atom Je multiplatformní (dostupný pro Windows, macOS a Linux), můžeš si jej přizpůsobit různými UI a tématy či barvami. Samozřejmostí je automatické doplňování, vyhledávání, zobrazování a nahrazování textu v souboru nebo ve všech projektech. Má zabudovaného správce balíků pro instalaci nových či tvorbu vlastních balíků. Výběr správného IDE či editoru kódu je důležité, ovlivňuje jej mnoho faktorů. Zvol si ten, který nejlépe funguje s programovacím jazykem, který používáš či je nejvhodnější pro projekt, na kterém právě pracuješ. Jaké je tvoje oblíbené IDE či editor? Poděl se v komentářích.
Co je testování softwaru?
Vzdělávání
18.10.2021
Skillmea

Co je testování softwaru?

Software je třeba testovat během jeho vývoje i po každém updatu. Pokud se chceš dozvědět, co je součástí testování softwaru, proč je testování důležité, kde v procesu vývoje se testování nachází a které jazyky je dobré ovládat, pokud chceš být IT tester, čti tento článek dále. Co je testování softwaru?Testování softwaru je metoda, která kontroluje, zda skutečný softwarový produkt odpovídá očekávaným požadavkům (implicitním i explicitním) a zajišťuje, aby softwarový produkt neobsahoval chyby, resp. pomáhá s tím, aby software obsahoval co nejméně chyb a žádné kritické. Zahrnuje spuštění softwarových/systémových komponent pomocí manuálních nebo automatizovaných nástrojů. Účelem testování softwaru je identifikovat chyby, nedostatky nebo chybějící požadavky v porovnání s původními požadavky. Testování softwaru se týká procesu ověřování a vyhodnocování funkce softwarové aplikace nebo produktu. Používá se ke snížení nebo odstranění chyb a minimalizaci množství dodatečných investic, které musí společnost investovat do řešení problémů a vydávání aktualizací. Softwarový tester tedy hledá chyby, nedostatky či jiné problémy ve webových či mobilních aplikacích, desktopových produktech nebo hrách. “TL;DR: IT testeři jsou důležití, protože pomáhají vysoké kvalitě softwarových produktů, spokojenosti zákazníků a uživatelů a dlouhodobé prosperitě businessu.” Proč je testování softwaru důležité?Testování softwaru je důležité, protože neotestovaný nebo nedostatečně výkonný software může mít vliv na tisíce uživatelů. Pokud například webová aplikace, která prodává produkt, funguje příliš pomalu, zákazníci mohou být netrpěliví a koupí si podobný produkt jinde. Nebo pokud databáze v aplikaci pošle nesprávné informace pro vyhledávací dotaz, lidé mohou ztratit důvěru k webové aplikaci nebo firmě obecně. Softwarový tester pomáhá předcházet těmto druhům selhání. Testování softwaru navíc může pomoci zajistit bezpečnost uživatelů nebo osob, kterých se týká používání. Úkolem testeru je tedy vžít se do pozice uživatele daného softwarového produktu a připravit si různé scénáře, které na daném produktu v průběhu vývoje testuje. Nalezené problémy následně reportuje vývojářskému týmu, který tyto chyby odstraní. “TL;DR: Cílem testování je zajistit co nejvyšší uživatelskou spokojenost s produktem.[Image]” Typy testování softwaruExistuje několik typů testování softwaru, z nichž každý vyžaduje různý stupeň specifičnosti. Zde je seznam některých z nejběžnějších: Testování použitelnosti (Usability testing)Testování použitelnosti je nejlepším způsobem jak zjistit, zda s webovou stránkou, aplikací nebo hrou běžní uživatelé umí zacházet a pochopit, jak při jejím používání přemýšlejí. Usability testing je v podstatě způsob, jakým dokážeme ověřit výsledek své práce na reálných uživatelích. Usability testing představuje hodnocení produktu nebo služby jeho testováním reprezentativním vzorkem uživatelů. Zpravidla musí účastníci během testování splnit několik úkolů, přičemž je jejich chování a jednání pečlivě sledovány a zaznamenávány testerem. Akceptační testováníHlavním účelem akceptačního testování není nalezení chyb, ale ohodnocení připravenosti systému pro nasazení a používání. Jedná se tedy o kontrolu, zda systém funguje tak, jak má. Software v tomto případě pracuje s ostrými a skutečnými daty, testuje se, zda produkt pracuje správně v reálném nasazení a splňuje uživatelské požadavky. Integrační testováníCílem je ověřit, zda větší části softwaru spolu fungují. Tento typ testování většinou neprovádějí testeři, ale samotní vývojáři. Testuje se interakce s různými částmi softwaru, ale také s hardwarem, operačním systémem. Unit testySlouží programátorovi jako okamžitá zpětná vazba k napsanému kódu. Unit testy slouží k testování menších jednotek zdrojového kódu. Programátor napíše kód a následně pro tento kód napíše testy. Existuje přístup psaní testů před kódem, který se nazývá Test Driven Development. Test by měl testovat chování kódu za standardních i mimořádných situací. Ideální unit test je nezávislý na ostatních testech a na zbytku testovaného programu. Někdy není na první pohled vidět rozdíl mezi unit a integračním testováním. Kromě těchto testů známe další druhy testů, například. performance testy. Co potřebuješ vědět, chceš-li být testerem?I když jako IT tester nemusíš napsat ani řádek kódu, v mnoha případech jej stále musíš umět přečíst. Jako tester softwaru tvoje práce zahrnuje více než jen klikání a procházení aplikací. Musíš být schopen přezkoumat kód a hledat potenciální problémy nebo zjistit, co mohlo způsobit chybu nebo poruchu. Většina testerů provádí kromě manuálního testování také psaní automatizovaných testů. Napsat automatizované testy je ale výrazně jednodušší než naprogramovat celé aplikace. Podle portálu platy.sk je průměrná měsíční mzda IT testeru v Bratislavě téměř 2.000 Eur, takže vydat se na tuto kariérní cestu je iz finančního pohledu zajímavé. Zde je několik jazyků, které by ses měl naučit, abys maximalizoval své vyhlídky na práci testeru: • Java • Python • C# Stačí se naučit samozřejmě jeden z jazyků, může být také jiný než je v seznamu. Kromě toho budeš určitě potřebovat pořádnou dávku preciznosti a být komunikativní, jelikož budeš muset reportovat nalezené chyby, správně je pojmenovat, najít řešení a budeš dále v kontaktu s vývojářským týmem. Pokud v IT teprve začínáš, práce manuálního IT testeru je skvělý start. Manuální testování je stále tady a bude zde i nadále, jelikož má mnoho výhod, například pomocí manuálního testování umíš objevit nové chyby v aplikaci, designové chyby a další. Opět poznamenáváme, že trh v QA se neustále vyvíjí a předpokládáme, že bude chtít univerzální testery, kteří umí dobře manuálně testovat a zároveň i tvořit automatizaci. Pokud máš v plánu stát se automatizovaným testerem, máme pro tebe hned několik kurzů. Nejprve začni s kurzem Selenium, ve kterém se naučíš i Javu a JUnit. Tento kurz má také pokračování pro pokročilé. Pokud se ti více zamlouvá JavaScript, určitě mrkni kurz Cypress.io. Cypress je moderní testovací nástroj pro end to end testování.
10 programátorských C++ úkolů pro začátečníky
Vzdělávání
07.10.2021
Skillmea

10 programátorských C++ úkolů pro začátečníky

Naučit se C++ není snadný úkol, když si však chceš uchovat své znalosti v dobré formě, vyžaduje to praxe. Jedna věc je naučit se základy programování v C++ a syntaxi jazyka, ale něco úplně jiného je použít tyto znalosti k tvorbě reálných programů v jazyce C++. V tomto článku si řekneme, kde byste mohli použít jazyk C++ ve své další práci a proč je to stále používaný programovací jazyk. A také ti v článku přineseme 10 programátorských úkolů v C++, na kterých si jazyk procvičíš. K čemu se používá C++?C++ je jedním z nejpoužívanějších programovacích jazyků. Lepší otázkou by tedy mohlo být, k čemu se C++ nehodí? 🙂 C++ je nejčastěji zvolen kvůli své schopnosti efektivně provozovat velké aplikace. Můžete jej také použít k doladění toho, jak program používá svůj hardware. C++ naleznete v operačních systémech, vašich oblíbených multiplayer hrách, připojování na databáze a dokonce i v nových technologiích VR a AR. Kromě toho je C++ populární při tvorbě databázových aplikací, ve finančnictví a ekonomice, využívá se ve vestavěných systémech, real-time systémech, při zpracování velkého objemu dat, dále v robotice a kybernetice, v počítačové grafice (zpracování obrazu, grafický rendering) či komunikačních systémech. Mnoho vývojářů si vybírá C++, neboť dokáže efektivně spouštět jejich programy. Komunita C++ vývojářů je také poměrně široká, umožňuje to jednodušší spolupráci a pomoc, když se člověk při něčem zasekne. 10 C++ úkolů pro začátečníkyKe splnění úkolů použij libovolný editor, který ti vyhovuje. Stanov si cíl a časový horizont, ve kterém chceš úkoly splnit. Klidně udělej jeden úkol každý den, některé úkoly budou možná náročnější a zaberou více času. Začněme s úkoly. 1. Vypište „Hello world“ správuV kterémkoli editoru, se kterým jste se rozhodli pracovat, zkontrolujte, zda můžete napsat kód, který zobrazí tento řetězec znaků. I když se to může jevit jako jednoduchý úkol, zamyslete se nad všemi způsoby, jakými budete chtít zobrazovat zprávy v budoucích programech, které vytvoříte. Tisk chybových zpráv nebo potvrzovacích zpráv pro různé části kódu je důležitý při ladění programu. Mohou se také objevit výzvy nebo výsledky, které budete chtít vytisknout a sdílet s koncovým uživatelem. Vypisování zprávy je dovednost, kterou budete používat poměrně často. 2. Vytvořte program, který sečte dvě celá číslaZjistěte, zda dokážete vytvořit program v jazyce C++, který načte dvě celá čísla ze vstupu klávesnice a sečte je. Výsledek by měl vrátit součet. Jedná se sice o základní kalkulátor, představte si ale jeho sílu ve velké databázi, kde byste pomocí smyček mohli přidávat obrovské množství údajů. Bonusový úkol: Rozšiřte tento program o součet dvou matic (nezáleží, kolik bude mít prvků), abyste vytvořili pole součtových prvků. Máte-li zájem pracovat ve finančním odvětví jako vývojář, pomocí programů, jako je tento, můžete vaší firmě vypočítat důležité údaje. 3. Napište program, který převádí pixely na centimetryMěniče jednotek jsou malé pomocné nástroje. Můžete vytvořit program v jazyce C++, který bude zaznamenávat rozměry v pixelech a vyplivuje přesně stejné měření v centimetrech? Pokud uvažujete o kariéře v oblasti datové vědy, budete muset být dobrý v čištění a formátování údajů. Konverze dat na jinou měrnou jednotku je dobrým praktickým testem. 4. Naprogramujte nástroj pro konverzi teplotyPodobně je užitečný program pro sestavení převodu teploty na jinou měrnou jednotku. Zjistěte, zda můžete vytvořit program, který bude měřit zadanou teplotu ve stupních Celsia a vrátí stejnou teplotu ve Fahrenheitu. 5. Vytvořte multiplikátor s pohyblivou řádovou čárkouVzhledem ke dvěma číslům s pohyblivou řádovou čárkou vytvořte program C++, který vám poskytne součin těchto dvou. Chcete posunout věci na střední úroveň? Na této výzvě vsaďte tím, že povolíte libovolný počet vstupů (nebo jejich množství) a vrátíte součin všech vstupních čísel s pohyblivou řádovou čárkou. 6. Převeďte řetězec na všechna velká písmenaMůžete se rozhodnout, jak dlouhý nebo krátký bude váš vstupní řetězec. Tento program by měl brát zadaná malá písmena a převádět je na velká písmena. Jedná se o velmi užitečný nástroj pro správu databáze nebo čištění dat. 7. Vytvořte kalkulačku, která bude počítat průměrNapište program v jazyce C++, do kterého zadáte pole čísel a výstupem bude jejich průměr. Bonusem by mohla být kalkulačka, která jako vstup použije matici a poskytne průměr každého řádku nebo sloupce. 8. Vytvořte funkci, která zkrátí řetězec na 10 znakůMůžete sestrojit funkci, která přijímá jako vstup řetězec a vrací zkrácenou verzi? Existuje mnoho aplikací pro ořezávání dat, takový nástroj umí odstranit chyby v databázi. Například v údajích o adrese zákazníka by jakékoli PSČ, které má více než pět znaků, bylo nesprávné. Ořezávání celých souborů pomocí tohoto programu může pomoci udržet databáze se správnými údaji. 9. Naprogramujte program, který bude provádět třídění pole číselných prvkůVzhledem k pole, řekněme, 10 čísel, můžete vytvořit program, který vrátí pole v číselném pořadí od nejmenšího čísla po největší? Seřazení dat je účinný způsob využití jazyka C++. Pokud vám vyhovuje malé pole, zkuste pracovat s větším – nebo dokonce s maticí. Třídící algoritmus necháváme na řešiteli. 10. Napište program, který počítá duplicitní položky polePři čištění dat je třeba odstranit duplicitní údaje. V této krátké úloze tedy vytvořte program, který vrátí počet prvků v poli, které jsou duplikáty. Nezapomeňte každý den pracovat na svých programátorských dovednostech, abyste postupně dosáhli vytouženého cíle a stali se dobrými programátory.
Hra GalaxyCodr učí programovat děti od 8 let
Vzdělávání
17.09.2021
Skillmea

Hra GalaxyCodr učí programovat děti od 8 let

Velký třesk naší galaxiePrací se žáky jsme získali cenné zkušenosti. Z nich jsme čerpali při tvorbě video kurzů programování pro děti. Ve videích účastníkům představíme postup, podle kterého si dokážou naprogramovat vlastní projekty. Naším záměrem však je, aby děti nebyly jen pasivními diváky, ale aby samy aktivně tvořily řešení problémů při programování. Rozhodli jsme se proto vytvořit vzdělávací hru. Inspiraci jsme našli například v aktivitách Hour of Code nebo hře Run Marco, na kterou jsme pohlíželi jako na našeho duchovního soupeře. Ve světě však existuje několik podobných projektů. Většina z nich se však věnuje jen úplným základům a to je pohyb nebo orientace robota. My jsme chtěli jít víc do hloubky. Na první pohled jsme chtěli zaujmout příjemnou grafikou, vtipným příběhem a animovanými filmy. Už od samého začátku jsme náš projekt testovali s dětmi. Žákům jsme předvedli náčrty postav a nechali jsme je hlasovat. Vybrali si vzhled hlavního hrdiny, vesmírnou raketu nebo příšerky do alba. Jelikož jsem sběratelský typ, hned na začátku jsem chtěl děti motivovat sbíráním. Podobně, když jsem jako školák kupoval samolepky pokémonů do nálepkového alba. První verze hry, kterou jsme testovali se žáky, vznikla ještě jako prototyp v prostředí Scratch. Popravdě Scratch dosud využíváme při tvorbě podkladů a návrhu nových mechanik. Na obrázku níže si prohlédněte malou ukázku.[Image] Simulujeme to, jak budou fungovat, než se pustíme do jejich programování a implementace do hry. Během vývoje jsme upustili od několika návrhů. Například, původně jsme naši hru pojmenovali Galacticco. Chtěli jsme děti odměňovat předměty, kterými by si zvelebovaly svůj virtuální pokoj nebo vylepšovaly vesmírnou raketu. To by byla domovská základna našeho hrdiny. Do finální podoby se nedostal ani design úrovní pod vodou nebo mezi oblaky. Vulkanické planety plné lávy se však možná ještě v budoucnosti dočkáme. Popis hry GalaxyCodr ve zkratceHra je rozdělena na několik planet. Každá z nich se věnuje nějaké problematice programování. Obsahuje 20 základních příběhových úrovní. Pro odvážné je určeno 5 náročnějších bonusových úrovní. Každá planeta má vlastní příběhová videa a graficky odlišné prostředí. Úrovně tvoří cesty složené z políček. Cílem je navigovat postavičku Spike na cílové políčko. Řešením je algoritmus složený z pokynů tedy příkazů, které mají tvar bloků. Skládáme je dohromady podobně jako u stavebnice. Programujeme způsobem uchop, přesuň. a umístí. Pořadí instrukcí je velmi důležité, protože Spike vykonává příkazy postupně. Každý level obsahuje didaktický cíl. Který když žáci splní dostanou vítězný pohár. Pro splnění cíle na prvních úrovních se postačí dostat do cíle. Později se cíle přizpůsobí problematice, které se na dané úrovně věnujeme. [Image] Zábavný fakt: První dvě planety Sandy a Roj meteoritů, který obíhá kolem planety, jsme spojili do jednoho celku. Tyto dva akty byly zveřejněny a dlouhou dobu dostupné na hraní. Spolu s dalšími planetami přicházíme také se soutěží. Chtěli jsme, aby hráči hráli něco nového a nebyli znuděni opakováním úrovní. Tak jsme se rozhodli spojit původní dva celky dohromady. Zároveň jsme navrhli novou sadu úkolů. Je mírně náročnější. Uvidíme, jak se nám toto rozhodnutí osvědčí. Hráči se tak po přejetí první planety mohou těšit na nový obsah tvořený 4 novými planetami a tedy 80 levely. Kurikulum planet1. Planeta: Sandy Na povrchu planety se naučíme: pohyb postavičky, posloupnost příkazů, vstupní parametry a cyklus. Začínáme s běžnými příkazy jako jdi dopředu nebo otoč se. Řešení některých úrovní vybízí opakovat části kódu pomocí příkazu opakuj. Všimněte si, že do příkazů umíme psát různá čísla. Ve vesmíru se naučíme: orientace na dráze a časování. Dráha je kvůli meteoritům rozdělena na několik samostatných částí. Ty jsou propojeny pomocí portálů. Pozor, východy z portálu mohou být otočeny jiným směrem než jejich vstupy! Provoz ve vesmíru podobně jako u nás pomáhají řídit semafory. Musíme si naplánovat, při kterém semaforu budeme čekat a jak dlouho. Případně musíme hledat cestu, po které se dostaneme nejrychleji do cíle. Pro získání vítězného poháru je třeba projít level za určitý počet tahů. Každý krok dopředu i čekání nás stojí drahocenný tah. 2. Planeta: TerraNaučíme se: cyklus s ne-určeným počtem opakování a podmínky. Cesta se nám zdá příliš dlouhá. Nebudeme počítat políčka. Budeme opakovat kráčení dokud se nedostaneme do cíle. Sem tam musíme odbočit nebo se vyhnout překážce. Abychom věděli kdy, tak se na to potřebujeme zeptat. Tyto otázky skládáme pomocí podmínek, například: Pokud je cesta vpravo, odboč doprava. Na začátku je budeme mít předpřipravené, později si je budeme muset poskládat z jednotlivých dílků. 3. Planeta: Crystal Naučíme se: proměnné a vstupní parametry. Cestu nám blokují různě uzavřené zátarasy nebo nefunkční portály. K jejich zjezdu potřebujeme určitý počet krystalů vhodné barvy. Ty jsou naštěstí všude kolem nás. Budeme je sbírat, počítat a používat. 4. Planeta: VotanNaučíme se: souřadnice. Celá plocha je pokryta ledem až na pár zasněžených políček. Právě jejich polohu musíme zjistit. Je složena z písmen a čísel. Když zjistíme správnou polohu, můžeme se po ledě na políčko uklouznout. 5. Planeta: Zombie IXNaučíme se: programovat několik postav a události. V cestě nám stojí zavřená brána. Někde musí být páka, která ji otevře. Nedosáhneme na ni. Pomoci nám mohou kolem se potulující roboti. Jejich program je však poškozen. Jsou hloupější než zombie, které jsou nám v patách. Pomocníky potřebujeme naprogramovat. Musíme jim dát znamení, aby ve správnou chvíli otevřeli bránu. Tak, aby nás pustili dál, ale aby zombie zůstali venku.[Image] Nové možnosti a soutěž s KauflandemHraním hry můžeme plnit různé úspěchy, za které obdržíte odměny pro svůj účet. Můžeme si upravit obrázek a rámeček avatara, přidat před svou herní přezdívku titul jako například „král galaxie“. Na stránce hry máme připravenou i pomoc pro učitele. Ti mají možnost založit si učitelský účet. V něm mohou vytvářet třídy, kam si vás pomocí kódu mohou přidat a sledovat tak váš postup hrou. Díky spolupráci s Kauflandem jsme hráčům zpřístupnili nový obsah. V Kauflandu si můžete zakoupit jen za 1 euro nálepkové album. Za každých 20 Eur nákupu získáte jeden balíček obsahující 5 náhodných nálepek do alba a 1 QR kód. Pomocí QR kódu můžete získat další balíček, ale tentokrát do digitálního alba. Dvojnásobná radost z otevírání. Tento balíček si v prodejně můžete zakoupit i samostatně za 0,5 Eur. Pokud se vám podaří sesbírat celé digitální album a dokončíte první planetu, vítězné poháry nepotřebujete, můžete se zapojit do soutěže o herní notebook. Digitální hrdiny můžete získat i hraním hry. Pokud si ve svém profilu vyplníte školu, automaticky ji zapíšete do soutěže o IT učebnu.[Image]Více informací o soutěži a hře GalaxyCodr najdete na webu.
Programování pro děti: Objevte zábavné a jednoduché programovací jazyky
Vzdělávání
08.09.2021
Skillmea

Programování pro děti: Objevte zábavné a jednoduché programovací jazyky

Programování pro děti je stále více oblíbenější a jeho význam roste. Není to překvapující, vzhledem k tomu, jak se naše společnost stala závislou na technologiích. Stále více lidí se zajímá o tuto cennou dovednost a ptá se: "Mohl bych se to také naučit?" I rodiče více věnují pozornost programování a snaží se k němu své děti vést, aby jim zajistili lepší budoucnost. Naučit se programovat v mladém věku může dítěti zajistit celoživotní úspěch a rozvoj kritického myšlení. IT kurzy pro děti se věnují už i učitelé na základních školách a existuje několik vzdělávacích programů, kurzů či nástrojů, které se snaží programování dětem co nejvíce přiblížit a usnadnit. V tomto článku přineseme náš pohled na programování pro děti: výhody, proč je tato počítačová dovednost v současnosti tak důležitá, a seznam nástrojů, díky kterým se vaše dítě umí naučit základy programování.[Image] V jakém věku mohou děti začít s programováním?Podle Piagetovy kognitivně-strukturální teorie vývoje, kterou vypracoval švýcarský psycholog Jean Piaget v roce 1971, jsou děti ve věku 5 let v předoperačním stadiu. V této fázi dítě začíná chápat svět pomocí mentálních reprezentací prostřednictvím slov a obrazů. Projevem reprezentativní funkce v poznávání je také oddálená imitace. Jedná se o schopnost napodobovat model s časovým odstupem. Dítě může například vidět jiné dítě, jak prolézá zábradlí. Vzpomene si na to druhý den a na základě představy, kterou si uchovalo, dokáže samo uvedené úkony podobným způsobem provést. Podle této teorie a dostupnosti moderních vzdělávacích nástrojů a technologií se mnozí odborníci shodují, že dítě se může začít učit programovat ve věku 5 let. Někteří rodiče mohou mít z tohoto věku obavy, a rozumíme těmto obavám. Základy programování je však možné vyučovat snadněji díky gamifikaci a moderním programovacím aplikacím, robotice a jejich nástrojům. Mnoho webových aplikací a stránek učí děti programovat pomocí blokového programování, což je zábavný a interaktivní způsob, jak se seznámit s tímto fascinujícím světem. Kromě toho, existují různé vzdělávací kurzy, které mohou podporovat nejen základy programování, ale i další rozvoj dovedností. Kromě toho, stále populárnější jsou rekvalifikační kurzy, které pomáhají nejen dospělým získat nové dovednosti v oblasti informačních technologií a programování. Díky těmto kurzům mohou lidé změnit svou profesní dráhu a adaptovat se na rychle se měnící trh práce, kde je znalost IT a programování stále více vyhledávaná. Tyto možnosti jsou dostupné nejen pro děti, ale i pro dospělé, kteří chtějí rozvíjet své schopnosti a držet krok s technologickými trendy. Jak vzbudit zájem vašeho dítěte o programování?Pokud se vaše dítě již zajímá o programování, tvorbu webů či vývoj her a aplikací, pravděpodobně nebudete muset udělat moc, abyste je k samotnému reálnému programování dovedli. V zásadě byste už jen našli vhodné online či offline kurzy, kroužky a podobně. Pokud však vaše dítě z počítačových věd (nebo i STEM předmětů - Science, Technology, Engineering, Mathematics) nadšené není, existuje několik způsobů, jak v nich vzbudit zájem. Kombinujte programování s jejich současnou vášní• Hračky a roboty Existuje spousta zábavných "offline" hraček, které pokrývají základy STEM a kódování. Existuje také mnoho programovatelných robotů. Můžeme zmínit populárního Ozobota nebo Makeblock mBot Robot Kit. Jsou to sety vhodné pro začátečníky v oblasti programování a umíte je programovat i pomocí rozhraní v notebooku či tabletu. NAO Robot je humanoidní robot, který je však velmi drahý, a tady ho vzpomínáme spíše jako zajímavost.[Image] • Stavebnice LEGO je lídrem v oblasti hraček pro začínající stavitele. S LEGO MINDSTORMS si můžete postavit a naprogramovat vlastního robota. Obsahuje také jednoduchou aplikaci s programátorským rozhraním, a takto umíte ovládat svého robota. Líbit by se vám mohl také LEGO BOOST Creative Toolbox, díky kterému se vaše dítě může naučit základy kódování, inženýrství a robotiky.[Image] • Kreslení, malování Pokud má vaše dítě umělecké vlohy a má rádo kreslení, ukažte mu nástroje. Scratch je platforma, díky které můžete vytvářet animace, interaktivní příběhy, hry a další pomocí blokového programování. Děti mohou do Scratch platformy nahrát vlastní obrázky, zvuky, pozadí a vytvářet tak unikátní projekty. Více o Scratch si přečtěte níže v článku. • Video hry (mobilní hry) Děti, které hrají počítačové a mobilní hry, by mohly mít zájem o jejich výrobu. Vášniví hráči se mohou naučit základní znalosti programování prostřednictvím velmi oblíbených počítačových her jako Minecraft a Roblox. Učte se programovat s nimiDěti chtějí být nezávislé, ale přesto mohou upřednostnit, kdyby jim byli rodiče nápomocni při začátcích v programování. Učí se něco nového a často se mohou na něčem zabrzdit, zaseknout, což může být velmi frustrující a demotivující. Když jim však pomohou rodiče, kterým důvěřují, učení se stane větší zábavou. Pokud tedy vaše dítě váhá s učením se programování, navrhněte mu, že se budete učit společně. Pokud nejste technicky zdatný rodič, nevadí, je to skvělá příležitost i pro vás naučit se něco nového a vzdělávat se.[Image] Jaký je nejlepší programovací jazyk pro děti?Moje cesta k programování začala na střední škole v prostředí Turbo Pascal. Na počítačích pro moji skupinu nebyla dostupná grafika. Tak zatímco druhá skupina kreslila autíčka, my jsme se snažili s tou modrou obrazovkou nějak komunikovat. Programovali jsme různé jednoduché výpočty a odpovědi. Po výměně učebny se pro nás finální zkouškou stal příklad naprogramovat nakreslení olympijských kruhů. Velkým vtipem byla moje příprava na maturitu. Před Vánocemi se nám pokazil počítač a oprava trvala celý zbytek školního roku. Programoval jsem pomocí tužky a starého sešitu. Spuštění programu probíhalo v mé hlavě s myšlenkami: „Teď by to asi mělo fungovat.“ Doba postoupila a digitální technologie jsou dostupnější. Úvodní nástroje do programování se skrývají za každým rohem. Jedním očkem můžete mrknout na naši vzdělávací hru GalaxyCodr. Vaše první kroky na cestě k programování jsou mnohem jednodušší. Ale kterou cestou se vydat?  Zkusím vám poradit podle mých zkušeností, nakolik jsem odučil nespočet kurzů, kroužků a webinářů programování pro děti. Scratch Junior (školka – 3. třída ZŠ) Začněme s těmi nejmladšími. Jim bych doporučil prostředí Scratch Junior. Je určeno pro smartphony nebo tablety. Vhodnější je ovšem tablet, díky jeho rozměrům obrazovky. Na které se vám bude s bloky lépe pracovat. Příkazy jsou ztvárněny bloky připomínajícími stavebnice. Z nich skládáte scénáře pro postavičky, způsobem uchop potáhni a pusti. Význam příkazů je znázorněn obrázky. Možná na začátku budete potřebovat pomoc rodičů, ale programovat v prostředí Scratch Junior by měly zvládnout i děti v předškolním věku. Scratch (4. – 8. třída ZŠ) Když trochu podrostete, můžete se pustit do prostředí Scratch. Tady začíná ta pravá zábava pro každého nadšence, který rád vymýšlí vlastní světy nebo chce tvořit hry. Opět programujeme blokovým systémem. Všechny příkazy máte dostupné a rozdělené do kategorií. Nachází se zde bohatá knihovna postav a pozadí. Nezklame nás ani docela slušný nástroj pro kreslení. Scratch běží ve webovém prohlížeči. Pokud si vytvoříte účet, můžete si vaše díla ukládat přímo online do cloudu. Tady přicházíme ke skvělé Scratch komunitě. Přímo na stránce naleznete obrovské množství zveřejněných projektů. Každý z nich si můžete vyzkoušet a prohlédnout jeho zdrojový kód. Můžeme se takto naučit, jak projekt funguje a případně se jím inspirovat. Jelikož programy tvoří uživatelé, jsou zde i slabší projekty s prosbou o pomoc, vtipné příběhy, zábavné hry a dokonce i mistrovská díla. Scratch má neskutečný potenciál! Můžete zde dokonce naprogramovat rekurzivní stromy, což je téma na vysoké školy. App Inventor (od 7. třídy ZŠ) Z „dospělejších“ programátorských nástrojů je k prostředí Scratch nejblíže App Inventor. Je to grafický programovací nástroj pro mobilní Android telefony. To znamená, že programujete pomocí bloků a různých komponentů. Programujete ve webovém prohlížeči. Můžete se přihlásit pomocí Gmail účtu a zdrojový kód projektů ukládat v cloudu. Naprogramované projekty si můžete spustit na vašem telefonu. Jednoduchou hru typu „Udeři prstem krtečka“ naprogramuje skoro každý. App Inventor je vhodný pro výuku programování, ale lze v něm vyvíjet i plnohodnotné mobilní aplikace. [Image] p5.js - JavaScript (od 7. třídy ZŠ)Moji cestu do „dospěláckého textového programování“ jsem započal v prostředí p5.js, které mi představil jeden kolega. Ahoj Majo 🙂 Prostředí běží online ve webovém prohlížeči. Přihlásit se můžete pomocí Gmail účtu a všechny projekty si přímo na něj uložit. Na psaní kódu používáme jazyk JavaScript. S tím, kde vzít ta správná slova, aby nám vznikl kód, si těžkou hlavu dělat nemusíte. Na stránce je bohatá Referenční knihovna s příkazy. Výhodou jsou příklady, které můžete upravit a tak experimentovat. Fanoušci vytvořili různé užitečné knihovny, které jsou dostupné přímo na stránce. Naše projekty můžeme pomocí webového odkazu poslat kamarádům, ať už se zdrojovým kódem nebo jen spuštěným projektem. Osobně můžu učitelům toto prostředí vřele doporučit! Důležité je zvolit správnou sadu jednoduchých a zajímavých projektů. Jak mám ve zvyku, k ověření našich „skillů“ můžeme využít hru Bludiště. Další nástrojeBěhem své praxe jsem se setkal s více jazyky a prostředími pro začátečníky v oblasti programování. Můžeme si je vzpomenout v „Síni slávy.“ Blockly Games Nabízí několik aktivit, ale mou oblíbenou je Maze. Tady vás čeká pár zajímavých bludišť. Programujete cestu do cíle pomocí bloků. Poslední úrovně vás mohou potrápit s větvením podmínek. CodeCombatChcete se naučit programovat hraním hry na hrdiny. V tomto RPG dobrodružství můžete procházet různými kobkami pomocí textového programování jako Phyton, JavaScript, C++ a tak dále. Hodina kódu (Hour of Code) Obsahuje početnou sadu aktivit zaměřených na programování pomocí bloků. Oblečené jsou v tematickém kabátě jako Minecraft, Star Wars, Angry Birds nebo Plants vs Zombies. Můžete zde najít také sbírku odkazů na další zajímavá prostředí. GalaxyCodrVraťme se zpět domov na Slovensko, kde startuje vesmírná raketa připravená na programátorské dobrodružství. V pěkném grafickém prostředí programujete cestu postavičky Tima pomocí bloků. Jeho cesta za záchranou kamaráda je podpořena vtipnými animacemi. Můžete se v brzké době těšit na pokračování příběhu a nové planety, které brzy přibudou. LEGOStavebnice LEGO nabízejí vícero robotů, které nejsou určeny pouze ke skládání. Jejich pomocí se můžeme učit programovat. Pro mladší je zde LEGO Boost a pro starší LEGO Mindstorms. Programujeme na tabletu nebo počítači pomocí bloků. VeterániKe starším veteránům v této oblasti patří prostředí pro děti jako Robot Karel, EasyLogo, Imagine nebo Baltík. Doporučit můžu i sadu aktivit na procvičení digitálních dovedností v prostředí Cirkus Šaše Tomáše nebo archiv soutěže iBobor. Na závěr mohu říci, že jsem určitě nezmínil všechno. Chtěl jsem se s vámi podělit o programátorská prostředí, se kterými mám osobní zkušenost. Máte-li tipy na další vzdělávací hry, aplikace či roboty, neváhejte se s nimi podělit v komentářích.
Frontend vs Backend vs Fullstack a jak se na to dívám já
Vzdělávání
20.08.2021
Jaroslav Beňo

Frontend vs Backend vs Fullstack a jak se na to dívám já

Při řešení a vývoji aplikací si umíme vývoj rozdělit na dvě hlavní části – front end a back end. Front end je v podstatě to co vidíš očima - to s čím se uživatel jako prvním setká (během vysoké školy mě pucoval jeden profesor, že člověk, co kliká naši aplikaci je uživatel a ne uživatel). Následně back end je vše vzadu, co běžný uživatel nevidí, co se děje na pozadí, většinou je to zpracování dat, komunikace s databází a podobně. Po internetu kolují desítky memes, ve kterých se tyto rozdíly mezi frontendem a backendem zobrazují. Prohlédni si pár z nich:[Image]Doufám, že máš teď tak hrubou představu o tom, co je frontend a co backend. Jak se nám snaží podsunout tyto meme obrázky, backend nemusí být a neměl by být ošklivý a špatně napsaný špagetový kód, právě naopak. Přestože backend uživatel nevidí, měl by fungovat parádně. Podívejme se nyní na to z pohledu reálné aplikace. Reálná aplikace Uvažuji nad webovou aplikací, která bude napojena na databázi. Jako první potřebuji znát, co se má v aplikaci dít, co má aplikace dělat, jaké jsou podmínky, co se má kdy zobrazovat a podobně. Pro tento úkol jsou vyhrazeni specialisté jako analytik, který analyzuje aplikaci z pohledu používání a takzvané business logiky. Tedy například bankovní aplikace má jinou business logiku a podobně aplikace pro správu uživatelů má jinou logiku. Potom nastoupí architekt, který řekne, v čem se bude programovat frontend, v čem back end a vše navrhne technicky. Následně přichází na scénu frontend programátor a backend programátor. Nebo stále více populární fullstack programátor. Role front end developeraFrontend developer má za úkol připravit obrazovky – UI – user interface podle požadavků. Například potřebuje zobrazit všechny transakce na bankovním účtu. Připraví si obrazovku. Použije HTML + CSS na vzhled stránky plus JavaScript na funkcionalitu. Použije nejčastěji jeden z populárních frameworků – podle zadání architekta – Angular, Vue, React. Kromě toho by frontend vývojáři měli ovládat frameworky jako Bootstrap, Foundation a další, které zajišťují skvěle vypadající obsah bez ohledu na zařízení, na kterém si daný obsah prohlížíte. Pokud potřebuje data, tak podá požadavek na backend programátora nebo analytik připraví úlohu pro back end programátora. Frontendista následně poté zobrazí data, která mu poskytl backend. “Frontend developer je zodpovědný za interiérový design domu, který postavil backend developer.” Role back end developeraBack end developer připraví databázi, připraví si kód pro získání dat z databáze a napojení dat do programu. Následně připraví službu na poskytnutí dat do okolního světa. Ne vše, co je v databázi chceme zobrazovat na obrazovce, jen to co je třeba. Služba bývá hlavně REST rozhraní (REST api), které vypadá jako klasická url adresa na webovou stránku, ale místo web stránky vrátí data v požadovaném tvaru. Například vrátí seznam bankovních transakcí daného uživatele ve tvaru JSON. Jako backendista bys měl znát jazyk SQL pro komunikaci s databází. Potom záleží v jakém jazyce je backend napsán – Java, C#, Python, Ruby a podobne. Potom každý jazyk má frameworky, které pomáhají při práci. Role full stack developeraIdeální kombinace je vědět jak front end, tak back end. Fullstack developer si připraví obrazovku a pokud potřebuje data, tak si je umí i sám připravit. Podle mého názoru je dobře vědět i frontu i backend, ale trpí tím hloubka znalostí problematiky. Dovednosti a znalosti fullstack developerů jsou potřebné ve všech fázích procesu webového vývoje, počínaje fází plánování projektu, správou databází, vytvářením uživatelských rozhraní až po strukturování údajů a řešení kritických potřeb. Fullstack vývojáři proto musí porozumět všem úrovním webových stránek a tomu, jak web funguje. Na závěr lze říci, že učení se více webových jazyků a technologií je pravděpodobně nejlepší cesta. Je však dobré mít na paměti tento přístup: osvojte si nejpoužívanější a nejpopulárnější technologie/jazyky, protože čím větší podporu pro svůj web/produkt/službu máte, tím lépe. Backend developer zná do hloubky problémy, které mohou vzniknout s databází, zná lépe všechny procesy na pozadí. Frontend developer ovládá lépe javascriptový framework, ví jak udělat věci efektivněji. Fullstack developer nemusí čekat, až mu připraví data na backendu a umí si vše lépe manažovat.
Data Science: kterým jazykem začít?
Vzdělávání
11.08.2021
Skillmea

Data Science: kterým jazykem začít?

I ty přemýšlíš o tom, že se naučíš data science, ale nevíš, kde začít? Dostáváme dotazy na to, s kterým data science jazykem začít jako s prvním. Proto jsme připravili tento blog, ve kterém ti shrnujeme nami navrhovaný postup učení se data science. V článku najdeš tipy na jazyky datové vědy od našich lektorů Mira Beku, který udělal populární online kurz Python Data Science a od Mareka Čecha, který vytvořil kurz se zaměřením na SQL dátovú analýzu. Věříme, že tento článek ti pomůže vybrat ten správný data science jazyk.[Image] Správný jazyk pro tvé Data Science cílePředtím, než si vybereš konkrétní jazyk, by sis měl(a) položit několik otázek a zodpovědět na ně. Jsou to zejména tyto: Na jakých projektech chceš pracovat? Jaká témata tě zajímají? Do kterých odvětví chceš jít? Odpovědi na tyto otázky ti pomohou určit jazyk, který se budeš muset naučit. Některá odvětví vyžadují znalost konkrétního jazyka, je to zejména z důvodu, že budeš pracovat s prověřenými modely daného odvětví, které jsou vytvořeny pomocí určitého jazyka. Dobrým postupem je i zeptat se datových vědců z odvětví, které tě zajímá, na jazyky, které používají a čím doporučují začít. Níže v článku najdeš několik facebookových a jiných skupin z regionu Slovenska a Česka, které ti doporučujeme. “TL;DR: Nejčastěji používané jazyky v datové vědě jsou Python, R a SQL. Toto jsou i námi doporučené jazyky, kterými začít, pokud máš v úmyslu stát se datovým vědcem. ” Při výběru jakéhokoli z data science jazyků však v podstatě neuděláš chybu, protože když se naučíš extrahovat poznatky a data pomocí jednoho jazyka, nebude pro tebe problém naučit se jiný jazyk. Všestranný datový vědec by měl být schopen „skákat“ mezi jazyky. Nejoblíbenější Data Science jazykyV tomto stručném přehledu ti představíme nejoblíbenější Data Science jazyky ak čemu slouží. Dobrou zprávou je, že Python, R i SQL mají rozsáhlé ekosystémy a komunity, takže tyto jazyky jsou vhodné pro téměř všechny úkoly datové vědy. Python Python je univerzální moderní programovací jazyk, umíš jím dělat weby i programovat roboty. Mezi programátory je oblíben pro svou stručnou a snadno čitelnou syntaxi. Dobře se tedy čte a lze se ho velmi rychle naučit – je tedy skvělou volbou pro výuku programování. Díky řadě výkonných knihoven a balíků může Python implementovat mnohé ze statistických modelů a výpočtů potřebných pro datovou vědu. Je to také jeden z nejlepších jazyků pro získávání (scraping) údajů z webu. Mnoho firem a organizací používá Python pro data science, protože jejich programátoři již používají Python i pro jiné účely. Python také používá intuitivní a jednoduchou syntaxi, takže je vhodný pro začátečníky k učení se důležitých všeobecných konceptů programování, jako jsou funkce. Mírnou nevýhodou Pythonu jako prvního jazyka pro data science je, že základní instalace Pythonu neobsahuje statistické funkce, takže si budeš muset stáhnout všechny potřebné balíčky, abys mohl začít s data science v Pythone. Když si ale všechno nastavíš, Python se dá snadno naučit. Pár zajímavých a doporučených balíčků pro Python: • Data manipulace: pandas a NumPy • Vizualizace: Matplotlib a seaborn • Testování hypotéz a modelování: SciPy, scikit-learn, statsmodels Lektor Miro Beka doporučuje i Jupyter notebook, který je podle něj "skvělý nástroj jak pracovat s Python data science, protože programátor umí přímo v něm vykonávat všechny funkce, zobrazovat grafy a obrázky, případně importovat stávající jupyter notebooky. Jelikož python nemá nativní IDE, kde by všechny tyto věci fungovaly out of the box, jupyter notebook slušně doplňuje Python prostředí o potřebné nástroje." Programovací jazyk R R je statistický programovací jazyk vytvořen pro analýzu dat, vizualizaci dat a datovou vědu. Dodává se s komplexním souborem vestavěných statistických funkcí a metod. R je dobrá volba, pokud jsi nováček v oblasti datové vědy, ale už máš základní znalosti o obecných konceptech programování. Datové struktury, typy proměnných a analytické nástroje v R jsou jednoduché a navrženy speciálně pro datovou vědu. Na začátku nemusíš být zaneprázdněn syntaxí nebo více různými knihovnami. Se základní instalací R budeš mít přístup k mnoha funkcím datové vědy, jako jsou lineární regrese nebo t-testy, a vytvářet pěknou grafiku a vizualizace. R se také dobře kombinuje s RStudio – integrovaným vývojovým prostředím (IDE) – které usnadňuje spuštění kódu R a kontrolu výstupu. Mezi několik užitečných balíčků, o kterých bys měl vědět při učení jazyka R, patří: • Sbírka data science balíčků: tidyverse • Data manipulace: dplyr (nachází se i v tidyversu) • Vizualizácia: ggplot2 (nachází se i v tidyversu) • Regrese: caret SQLSQL je jazyk, který umožňuje programátorům komunikovat s databázemi a spravovat údaje, které obsahují. Běžně se používá k dotazování a úpravě údajů uložených v relační databázi. Datoví vědci obvykle extrahují data z databáze pomocí jazyka SQL a poté je importují do R nebo Pythonu k analýze. Bez ohledu na to, jaký jazyk se pro analýzu dat naučíš, SQL je důležité naučit se, pokud chceš stahovat data z databází. Znalost jazyka SQL ti umožňuje pracovat s databázemi PostgreSQL, SQLite, MySQL a dalšími relačními databázemi. Syntaxe základních dotazů je v různých databázích podobná, takže SQL je pro tento účel univerzálním jazykem. Pokud se chceš dozvědět více o různých typech databází, podívej se na tento online kurz o MySQL a SQLite. Lektor Marek Čech mluví o SQL jako o vstupní bráně do oborů souvisejících se správou dat, ať už se jedná o data science, data analýzu nebo třeba business intelligence. Je nejen univerzálním jazykem pro komunikaci s databázemi a získávání dat z nich, ale nabízí také velké množství vestavěných funkcí, díky kterým je uživatel velmi rychle a snadno schopen provádět poměrně komplexní operace. „Začít svou cestu k práci s daty jazykem SQL bych právě proto doporučil i lidem, kteří nemají předchozí zkušenosti s programováním či „kódováním“. Člověk se tak naučí psát jednoduché i složité otázky, vytvářet databázová schémata, indexy či procedury, a obecně pochopí , jako tok dat a jejich čištění / transformace běžně probíhá." mluví dále Marek Čech. Jazyk SQL lze využít opravdu v jakémkoli oboru. Znát jej tedy znamená otevřené dveře do lokálních podniků i nadnárodních korporací snad ve všech odvětvích. A když se člověk rozhodne své znalosti rozšířit o další jazyky, bude se mu znalost SQL stále hodit při pátráních na zdrojová data a často i pro nejrůznější data analytické operace či poskytování dat "businessovým" uživatelům - tedy např. u vědy. Management firmy. Další data science jazykyV závislosti na tom, do jakého odvětví nakonec půjdeš, se možná budeš muset naučit konkrétní jazyk pro datovou vědu. V následujícím seznamu jazyků se dozvíš více o tom, k čemu se používají. C/C ++: C aj C ++ vyžadují silné znalosti základů programování a učení těchto jazyků může trvat déle. V kombinaci s Pythonem nebo R lze C/C++ použít pro rychlejší a efektivnější výpočty datasetů. JavaScript: JavaScript je super nástroj pro vývoj interaktivních data vizualizací na webu s knihovnami jako D3.js. JavaScript také podporuje knihovny strojního učení jako TensorFlow.js. MATLAB: Ideální pro pokročilé numerické výpočty a pro řešení složitých matematických a statistických problémů. MATLAB se v akademickém prostředí široce používá k vyučování matematiky, fyziky a inženýrství. Julia:Novější programovací jazyk navržený pro numerickou analýzu a výpočetní vědeckou analýzu. Je to užitečné pro aplikace ve fyzice, chemii, astronomii, strojírenství, bioinformatice a dalších oblastech. Scala: Výkonný jazyk, který dokáže zpracovat velké množství dat. Scala běží na Java Virutal Machine, což znamená, že se dobře integruje s programy napsanými v Javě. SAS: Vytvořen pro pokročilou analytiku, obchodní inteligenci a prediktivní analýzu. SAS se běžně používá ve zdravotnictví, bankovnictví a pojišťovnictví. Stata: Používá se v ekonomickém výzkumu, veřejné politice a sociálních vědách. Stata je navržena pro cokoli od jednoduché deskriptivní analýzy po komplexní statistické modelování. Další vzdělávání v data sciencePokud chceš být v kontaktu s lidmi z fachu, prohlédni si těchto pár užitečných odkazů. Toto jsou slovenské Facebook skupiny, které se zabývají datovou vědou: • PyData Slovakia & Bratislava 👉 https://www.facebook.com/groups/1813599648877946/ • R Slovakia 👉 https://www.facebook.com/groups/931707906955080/ Pycon konference v Bratislavě je organizována dobrovolníky a dobrovolnicemi z občanského sdružení SPy o.z. zaměřeného na šíření jazyka Python a dalších open sourcových technologií a myšlenek. Pycon má specializovaná část, která se jmenuje Edu Summit a je zaměřena na vyučování programování na základních a středních školách. Více info najdeš na webe Pyconu. Pythonu se věnuje i konference Python Day Bratislava. Je to československá konference, na které si poslechneš přednášky od předních českých a slovenských odborníků ze světa Pythonu. Ročník 2021 byl organizován online. Machine Learning Prague je největší evropská konference o Machine Learningu, AI a Deep Learningu. Ročník 2022 bude v březnu, více info na stránce konference.