Náš blog

11 nejlepších nástrojů pro analýzu dat
Vzdělávání
25.11.2021
Skillmea

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í. 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 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. Některé 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: 1. 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ů strojního učení k vytvoření přehledů? 2. 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 použít specifické nástroje. 3. 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 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 tvz. "no-code" nástroje, které můžete použít. 4. 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. 1. Python Python je jedním z nejpoužívanějších programovacích jazyků pro analýzu dat. Je to interpretovaný, univerzální, vysokoúrovňový jazyk, který lze použít pro procedurální, funkční a 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í oblíbený jazyk pro začínající vývojáře. 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. 2. Matplotlib Matplotlib je knihovna Python, která usnadňuje vizualizaci dat a grafické vykreslování. Můžete jej 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. 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. 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 skutečnosti, ž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ů. SQL je také jednoduchý jazyk k učení. Dotazy, které do něj píšete, jsou téměř jako anglické věty. A téměř každý jiný programovací jazyk má také knihovny, které můžete použít k interakci s databázemi, díky čemuž je tento jazyk skutečně výkonný pro analýzu údajů. 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 používá HTML, škálovatelnou vektorovou grafiku a CSS, což umožňuje webovým vývojářům snadno provádět analýzu dat, 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ě údajů, které používá. D3 také podporuje interakci, animaci, anotaci a kvantitativní analýzu. I když se technologie, kterou používá D3, lze snadno naučit, přichází s více než 30 moduly a 1 000 metodami vizualizace, jejichž zvládnutí může chvíli trvat. 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.
8 populárních IDE a editorů kódu
Vzdělávání
24.10.2021
Skillmea

8 populárních IDE a editorů kódu

Když absolvuješ naše online kurzy programování, budeš používat textový editor. Když studuješ kurz HTML a CSS, vystačíš si i textový editor. Notepad. Pro to, abys byl efektivní, však budeš určitě používat buď pro programování vytvořené editory kódu 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 způsobem, 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 rozhraní 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. 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 IDE 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. JavaScript, CoffeeScript, TypeScript či SQL. Při kódování kontroluje chyby a má také automatické doplňování. Má elegantní, minimálně GUI 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 ik 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 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é IDE 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 ďalší.[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óduSublime Text 3Efektivní 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. Notepadd++Editor kódu Notepad++ pracuje s různými programovacími jazyky, ale byl navržen pomocí programovacieho 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. AtomJe 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: průvodce pro rodiče a učitele
Vzdělávání
08.09.2021
Skillmea

Programování pro děti: průvodce pro rodiče a učitele

Programování pro děti je stále více oblíbenější. Není to překvapující, vzhledem k tomu, jak se společnost stala závislou na technologiích. Stále více lidí se zajímá o tuto 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. Naučit se programovat v mladém věku může dítěti zajistit celoživotní úspěch. Programování 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á, 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ě, než 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í. Některé vlády, například Velké Británie, Estonska a Finska zavedly nebo zvažují zavedení programování jako součást školních osnov pro děti ve věku 5 a více let. 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, má rádo kreslení, ukažte mu nástroje. Scratch díky, kterému můžete vytvářet animace, interaktivní příběhy, hry a pod. pomcí 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šu vzdelá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.
Krátký úvod do SQL
Vzdělávání
25.06.2021
Skillmea

Krátký úvod do SQL

Úvod do databázyNa internetu, v mobilních aplikacích ve webových aplikacích potřebujeme data – informace. Tyto informace musí být někde uloženy. My si budeme povídat o SQL databázích. Jsou to systémy, které mají v sobě uložená data ve formě tabulek. Z těchto tabulek následně tato data čteme a zobrazujeme uživatelům. Podívejme se na příklad. Mějme databázi - informace o škole. V této databázi máme informace o třídách, učitelích nebo io žácích. Začněme s třídami. Jaké máme informace o třídě? Třída má název, kapacitu, číslo místnosti, označení zda je interaktivní a podobně. Tato označení by byla názvy sloupců v tabulce. Řádky v tabulce jsou následně reálná data. Název tabulky: Class[Image]V databázi budeme mít několik tabulek, dle požadavků. Můžeme mít všechno v jedné tabulce, ale jak to potom rozdělíme? Nad takovým uvažováním je třeba myslet dopředu. Analýza a návrh tabulek jde ruku v ruce s praxí. Neboj se toho, teď je zapotřebí hlavně, abys získal praxi a to jde ruku v ruce s chybami. Úvod do SQLV počítačovém světě máme několik typů databází. My si něco povíme o SQL tedy o Structured Query Language. V překladu něco jako strukturovaný poptávkový jazyk. Query tedy poptávka je příkaz - žádost - poptávka na databázi. Žádáme o vrácení dat, o úpravu dat, vložení nebo o smazání dat. Databáze je samostatný systém, který může být na tvém počítači nebo na vzdáleném počítači. Na tuto databázi pak zašleme poptávku. Poptávku pošleme formou SQL příkazů, které mají určitou strukturu. SQL syntaxSQL není case sensitive, tedy se nerozlišují velká a malá písmena. Přesto se příkazy píší zejména velkými písmeny. Příkazy umíme psát i na více řádků, ale musí být ukončeny středníkem. SELECT * FROM Class; Nebo:  SELECT * FROM Class;Samozřejmě smysl to dává jen je-li komplikovanější příkaz. Názvy sloupců a tabulek píšeme malými písmeny. Pokud je název složen z více slov, tak slova oddělíme znakem _ podtržník. Je to doporučený způsob pro lepší čitelnost. Názvy mohou obsahovat také čísla. Při vymýšlení názvů se pokus vyhnout množným číslům. Názvy mají být krátké a výstižné. Názvy nesmí být totožné s klíčovými slovy, jako je například slovo SELECT / select. DatabázeVytváření databázeDatabázi umíme vytvořit i pomocí příkazu pokud se napojíme na instalaci databázového systému, například MySQL. Příkaz by vypadal následovně: CREATE DATABASE Class; Nebo ji vytvoříme po připojení se na databázový systém z databázové aplikace. Těch je několik. MySQL workbench, DBiever nebo SQuirrel. I programovací vývojová prostředí se umí připojit na databázi jako například IntelliJ IDEA Ultimate edition. Všechny poskytují prostředí pro správu a prohlížení databází. Databázi umíme také smazat:  DROP DATABASE Class; Přejmenovat: RENAME DATABASE Class TO new_class_name; Vytváření tabulekTeď, když jsme vytvořili databázi, tak si můžeme vytvořit tabulky. Znovu umíme použít prostředí pro správu databází, ale my si ukážeme postup pomocí příkazu. Podívejme se na příklad: CREATE TABLE Class ( id int, name varchar(255), capacity int, room_number int, interactive boolean );Co jsme napsali? Na začátek máme příkaz CREATE TABLE Class, kde říkám, že chci vytvořit tabulku se jménem Class. Následně mezi závorky napíšeme seznam sloupců – tučným písmem naznačeno (id, name...). Vedle názvů sloupců máme specifické příkazy pro dané databázové systémy. Jedno je však společné – za názvem sloupce následuje typ údaje – musíme zaspecifikovat, zda je to číslo, zda je to text, jestli je to boolean a podobně. Specifikování datových typů se může lišit podle toho, jakou databázi používáme. Základní typy jsou podobné a některé stejné. Například text zaspecifikuji jako varchar – v závorce je délka počtu znaků, teď jsem řekl, že název může mít délku pouhých 255 znaků. Líbil se vám článek? V následujícím článku se podíváme na další SQL příkazy.
Izometrický design: 3D objekty zobrazené ve 2D prostoru
Vzdělávání
10.06.2021
Ľudovít Nastišin

Izometrický design: 3D objekty zobrazené ve 2D prostoru

Ve své podstatě představuje izometrický design způsob, jakým zobrazujeme trojrozměrné objekty ve dvourozměrném prostoru. Izometrie však není totéž jako perspektiva, která je obvykle úzce spojena s realistickým uměním. Hlavním důvodem je to, že nemá žádný „mizející bod“ (vanishing point). Právě to umožňuje izometrickým tvarům zachovat si kompozici bez ohledu na to, kde člověk stojí nebo sedí při pozorování izometrického designu. Možná sis všiml izometrické reklamy, v digitálu nebo infografikách, či ve svých oblíbených videohrách a ilustracích. Izometrické umění dává designérům nečekaně široké spektrum možností. A protože je založeno na tvarech, izometrické kresby se vytvářejí překvapivě jednoduchým procesem. Je to také velká legrace! Většinou... Jak vytvářet izometrické designyDesign je izometrický pouze tehdy, kopíruje-li izometrickou mřížku. Tu tvoří vertikální čáry, které zůstávají při postupu svislé a všechny vodorovné čáry jsou skloněny o 30 stupňů. Toto se také nazývá pravidlem 120 stupňů. To říká, že úhel mezi osami X, Y a Z musí být celkem 120 stupňů. • Design se musí řídit izometrickou mřížkou • Design nemůže obsahovat sbíhající se čáry • Svislé čáry zůstávají svislé, zatímco vodorovné čáry mají 30 stupňový sklon • Osa X, Y a Z dohromady tvoří celkem až 120 stupňů[Image] Kdy použít izometrický designIzometrická projekce je pro designéry velmi užitečná – zejména architekty, průmyslové a interiérové ​​designéry, protože je ideální pro vizualizaci místností, produktů či infrastruktury. Je skvělým způsobem, jak rychle otestovat různé designérské nápady. Existuje spousta dalších situací, ve kterých je izometrická projekce užitečná. V systémech orientace například v muzeích nebo galeriích mohou izometrické nástěnné mapy ukázat návštěvníkům, kde se v budově nacházejí, co se děje jinde a jak se tam dostat. Některé z nejlepších infografik používají izometrickou projekci, která jim umožňuje zobrazit více informací, než by bylo možné na 2D výkresu. A dokonce i loga používají tento přístup k vytvoření efektu prostorového efektu.[Image] Isometric case study: Monument Valley Jelikož pohled v této hře má jediný bod, který se nikdy nepohybuje, objevily se zde zajímavé problémy týkající se manipulace perspektivy. I když se zdá, že stezka nebo most vede na první pohled do slepé uličky, rychlé otáčení mapy ukazuje cestu vedoucí na nové místo. Díky tomu je ve hře spousta hlavolamů, které se zdají buď nemožné nebo příliš jednoznačné. Ale ani jedno není pravda. Je to jen komplikovanější, než se na první pohled zdá. A aby tohoto efektu mohli dosáhnout, vše se muselo přesně seřadit v různých úhlech. Proto se vývojáři rozhodli položit hru do 30stupňové izometrické mřížky. To znamená, že každý úhel, který vidíte, je buď 30 stupňů, 120 stupňů nebo zcela svislý, což jsme si již vysvětlili výše. Izometrický design je skvělá technika pro oživení 2D flat designu. Přirozenou výhodou je, že grafiku pomocí izometrické projekce vnímáme jasněji a velmi dobře se v ní umíme orientovat. Izometrické vzory vytvářejí realitu, ve které můžeme vnímat věci takové, jaké jsou. Divné, ale funkční. A právě to z ní činí vynikající doplněk k alternativám designu, které už máš ve svém portfoliu.
Podmíněné formátování v Excelu
Vzdělávání
14.05.2021
Skillmea

Podmíněné formátování v Excelu

V tomto článku ti popíšeme, jak využívat podmíněné formátování v Excelu. Podmíněné formátování je dobré využívat tehdy, když potřebuješ změnit formát vybraných buněk, pokud jsou splněna jistá kritéria (podmínky). Formátovat lze více atributů, může to být barva, procenta, data a podobně. Co je to podmíněné formátování?Podmíněné formátování (nebo conditional formatting) je Excel nástroj, pomocí kterého můžeš nastavit automatické formátování buněk. Podmíněné formátování slouží k vyznačení údajů, které splňují nějakou tebou zadanou podmínku. Uvedu jeden příklad: máš databázi produktů (může jich být 100, 1000 nebo 10000) a chceš v této databázi vyznačit zelenou barvou pouze produkty, jejichž cena je nižší než 50 Eur. Nyní přichází na pomoc podmíněné formátování. Když si to rozbijeme na drobné, nejspíš: 1. Formát: vyznač zelenou barvou. 2. Podmínka: cena nižší než 50. Příklad podmíněného formátování přes "ROVNÁ SE"Mám Excel tabulku s údaji o zaměstnancích a oddělení, ve kterém pracují. Tabulku si můžeš stáhnout odsud, případně si použij jakýkoli vlastní Excel soubor. V mém souboru chci formátem barevně odlišit všechny zaměstnance, kteří pracují v oddělení HR.[Image] Jak budu postupovat?Nejprve si označím všechny buňky, které plánuji formátovat. Mohu to udělat potažením myší, nebo v případě většího počtu údajů použij klávesovou zkratku CTRL+SHIFT+⬇ (pro MacOS uživatele je to CMD+SHIFT+⬇). Následně na záložce DOMŮ (HOME) tvého Excelu vyhledej Podmíněné formátování (Conditional Formatting) a následně Pravidla zvýrazňování buněk (Highlight Cells Rules) a poté nástroj Rovná se (Equal to), viz obrázek níže.[Image] Nyní vepíšeš hodnotu HR do políčka, které jsem vyznačil barevně na obrázku níže a použiješ buď některý z přednastavených formátů, nebo si vytvoříš vlastní. Po odkliknutí se ti barevně odliší všechna pole obsahující HR. “Je dobré zmínit, že Excel nerozlišuje velká a malá písmena, takže kdyby do daného filtru vepíšeš i „hR“, „hr“ nebo „Hr“, tak Excel bude vědět, co od něj chceš. Pokud bys však už použil diakritiku, s tím si Excel neporadí.[Image]” Výsledek našeho podmíněného formátování bude tedy vypadat následovně:[Image] Zrušení podmíněného formátováníPro zrušení podmíněného formátování můžeš použít dva způsoby. Prvním z nich je vymazání podmíněného formátování jen pro tebou označené buňky nebo smažeš podmíněné formátování z celého Excel archu. Oba způsoby uděláš opět přes záložku Podmíněné formátování a Vymazat pravidla. Následně už jen zvolíš, jestli chceš smazat pravidlo z označených buněk nebo z celého archu.[Image] Podmíněné formátování můžeš využít i při práci s kontingenčními tabulkami, s grafy a pod. Práce s Excelem je díky podmíněnému formátování rychlejší a kvalitnější. Možností pro práci a filtrování díky podmíněnému formátování je mnoho, stačí si s touto možností jen pohrát. Vyzkoušej to sám i pro další možnosti podmíněného formátování - Větší a menší než; Mezi; Text obsahující; Vyskytující se datum a pod.