Create IT Blog - odborné

 

 

Analyzujte svůj hudební vkus pomocí Pythonu a Spotify APIhttps://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://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://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://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://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://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://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://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://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;#
Tajný život dat aneb webová analytika jako klíč k bludišti online světahttps://create-it.cz/Blog/Stranky/tajny-zivot-dat.aspxTajný život dat aneb webová analytika jako klíč k bludišti online světa<p> <em>Online svět může na uživatele působit jako chaotické mraveniště. Může se v něm velmi rychle ztratit – pokud uživateli cestu nenavrhneme jasně a intuitivně, podle přesných plánů. Tím, jak by takové plány měly vypadat a jak z chaosu vytvořit místo příjemné a funkční, se zabývají kromě dalších disciplín i webová analytika a SEO.​</em><br></p><p>Tuto situaci známe všichni. Hledáme na firemním webu nebo v aplikaci konkrétní informaci či produkt. Ač zkoušíme vše možné, nemůžeme ji najít. Reagujeme všichni podobně: jsme frustrovaní, stránku rychle zavřeme a pokud je to jen trochu možné, v budoucnu se jí chceme vyhnout. Frustrace z webu se mění v nespokojenost s celou organizací. Zákazníci svou špatnou zkušenost často šíří dál mezi své okolí a negativní image firmy je na světě. Jednou z cest, jak se podobným momentům vyhnout, je provedení webové analýzy, která se soustředí na odhalení slabých míst webu nebo aplikace. Taková analýza by měla být automaticky součástí větších rozpočtů určených na vývoj jakéhokoli online prostředí, rozhodně se však vyplatí i v případě menších projektů. </p><p>Mnoho firem v současné době přistupuje k analytickým nástrojům webové analytiky jako k nástrojům reportovacím, kdy se zpětně vyhodnotí parametry, ideálně s rostoucí tendencí, které se odprezentují na meetingu. Webová analytika ale nabízí mnohem více. Kouzlo spočívá v interpretaci získaných dat a statistik, testování variant a v následném doporučení, jak web a obsah optimalizovat. Teprve taková analytika je pak pro byznys přínosná. </p><p>Další potenciál webové analytiky se ukrývá v propojení dat získaných z online systémů s interními daty, které firmy mají k dispozici ve svých CRM databázích (business analýza). Jejich propojení umožní získat komplexní pohled na zákazníka, jeho chování a vztahy s firmou, a mít tak informace ke všem jeho online i offline aktivitám. Díky tomu odkryjeme realistický obraz chování a potřeb každého našeho klienta. Následující tabulka uvádí hlavní rozdíly mezi webovou a business analýzou.​<br></p><p> <img src="/Blog/PublishingImages/Stranky/tajny-zivot-dat/analytics.png" alt="analytics.png" data-themekey="#" style="max-width:690px;" /> <br> <br> </p><h2>​​Když je zákazník jeno​m online<br></h2><p>Nouzový stav zákazníky doslova nahnal do online světa, ale už před tím řada z nás jednoduše preferovala internetové služby před těmi „kamennými“. Velmi patrné to je například v oblasti klientských online zón. Je pohodlnější vyřešit požadavek z telefonu v mobilní aplikaci, než zajít na pobočku. Navíc v otevírací době, která se často kryje s naší dobou pracovní. </p><p>Online prostředí je v mnoha případech jediný kontaktní bod zákazníka s organizací. O to důležitější je zákazníkova zpětná vazba a schopnost jeho pohyb a reakce v online světě rozklíčovat. V první fázi je třeba mít správně nastavenou webovou, případně mobilní analytiku. Získáváme opravdu všechna data, která potřebujeme? Na to nám odpoví audit dat – ⁠jiné údaje jsou důležité pro marketing, jiné pro produktové manažery a jiné pro oddělení Risku. </p><p>V druhé fázi pak data sbíráme. Pokud máme k dispozici CRM databázi, hledáme vodítko, propojení mezi ní a webovou částí. Díky datům vidíme, jaké jsou kroky konkrétního uživatele, jak se chová, kterým částem webu věnuje pozornost a kde se naopak ztrácí. </p><p>Pomocí dat a vizualizačních nástrojů můžeme upravit podobu analytických grafů do uživatelsky přívětivější formy. Výsledkem jsou pak analytické dashboardy, které mohou mít jinou podobu pro manažera a jinou pro obchodního zástupce. Podstatné je, že oba dva s nimi mohou pracovat opravdu na denní bázi, jako online nástroj jsou k dispozici neustále v aktuální podobě. Oproti klasickému vyhodnocování je to velká časová (a tím pádem i finanční) úspora.<br></p><p>Další výhodou analytických dashboardů je také vizualizace dat na jednom místě. To je dobrý odrazový můstek pro další podstatnou fázi, interpretaci dat. Při ní lze vyjít z klasické metody A/B testování, kdy vytvoříme hypotézy a ty potom na základě dat ověřujeme. Příklad? Náš klient, významný český virtuální operátor, uvažoval, zda má na svých webových stránkách během marketingové kampaně vést uživatele rovnou na formulář pro objednání produktu, nebo mu o něm nejdříve dodat podrobnější informace. Sledovali jsme tedy, která varianta povede k většímu prodeji tohoto produktu.<br></p><p>Třetí a byznysově nejzajímavější částí webové analytiky je samotná interpretace dat. Důležité je umět z dat vyčíst takové informace, které byznysu pomohou. Na trhu existují různé reklamní systémy, stejně jako je k dispozici vyhodnocování např. ve Facebook Business Manageru nebo Google Ads. Každý nástroj má ale jinou metodiku pro přičítání konverzí a jiné tzv. atribuční okno. Obecně nastavené metriky poskytují jednoduše řečeno příliš obecné závěry. Proto je vždy efektivnější nechat si analytiku ušít na míru svým potřebám, a využít i dalších možností, jako je SEO. To je soubor metod, jejichž cílem je přivést na web co největší množství relevantních návštěvníků z organického vyhledávání.<br></p><p> <img src="/Blog/PublishingImages/Stranky/tajny-zivot-dat/seo.png" alt="seo.png" data-themekey="#" style="max-width:690px;" /> <br> </p><p>Přístup k webové analytice lze také obrátit: z pomocníka vytvořit nástroj marketingu. Tento trend sleduje např. growth hacking, druh marketingu typický hlavně pro startupy v západním světě. Cílem je v relativně krátkém čase získat co největší podíl na trhu a zasáhnout tzv. early adopters, kteří vytvoří první zákaznickou základnu a následně přivedou další zákazníky. Tato metoda je postavena na inovativní marketingové komunikaci, testování a rychlém přizpůsobování produktu zákazníkům. Základem je využívání dat z analytiky a testování hypotéz prostřednictvím statisíců malých A/B testů, které vedou k neustálému vylepšování designu připravovaného produktu. Jejich marketing je postavený výhradně na datech o tom, co na budoucí zákazníky produktu “nejvíce fungovalo." Typickými firmami, které growth hacking využívají, jsou miliardové firmy jako Facebook, Airbnb, Dropbox nebo např. Spotify.​<br></p><h2> Přežít bez ​​analytiky? Ano, ale…</h2><p>Podnikat se dá samozřejmě i bez analytiky. Ale optikou malých firem – pokud děláme jakýkoli marketing, tak potřebujeme vědět, jak funguje. Pro velké firmy to je pak absolutní nutnost, jinak se v online světě pohybujeme se zavázanýma očima. Díky porozumění chování klientů můžeme třeba vidět, že má skupina našich zákazníků některé společné znaky. Pak jim můžeme v rámci personifikovaného marketingu nabídnou zajímavý, a hlavně relevantní produkt. To vše vede k vytváření byznys modelů šitým na míru cílovým skupinám zákazníků.​<br></p><p>Když bychom měli charakterizovat dnešní online svět, je to prostředí, které stojí na datech, testování a ověřování hypotéz. To je jeden z principů fungování online světa. Není náhodou, že se daty intenzivně zabývají největší globální firmy. Ale užitek z umění interpretovat data mají i menší a střední firmy.</p><p> <i>Aneta Hejnová, Mobile and Web Data Analyst<br></i><br></p><p> <br></p><p> <br> </p><p> <br> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> <br> </p>odborné;#vzdělávání;#