Create IT Blog - odborné

 

 

Co musí znát dobrý analytik?https://www.create-it.cz/Blog/Stranky/analyza.aspxCo musí znát dobrý analytik?<p>​​​​​​Když se na pohovoru zeptám „kdo je business analytik softwarového řešení“, často slyším odpověď, že se jedná o člověka, který je tzv. tlumočníkem mezi klientem a vývojovým týmem. Pokud by to bylo tak jednoduché, byl by pro práci analytika dostačující překladový slovník mezi „klienštinou“ a „vývojářštinou“. To je sice důležité, samo o sobě to ale opravdu nestačí. Znalosti analytika, který chce svou práci vykonávat opravdu dobře, musí být značně široké a zahrnovat mnoho tvrdých, ale také velké množství měkkých dovedností.<br></p><h2>Hard skills</h2><p>Pod pojmem tvrdé dovednosti se skrývají jak obecné, tak odborné znalosti. Mezi obecné patří znalost modelovacích jazyků, a to <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#:~:text=Business%20Process%20Model%20and%20Notation%20%28BPMN%29%20is%20a%20graphical%20representation%2ctwo%20organizations%20merged%20in%202005." target="_blank">BPM​​N​</a></strong> a/nebo <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language" target="_blank">UML</a></strong>. Tvorba procesů, diagramů různého typu (aktivity, sekvenční, entitní modely atd.), tv​orba případu užití (Use Case) jsou běžnou denní analytickou rutinou. Modelovat pak lze v různých nástrojích. Jedním z nejčastěji používaných je <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Enterprise_Architect_%28software%29" target="_blank">Enterprise Architect​</a></strong>, dalším například <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/ArchiMate" target="_blank">ArchiMate​</a></strong>. Existují také modelovací nástroje postavené na psaní jednoduchého intuitivního kódu, jako je <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/PlantUML">PlantUML</a> </strong>(Android Studio pak třeba umí automaticky exportovat PlantUML diagramy z existujícího kódu). K dispozici je samozřejmě mnoho dalších nástrojů, některé z nich on-line, jako <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Lucidchart">Lucidchart​</a></strong> nebo <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Diagrams.net" target="_blank">Diagrams.net​</a></strong> (dříve Draw.io), které jistě dobře poslouží k základnímu modelování, nemají však rozsáhlé možnosti, které nabízejí profesionální nástroje. Pokud tedy chcete pracovat pro větší společnosti jako je například ta naše, je důležitá znalost modelování v Enterprise Architect.</p><p>Dále analytik velice často připravuje návrhy obrazovek, tzv. wiframe neboli drátěný model. Proto je důležitá alespoň základní znalost <strong>UX/UI</strong>, a to jak pro návrhy klasických obrazovek (např. notebook), tak pro mobilní zařízení. I zde může analytik využít různé nástroje, které stejně jako u modelování můžeme rozdělit na ty, které poskytují široké možnosti, tak na základní on-line nástroje, které budou v mnoha případech zcela dostačující. <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Axure_RP">Axure</a></strong> umožňuje připravit kompletně interaktivní drátěný model, a to pro různá rozlišení obrazovek. Mezi populární on-line prototypovací nástroje pak patří například <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/Figma_%28software%29">Figma​</a></strong>, <strong style="text-decoration:underline;"><a href="https://www.invisionapp.com/design-defined/prototype/">InVision</a></strong>, <strong style="text-decoration:underline;"><a href="https://moqups.com/">Moqups</a></strong> nebo již výše uvedeny Lucidchart a Draw.io.</p><p>Alespoň základní znalost <strong style="text-decoration:underline;"><a href="https://en.wikipedia.org/wiki/SQL">SQL</a></strong>, tj. schopnost napsat jednoduché dotazy nad databází, je také očekávanou obecnou dovedností. Dále je vhodné mít <strong>všeobecné ekonomické povědomí</strong>, základní <strong>orientaci v právních oblastech souvisejících s IT</strong> (například GDPR), no a samozřejmě podstatná je <strong>výborná znalost českého jazyka</strong> (gramatika, bohatá slovní zásoba, stylistika), neboť analytik musí být také psavec. Důležitá je <strong>znalost anglického jazyka</strong>, protože mnoho zdrojů pro další rozvoj analytiků je právě v angličtině. Navíc se stále častěji tvoří dokumentace v angličtině, což souvisí s globalizací trhu.</p><p>Do odborné části patří <strong>business znalosti</strong>, například orientace v pojišťovnictví, bankovnictví, telekomunikacích atd., tedy znalost produktů (např. úvěry, účty), interních procesů, konkurence. Část business procesů může mít shodné prvky skrz jednotlivé obory, avšak každý z nich má zároveň svá specifika (např. jiný způsob nabídky produktů, potřeby ověřování bonity klienta).</p><p>Máte pocit, že je toho hodně, co musíte znát? Ano, máte pravdu. Dobrou zprávou je, že téměř vše, co je popsáno výše se můžete naučit z knih, on-line školení, pomocí plných nebo dočasných free verzí nástrojů. Výjimkou jsou business znalosti. Ty však můžete z části získat z vlastních zkušeností, například uvědoměním si procesu, který jste absolvovali při sjednání hypotéky, z části pak při samotné analytické práci v daném oboru. Cleverlance navíc poskytuje různá školení, kde si můžete své znalosti a dovednosti také rozšířit.<br><br></p><h2>Soft skills</h2><p>Jak je napsáno v úvodu, do spektra analytických znalostí patří také ty měkké dovednosti, tedy v oblasti chování, které ​souvisejí se sociální/emoční inteligencí.</p><p>Práce analytika znamená častou komunikaci jak se zástupci klienta (marketéry, produktovými manaž​ery, obchodníky atd.), tak se zástupci vývoje (architekty, vývojáři, testery atd.), proto musí <strong>umět</strong> <strong>dobře mluvit</strong>. Analytik často řídí workshopy, kde od klienta sbírá nejdříve základní, později detailní informace, případně předává informace do vývoje. Musí tedy mít <strong>organizační schopnosti</strong>, <strong>umět plánovat</strong>, protože je potřeba připravit návrh schůzek, někdy na dobu půl roku dopředu, určit zástupce klienta, kteří se mají workshopů účastnit, mít strategii pro získání všech potřebných vstupních informací, naplánovat si, kdy je vhodné informace předat kolegům z vývoje. S tím souvisí <strong>schopnost identifikovat, kdo je pro projekt důležitý</strong>, zároveň si rozmyslet, jak se kterým zástupcem komunikovat, koho informovat detailně, koho stačí pouze letmo.</p><p><strong>Řízení workshopů</strong> je jednou ze zásadních schopností, protože se může stát, a taky se stává, že na schůzce dojde k rozporuplným názorům jednotlivých zástupců klienta. Analytik se v daný moment tedy stává jakýmsi <strong>mediátorem</strong>. S tím také souvisí schopnost <strong>nevnucovat za každou cenu vlastní představy</strong>, ale spíše hledat a navrhovat alternativy, <strong>být kreativní</strong>, ukázat cestu, říct​ pro a proti jednotlivých návrhů, doporučit, co je dle jeho zkušeností vhodnou variantou. Pokud si však klient zvolí jinou než analytikem navrhovanou, ale stále vhodnou cestu, pak ji akceptovat. Analytik musí být schopen posouvat schůzku kupředu, musí <strong>umět rozhodnout</strong>, které téma nechat otevřené, které naopak potřebuje v daný moment uzavřít.</p><p><strong>Schopnost naslouchat a vysvětlovat</strong> je absolutním základem, stejně tak jako <strong>schopnost dobře se ptát. </strong>No a samozřejmostí je <strong>logické myšlení</strong>. Hodí se zkušenosti s tzv. <strong>hraním rolí</strong>, které mohou klientovi pomoci lépe popsat jednotlivé procesy, kdy si díky hraní spíše uvědomí všechny postupné kroky, které musí realizovat například při sjednání smlouvy s klientem. Analytik musí umět dobře komunikovat, k tomu se hodí schopnost <strong>poznat osobnost klienta</strong> nebo vývojáře, tedy trochu psychologie.</p><p>Dobrý analytik by měl <strong>být leaderem</strong>, mít přirozenou autoritu, být na jedné straně empatický, ale také důsledný, například při plnění zadaných úkolů.</p><p>I v oblasti měkkých dovedností je toho dnes očekáváno skutečně mnoho. Avšak i zde mám pro vás dobré zprávy. Spoustu zkušeností, alespoň na základní úrovni, už zcela jistě máte, například vysvětlování (když se učíte s dětmi) nebo plánování, organizace (rodinná dovolená). A pokud ne, zcela jistě vám může pomoci literatura, které je dnes přehršel, případně různá školení zaměřená na osobní růst. Trénovat měkké dovednosti můžete ale v podstatě kdykoliv a kdekoliv. Je potřeba si různé životní situace zpětně vyhodnotit, zjistit, zdali jste reagovali adekvátně, nebo naopak chybně, a příště se zlepšit.<br></p><p>Pokud jste nabyli dojmu, že je práce analytika dřina, pak to nejspíš pro vás nebude to pravé ořechové. Když jste ale na konci tohoto článku naopak dospěli k názoru, že je to činnost, která nabízí různorodost, neustálou možnost se rozvíjet, pak jste možná našli tu správnou pracovní cestu. Chybí-li vám některé z výše uvedených hard skills, mrkněte na náš <span style="text-decoration:underline;"><a href="https://cleverlance.com/vzdelavani" target="_blank">web​</a></span>. Pravidelně zde školíme jak Business analýzu nebo práci s analytickými nástroji, tak také jak správně navrhnout obrazovky systému nebo práci se systémem Axure.</p><p>Ať to vidíte tak, či onak, nezbývá než vám popřát hodně pracovních úspěchů. Ty čekají na každého aktivního člověka, ať už se najde v analýze či jiné profesi.</p><p> <em>Zuzana Drotárová</em><br></p><p><em>​<br></em></p><p><strong>Vybraná základní literatura pro analytiky</strong></p><p>On-line (ENG)</p><p>·       Business Analysis Guidebook <a href="https://en.wikibooks.org/wiki/Business_Analysis_Guidebook">https://en.wikibooks.org/wiki/Business_Analysis_Guidebook</a></p><p>·       International Institute of Business Analysis <a href="https://www.iiba.org/">https://www.iiba.org/</a></p><p>·       BPMN Quick Guide <a href="http://www.bpmnquickguide.com/view-bpmn-quick-guide/">http://www.bpmnquickguide.com/view-bpmn-quick-guide/</a></p><p>·       UML 2 Tutorial <a href="https://sparxsystems.com/resources/tutorials/uml2/index.html">https://sparxsystems.com/resources/tutorials/uml2/index.html</a></p><p>Kniha (CZ)</p><p>·       Ila Neustadt, Jim Arlow: UML 2 a unifikovaný proces vývoje aplikací (Objektově orientovaná analýza a návrh prakticky)</p><p> </p><p><br></p>odborné;#vzdělávání;#
Analyzujte svůj hudební vkus pomocí Pythonu a Spotify APIhttps://www.create-it.cz/Blog/Stranky/spotipy.aspxAnalyzujte svůj hudební vkus pomocí Pythonu a Spotify API<p>​Spotify nedávno zveřejnilo svůj <a href="https://research.atspotify.com/just-the-way-you-are-music-listening-and-personality/" style="text-decoration:underline;">výzkum</a> ohledně psychologických profilů a hudebního vkusu. Postupně začíná používat analýzu uživatelů pomocí osvědčené <a href="https://cs.wikipedia.org/wiki/Big_Five" style="text-decoration:underline;">Big Five metriky</a>, na jejímž základě budou dále předpovídat hudební vkus uživatele. K předpovídání psychologického profilu uživatele využívají zejména tzv. "audio features". Tyto “vlastnosti" skladeb pak mohou naznačovat charakter uživatele (např. více energická hudba je spojena s extravertním charakterovým rysem a žánr metal je inverzně korelovaný s emoční stabilitou). Více o spojitosti mezi charakterem a hudebním vkusem najdete <a href="https://scripties.uba.uva.nl/download?fid=666615" style="text-decoration:underline;">zde</a>.</p><p>V tomto článku si postavíme jednoduchou aplikaci, která provede analýzu všech veřejných Spotify playlistů jakéhokoliv uživatele a vypočítá průměrné “audio features" obsažených hudebních skladeb. Z těchto extrahovaných dat poté vytvoříme radarový graf, který bude vizualizovat jednotlivé vlastnosti. A na jejich základě lze odhadnout určité charakterové rysy.</p><p>Budeme potřebovat balíky <em>spotipy (</em>spotify-py) a <em>plotly</em>. Spotipy je Spotify API wrapper a plotly zajistí snadnou tvorbu grafu. Oba nainstalujeme přes balíkovací systém pip. Aplikace bude umět stahovat playlisty, analyzovat všechny skladby, a z vlastností skladeb vytvoří graf. Vše se vejde na méně než 100 řádků.</p><h1>Inicializace aplikace</h1><p>Nejprve naimportujeme potřebné balíky. Pak vytvoříme třídu <em>SpotifyFeaturesAnalysis</em> a inicializujeme <em>spotipy</em>. V aplikaci musíte použít svoje Spotify API údaje - <em>client_id </em>a <em>client_secret</em>. Ty si můžete vygenerovat ve <a href="https://developer.spotify.com/dashboard/applications" style="text-decoration:underline;">vývojářské konzoli Spotify</a> při vytvoření nové Spotify aplikace. Dále vytvoříme datovou strukturu data, která bude držet údaje o všech skladbách. Inicializujeme také proměnné pro jednotlivé vlastnosti audia.</p><h1>Audio Features</h1><p>O jednotlivých vlastnostech můžete najít detaily v <a href="https://developer.spotify.com/documentation/web-api/reference/#object-audiofeaturesobject" style="text-decoration:underline;">dokumentaci Spotify API</a>, ale ve zkratce si je shrneme i zde.</p><p> <img src="/Blog/PublishingImages/Stranky/spotipy/vlastnosti%20audia.png" alt="vlastnosti audia.png" data-themekey="#" style="max-width:690px;" /><br></p><p> <em>Danceability</em> můžeme přeložit jako tancovatelnost, tj. jak vhodná je skladba pro tančení. Další je energie. Tyto skladby jsou rychlé, hlasité a hlučné. <em>Speechiness </em>reprezentuje množství mluveného slova ve skladbě (nad index 0.66 jsou podcasty, mezi 0.33-0.66 je např. rap a skladby pod 0.33 jsou pravděpodobně beze slov). Další jsou <em>acousticness, </em>akustičnost, a <em>instrumentalness</em>, instrumentálnost. <em>Liveness </em>je živost, tzn. zda je skladba živý koncert, a poslední <em>Valence</em> značí pozitivitu skladby.</p><p> </p><h1>Metoda pro načtení playlistů uživatele</h1><p> <img src="/Blog/PublishingImages/Stranky/spotipy/metoda.png" alt="metoda.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>​Připravíme si metodu pro stažení všech veřejných playlistů uživatele, <em>load_playlists</em>. Jako vstupní parametr má pouze uživatelské jméno <em>username</em>. Pak využijeme metody <em>user_playlist</em> pro načtení všech playlistů. Přes tento seznam iterujeme a postupně načítáme všechny skladby pomocí metody <em>get_all_track_features</em> (tuto metodu implementujeme níže). Přes playlisty iterujeme tak dlouho, dokud jsou k dispozici - Spotify API využívá pagination přes parametr next (<em>sp.next</em>).<br><br></p><h1>Analýza hudebních vlastností</h1><p> <img src="/Blog/PublishingImages/Stranky/spotipy/hud_vlastnosti.png" alt="hud_vlastnosti.png" data-themekey="#" style="max-width:690px;" />Implementujeme výše zmíněnou metodu pro načítání audio features. Jako parametr přijímá seznam všech skladeb. Opět budeme iterovat přes všechny skladby, v našem případě si načteme slovník obsažený v <em>item['tracks']</em>, který obsahuje všechny údaje o skladbě, včetně jejího jména, umělce a hlavně ID. Tyto ID si uložíme do seznamu a poskytneme další Spotify API metodě <em>audio_features</em>. Tato metoda vrátí slovník obsahující jednotlivé vlastnosti (valence, energy atp.). Přidáme je do předem vytvořeného seznamu <em>self.data</em>.<br><span style="font-family:farnham-web-black, open-sans, sans-serif;font-size:40px;">Průměrné vlastnosti všech skladeb</span><br></p> <img src="/Blog/PublishingImages/Stranky/spotipy/prum_vlast.png" alt="prum_vlast.png" data-themekey="#" style="max-width:690px;" /> <p>Vytvoříme si funkci pro zprůměrování všech vlastností, které jsme si uložili. Jednoduše sečte všechny hodnoty daného faktoru a vydělí je počtem.</p><p> </p><h1>Vykreslení grafu</h1> ​​ <p> <img src="/Blog/PublishingImages/Stranky/spotipy/vykresleni.png" alt="vykresleni.png" data-themekey="#" style="max-width:690px;" />Jako poslední vytvoříme funkci <em>plot_graph</em>. Do proměnné data si připravíme jednotlivé vlastnosti, které předáme plotly funkci <em>line_polar</em>, která vykreslí radarový graf. Parametr <em>r</em> určuje hodnoty grafu, parametr <em>theta </em>popisky a parametr <em>range </em>určuje vykreslený rozsah osy. Vše pak spustíme v metodě main. Výsledný graf vypadá následovně.</p> <span style="text-align:justify;"> <div> <span style="text-align:justify;"> <img src="/Blog/PublishingImages/Stranky/spotipy/aud_features.png" alt="aud_features.png" data-themekey="#" style="max-width:690px;" /> <br></span></div>To je pro tento návod vše. Zajímavým dodatkem této aplikace může být například využití údajů z psychologického výzkumu, který odkazuji na začátku. Ve studii byly nalezeny statisticky významné pozitivní korelace mezi vlastností valence a emoční stabilitou a extraverzí. Akustičnost a energie byla pozitivně korelována s otevřeností novým zkušenostem (tento psychologický rys je spojen s inteligencí a kreativitou) a živost s extraverzí. Kompletní kód aplikace je dostupný na mém </span> <a href="https://github.com/janjilecek/SpotifyAudioFeaturesAnalysis" style="text-align:justify;text-decoration:underline;">githubu</a><span style="text-align:justify;">. Pošlete do komentářů svoje grafy!​</span> <div><div style="text-align:justify;"> <br> </div> <span style="text-align:justify;"></span> <div><div style="text-align:justify;"> <i>Jan Jileček</i></div> <span style="text-align:justify;"></span> <p> <br> </p></div></div>odborné;#hobby;#
Domácí přírodní kosmetika - kouzlení, které zvládnete i doma https://www.create-it.cz/Blog/Stranky/prirodni-kosmetika.aspxDomácí přírodní kosmetika - kouzlení, které zvládnete i doma <p>​​​V dnešní době se stále více a více rozmáhá trend navracení se k přírodě. Co má dneska označení BIO, organic, nature friendly, GMO free nebo vegan, to nás tak nějak láká víc, protože máme pocit, že je to lepší. Ještě více nás lákají věci, které jsou vyráběné ručně nebo doma. Výhodou je, že doma se toho dá vyrobit spousta, třeba i domácí kosmetika.<br></p><p>A protože si už nějakou dobu kosmetiku, ke které používám pouze suroviny přírodního původu, doma vyrábím, rozhodla jsem se o své znalosti podělit i s ostatními. V dubnu se proto uskutečnil online workshop, ve kterém jsem ostatním kolegyním předala <a href="https://www.youtube.com/watch?v=E6cEtQ2G9hQ" target="_blank"><span style="text-decoration:underline;">základní informace</span> </a>o přírodní kosmetice, a také si všechny účastnice vyzkoušely vyrobit vlastní balzám na rty a tuhý deodorant.<br></p><p style="text-align:center;"><a href="https://www.youtube.com/watch?v=Icz25lXxdoI" target="_blank"><img src="/Blog/PublishingImages/Stranky/prirodni-kosmetika/Balzam.jpg" alt="Balzam.jpg" data-themekey="#" style="margin:5px;width:400px;height:334px;" /></a><br></p><p>Níže se dočteš, proč se vyplatí se do takové výroby pustit, co vše se dá vyrobit v domácích podmínkách, z jakých surovin a také jaký je princip samotné výroby.<br><br></p><h2>Jaké výhody má domácí výrob​a kosmetiky?</h2><ul><li><strong>znáš přesné složení</strong> – víš, přesně, co si do výrobku dáš a nepřekvapí tě, že třeba pečující balzám na rty obsahuje toxickou sloučeninu nebezpečnou pro dýchací soustavu (ano, i balzámy od známých značek obsahují tyto látky)</li><li><strong>neplatíš za značku a celkově je výroba levnější</strong> – pokud si budeš vyrábět vlastní kosmetiku, nebudeš platit zbytečné peníze za značku a také ingredience se dají sehnat za poměrně nízké ceny (tak třeba balzám, který jsme vyráběly, dle mého odhadu vyšel na cca 30 Kč a deodorant na zhruba 50 Kč)</li><li><strong>pouze přírodní složení</strong> – pokud si do výrobku dáš ingredience přírodního původu, máš stoprocentní jistotu, že tvůj výsledný produkt bude bez chemie</li><li><strong>výrobek bude podle vlastní vůně</strong> – máš radši ovocnější nebo sladší vůně? Ať tak nebo tak, pokud si budeš vyrábět vlastní kosmetiku, můžeš si vůni i její intenzitu zvolit podle sebe, případně vůni můžeš vynechat úplně</li><li><strong>ekologičnost </strong>– víš, že jedna tubička na balzám nebo tuhý deodorant se dá používat opakovaně? A že se dá dokonce využít i tubička z komerční kosmetiky? Takže vlastně stačí vypotřebovat jednu a můžeš si ji doplnit a používat neustále</li><li><strong>super pocit z výroby</strong> – když si vyrobíš něco svého, budeš pak mít jistě lepší pocit, než z komerčního a koupeného výrobku<br></li></ul><h2>Co se dá z domácích surovin vykouzlit?<br></h2><p>Možná ani netušíš, kolik máš doma v kuchyni ingrediencí, ze kterých se dá vytvořit velké množství kosmetiky a dalších kouzel. Kromě pleťové kosmetiky, balzámů, deodorantů či šlehaných másel, se dají vyrobit také mastičky a se zakoupením ještě několika dalších surovin také dekorativní kosmetika nebo některé prostředky z domácí drogerie. K tomu všemu vesměs stačí jen pár olejů, másel, jedlá soda, esenciální oleje, kukuřičný škrob a mýdlové vločky.</p><p style="text-align:center;"><a href="https://www.youtube.com/watch?v=iceXGsKIhFE" target="_blank"><img src="/Blog/PublishingImages/Stranky/prirodni-kosmetika/deodorant.jpg" alt="deodorant.jpg" data-themekey="#" style="margin:5px;width:400px;height:368px;" /></a> <br></p><p><br></p><h2>Výhody a vlastnosti jednotlivých olejů a más​el</h2><p>Během workshopu jsme si s kolegyněmi řekly výhody a vlastnosti jednotlivých surovin, tedy proč je dobré dávat si na obličej olej, jaké pozitivní účinky má třeba včelí vosk a nebo proč se do tuhého deodorantu přidává jedlá soda. U veškerého složení kosmetiky je nutné zaměřit se na oleje, každý má totiž své speciální vlastnosti a jiný stupeň tzv. <em>komedogenity</em> (to je vlastnost, která způsobuje ucpávání pórů, čím vyšší má stupeň, tím více póry ucpává). Vytvořila jsem takový souhrn těchto informací, který si můžeš stáhnout <a href="/Blog/Documents/oleje.pdf">zde</a>.<br></p><p><i>Proč jsem začala s domácí kosmetikou, jaká to má pozitiva, co se dá ze surovin z kuchyně vytvořit a jaké jsou vlastnosti a pozitivní účinky používaných surovin se dozvíš </i><a href="https://www.youtube.com/watch?v=E6cEtQ2G9hQ" target="_blank">v první části videa z workshopu<i>​</i></a><i>.</i><br></p><h2>Jaký je princip výroby balzámu na rty a tuhé​ho deodorantu</h2><p>Je to všechno vlastně hrozně jednoduché, stačí k tomu základní kuchyňské náčiní a pár surovin (možná některé budeš muset dokoupit, protože v kuchyni se běžně nevyskytují, ale vše se dá sehnat na e-shopech nebo i v drogerii). Balzám i deodorant je možné vyrobit tak, že se ve vodní lázni rozehřejí všechny suroviny, přidají se vitamíny, v případě deodorantu ještě kukuřičný škrob a jedlá soda a na závěr se celá roztavená směs ovoní esenciálním olejem podle požadované vůně.<br></p><p><em>Přesný postup výroby <span style="text-decoration:underline;"><a href="https://www.youtube.com/watch?v=Icz25lXxdoI">balzámu</a></span> na rty i <a href="https://www.youtube.com/watch?v=iceXGsKIhFE" target="_blank" style="text-decoration:underline;">deodorantu</a> si můžeš zhlédnout ve videu z druhé části workshopu.</em></p><p>O domácí přírodní kosmetice by mohlo být napsáno hodně a vyrobeno ještě víc. V tomto prvním workshopu jsem se proto zaměřila na to nejjednodušší - na výrobu a na úvodní informace. Jelikož se kolegyním workshop líbil a všechny si jej velmi chválily (ještě více si chválily vyrobené produkty), je dost možné, že brzy uskutečníme druhé kolo workshopu a naučíme se kouzlit dále. A určitě se zase podělíme o zkušenosti.</p><p>Pokud k výrobě domácí kosmetiky máš jakýkoliv dotaz, neváhej mě kontaktovat třeba na instagramu (k_mazankova)​. Ráda ti se vším poradím.​<br></p><p><i>Kateřina Mazánková​</i></p><p> </p><p>​ </p><p><br></p>odborné;#hobby;#
Návod na jednoduchou CRUD aplikaci v Pythonuhttps://www.create-it.cz/Blog/Stranky/Python-aplikace.aspxNávod na jednoduchou CRUD aplikaci v Pythonu<p>​​V tomto návodu si postavíme jednoduchou CRUD (Create, Read, Update, Delete) aplikaci pro udržování ToDo seznamu úkolů. Použijeme k tomu Python a dvě knihovny. První je webový framework Flask a druhá je SqlAlchemy, ORM mapovač pro snazší práci s databázemi. Pro frontend použijeme Bootstrap styly. Python kód se vejde do 50 řádků a HTML šablona též.<br></p><p>Nejprve si připravíme prostředí a databázi pro ukládání záznamů, pak vytvoříme endpointy pro vytvoření, úpravu, čtení a mazání záznamů, napojíme na ně frontend a vše zabalíme do grafického stylu bootstrap.</p><h2>Instalace knihov​​​en a příprava prostředí</h2><p>Prvně použijeme manažer Python závislostí, pip, pro instalaci <a href="https://flask.palletsprojects.com/en/1.1.x/installation/" style="text-decoration:underline;">flask</a> a <a href="https://flask-sqlalchemy.palletsprojects.com/en/2.x/" style="text-decoration:underline;">sqlalchemy</a>. Pip je dodáván s každou instalací Pythonu.</p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/pip.png" alt="pip" data-themekey="#" style="max-width:690px;" /> <p>V projektovém adresáři dále musíme vytvořit složku <em>templates</em>, kterou Flask používá pro načítání HTML šablon. Rovnou zde vytvoříme soubor <em>index.html</em>.</p><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/3.png" alt="3.png" data-themekey="#" style="max-width:690px;" /> </p><h2>Importy a inicializace ap​​pky</h2><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/import.png" alt="import.png" data-themekey="#" style="max-width:690px;" />Nejprve si naimportujeme potřebné knihovny a balíky. Pak inicializujeme Flask aplikaci (jako argument jí dáme jméno aktivního modulu - <em>__name__</em>). Pak musíme zajistit připojení k databázi, do které budeme naše úkoly ukládat. Já používám lokální souborovou sqlite databázi. Pokud máte nějakou komplexnější db běžící jako samostatný proces, stačí změnit řetězec připojení. Pak jen předáme náš řetězec jako URI adresu databáze a spustíme SQLAlchemy. Důležitým bodem je definice databázového modelu.</p><p>K tomu vytvoříme tabulku <em>Note, </em>která má automatické <em>id</em>, pak <em>text </em>úkolu, boolean hodnotu <em>done </em>držící splněnost úkolu a automatické datum, <em>dateAdded</em>, kdy byl úkol vytvořen. Později tímto modelem inicializujeme novou prázdnou databázi.​<br><br></p><h2>CRUD AP​​​I</h2><p>Nyní si vytvoříme 4 metody, které zajistí, že naše aplikace bude CRUD aplikací - bude možné vytvářet, upravovat, číst a mazat záznamy.</p><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/create_note.png" alt="create_note.png" data-themekey="#" style="max-width:690px;" />Metoda <em>create_note </em>má jako parametr pouze text úkolu. Nejprve vytvoříme novou <em>Note</em>, jako text jí předáme tento parametr a uložíme do databáze. U <em>read_notes </em>pouze vypíšeme z databáze všechny záznamy <em>Note</em>. Metoda <em>update_note</em> má 2 parametry, a to <em>text</em> a <em>done. </em>Text je opět text úkolu a done je hodnota checkboxu formuláře, který vytvoříme. Pokud je hodnota tohoto checkboxu “<em>on" (</em>tzn. je zaškrtnut), tak uložená boolean hodnota <em>done</em> bude <em>True</em>, jinak <em>False</em>. Teď zbývá už jen metoda pro mazání, <em>delete_note</em>. Té předáme note_id, podle kterého nalezne a smaže záznam.</p><p> </p><h2>Úvodní stránka, přidá​​vání a zobrazování záznamů</h2><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/6.png" alt="6.png" data-themekey="#" style="max-width:690px;" />Ve Flask frameworku se endpointy definují pomocí dekorátoru <em>@app.route. </em>První parametr je relativní URL adresa. Další volitelný parametr drží dovolené metody požadavků, v našem případě POST a GET pro zpracování formulářů. Pokud metoda bude POST, znamená to, že posíláme formulář s nově vytvořeným úkolem. Ať už ale jde o POST, nebo GET, tak zobrazíme šablonu index.html a předáme šablonovacímu Jinja systému všechny úkoly, co máme uloženy v databázi (<em>read_notes</em>), aby je vykreslil do šablony.<br><br></p><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/7.png" alt="7.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>První formulář bude napojen na “/" endpoint, tzn. na úvodní stránku. Bude mít jen vstupní pole pro text a tlačítko na odeslání. Pak projdeme všechny záznamy, co jsme předali do šablony do proměnné notes a všechny si v cyklu zobrazíme (Jinja <em>%for%</em> notace). Později přidáme každý záznam do vlastního formuláře - tak bude možné upravovat a mazat jednotlivé záznamy z frontendu. Prozatím stránka vypadá následovně. Můžeme přidávat a zobrazovat, ale ne upravovat a mazat.</p><p><img src="/Blog/PublishingImages/Stranky/Python-aplikace/nahled.png" alt="nahled.png" data-themekey="#" style="max-width:690px;" /><br></p><h2>Upravování, mazání​​ a lepší frontend</h2><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/edit.png" alt="edit.png" data-themekey="#" style="max-width:690px;" />Metoda pro upravování a mazání je trochu složitější. Relativní adresu endpointu specifikujeme jako <em>/edit/note_id</em>, tzn. že přes URL budeme předávat parametr, který jsme si pojmenovali <em>note_id</em>. Ten předáme do metody <em>edit_note</em>. Pokud bude vstupní požadavek udělán přes POST, předáme vstupní formulář do funkce <em>update_note</em> pro upravení daného úkolu. Pokud jako GET požadavek, tak daný úkol smažeme. Po dokončení všeho přesměrujeme vše na původní stránku.<br></p><p>Jako poslední věc v P​ython kódu ještě zavoláme <em>db.create_all</em>, které vytvoří databázi se všemi tabulkami, které jsme specifikovali (v našem případě jen <em>Note</em>) a pak spustí celou Flask aplikaci.<br></p><p>Nakonec upravíme šablonu, aby vypadala dobře. To vyžaduje značnou úpravu dosavadního HTML kódu (pro celou aplikaci navštivte můj github na tomto <a href="https://github.com/janjilecek/simple_python_flask_crud_todo_app" style="text-decoration:underline;">odkazu</a>).</p><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/10.png" alt="10.png" data-themekey="#" style="max-width:690px;" />Prvně naimportujeme bootstrap css styly. Upravíme všechny formuláře do bootstrap stylů a každý vypsaný úkol změníme na formulář, který bude mít vlevo checkbox a vpravo tlačítko pro potvrzení úpravy textu. V případě zaškrtnutí checkboxu zavoláme přes onChange javascript funkci <em>redirect</em>, která pošle GET request na adresu <em>/edit/note_id</em>. V případě stisku update se pošle na stejnou adresu POST request. Přidáme také malé detaily jako zobrazení času vytvoření úkolu po najetí myší. Vykreslená šablona teď vypadá takhle:</p><p> <img src="/Blog/PublishingImages/Stranky/Python-aplikace/11.png" alt="11.png" data-themekey="#" style="max-width:690px;" /> A to je naše finální aplikace! Podívali jsme se na to, jak vytvořit endpointy pro vytvoření, úpravu, čtení a mazání záznamů, napojili jsme na ně frontend a vše zabalili do bootstrap stylů, aby naše aplikace také trochu vypadala, a to vše jsme zvládli na méně jak 100 řádcích kódu. Celá aplikace je dostupná na mém <a href="https://github.com/janjilecek/simple_python_flask_crud_todo_app" style="text-decoration-line:underline;">githubu</a>. Doufám, že jste se něco nového naučili a uvidíme se u dalšího dílu.​​​​​</p> <p> <em>Jan Jileček</em><br></p><p> <br> </p>odborné;#vzdělávání;#
​5 zajímavých využití pro Raspberry Pihttps://www.create-it.cz/Blog/Stranky/Raspberry-pi.aspx​5 zajímavých využití pro Raspberry Pi​<span style="text-align:justify;">​​​</span><a href="https://www.raspberrypi.org/" style="text-align:justify;">Raspberry pi</a><span style="text-align:justify;"> je superlevný mini-počítač, který dnes už zná skoro každý. Má široké využití pro domácí i business aplikace. Ve firemním prostředí se dá využít např. pro monitorování síťového provozu pomocí nástrojů jako je Zabbix. Dnes se Raspberry objevuje i ve filmech a seriálech jako </span> <a href="https://www.youtube.com/watch?v=XTN_-pRZjoU" style="text-align:justify;">Mr. Robot</a><span style="text-align:justify;">. Na Brněnském VUT FIT je dáván jako vstupní dárek všem prvákům magisterského studia. V tomto článku se podíváme, jak tento malý čip lze využít k vytvoření prvků vlastní inteligentní domácnosti.</span> <h2>Senzor kvality vzduc​​hu<br></h2><p>​<img src="/Blog/PublishingImages/Stranky/Raspberry-pi/senzor.png" data-themekey="#" alt="senzor" style="max-width:690px;" />Pimoroni BME680<span style="text-align:justify;">, který měří vlhkost, tlak, teplotu a kvalitu vzduchu (přes odpor plynů). </span> </p><div> <span style="text-align:justify;"></span><span style="text-align:justify;">Další nastavení je jednoduché. Pokud si chcete nastavit všechno sami, stačí nainstalovat oficiální operační systém Raspbian (např. podle </span><a href="https://www.raspberrypi.org/documentation/installation/installing-images/" style="text-align:justify;text-decoration:underline;">tohoto návodu</a><span style="text-align:justify;">) a oficiální knihovnu pro čip BME680 (</span><a href="https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-bme680-breakout" style="text-align:justify;text-decoration:underline;">zde</a><span style="text-align:justify;">). Pro ukládání naměřených hodnot postačí jakákoliv databáze, já zvoli PostgreSQL. Zobrazování dat pak zajistí např. Grafana.</span><span style="text-align:justify;"></span></div><div> <span style="text-align:justify;">Pokud nemáte čas na hraní si s detaily, můžete použít hotové řešení, jako je BalenaOS. Obraz operačního systému obsahuje kompletní řešení s InfluxDB a Grafanou. Stačí jen nahrát na SD kartu a spustit (</span><a href="https://www.balena.io/blog/build-an-environment-and-air-quality-monitor-with-raspberry-pi/#idontwanttosolder" style="text-align:justify;text-decoration-line:underline;">návod zde</a><span style="text-align:justify;">). <h2>Inteligentní z​​rcadlo<br></h2> <p> <a href="https://www.youtube.com/watch?v=fkVBAcvbrjU" target="_blank"> <img src="/Blog/PublishingImages/Stranky/Raspberry-pi/zrcadlo.png" alt="zrcadlo" data-themekey="#" style="max-width:690px;" />​</a>​Inteligentní zrcadlo zní jako zbytečný doplněk, ale rozhodně je to neobvyklé využití pro raspberry pi. V podstatě se jedná o obousměrné zrcadlo, které za sebou má namontovaný monitor, který zobrazuje užitečné informace o dění ve světě, počasí, události v kalendáři a podobně. Agendu pro svůj den tak můžete kontrolovat při svojí ranní rutině.</p> <p>Vytvoření vlastního inteligentního zrcadla není až tak levná záležitost, pokud se vám ovšem někde nepovaluje monitor na vyřazení. Dále je potřeba dřevěný rám a nástroje pro základní montáž. Na raspberry potom stačí nainstalovat knihovnu jako <a href="https://github.com/MichMich/MagicMirror" style="text-decoration:underline;">MagicMirror</a> nebo <a href="https://github.com/ctrlaltdylan/MirrorMirror" style="text-decoration:underline;">MirrorMirror</a>.</p> <p> <a href="http://blog.dylanjpierce.com/raspberrypi/magicmirror/tutorial/2015/12/27/build-a-magic-mirror.html" style="text-decoration:underline;">Zde</a> je kvalitní návod na vytvoření zrcadla od nuly. Hotový projekt lze pak rozšířit o umělou inteligenci a hlasové ovládání. V podstatě tedy zrcadlo může sloužit jako alternativa ke Google Home nebo Amazon Alexa.</p> <h2>NAS serve​​r<br></h2> <p> <img src="/Blog/PublishingImages/Stranky/Raspberry-pi/NAS%20server.png" alt="NAS server" data-themekey="#" style="max-width:690px;" /> <br> </p> <p>Sdílený síťový disk neboli NAS má mnoho využití - lze na něm uchovávat rodinná fotoalba, udržovat hudební kolekci nebo filmovou sbírku pro přehrávání v mediálním centru (popsáno v dalším bodu). NAS však má i jiná využití, například jako P2P klient nebo webový server.</p> <p>Hotová řešení NAS nejsou ale zrovna levná, a proto je Raspberry Pi ideální náhradou. Verze 4 má již USB 3.0 a v kombinaci s gigabitovým ethernetem jsou přenosové rychlosti dostačující pro náhradu klasického NAS serveru a to za zlomek ceny.</p> <p>Pro vytvoření souborového serveru je samozřejmě potřeba disk. HDD má větší životnost buněk než SSD, SSD zase větší rychlosti. Pro skladování velkých objemů dat se dnes stále vyplatí HDD, záleží ale na využití. Po připojení disku stačí jen nainstalovat a nakonfigurovat Samba server (<a href="https://www.pcmag.com/how-to/how-to-turn-a-raspberry-pi-into-a-nas-for-whole-home-file-sharing" style="text-decoration:underline;">návod zde</a>) a síťový disk bude hotov.</p> <h2>Mediální centru​​​m<br></h2> <p>​<img src="/Blog/PublishingImages/Stranky/Raspberry-pi/Picture%205.png" alt="media centre" data-themekey="#" style="max-width:690px;" />​Dalším zajímavým využitím pro Raspberry Pi je jako mediální centrum KODI (v podstatě domácí kino). KODI lze nainstalovat jako samostatný <a href="https://kodi.tv/download" style="text-decoration:underline;">operační systém</a> nebo jako balíček pro Raspbian. Další možností je operační systém OSMC. Celý návod k instalaci je <a href="https://magpi.raspberrypi.org/articles/build-a-raspberry-pi-nas" style="text-decoration:underline;">zde</a>.<br></p> <p>KODI využívá tzv. addonů pro přidávání další funkcionality - např. automatické stahování titulků pro filmy, streamování z torrentů apod. Dokáže přehrávat filmy, seriály (addony jako Exodus, které mají databázi seriálů) a samozře​jmě i hudbu a zobrazovat fotky.</p> <p>Pro lepší kvalitu domácího kina doporučují ještě přidání externí zvukové karty a napojení na repro soustavu v obýváku/promítacím pokoji a samozřejmě dálkové ovládání, nebo bezdrátovou klávesnici. KODI lze snadno ovládat i mobilem, stačí nainstalovat KODI aplikaci a připojit se přes wifi do sítě s Raspberry.</p> <h2>​PI HOL​E</h2> ​ <img src="/Blog/PublishingImages/Stranky/Raspberry-pi/pi-hole.png" alt="pi-hole" data-themekey="#" style="max-width:690px;" /> <p>Pi-hole (foneticky pie-hole je slangový pejorativní výraz pro ústa) je v podstatě černá díra na reklamy. Funguje jako DNS server na vaší lokální síti, který zajistí, že se nebudou načítat žádné požadavky na servery označené jako reklamní. Z toho důvodu lehce zrychluje načítání stránek oproti klasickému blokování reklam např. pomoc <a href="https://addons.mozilla.org/cs/firefox/addon/ublock-origin/">uBlock Origin</a> addonu v prohlížeči. Blokuje i trackování a malware (botnety). Navíc má sekundární využití jako nástroj pro monitorování síťového provozu.<br></p> <p>Pi-hole nainstalujete pomocí skriptu, co vše vyřeší za vás (celý návod <a href="https://www.youtube.com/watch?v=jkd3jmHS2hs">zde</a>). Pak je potřeba v nastavení routeru změnit dynamické přiřazování IP na statické, aby Raspberry mělo pokaždé stejnou adresu, kterou použijeme jako adresu DNS serveru v našem počítači a mobilu. Není potřeba vypínat DHCP server, stačí jen rezervovat přiřazenou adresu jako statickou. </p> <p>Doufám, že vám tento článek dal pár nápadů, jak využít svoje Raspberry Pi, a nebo pokud ho ještě nemáte, motivaci pro jeho koupi. </p><p><br></p><p><em>Jan Jileček</em><br></p><p><br></p> <p> </p> <p> </p> <p> <br> </p></span></div>odborné;#hobby;#
Jak vytvořit klon Flappy Bird ve vizuálním jazyku Bolt v Unityhttps://www.create-it.cz/Blog/Stranky/flappy-bird.aspxJak vytvořit klon Flappy Bird ve vizuálním jazyku Bolt v Unity<p>​​Dva nejdominantnější herní enginy na trhu jsou Unity a Unreal Engine 4. UE4 používá kromě klasického programování i systém grafického programování přes tzv. blueprinty. V Unity tato možnost oficiálně dlouho chyběla, až do minulého roku, kdy se tvůrci rozhodli do všech verzí Unity přidat systém grafického programování Bolt. V tomto článku se podíváme na základní funkcionalitu Boltu a vytvoříme s jeho pomocí klon legendárně úspěšné hry <a href="https://www.youtube.com/watch?v=YHH2101OFfI" style="text-decoration:underline;">Flappy Bird</a>. Pokud jste chtěli zkusit herní vývoj, ale programování vás doteď děsilo, Bolt může být snadný způsob jak začít!<br></p><p>Konečným produktem tohoto tutoriálu bude klon hry Flappy Bird s replikou původního ovládání létání a generátor překážek. Překážky se budou donekonečna generovat vpravo mimo obrazovku a budou putovat doleva a tvořit tak iluzi pohybu herní postavy doprava (tedy stejná metoda, kterou používá původní Flappy Bird a další hry typu infinite-scroller). Dejme se do toho!</p><h1>Instalace Boltu<br></h1><p>Nejprve vytvoříme nový 2D projekt v Unity 2020 a nainstalujeme Bolt (<a href="https://assetstore.unity.com/packages/tools/visual-scripting/bolt-163802" style="text-decoration:underline;">odkaz</a>). Návod jak vytvořit nový projekt a importovat balík z Unity Asset Store naleznete v prvním dílu seriálu o herním vývoji v Unity (<a href="/Blog/Stranky/unity3D.aspx" style="text-decoration:underline;">odkaz</a>). Typ nového projektu zvolíme 2D. Po importu Boltu z Asset Store ho v Unity stáhneme přes <em>Package Manager -> My Assets -> Download</em>.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/package%20manager.png" alt="package manager.png" data-themekey="#" /> <br> </p><p>A nainstalujeme přes <em>Tool -> Install Bolt</em>. Pak stačí následovat Setup wizard<br></p><p>(<em>Next -> programmer naming -> next -> generate</em>).<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/install%20bolt.png" alt="install bolt.png" data-themekey="#" style="margin:5px;width:200px;height:65px;" /> <br> </p><h1>Herní charakter - Alien​</h1><p>Jako hlavní herní charakter vytvoříme malého Aliena. Klepneme do okna hierarchie a vybereme <em>2D Object -> Sprite</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/2Dobjectsprite.png" alt="2Dobjectsprite.png" data-themekey="#" style="margin:5px;width:400px;height:175px;" /><br></p><p>Nový objekt přejmenujeme na <em>Alien</em></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/alien.png" alt="alien.png" data-themekey="#" style="margin:5px;width:200px;height:88px;" /><br></p><p>V sekci <em>Sprite Renderer</em> pak zvolíme Sprite <em>shipGreen_manned</em> (dostupné v mém github repozitáři, odkaz v závěru). Další zajímavé grafické podklady můžete najít na <a href="https://kenney.nl/" style="text-decoration:underline;">kenney.nl</a>.</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/shipgreen.png" alt="shipgreen.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Přes<em> </em>tlačítko <em>Add Component</em> přidáme alienovi <em>Polygon Collider 2D. </em>Tím později zajistíme přesnou detekci kolizí s překážkami. A přidejme mu také komponentu<em> RigidBody2D </em>pro emulaci gravitace. Změníme parametry <em>Mass </em>a<em> Drag</em> na 0.1 a 1 aby se pohyb více podobal Flappy Birdovi.</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/rigidbody.png" alt="rigidbody.png" data-themekey="#" style="max-width:690px;" /><br></p><p>A pomocí šipek pro pohyb na ose posuneme objekt ve scéně doleva.</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/dileva.png" alt="dileva.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Dále přidáme hlavní komponentu, <em>Flow Machine</em>, s logikou pro ovládání herního charakteru.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/flowmachine.png" alt="flowmachine.png" data-themekey="#" style="margin:5px;width:200px;height:113px;" /><br></p><p>A změníme <em>Source</em> na <em>Embed</em>. Pojmenujeme jako <em>Alien</em> a přidáme popis.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/sourceTOembed.png" alt="sourceTOembed.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Po kliknutí na na tlačítko <em>Edit graph</em> se zobrazí grafické rozhraní, ve kterém se chováme podobně jako při reálném programování. Graf drží metody <em>Start </em>a <em>Update</em>.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/startaupdate.png" alt="startaupdate.png" data-themekey="#" style="max-width:690px;" /> </p><p>Nové funkce se přidávají přes výstupní šipku nebo kliknutí do prázdna. Tažením výstupní šipky se načte dialog pro vyhledání existujících metod. Najdeme tedy metodu pro vstup z klávesnice (<em>Input.GetKeyDown</em>), abychom mohli ovládat herní charakter.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/input-key-down.png" alt="input-key-down.png" data-themekey="#" style="margin:5px;width:400px;height:159px;" /> <br></p><p>Létat budeme např. pomocí klávesy Space. Jako parametr <em>key</em> tedy zvolíme <em>Space</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/space.png" alt="space.png" data-themekey="#" style="margin:5px;width:200px;height:128px;" /> <br> </p><p>Pokračujeme přes <em>Control -> Branch</em> (ekvivalent podmínky if).</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/control-branch.png" alt="control-branch.png" data-themekey="#" style="margin:5px;width:400px;height:190px;" /><br></p><p>Dále potřebujeme získat referenci na <em>RigidBody2D </em>komponentu:<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/rigidbody2D.png" alt="rigidbody2D.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Vybereme <em>RigidBody2D</em> jako parametr <em>type</em>.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/type.png" alt="type.png" data-themekey="#" style="margin:5px;width:400px;height:147px;" /><br></p><p>A přidáme kinetický impuls přes funkci <em>RigidBody2D.AddForce</em>, který bude emulovat pohyb Flappy Birda.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/addforce.png" alt="addforce.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Chceme, aby Alien "​poskakoval" nahoru, takže změníme souřadnici <em>y</em> vektoru <em>force</em> na 1 a <em>mode</em> přepneme na <em>Impulse</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/impulse.png" alt="impulse.png" data-themekey="#" style="margin:5px;width:400px;height:144px;" /><br></p><p>Celá logika pak vypadá takto:<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/cela%20logika.png" alt="cela logika.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Když teď spustíme hru, můžeme aliena ovládat mezerníkem.</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/mezernikem.gif" alt="mezernikem.gif" data-themekey="#" style="max-width:690px;" /><br></p><p> </p><h1>Překážky</h1><p>Stejně jako pro Aliena vytvoříme nový <em>Sprite </em>přes menu <em>2D object -> Sprite </em>a pojmenujeme ho <em>Obstacle</em>. Ve <em>Sprite Renderer </em>nastavíme sprite <em>elementMetal055 </em>(také dostupný v mém repozitáři níže).</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/elementmetal55.png" alt="elementmetal55.png" data-themekey="#" style="max-width:690px;" /><br></p><p>A přidáme <em>Box Collider 2D</em>.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/boxcollider2D.png" alt="boxcollider2D.png" data-themekey="#" style="margin:5px;width:400px;" /> <br> </p><p>Pomocí <em>Rect </em>nástroje pak změníme rozměr překážky, aby víc odpovídal předloze ve Flappy Bird. Překážku posuneme mimo viditelnou plochu.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/prekazkamimoplochu.png" alt="prekazkamimoplochu.png" data-themekey="#" style="margin:5px;width:200px;" /><br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/prekazkamimoplochu2.png" alt="prekazkamimoplochu2.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Teď vytvoříme prázdný "​rodičovský" objekt, který pojmenujeme <em>ObstacleHolder</em> a asociujeme s ním předešlé 2 <em>Obstacle</em> objekty, a to jejich označením a přetažením nad <em>ObstacleHolder</em>.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/obstacleholder.png" alt="obstacleholder.png" data-themekey="#" style="margin:5px;width:200px;height:96px;" /><br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/obstacleholder2.png" alt="obstacleholder2.png" data-themekey="#" style="margin:5px;width:400px;" /> <br> </p><p>Musíme také vytvořit tzv. <em>prefab </em>z objektu <em>ObstacleHolder</em>. Stačí vzít <em>ObstacleHolder</em> a přetáhnout do okna <em>Assets</em>.</p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/obstacletoassets.png" alt="obstacletoassets.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Tak budeme schopni tvořit instance stejného objektu ze skriptu generátoru, který bude na objekt držet referenci. Původní <em>ObstacleHolder </em>objekt můžeme ze scény smazat, budeme používat už jenom jeho <em>prefab</em>.</p><h1>Generátor překážek</h1><p>Vytvořme prázdný objekt (<em>Create Empty</em>), který bude sloužit jako generátor překážek. Pojmenujme ho <em>Generator</em>. Přidáme mu novou komponentu <em>Flow Machine </em>a stejným způsobem jako u Aliena a otevřeme editor grafu.<br></p><p>V levém podokně editoru grafu vytvoříme novou proměnnou typu <em>GameObject</em>, která bude držet referenci na prefab s objektem <em>ObstacleHolder</em>. Ten přetáhneme do parametru <em>Value</em> z okna <em>Assets</em> (lze vidět na vlevo dole na obrázku zobrazeném níže).</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/gameobject.png" alt="gameobject.png" data-themekey="#" style="margin:5px;width:400px;" /><br></p><p>Přes menu editoru přidáme nový uzel grafu, a totiž <em>Timer</em>. Ten bude zodpovědný za pravidelné generování nových překážek. Timer začne počítat při vytvoření generátoru, proto ho budeme volat z metody <em>Start</em>. Trvání nastavíme na 4 sekundy.<br></p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/start.png" alt="start.png" data-themekey="#" style="margin:5px;width:400px;" /><br></p><p>Každou instanci překážky budeme generovat s náhodným posunutím na ose <em>y</em>. Použijeme funkci <em>Random.Range</em>, která bude generovat náhodné číslo od 0.2 do 0.7 (otestoval jsem, že tyto hodnoty jsou nejlepší pro běžná rozlišení obrazovky).</p><p>Hodnotu pak předáme jako parametr do uzlu <em>Vector3</em>, kde ještě upravíme souřadnici x na hodnotu 1.4 (tzn. bude 40 % za "koncem" obrazovky).</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/vector3.png" alt="vector3.png" data-themekey="#" style="margin:5px;width:300px;" /><br></p> ​​ <p>Tento <em>Vector3</em> předáme do funkce <em>ViewportToWorldPoint</em>, která přeloží námi zadané hodnoty na souřadnice na obrazovce. Jako parametr zvolíme hlavní kameru - <em>Main Camera</em>.</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/maincamera.png" alt="maincamera.png" data-themekey="#" style="margin:5px;width:400px;" /></p><p> <br> </p><p>Na takto vypočtené pozici už můžeme vygenerovat překážku. K tomu využijeme funkci <em>Instantiate</em>. Předáme jí dříve vytvořenou proměnnou <em>obstacle</em> s referencí na <em>ObstacleHolder </em>(funkce <em>Get Variable -> Graph -> zvolit obstacle</em>), vypočítanou pozici a nakonec rotaci (<em>get Quaternion identity</em>).</p><p style="text-align:center;"> <img src="/Blog/PublishingImages/Stranky/flappy-bird/quaternion.png" alt="quaternion.png" data-themekey="#" style="margin:5px;width:400px;height:382px;" /></p><p>Teď už jen přidáme nové instanci objektu <em>Rigidbody2D</em>, nastavíme ho na kinematický typ (<em>set RigidBody2D.bodyType</em>) a rychlost na ose x nastavíme na -2 (<em>set RigidBody2D.velocity</em>). Tím zajistíme posun překážek doleva.<br></p><p>Nakonec vše napojíme na metodu <em>Destroy</em>, která bude instanci překážky automaticky ničit po 20 sekundách - tedy když bude už dávno mimo dohled. Jako parametr musíme vzít objekt překážky vytvořený několik uzlů zpět ve funkci <em>Instantiate</em>.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/instantiate.png" alt="instantiate.png" data-themekey="#" style="max-width:690px;" /> </p><p>Posledním krokem je napojení proudu zpět na <em>Timer </em>(časovač), aby se celý cyklus spustil znovu.<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/timer.png" alt="timer.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/timer2.gif" alt="timer2.gif" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Pro úplnost můžeme přidat detekci kolize hráče s překážkou. Pokud se tak stane, celá scéna se načte znovu (prakticky se restartuje hra).<br></p><p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/kolize.png" alt="kolize.png" data-themekey="#" style="max-width:690px;" /><br></p><p>Tím máme hotovo!<br><br></p> <img src="/Blog/PublishingImages/Stranky/flappy-bird/hotovo.gif" alt="hotovo.gif" data-themekey="#" style="max-width:690px;" />​ <p>Pokud jste si tento návod užili, můžete zkusit i moje další články na téma herního vývoje zde na portálu. Odkaz na první díl je výše v textu. Celý tento projekt jsem zveřejnil na svém githubu (<a href="https://github.com/janjilecek/flappy_bird_clone_in_unity_bolt/tree/master" style="text-decoration:underline;">odkaz</a>). Na shledanou u dalšího článku!<br></p><p>​<br></p><p> <i>Jan Jileček<br></i></p><p>​<br></p>odborné;#hobby;#vzdělávání;#
Na stopě barevným trendůmhttps://www.create-it.cz/Blog/Stranky/barva-roku-2021.aspxNa stopě barevným trendům<p>​​​Pantone Colour Institute svou každoroční volbou barvy roku už více než dvacet let udává barevný trend všem designovým odvětvím, včetně módního průmyslu. Informace o zvoleném odstínu je užitečná všem, kte​​ří pracují s barvami, tedy i grafickým designérů. <br></p><p>​A letošní vítěz? Jsou hned dva: žlutá a šedá.<br></p><div><p>Dvojice odstínů byla vyhlášena teprve podruhé od roku 2000, kdy Pantone Colour Institute začal s volbou barvy reprezentující daný rok. První dvojicí byla v roce 2016 světle modrá v kombinaci se světle růžovou. Letošní pár je PANTONE 13-0647 Illuminating – jasná zářivá žlutá symbolizující optimismus a PANTONE 17-5104 Ultimate Gray – neutrální šedá symbolizující stabilitu. Za každou volbou se skrývá symbolika. Letošní ​​spojení dvou barev podle Pantone vyjadřuje sílu a naději. Spojení dvou barev namísto jedné je podle zástupců Institutu daleko silnější, stejně tak jako dva lidé dokážou společně více než každý sám.<br></p><p> <img src="/Blog/PublishingImages/Stranky/barva-roku-2021/vzornik.jpg" alt="vzornik pantone" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Pantone Colour Institute je americká organizace, která se už přes 20 let zabývá predikcí barevných trendů. Historie barevného kó​du Pantone je ale delší. Už v 50. letech minulého století začali bratři Lewinovi provozovat tiskárnu v New Jersey. Její oddělení tisku a tiskařských barev pak v roce 1962 odkoupil jeden z jejich zaměstnanců zabývající se chemií a barevnými pigmenty – Lawrence Herbert. Dal svému podniku jméno Pantone. Už rok poté představil světu designu Pantone Matching System, standardizovaný systém reprodukce barev. Snad každý, kdo se nějakým způsobem zabývá designem, ale firmu zná díky jejím vzorníkům. Podlouhlé kartony s příbuznými odstíny, které jsou označeny unikátním kódem, umožňují vybrat ladící i kontrastní odstíny. A právě z těchto ikonických vzorníků Institut vybere tu, která bude pro nadcházející rok dominantní.</p><p>Znát barvu roku je v současnosti v podstatě nutnost pro profesionály téměř všech odvětvích designu. Volba Institutu má globální dosah: o​​vlivňuje módní průmysl, interiérový design, grafický design stejně jako design uživatelských rozhraní. Módní průmysl je ovlivněn nejen výběrem barvy roku, ale celé barevné palety pro určité období. Proto se najednou v obchodech s módou objeví oblečení v podobných barvách. Barva je ale také jedním z klíčových prvků korporátní identity, dnes téměř jediným zapamatovatelným. Nejde přitom o to, jestli designér jako firemní barvu zvolí žlutou, modrou, červenou, zelenou, oranžovou či fialovou. Důležité je, aby zvolený odstín dané barvy působil současně, moderně. Odstíny barev jsou poplatné své době. A to, co zákazník vnímá jako vyšlé z módy, určuje do značné míry právě Pantone Colour Institute.<br></p><p>Mimochodem, barevnou paletu s barvami roku si můžete zkusit ​​sestavit i sami: <a href="https://connect.pantone.com/#/color-of-the-year?language=en" target="_blank">https://connect.pantone.com/#/color-of-the-year?language=en</a><br></p><div> <a href="https://connect.pantone.com/#/color-of-the-year?language=en" target="_blank"> <img src="/Blog/PublishingImages/Stranky/barva-roku-2021/Screenshot%202021-02-11%20at%2010.30.31.png" data-themekey="#" alt="pantone" style="max-width:690px;" /></a> <p>​​​​ </p></div></div>odborné;#vzdělávání;#
Seznam Zprávy - nový design zvýšil návštěvnost i hodnocení portálu čtenářihttps://www.create-it.cz/Blog/Stranky/seznam-zpravy.aspxSeznam Zprávy - nový design zvýšil návštěvnost i hodnocení portálu čtenáři<p>​​​Zpravodajský portál <a href="https://www.seznamzpravy.cz/" target="_blank">Seznam Zprávy</a> získal v soutěži o Křišťálovou Lupu 2020 první místo v kategorii Zpravodajství a publicistika. Je to přitom rok od doby, kdy portál prošel zásadním redesignem. </p><p> Projektu se za kreativní jednotku QUB společnosti Cleverlance zúčastnil produktový designér Michal Hořava. Došlo zde tak k propojení strategického myšlení s kreativitou, což je nesmírně funkční postup, který ovšem zdaleka není samozřejmostí ani při podobně ambiciózních projektech. Výsledkem je originální designový koncept, který dal vzniknout nejúspěšnějšímu produktu společnosti Seznam. Seznam Zprávy totiž v poslední době měsíčně navštíví 5,4 milionu reálných uživatelů. </p><p> Na samém začátku projektu byla nerovnost mezi profesionálně vytvářeným redakčním obsahem a jeho hodnocením návštěvníky webu. „Bylo pro nás důležité přijít se silnou nosnou myšlenkou zpravodajského portálu. Tímto konceptem pro mě byla kredibilita,“ říká Matěj Hušek, ředitel Homepage a obsahových webů v Seznamu. I když byl obsah na vysoké úrovni, hledal podle svých slov způsob, jak tuto skutečnost posílit ve vnímání stávajících, a hlavně budoucích čtenářů: „Rozhodl jsem se využít potenciál designu, který by konceptu kredibility dal formu.“ </p><p> Výzvou bylo navrhnout takovou podobu webu, který by zároveň podporoval loajalitu uživatelů ke značce a díky kterému by byl portál rozpoznatelný. V době silného akcentu na výkon se totiž ve výsledku zpravodajské weby podobají jeden druhému. „Pro vyjádření kredibility jsme společně hledali designové řešení, které bude lidem ze zpravodajského prostředí blízké a budou se s ním schopni identifikovat,“ říká Michal. „Ve spolupráci s klientem jsme se rozhodli vyjít z estetiky starých finančních novin typu Financial Times. Docílili jsme toho především použitím typické podkladové barvy papíru, layoutem připomínající klasické noviny a samozřejmě profesionálně zpracovanou typografií. Tímto jednoduchým nápadem se za online obsahem pro uživatele rozkryje řemeslo, poctivý přístup k novinařině.“ Forma tak podporuje autenticitu kvalitního obsahu. „Náš předpoklad vyšel a potvrdil, že kreativita podpořená designem je dnes nedílnou součástí vývoje digitálních produktů,“ dodává Michal. </p><p> „Úspěch redesignu Seznam Zprávy mě těší,“ říká Matěj Hušek. „Hned po prvním měsíci spuštění jsme zaznamenali nárůst návštěvnosti o téměř 25 % a tento nárůst se v meziročním srovnání drží. Zvýšila se i doba, kterou lidé na stránkách stráví. Také kvalitativní hodnocení jsou veskrze pozitivní,” uvádí. Projekt Seznam Zprávy je podle něj dobrým příkladem zapojení designu pro dosažení taktických cílů. „Design v našem případě není samoúčelný, ale přináší uživateli další hodnotu na úrovni emocí, orientace a schopnosti porozumět prezentovaným informacím,“ uzavírá Matěj Hušek. </p><p> <i>Alena Červenková</i> <br></p>odborné;#
5 žádaných webových frameworků pro rok 2021https://www.create-it.cz/Blog/Stranky/frameworky.aspx5 žádaných webových frameworků pro rok 2021<p>Na trhu je hodně webových frameworků a volba toho správného může být obtížná. V tomto článku se podíváme na ty nejžádanější backendové i frontendové frameworky, které si momentálně drží nejlepší pozice na trhu a budou proto dobrou volbou i pro rok 2021.<br></p><p><br></p><h1>Express</h1><p>Podle nedávného dotazníku pro nejpopulárnější jazyky na Stack Overflow (<a href="https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-all-respondents" style="text-decoration:underline;">odkaz na výsledky</a>) se na prvním místě umístil JavaScript. Na backendu nemá JavaScript takové zastoupení, což se ale pomalu mění díky <a href="https://nodejs.org/en/" style="text-decoration:underline;">Node.js runtime</a>. Pro Node existuje rychlý a minimalistický framework Express.</p><p>Express je velmi flexibilní, MVC (Model-View-Controller) framework s podporou pro routing a šablony. Existuje od roku 2010 a za tu dobu dospěl - je stabilní a vysoce výkonný. Má velice přehlednou dokumentaci a je to nástroj, na kterém je postaveno mnoho dalších Node.js knihoven.</p><p>Je <em>unopinionated</em>, tzn. že se nesnaží nutit vývojáře do použití nějakých zažitých postupů, ale nechává čistě na něm, jaké postupy a komponenty budou nejvhodnější.</p><p>Podle Stack Overflow dotazníku se umístil na 5. místě mezi webovými frameworky.<br></p><p><br></p><h1>React</h1><p>Facebook vyvinul React jako jednoduchou javascriptovou knihovnu a vydal ji v roce 2013. React je frontendový framework a má na starosti zobrazovací vrstvu UI. Jeho hlavní výhodou je jeho dynamičnost - překresluje pouze ty prvky, které se změnily. React stojí na tzv. component-based architektuře, a umožňuje vývojářům vytvářet malé, skládatelné a znovupoužitelné komponenty. To je kongruentní s řešením zásadních problémů, umožňuje totiž rozložení velkých problémů na menší podproblémy. Po vyřešení podproblémů vzniká celkové řešení. React podporuje tento styl přemýšlení.</p><p>Vývojáři mají rádi React hlavně kvůli jeho jednoduchosti, čitelnosti a rychlosti psaní. Lze v něm používat HTML tagy přímo v kódu a JSX umožňuje vytvářet HTML šablony, které používají podmíněné​ renderování (rozhodování, kdy se má co zobrazit).</p><p>React používá tzn. one-way data flow. Data tečou jedním směrem z komponenty do komponenty a tyto jsou překresleny na základě nového stavu.</p><p>Oproti Angularu má React větší počet knihoven a podle Stack Overflow dotazníku se umístil na 2. místě.</p><p>Podle Google Trends zůstává ReactJS nejpopulárnějším frameworkem, ale všechny zde recenzované mají víceméně stejnou trajektorii.<br></p> <img src="file:///Users/veronikajandova/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image004.jpg" data-themekey="#" alt="" style="width:690px;margin:5px;" /> <img src="/Blog/PublishingImages/Stranky/frameworky/unnamed-3.png" alt="unnamed-3.png" data-themekey="#" style="max-width:690px;" /> <h4 style="text-align:center;">Google Trends za posledních 12 měsíců, celosvětově, kategorie Programování<br></h4><p><br></p><h1>Angular</h1><p>Angular je MVW (Model-View-Whatever) frontendový framework. Používá jazyk TypeScript, který značně zpopularizoval. Za posledních 5 let neprošel tento framework žádnými značnými změnami a je velice stabilní. Mezi jeho přednosti patří snadná správa závislostí, jeho robustnost a široká škála vlastností, jako např. data binding, filtry nebo validace formulářů. Obsahuje mnoho nástrojů, ale to znamená, že začátečníkům zabere delší dobu se s nimi naučit správně pracovat. Angular appka se dělí na moduly a podmoduly, díky čemuž je snadno testovatelná a manažovatelná.</p><p>Velkou výhodou Angularu je tzv. two-way binding - jakékoliv datové změny v modelu se okamžitě propagují do odpovídajících <em>view</em>, a jakékoliv změny ve <em>view </em>jsou ihned reflektovány zpět do modelu. Tedy pokud se změní data, tak se změní i UI, a naopak.</p><p>Angular používá stejně jako React TypeScript. V dotazníku se umístil na 3. místě.<br></p><p><br></p><h1>Vue</h1><p>Vue je MVVM (Model-View-View-Model) framework vyvinutý Evanem You v roce 2014. Úspěšně kombinuje nejlepší části Angularu a Reactu. Vue podporuje mnoho problémů, kterým může vývojář čelit - od routování, přes management stavu aplikace až po unit testing. Je velice výkonný a v některých ohledech předčí i další javascriptové frameworky. I naprostý začátečník, který umí pouze HTML se dokáže do Vue dostat - tak snadné je s ním začít. Technologičtí giganti jako Facebook, Alibaba, Xiaomi nebo Grammarly ho používají.</p><p>Mezi jeho dovednosti patří defaultní ochrana proti <a href="https://cs.wikipedia.org/wiki/Cross-site_scripting" target="_blank" style="text-decoration:underline;">XSS</a>, rychlé přepínání mezi URL s možností přechodových efektů a možnost psaní stylů přímo v SCSS bez nutnosti se starat o kompilaci. Má obrovskou komunitu, takže je velice snadné najít řešení naprosté​ většiny problémů.</p><p>Nejžádanější je v Číně a v dotazníku SO se umístil na 7. místě.<br><br></p><h1>Django</h1><p>Jako poslední se podíváme na backendový framework Django, tentokrát pro jazyk Python.</p><p>Vytvořili ho dva mladí inženýři, Adrian Holovaty a Simon Willison v roce 2005. Podporuje MTV (Model-Template-View) a RAD (Rapid Application Development). Je vytvořen pro pokročilejší webové vývojáře, kteří chtějí stavět rozsáhlejší, rychlé a bezpečné projekty. Jeho hlavní předností je vysoká škálovatelnost a tzv. “batteries included", což znamená, že už při prvním spuštění projektu máte dopředu nastavené všechny důležité funkcionality. Má podporu pro téměř vše (např. ORM, Cachování, zabezpečení..) co je potřeba pro RAD. Django bezchybně zapadá do ekosystému jazyka Python, který je jedním z největších na trhu. Podle dotazníku SO je jedním z nejmilovanějších webových frameworků a na umístil se na 10. pozici nejžádanějších.</p><p>Při výběru frameworku nejvhodnějšího pro vás berte v potaz, zda hodláte pracovat pro větší firmu nebo jako freelancer, a zda chcete dělat spíše na backendu nebo frontendu. Také neváhejte kouknout na výsledky dotazníku ze Stack Overflow uvedeného na začátku, určitě z něj získáte další cenné vhledy pro volbu ideální životní cesty webového vývojáře.<br></p><p> <i>Jan Jileček</i><br></p><p>​ </p><p> <br> </p>odborné;#vzdělávání;#
Co přineslo VR školení České spořitelně?https://www.create-it.cz/Blog/Stranky/VR-skoleni-v-CSAS.aspxCo přineslo VR školení České spořitelně?<p>​Virtuální realita je hvězdou herního průmyslu, ale zajímavé VR projekty můžete dnes vidět i ve firemním segmentu. Pohybovat se na vlně tohoto trendu je zajímavé z více důvodů. Vedle zásadního marketingového potenciálu mohou inovace v této oblasti přinést do firem úspory, zefektivnění procesů a hlavně úplně nový rozměr přemýšlení o úkolech, projektech, firmě jako takové.<br></p><p>V České spořitelně si to vyzkoušeli na vlastní kůži - po <a href="https://www.mediar.cz/ceska-sporitelna-predstavuje-sve-nove-pobocky-ve-virtualni-realite/">virtuální pobočce</a> se jejich "tribe Asistované kanály" rozhodl tento 3D model využít v akci a požádal nás, abychom v Cleverlance pomohli vytvořit školení pokladní činnosti ve VR. Jedná se o historicky první školení České spořitelny ve virtuální realitě.<br></p><p>​<a href="https://youtu.be/i4-1y5FsX6Q" target="_blank"><img src="/Blog/PublishingImages/Stranky/VR-skoleni-v-CSAS/VR_youtube.jpg" alt="VR_youtube.jpg" data-themekey="#" style="max-width:690px;" /></a><br></p><p>V čem tkví výhody nové metody? Školení kombinuje prvky gamifikace (aneb jak říkal Jan Ámos Komenský: Škola hrou) a imerzivní princip, kdy se žáci mohou ponořit do nové látky natolik, že mají pocit, že si vše zkusili na vlastní kůži, byť to bylo jen virtuální. Školitelé České spořitelny pro nový formát školení vybrali ty části kurzu, které historicky představují pro žáky největší úskalí, těžko se vysvětlí na papíře a ani při pasivním prohlížení např. na videu nedojde k automatizaci procesu. Ta je přitom velice důležitá. Pokladní činnost v bance totiž podléhá přísným regulacím ČNB a to klade zvýšený nárok i na jednotlivé moduly školení. Žáci si mohou trénovat vklad, výběr, kontrolu bankovek, uzavření či vyúčtování pokladny. Fakt, že trénink probíhá v prostředí, které je identické se skutečným formátem pobočky České spořitelny, napomáhá automatizaci jednotlivých procesů a snižuje pozdější chybovost pokladníků v reálných pracovních situacích.<br></p><p>V České spořitelně používají aplikaci v rámci školení vedených lektorem, kdy si žáci mohou na vlastní oči ve VR vyzkoušet většinu úkonů a ty až do zautomatizování opakovat, a to i u méně častých scénářů, to umožňuje modul "tutorial".  Modul pro otestování pak umožní zjistit, do jaké míry si žák osvojil nové dovednosti - test pak odpovídá parametrům požadovaným interními předpisy České spořitelny i ČNB. V současné době je také neoddiskutovatelným benefitem chystaná možnost školení nastavit pro vzdálený režim, tedy tak, že žáci nemusí cestovat na centrálu do Prahy nebo Brna, ale stačí mít na pobočce brýle s aktuálním softwarem. Ušetří se nejen náklady, ale i čas na cestování. Školitelé se stávají průvodci, kteří pomohou studentům s pochopením látky a poskytnou celému školení odborný rámec, nemusí už ale být u každého rutinního opakování a tím vznikají další významné úspory.</p><p>První školení proběhla v červnu 2020 a byl o ně enormní zájem z řady zaměstnanců ČSAS - téměř okamžitě byla zaplněna. A program se rozvíjí dál.​<br></p><p>​ </p><p> ​<br> </p>odborné;#projekty;#