Heading

Perex Html

Websockety ve Flasku
Tipy a triky
15.08.2018
Miroslav Beka

Websockety ve Flasku

Websockety ve Flasku Pokud ses někdy setkal s výrazem websocket a chtěl by ses dozvědět, co to vlastně je a jak se to používá v Python aplikaci, tak tento článek je právě pro tebe. Standardně tvůj prohlížeč komunikuje na webu pomocí http protokolu. Klasický http protokol nabízí jednoduchou komunikaci. Pošle se request a jako odpověď dostanu response. Tento klasický komunikační způsob nebyl dostačující pro dnešní moderní aplikace. Byla potřeba pro komunikační kanál, který bude sloužit k obousměrné komunikaci. HTTP by měl být víceméně bezstavový a klient a server mezi sebou komunikují jen když je třeba, jinak je spojení mezi nimi uzavřeno. Navíc, prohlížeč (klient) musí požádat server o komunikaci a server může na tuto žádost odpovědět. Ta žádost, to je ten http request. Jinak server neumí kontaktovat klienta jen tak sám od sebe. U websocketů je tomu jinak. Jedná se o komunikační kanál, který se otevře jednou, na začátku a poté se používá ke komunikaci klienta a serveru v obou stranách. To znamená, že server může posílat data zároveň co klient posílá data na server. Toto se odborně jmenuje full-duplex. Web socket má menší overheat přenosu dat, umí být real-time a hlavně, server může posílat data na klienta, aniž by si je klient musel explicitně vyžádat requestem. Toto je užitečné například u aplikací, které zobrazují real time data a server posílá tato data klientovi. Takže pokud nastane nějaká změna dat, server je prostě pošle na klienta. Toto dříve nebylo možné provést pouze pomocí http protokolu. Minimální příkladNajlepšie je vyskúšať si tieto koncepty v praxi. Dnes budeme pracovať s Flaskom, knižnicou SocketIO a javascript knižnicami socket.io a jQuery. Budem predpokladať, že Flask aplikácie aspoň trochu poznáš. Začneme tým, že si vytvoríme nové virtuálne prostredie: Nejlepší je vyzkoušet si tyto koncepty v praxi. Dnes budeme pracovat s Flaskem, knihovnou SocketIO a javascript knihovnami socket.io a jQuery. Budu předpokládat, že Flask aplikace alespoň trochu znáš. Začneme tím, že si vytvoříme nové virtuální prostředí: $ mkdir websockets_primer $ cd websockets_primer $ virtualenv venv $ . venv/bin/activate (venv) $Nainstalujeme závislosti, které budeme potřebovat: (venv)$ pip install flask, flask-socketioV době psaní tohoto článku jsem používal verze Flask==1.0.2 a Flask-SocketIO=3.0.1. Když už máme připravené prostředí a nainstalované závislosti, uděláme nový soubor server.py from flask import Flask from flask import render_template from flask_socketio import SocketIO app = Flask(__name__) app.config["SECRET_KEY"] = "secret" socketio = SocketIO(app) @app.route("/") def index(): return render_template("index.jinja") @socketio.on("event") def handle_event(data): print(data) if __name__ == '__main__': socketio.run(app, debug=True) Na začátku máme importy jako pro každou jinou Flask aplikaci, avšak přibylo nám tam  from flask_socketio import SocketIO. Tento naimportovaný modul je v podstatě totéž jako jiné  Flask rozšíření . Inicializaci websocketů ve Flask aplikací provedeme pomocí řádku  socketio = SocketIO(app). Pomocí tohoto objektu  socketio budeme přijímat a odesílat zprávy. Minimální aplikace by měla mít alespoň jednu stránku. V našem případě to bude  index.jinja. Toto je třeba, protože musíme poskytnout i klientskou část naší aplikace. Tam bude javascript knihovna  socketio  a nějaké další funkce. Websockety umí přijímat a posílat zprávy. Provedeme zatím jen přijímání zpráv. Pomocí řádku  socketio.on("event")definuji handler pro událost  event. V tomto případě jednoduše vypíšu data na konzoli. @socketio.on("event") def handle_event(data): print(data) Posílání a přijímání dat na obou stranách (klient a server) probíhá jako event. Toto je důležitý fakt, protože architektura aplikace založené na eventech ( event driven architecture ) funguje trošku jinak než klasické volání funkce. Neříkám, abys měl z toho paniku teď, ale měj to na paměti. Pokud znáš Flask aplikace, tak spuštění appky vypadá většinou takto if __name__ == "__main__": app.run("0.0.0.0", debug=True) My ale musíme appku spustit jinak, jelikož používáme websockety. Spustíme ji pomocí objektu socketio, který jsme si vytvořili na začátku. if __name__ == '__main__': socketio.run(app, debug=True) Nyní musíme ještě vytvořit 2 soubory. Snažíme se renderovat  index.jinja a také musíme vytvořit hlavní javascript soubor, do kterého budeme psát klientskou část naší websocketové ukázky. Vytvořím složku  templates a do ní soubor index.jinja <!DOCTYPE HTML> <html> <head> <title>Websockets test</title> <script type="text/javascript" src="//code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.5/socket.io.min.js"></script> <script type="text/javascript" src="{{ url_for("static", filename="js/main.js")}}"></script> </head> <body> <form id="emit_event" method="post"> <input type="submit" value="emit"> </form> </body> </html> Důležité jsou 3 importy v hlavičce html dokumentu. První importuje  jQuery , druhý importuje knihovnu pro práci se sockety  socketio  a poslední import je pro náš  main.js  soubor, který musíme ještě vytvořit. Jinak tento html dokument obsahuje pouze jeden formulář s jedním tlačítkem. To budeme používat k posílání zprávy přes websocket. Vytvoříme složku  static v ní  js a v ní už konečně soubor main.js Obsah bude vypadat asi takto: $(document).ready(function() { var url = location.protocol + "//" + document.domain + ":" + location.port var socket = io.connect(url); $("form#emit_event").submit(function(event) { socket.emit("event", "test message"); return false; }); }); Toto je hlavní logika klientské části. Z tadeto budeme přijímat a posílat zprávy přes websockety stejně jako na serverové části. Pomocí řádku  var socket = io.connect(url); se připojím na můj server. Následně pomocí  jQuery  upravím chování buttonu, aby při stisku poslal zprávu. K tomu slouží funkce socket.emit() Okej, základ máme hotový a můžeme nyní zkoušet posílat zprávy. Aplikaci spustím pomocí příkazu: (venv)$ python server.py WebSocket transport not available. Install eventlet or gevent and gevent-websocket for improved performance. * Serving Flask app "server" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) * Restarting with stat WebSocket transport not available. Install eventlet or gevent and gevent-websocket for improved performance. * Debugger is active! * Debugger PIN: 478-618-530Otevřu prohlížeč na  http://localhost:5000  a zobrazí se mi jeden button. Když ho zmáčknu na konzole mi vyskočí: test messagePojďme tedy prozkoumat, jaké možnosti nám poskytuje tato knihovna  socketio. Přijímání zprávJak jsem již zmiňoval, přijímání zpráv na obou stranách probíhá jako event. V Pythonu musíme pro takovýto event definovat handler. V javascriptu používáme tvz. callbacky. V principu jde o totéž, ale každý jazyk má své vlastní technické řešení a my si toho musíme být vědomi. Každý event, který chci přijmout musím mít nějaké jméno. V příkladu jsme měli název  event. Mohu ale použít cokoli @socketio.on("foobar") def handle_data(data): print(type(data)) print(data)Také data se automaticky mění na příslušný typ. Pokud v javascriptu pošlu string, tak string dostanu i na serveru. Totéž platí pro jiné datové typy ... $("form#emit_event").submit(function(event) { socket.emit("foobar", "message"); socket.emit("foobar", [1,2,3,]); socket.emit("foobar", {data : "message"}); return false; }); ...Po odeslání událostí dostanu výpis na serveru <class 'str'> message <class 'list'> [1, 2, 3] <class 'dict'> {'data': 'message'}Handler také může mít několik argumentů @socketio.on("sum") def handle_sum(arg1, arg2): print(arg1 + arg2)Upravíme javascriptovou část a zavoleme event s více argumenty ... $("form#emit_event").submit(function(event) { socket.emit("sum", 23, 47); return false; }); ...Namespace patří mezi další funkce, které mám knihovna SocketIO nabízí. Každý event si můžeme rozdělit podle namespace. To nám dává další možnosti organizace eventov. @socketio.on("sum", namespace="/math") def handle_sum(arg1, arg2): print(arg1 + arg2)Ovšem pozor! Na straně klienta se musíme nyní připojit na jinou url $(document).ready(function() { var namespace = "/math"; var url = location.protocol + "//" + document.domain + ":" + location.port; var socket = io.connect(url + namespace); $("form#emit_event").submit(function(event) { socket.emit("sum", 23, 47); return false; }); });Další vychytávka je to, že každý event, který pošleme, umí zavolat callback poté, co byl proveden. Například z javascriptu pošlu nějaká data na server a server mi ještě dodatečně potvrdí, že data byla zpracována. Aha takhle ... $("form#emit_event").submit(function(event) { var ack = function(arg){console.log(arg)}; socket.emit("sum", 23, 47, ack); return false; }); ...Pokud chci, aby se callback zavolal, musím v Pythonu vrátit nějakou hodnotu z provedeného handleru => return True @socketio.on("sum", namespace="/math") def handle_sum(arg1, arg2): print(arg1 + arg2) return TrueMusím si otevřít v prohlížeči konzoli (já používám chrome) a když zmáčknu tlačítko, dostanu výpis na konzoli[Image] Posílání zprávZasílat eventy jsme již posílali, ale pouze z javascriptu. V Pythonu to vypadá velmi podobně. Používáme 2 funkce  send a  emit mezi nimiž je zásadní rozdíl. Nejprve musíme importovat z knihovny flask-socketio from flask_socketio import send from flask_socketio import emitupravíme funkci na sčítání @socketio.on("sum", namespace="/math") def handle_sum(arg1, arg2): value = arg1 + arg2 print("{} + {} = {}".format(arg1, arg2, value)) send(value)a přidáme handler v javascriptu abychom mohli tento event zachytit. ... $("form#emit_event").submit(function(event) { socket.emit("sum", 23, 47); return false; }); socket.on("message", function(data){ console.log("received message: " + data) }); ...Všimni si, že teď jsem použil handler, který zpracovává event s názvem  message. Není to náhoda. Jde totiž o to, že funkce  send posílá tvz. unnamed event . Tyto eventy se vždy posílají na handler, který zpracovává  message. Narozdíl od funkce  send, funkce  emit posílá již konkrétní event a musíš mu dát název. Zkusme tedy pozměnit náš příklad @socketio.on("sum", namespace="/math") def handle_sum(arg1, arg2): value = arg1 + arg2 print("{} + {} = {}".format(arg1, arg2, value)) emit("result", value)... socket.on("result", function(data){ console.log("sum is: " + data) }); ...BroadcastingVelmi užitečná funkce je broadcastování, což už z názvu vyplývá, že eventy se budou vysílat na všechny připojené klienty. Dejme tomu, že změníme funkci  emit na broadcastování @socketio.on("sum", namespace="/math") def handle_sum(arg1, arg2): value = arg1 + arg2 print("{} + {} = {}".format(arg1, arg2, value)) emit("result", value, broadcast=False)Nyní, když si otevřeš 2 prohlížeče a v jednom zmáčkneš button, výsledek součtu se ukáže ve všech prohlížečích[Image] note: callbacky se při broadcastování nebudou provádět ZávěrWebsockety mají mnoho využití. Tento článek byl jen úvod a přehled některých základních funkcí. V příštím blogu uděláme malou aplikaci postavenou na websocketech. Máš nějaké dotazy k článku? Napiš ji do komentáře.
Představení lektora Android Developer kurzu
Rozhovory
08.08.2018
Skillmea

Představení lektora Android Developer kurzu

Dominik Palla je autorem našeho nového online kurzu Android Developer , ve kterém tě naučí programovat mobilní aplikace pro platformu Android. Dominik má za sebou více než 5letou praxi jako androidový vývojář, podniká v oblasti vývoje softwaru na zakázku, je autorem projektu české hlasové asistentky s umělou inteligencí pro OS Android a je držitelem Java certifikátu od Oraclu. Aktivně se také věnuje tvorbě webových a desktopových aplikací. Jelikož Dominika asi neznáš, vyzpovídali jsme ho a teď ti přinášíme tento rozhovor. Čti a když budeš mít nějaké dotazy na Dominika, neváhej je napsat do komentáře. Kde teď pracuješ? Představ se nám i po pracovní stránce.Momentálně podnikám na vlastní pěst, nedělám to však sám, ale zaměstnávám dalších 5 kolegů. Společně vyvíjíme mobilní aplikace , převážně pro platformu Android, ale sem tam se najde i projekt pro iOS. Klasicky vytváříme také webové stránky nebo aplikace, ke kterým poskytujeme také vlastní hostingové služby. Občas je předmětem našich projektů také vývoj desktopových aplikací. Kromě těchto komerčních zakázek také pracujeme na jednom vlastním projektu - České hlasové asistentce s umělou inteligencí ClaraSys. Projekt je zaměřen především na nevidomé lidi, ale přesto většina našich uživatelů jsou vidící lidi. Jedná se vlastně o aplikaci na způsob Siri pro iOS, ale je kompletně v češtině a má větší spektrum funkcí. Momentálně pracujeme na implementaci inteligentního sluchátka (Smart Ear), které umožňuje vybavit všechny úkoly na mobilním telefonu pomocí rozhovoru s asistentkou přes bluetooth sluchátko be toho, abyste museli mobil vyjmout z kapsy či tašky. Sluchátko bude cca do měsíce hotovo a dostupně v našem eshopu. No a samozřejmě lektorujeme začínající Android programátory.[Dominik Palla - autor online kurzu Android Developer] Co se ti na tvé práci líbí nejvíc?Na mé práci se mi nejvíc líbí svoboda, že můžu vytvořit v podstatě cokoliv, co se mi zlíbí. Když si potřebuji nějakým způsobem usnadnit nebo ozvláštnit svou práci, nemusím si vybírat jen z veřejně dostupných aplikací, ale můžu si vytvořit aplikaci přímo pro své potřeby. Google umožňuje androidovým vývojářům vytvořit v podstatě cokoli. Není třeba sestavovat vlastní hardware, protože to někdo již učinil za vás. Mobilní telefon nebo tablet, případně i chytré hodinky či smart televize mají kompletní výbavu (bluetooth, WiFi, NFC, GPS apod.) a vy sami určíte, jak se daný hardware bude používat (naprogramujete jej tak). Pokud něco vytvořím, mám to pořád všude s sebou a dokonce se o to můžu podělit se svou rodinou nebo přáteli. Co víc si přát?[Dominik pracuje na více Android aplikacích] U nás jsi lektorem online kurzu Android Developer. Jak ses k programování, Androidu a učení dostal?Začínal jsem klasicky jako mnoho jiných programátorů tvorbou webstránek. Stále jsem se učil další a další programovací jazyky, ale mým skutečným snem bylo vytvořit aplikaci na svůj mobilní telefon (jak jinak než na Android). Dvakrát jsem to zkoušel (poprvé cca ve 14 letech a pak v 15ti), ale vždy neúspěšně. Bylo to na mě velmi obtížné a nerozuměl jsem tomu. Vždy jsem to nakonec odložil a začal se učit jiný jazyk. Problém při mých začátcích s Android programováním byl iv tom, že v té době neexistoval téměř žádný český návod, vše bylo v angličtině, se kterou jsem měl trochu problémy. Na třetí pokus asi v 16 letech se mi podařilo záhadné androidové programování konečně přelomiž. Bylo to také tím, že jsem se zdokonalil v angličtině a že jsem už znal jiné programovací jazyky. Na začátcích je nejhorší to, že začínající programátor se nemá koho zeptat, když řeší nějaké problémy ve svých začátcích. Jednou jsem byl dokonce tak zoufalý, že jsem kontaktoval jednoho českého vývojáře, jestli by mi nepomohl, že pro něj je to otázka 30 minut. Zaptal si za tuto radu 10 tisíc ČK a tak jsem raději odpověď na svůj problém řešil sám. Ze začátku to trvalo, problémy jsem řešil pomocí webů jako Stack Overflow jako asi většina programátorů. Nejprve jsem dělal věci jen proto, že to tak prostě mělo být, ale nepochopil jsem proč, nikdo mi to nevysvětlil. Proto si myslím, že mít člověka, na kterého se člověk může obrátit při svých problémech v začátcích (ideálně v jazyce, kterému dobře rozumí), je docela důležité. To nabízím právě účastníkům svého kurzu. že jsem kontaktoval jednoho českého vývojáře, jestli by mi nepomohl, že pro něj je to otázka 30 minut. Zaptal si za tuto radu 10 tisíc ČK a tak jsem raději odpověď na svůj problém řešil sám. Ze začátku to trvalo, problémy jsem řešil pomocí webů jako Stack Overflow jako asi většina programátorů. Nejprve jsem dělal věci jen proto, že to tak prostě mělo být, ale nepochopil jsem proč, nikdo mi to nevysvětlil. Proto si myslím, že mít člověka, na kterého se člověk může obrátit při svých problémech v začátcích (ideálně v jazyce, kterému dobře rozumí), je docela důležité. To nabízím právě účastníkům svého kurzu. že jsem kontaktoval jednoho českého vývojáře, jestli by mi nepomohl, že pro něj je to otázka 30 minut. Zaptal si za tuto radu 10 tisíc ČK a tak jsem raději odpověď na svůj problém řešil sám. Ze začátku to trvalo, problémy jsem řešil pomocí webů jako Stack Overflow jako asi většina programátorů. Nejprve jsem dělal věci jen proto, že to tak prostě mělo být, ale nepochopil jsem proč, nikdo mi to nevysvětlil. Proto si myslím, že mít člověka, na kterého se člověk může obrátit při svých problémech v začátcích (ideálně v jazyce, kterému dobře rozumí), je docela důležité. To nabízím právě účastníkům svého kurzu. problémy jsem řešil pomocí webů jako Stack Overflow jako asi většina programátorů. Nejprve jsem dělal věci jen proto, že to tak prostě mělo být, ale nepochopil jsem proč, nikdo mi to nevysvětlil. Proto si myslím, že mít člověka, na kterého se člověk může obrátit při svých problémech v začátcích (ideálně v jazyce, kterému dobře rozumí), je docela důležité. To nabízím právě účastníkům svého kurzu. problémy jsem řešil pomocí webů jako Stack Overflow jako asi většina programátorů. Nejprve jsem dělal věci jen proto, že to tak prostě mělo být, ale nepochopil jsem proč, nikdo mi to nevysvětlil. Proto si myslím, že mít člověka, na kterého se člověk může obrátit při svých problémech v začátcích (ideálně v jazyce, kterému dobře rozumí), je docela důležité. To nabízím právě účastníkům svého kurzu. Co všechno může dát zmiňovaný online kurz tomu, kdo se rozhodne jej absolvovat?Určitě získá potřebné základy, na kterých se dá dále stavět. V rámci kurzu přebereme všechny nejpoužívanější widgety, jako jsou Buttony, CheckBoxy, EditTexty, TextViewy atp. Vždy si ukážeme na praktickém příkladu jejich použití. Další část kurzu je zaměřena na funkční prvky aplikací. Zde si probereme životní cyklus aplikací, naučíme se obsluhovat různé události a dělat nejčastěji prováděné akce. Úplně v poslední části kurzu si vyrobíme vlastní webový prohlížeč. V rámci tohoto kurzu se příliš nebudeme soustředit na grafickou stránku aplikací, nejprve je totiž třeba pochopit princip a poté je možno designovat. Účastníky kurzu určitě potěší sekce Publikace aplikace na Google Play, kde se podíváme na to, jakým způsobem je možné publikovat vaši aplikaci. Po absolvování kurzu budou účastníci schopni vytvořit si jednoduchou až mírně složitou androidovou aplikaci a většinu věcí, kterou nebudou vědět, si dokážou sami aktivně vyhledat na internetu. Pokud se ale přesto vyskytne nějaký problém, mohou mě kontaktovat a rád poradím. Pro pokročilejší vývojáře připravujeme pokračování v podobě druhého online kurzu pro tvorbu Android aplikací. Sleduješ i konkurenci, aktuální trendy, inovace? Jak jsi na tom v tomto směru?Nové trendy samozřejmě sleduji, v podstatě všechny je určuje společnost Google. Každou aplikaci, kterou vyvíjím, musím vytvořit tak, aby byla kompatibilní s co nejvíce zařízeními a to včetně těch naprosto nejnovějších. Google rád přidává nové věci, které je třeba se za chodu naučit, ale které jsou také velmi efektivní nebo v některých případech i nevyhnutelné. Příkladem mohou být nové adaptive icons v Androidu 8 nebo odlišný způsob tvorby notifikací a časování událostí napříč různými verzemi Androidu. Dnes je hodně pracovních nabídek v oblasti programování a tvorby mobilních aplikací. Vnímáš to tak i ty?Ano, být vývojářem mobilních aplikací je momentálně „cool“. Pracovních pozic je mnoho a podle mého názoru budou přibývat, zvláště v dnešní době, kdy se vše automatizuje. Je tato práce dobře zaplacena? :)To tedy je, průměrný plat programátora v ČR je kolem 40 000 Kč. To platí, když jste zaměstnanec v nějaké firmě. Pokud vytvoříte nějaký zajímavý projekt nebo aplikaci, můžete se dostat na úplně jinou částku. Mnoho mladých lidí vydělalo pěkné peníze tak, že vytvořily aplikaci, kterou od nich koupila nějaká velká firma (typu Facebook, Google). Je na Slovensku a v Čechách podle tebe dost kvalifikovaných lidí právě na tyto vývojářské pozice?Podle mě je jich spíše nedostatek. Mnoho lidí dnes vyhledává spíše práci v zahraničí, je to finančně lukrativnější. V Čechách a myslím, že i na Slovensku je poptávka po kvalitních programátorech vysoká. Stále někde vidím inzeráty, kde se různé firmy snaží najít programátory a to klidně i bez praxe s tím, že si je sami vychovají a zaučí. Co byste poradili všem, kdo nemají žádné zkušenosti s programováním a tvorbou mobilních aplikací, ale chtěli by nějak začít?Takovým lidem vždy radím, aby začali s něčím jednodušším. s webovými stránkami. Další krok se odvíjí od cílů daněhé člověka. Pokud je vaším cílem stát se vývojářem androidových aplikací, vaším dalším krokem by měla být Java. Hned poté se na vývoj Android aplikací můžete vrhnout. Doporučuji nějaký kurz na základy Java, postačovat by měl i online kurz zde na Learn2Code , který je dokonce zcela zdarma. A ještě nám prozraď tvé plány do budoucnosti.Mým plánem do budoucna je posunout se zase o krok, nebo spíše o skok ;), projekt ClaraSys, své podnikání povýšit na etablovanou firmu, no a samozřejmě vytvořit pokročilý kurz Android Developer 2 zde na Learn2Code .
Videosúťaž RECfruit 2018 má svojich víťazov
Ostatní
04.07.2018
Skillmea

Videosúťaž RECfruit 2018 má svojich víťazov

Po úspěšném loňském nultém ročníku soutěže RECfruit přišel ještě úspěšnější první ročník, který s sebou přinesl spoustu nových video talentů. Oproti loňskému roku nevzrostl jen počet videí, ale i jejich kvalita. Odborná porota složená z profesionálů z praxe měla těžký úkol, ale tři nejlepší videa nakonec úspěšně vybrala. Vysoká úroveň a originalita soutěžních příspěvků pomohla organizátorům k rozhodnutí udělit i letos speciální cenu a cenu ContentFruiter . Velké poděkování patří odborné porotě i partnerům soutěže RECfruit. Bez nich by nebylo možné dostatečně ocenit nápady, snahu, věnovaný čas a odvahu soutěžících, podpořit jejich rozvoj a motivovat je k další práci videomakerů. Výsledky prvního ročníku Bronzová příčka Třetí místo obsadil David Bartoš se svým videem Právě teď . Ukazuje potřebu vychutnat si život v přítomnosti. Svou práci popsal slovy: „Myšlenka videa je být v přítomnosti a nacházet potěšení v přítomném okamžiku. I když nás stále ženou nějaké povinnosti a deadliny, je třeba si najít čas a vychutnat si ho.“ Stříbrná příčka Na druhém místě se umístilo video s názvem Lovec , které do soutěže poslal 19-letý Košičan Šimon Šebo . Video s poutavou myšlenkou „kradení duší“ zanechává v příjemci silnou emoci. Překvapením Šimonova videa byly vynikající herecké výkony dvou malých dívek, pěkné záběry a skvělá práce se zvukem. „Video, které začíná jako dětská pohádka a končí jako horor.“ Takový dojem vzbudilo zpracování v organizátorech soutěže. Nejednoznačný konec videa ve vás zaručeně vyvolá husí kůži. Vítěz První místo v soutěži RECfruit získalo video s názvem Again , ve kterém si 18letý Tomáš Biely z obce Hrochoť velmi originálně pohrál s myšlenkou času. V černobílém videu je hlavní hrdina zachycen v jakési časové smyčce. Poutavé zpracování porotu natolik oslovilo, že vyhrálo se značným bodovým náskokem. Tomáš své video popsal těmito slovy: „Again je krátký hraný film, který zachycuje nadpřirozenou událost související s časovým paradoxem. Celý děj se odehrává v jistém momentě, ve kterém je hlavní hrdina „uvězněn“, proto tedy Právě včas.“ Organizátor opět přidal další motivační cenySpeciální cena Organizátoři se rozhodli udělit speciální cenu videu, které natočil 17letý Patrik Hrabovec z Bratislavy. Své video nazval podle tématu letošního ročníku, a to Právě včas . Při hodnocení videí ale bylo známo pod názvem Smrťák . Patrikovo video si vybojovalo speciální cenu kvůli své odvaze pohrát si s tématem smrti humorně, ale také díky odlišnosti od ostatních videí. Letos takříkajíc „vyčuhovalo z davu“. Krátkou komedii o konkurzu na smrtku geniálně zakončil titulky, ve kterých hlavní aktér tančí se svým „vraždícím“ nástrojem. Speciální cena je udělena také jako povzbuzení nebát se začít as odhodláním experimentovat. Cena ContentFruiter Cenou ContentFruiter se organizátoři rozhodli ocenit přínos Tomáše Bílého . Ten předvedl své mistrovství ve videu Again. Tuto cenu organizátoři udělují za mimořádné dílo. V tom letošním je to za originalitu, za odvahu podívat se na věci jinak, za osobité uchopení atmosféry, podání, ale i za vtažení do děje od začátku až do konce. V soutěži se ocitlo několik videí, které si zaslouží pozornost. Bohužel ne všechny se dají ocenit. Zmiňovaná vítězná videa, ale i shortlist finalistů si však můžete prohlédnout na recfruit.sk . Vítězové získávají zajímavé ceny, mezi nimiž nesmí chybět online kurzy od Learn2Code .
Připravované online kurzy - 3. čtvrtletí 2018
Novinky
24.06.2018
Skillmea

Připravované online kurzy - 3. čtvrtletí 2018

Stále makáme na přípravě nových online kurzů a pokud tě zajímá, které kurzy v nejbližších týdnech a měsících zveřejníme, čti dále. Flask - Python mikroframeworkJako první pán na holení tady je minimalistický a jednoduchý webový Python framework Flask. Všechny znalosti, které se naučíš v tomto kurzu, umíš později aplikovat i na jiné frameworky. V kurzu se naučíš vyrobit plnohodnotnou webovou aplikaci se všemi jejími součástmi ve Flasku. Porozumíš architektuře webové aplikace, budeš umět používat databáze, formulář, vyrobíš si přihlašování na stránku, použiješ pěkný CSS framework a na konci nahodíš svoji aplikaci na Linux server, Heroku nebo Docker. Malá koštovka a teaser ke kurzu: Android DeveloperNa tento kurz čekáte už déle a dobrou zprávou je, že už opravdu brzy (určitě ještě v červenci) bude kurz k dispozici. Programovat mobilní aplikace pro operační systém Android se naučíš právě v tomto kurzu. Budeme používat Javu a využijeme vývojářské prostředí od Googlu Android Studio, které běží na platformě Intellij IDEA. V kurzu vyrobíš vzorové Android aplikace, které se naučíš také publikovat do obchodu Google Play.  Tímto jedním začátečnickým Android kurzem neskončíme a již nyní připravujeme kurz Android programování pro pokročilé.[Image] Linux pro začátečníkyMnozí jste nám psali, ať rozšíříme nabídku kurzů io Linux a servery. A tak jsme se rozhodli vaše přání splnit a máme pro vás nachystané dva nové kurzy. Prvním z nich je Linux pro začátečníky. Pokud máš ambici stát se Linux administrátorem, tímto kurzem bys měl určitě začít. Budeš umět dělat s VirtualBoxem, s Linux Desktopem, naučíš se terminálové příkazy a pohybovat v Linuxu. Servery pro začátečníkyDruhým z kurzů z úplně jiného soudku, než jsme měli dosud, je online kury Servery pro začátečníky. V kurzu začneš instalací Linuxového serveru, později to bude Lamp server a webserver. Podíváme se na zoubek i mailserveru, SSL certifikátům, cloudu a zálohování. Na závěr se pověnujeme skriptování a OnlyOfficu. Máš se na co těšit :)[Image] InDesignPro všechny, kteří chtějí umět zalamovat texty a vytvářet publikace. časopisy, noviny, brožury nebo prospekty určené pro tisk, připravujeme online kury Adobe InDesign. Kromě zaužívaných postupů při sazbě jednotlivých dokumentů se naučíš a porozumíš základním typografickým pravidlům a na profesionální úrovni zvládneš zpracovat grafické návrhy až po export pro tisk.[Image] Testování - CucumberDalší parádní kurz od Furbyho . Po kurzech Testování webu I. – Selenium a Selenium Advanced – Java si pro vás nachystal kurz o testování s použitím nástroje Cucumber, který aplikuje BDD (behavior-driven development), čili popsání testů jednodušší a srozumitelnější. Kromě toho se v kurzu bude věnovat i regulárním výrazům a Javě. Opět to bude jeden kvalitní online kurz od Martina.[Image] Microsoft AccessAccess je databázový nástroj, díky kterému umíš vytvořit rozmanité databáze, ke kterým může přistupovat i více uživatelů současně. V kurzu se naučíš dělat databáze, ale také vyhledávat v nich s pomocí SQL. Data ScienceData Science je nový trend ve správě dat, který vznikl jako reakce na obrovské množství dat, která máme v současnosti k dispozici. Tato data mohou ukrývat velmi cenné informace, které je ovšem nutné získat vhodnou analýzou. A právě ve velkém modulu zaměřeném na Data Science se naučíš, jak tyto cenné informace vydolovat. Co všechno se tomuto bloku zaměřenému na Data Science naučíš?  Programovat v jazyce R a používat jej k získávání informací z velkých datasetů. Dále to bude jazyk Python a jeho použití v Data Science. Na vizualizaci dat použijeme Tableau as velkou pravděpodobností zpracujeme i žhavou novinku v Data Science - programovací jazyk Julia . Ten je velice rychlý a určený především pro vědecké výpočty, numerickou matematiku či statistiku. Na tyto Data Science kurzy se můžeš už teď moc těšit.[Image] Na který z kurzů se nejvíc těšíš a které kurzy ti ještě na Learn2Code chybí? Napiš nám to do komentáře :)
7 důvodů, proč se lidé na vašem webu neregistrují
Tipy a triky
06.06.2018
Skillmea

7 důvodů, proč se lidé na vašem webu neregistrují

Weby jsou o byznysu. A teď nemám na mysli vývojářské firmy a mladé dynamické „desing studios“. Mluvím o byznysu jako takovém - o činnosti, při které se vyměňují hodnoty (jako peníze a zboží) ke vzájemné spokojenosti obou stran. Vy máte super obsah, návštěvníci vašich stránek zase své kontaktní údaje. Tak si podáte ruce a domluvíte obchod. Mé články za tvůj e-mail. Jednoduché, ne? Ne. Registrační proces je vcelku složitá záležitost a ne vždy funguje tak, jak bychom si představovali. Web může mít mnoho návštěvníků, ale jen velmi málo se i zaregistruje. Proč? Inu, když jsme web vymýšleli, mohli jsme nevědomky udělat pár chyb. Tak zaprvé… 1. Jsme v tom, že registrační proces rovná se registrační formulář Samozřejmě, že je důležité mít pěkný a použitelný formulář. Názvy nad inputy pro vertikální skenování, absence CAPTCHA pro duševní klid, známe. Ale registrace nezačíná vyplňováním políček. Pokud jsme návštěvníka dostali až sem, máme už vlastně zpola vyhráno - registrační proces formulářem nezačíná, ale končí. Další chybou tedy může být, že… 2. Zapomínáme na to, že registrační proces rovná se motivace „Ahoj, jsme Triad a děláme efektivní digitální marketing tak, aby to bavilo nás i naše klienty“. Nějak takhle by mohla vypadat vaše value proposition (nechce se mi hledat český překlad), kdybyste byli Triad. Jenže nejste, tak si vymyslete vlastní. Pamatujte, že návštěvníci stránek jsou sobci a zajímá je jen to, co jim přinesete. Kašlou na vaši misi, vizi a počet šálků kávy vypitých od začátku roku. Proč by s vámi měli dělat byznys, když jim nedáte jasně najevo, jakou hodnotu jim přinášíte? Proč by se měli registrovat právě u vás? Řekněte jim to. Jednoduše, srozumitelně, hlavně nepřehánějte. S tím souvisí další bod. 3. Neosobní a nudné webové copy Jak říká Adam Javůrek, ve webovém copy jsou svatá 3 slova: vy, váš a zdarma. Schválně, zkuste použít všechny. Buďte přátelští, s uživateli si povídejte. Knoflík “Registrujte se” je přívětivější než “Registrovat”, nebo “Registrace”. Vyznačte důležité části, text strukturujte. Oh, a zkraťte ho. Na polovinu. A pak ještě jednou. To, co je na vás super musíte umět sdělit během krátké cesty výtahem. Je váš produkt nebo obsah zdarma? Řekněte to. A ještě jednou - nejste nejlepší, nejkrásnější a nevíte všechno. Svým návštěvníkům dejte jasný a srozumitelný důvod, proč se u vás mají registrovat. Bez nadsázky. Všechny kecy na světě však nenahradí osobní zkušenost - občas na to pozapomeneme a pak vzniká… 4. Obsah skrytý pod registrační hradbou To je tak. Kliknu na nadpis článku nebo odkaz ve smyslu “zjistit více” (moje oblíbené, BTW, když nejdu dále číst, ale “zjišťovat”). Vyskočí na mě modální okno s formulářem a vříská po mně cosi o registraci. Zkusím další odkaz, situace se opakuje. Odcházím. Řekněme, že sháníte bonbóny a narazíte na dva prodavače. Benďo a Jožo. Benďo bude své bonbóny vynášet do nebe a popisovat jejich úžasnou chuť. Jožo otevře balíček a rovnou vás nabídne. Od koho si bonbóny koupíte? Jožova mazaná obchodní taktika stojí na principu reciprocity - pokud dáš nejprve něco ty mně, já budu víc ochoten dát něco tobě. Proto pokud máte super obsah, neskrývejte jej před návštěvníky. Ukažte jim ho. S tím, že když ho budou chtít vidět celý, ať se zaregistrují. Svůj e-mail vám poskytnou velmi rádi, budou-li vědět, do čeho jdou. Apropo, do čeho jdou… 5. Příliš velký závazek Registrace na webu je velké rozhodnutí. Ne, vážně. Jsou to cizí stránky, nevím, kdo je vlastní. Komu dávám svůj e-mail? Na co všechno jej použije? Čeká mě spambox plný super pilulek a členů nigerijské královské rodiny? A k čemu chtějí mé telefonní číslo? PSČ? Zbláznili se? Tak. Buďte transparentní. Lidé nemají rádi závazky, ukažte jim tedy, že se nemají čeho bát. Budete jim posílat newsletter? Tak jim ho ukažte. Jak vypadá, co obsahuje a hlavně – jak často se na něj mohou těšit. Mohou si účet kdykoli zrušit? Řekněte jim to. Přidejte také větu o tom, že informace neposkytnete třetí straně (a zkuste to i dodržet). A ujistěte je, že to celé nezabere více než minutu jejich času. Ještě jedna věc. Spousta webů přichází o obrovský zdroj důvěry v očích jejich potencionálních uživatelů - dělají jednu zásadní chybu… 6. Skrývání ostatních uživatelů Máte super web plný super obsahu, kde chodí spousta super lidí? Ukažte je. Co všechno tam dělají? Jožo právě čte článek o červených pandách? Benďo ve speciální aplikaci zjistil, kde v jeho okolí se pandy dají skvěle pozorovat? Proč se nepochlubit? Možná tam dokonce najdu nějaké kámoše z Facebooku. A proč bych se neregistroval, když tam už jsou moji známí, kteří to prověřili za mě? Jmenuje se to social proof a více o něm zjistíte v Googlu. Nějaké knihy o tom seženete i na Amazonu. A vůbec, když už o nich mluvím. Tito velcí hráči utrácejí miliony na UX testování, musí mít super promakanou registraci. Uděláme to jako oni. Nemůže to dopadnout špatně. Nebo hej? 7. Opakování po ostatních Pokud se nevoláte Bezos (což určitě ne, neboť čtete článek v češtině), zapište si za uši: nejste Amazon. Ani Google, ani Alza ani lokální opravář plynových bojlerů. Vy jste vy. Při navrhování registračního procesu je třeba vždy vycházet z vlastní situace a vlastních zkušeností. Internetoví giganti mají určitě velmi dobře zvládnutý registrační proces, ale nikdo z nás nevidí do jejich cílů, statistik a strategie. To co funguje pro ně nemusí fungovat pro vás. Na druhé straně, inspirovat se někde třeba, takže… Trochu inspirace Zde je několik známých webových produktů, které mají podle mě skvěle zvládnutý registrační proces. Co mají společného, ​​je především jednoduchost – jasně komunikují, jak mi pomohou (ať už pomocí textu nebo obrázků) a okamžitě mi nabídnou možnost je bezbolestně začít používat. • Intercom • Basecamp • Dropbox Autorem blogu je Roman Pittner , lektor online kurzu Design pro obrazovky . Pokud máš k blogu dotazy, neváhej je napsat do komentářů.
Představujeme Romana - lektora UX / UI kurzu
Rozhovory
26.05.2018
Skillmea

Představujeme Romana - lektora UX / UI kurzu

Roman Pittner je super týpek. Momentále žije v Praze a pokud by měl vizitky, má na nich napsané „Product designer“. Momentálně pracuje pro startup Angelcam, další vlastní rozjíždí. Dříve přibližně 4 roky pracoval v reklamě pro Triad a dříve mnoho let jako freelancer. Ve freelancování odnedávna pokračuje a pracuje jak pro různé individuální klienty, tak pro velké Silicon Valley cool startupy. Co se týče UX, testování a různých design principů, má na to možná trochu jiný náhled než většina ostatních designérů – Roman totiž za sebou má komplet 5 letou psychologii. Jeho portfolio najdeš zde .[Roman Pittner - UX/UI designér] A teď čti parádní rozhovor s Romanem, lektorem online kurzu Design pro obrazovky : úvod do UX a UI. Na začátek nejprve začněme tvou prací. Co přesně děláš?Moje poslední oficiální pozice se jmenovala Product Designer. To znamená, že kromě samotného kreslení appek a webů dělám nějaké věci předtím i poté. Snažím se zjistit, kdo jsou zákazníci pro daný produkt, jaké mají problémy a potřeby. A svá řešení pak testuji a ověřuji jejich účinnost. Na jakých projektech jsi pracoval?Pomáhám (snažím se pomáhat) firmám v rozběhu. Často se nazývají také startupy, ale na to slovo jsem trochu alergický :) Každopádně, je to rozmanité: od cloudové bezpečnostní platformy po aplikaci pro učitele a jejich žáky. Pár let jsem strávil iv reklamce. Do toho mám nějaké své projekty v různém stadiu rozkladu; například cestovního průvodce Prahou. A jak jsi k designování a UX/UI vůbec dostal?Na střední jsem si začal hrát s Photoshopem a na výšce jsem zjistil, že existuje něco jako webový design a že se v tom Photoshopu dá dělat, tak jsem to zkusil. Potom střih do období cca 5 let později, přišel jsem na to, že grafika samotná mě nebaví. Že udělat „pěknou“ věc mi nestačí a to, co mě reálně zajímá je, komu moje práce pomůže. Tady jsem měl dost štěstí na nadřízené (pozdravuji Peťu, Marka a Jara), kteří mi umožnili svou kariéru stočit trochu jiným směrem - k UX a následně produktovému designu. Dnes mám nejlepší job na světě. Proč ses rozhodl dělat lektora v Learn2Code?Celá ta léta co se učím design, si dělám kadejaké poznámky na kadejaká místa. Nebo nedělám a držím to jen někde v hlavě. Chtěl jsem to prostě zkonsolidovat, dát tomu všemu formu. Druhá věc je, že když chceš něco vysvětlit druhému člověku, musíš si utřídit myšlenky a hlavně se sám doučit spoustu detailů. Třetí věc je, že se rád nenudím a chtěl jsem zkusit novou věc. A poslední důvod je, že je dobré mít něco podobného v CV-čku. Kde bereš inspiraci pro svou práci? Máš nějaké tipy, které zaručeně fungují?Jasné. Roky praxe :) To je můj zaručený tip. Ne vážně, myslím, že jediný rozdíl mezi „juniorním“ a „seniorním“ designérem je ten, že senior dělá věci rychleji a kvalitněji, protože když něco navrhuje, nemusí zkusit 100 verzí, ale pouze 10. Těch zbývajících 90 si totiž odžil v průběhu let. Inspiraci máš v kapse. Mnohdy prostě otevřu telefon a podívám se, jak jsou řešeny appky. Minule jsem dělal ovládání pro bezpečnostní kamery a použil jsem řešení z Budíku, defaultní appky v iOS. Je v této oblasti designu třeba sledovat aktuální trendy a inovace? Jak jsi na tom ty?Tak jako v každém jiném oboru, chceš-li se posouvat, musíš se stále učit. Já střídavě sleduji různé magazíny a blogy (např. oficiální blogy designových divizí firem jako Google nebo Dropbox) a snažím se najít čas i na video kurzy. V poslední době se zaměřuji na Javascript a programování jako takové.[Angelcam - ukázka z portfolia] Co tě nejvíc baví na tvé práci? Máš nějaký oblíbený task, který děláš nejraději?Mám takovou teorii, že práce, která člověka bude bavit, by se nějak měla vztahovat k tomu, co dělal rád v dětství, když si hrál. Alespoň u mě to sedí. Já jsem chtěl být vynálezce. A teď tak trochu jsem. Technologické odvětví obecně je podle mě fascinující. Pomocí designu a programování se dá vyrobit prakticky cokoli, dokážeš vyřešit problémy, nebo naplnit potřeby lidí. A nejvíc mě baví ten moment, kdy po x pokusech konečně přijdu na to, jak vyřešit nějaký designový problém. Například, jakým způsobem se má otevřít navigace, nebo co :)   V čem vidíš výhodu své práce? Je v něčem výhodnější než jiná zaměstnání?Ne. Design je povolání nebo zaměstnání jako každé jiné. Někoho to bude naplňovat, jiného ne. A když už jsi zařazen ve správné kariéře, nejdůležitější věc je najít dobrý kolektiv, jehož součástí budeš. Já osobně jsem na tohle měl, až na individuální výjimky, zatím štěstí. Co bys poradil všem, kdo nemají žádné zkušenosti s designem a grafikou, ale chtěli by začít?Vygoogli si „Figma“ nebo „Invision Studio“. To jsou schopny designové nástroje, které jsou zdarma. Trochu se v tom pohrab, zjisti, co to dokáže, podívej se na nějakou dokumentaci a tutoriály. To najdeš na jejich stránkách. Krok dva je najít jakýkoli web nebo aplikaci, která se ti líbí a zkusit ji v designovém programu nakreslit. Toto zopakuj několikrát a potom se můžeš pustit do svých prvních projektů. Normálně se někomu nabídni (škola, sportovní klub, kamarádova firma), že jim zdarma vyrobíš grafiku webu, appky nebo byť jen plakátu. Postupně si takhle budeš budovat portfolio. Hodně věcí nebudeš vědět a nepůjdou snadno. To je dobrá příležitost k dalšímu googlení a učení se nových věcí. Po pár měsících budeš připraven najít si opravdové zakázky nebo třeba full-time job na juniorní pozici. Hej a tajný tip: pokud tě to jen trochu zajímá, uč se zároveň kódovat ( HTML, CSS ) a programovat ( JavaScript ). Extrémním způsobem ti to později pomůže. Jaké máš plány do budoucna?Chci se stát produktovým designérem v Google. Tečka. Pokud nevyjde Google, mám v záloze několik dalších velkých tech firem se sympatickým produktem a miliony uživatelů. Zajímají mě hlavně produkty využívající počítačové učení, formy umělé inteligence nebo rozšířenou realitu. V nejbližší době mě tedy čeká hodně učení, hodně úklidu a poctivé sestavování portfolia. Tato moje snaha trvá už přibližně rok, zatím jsem 3x přistál fejsem na beton a vypadl v následných kolech pohovorů. Snad jsem se poučil, a tedy se podle toho teď plánuji zařídit a zkusit to znovu. Takže držte palce :) Krátký odkaz všem čtenářům na závěrNikdy se nepřestaň učit a počítaj s tím, že se ti věci napoprvé ani podruhé nepodaří. A že je to tak v pořádku. To, že k dosažení úspěchu (ať je to pro tebe cokoliv) třeba hlavně potit krev, není žádné klišé; všechny kurzy, knihy, články a přednášky jsou jen pomůcky, snažit se musíš hlavně ty sám. Je to dost hluboké? :) PS Pokud by ses chtěl ohledně designově grafických věcí zeptat, napiš mi do diskuse pod kurzem na Learn2Code . Pokud budu vědět, rád odpovím něco moudré. Čau.
WordPress opět ovládne Bratislavu již v dubnu
Události
07.04.2018
Skillmea

WordPress opět ovládne Bratislavu již v dubnu

Aktuálně téměř 30% všech webů po celém světě běží na WordPressu. Tento open source systém nabízí jednoduchou možnost zřízení funkční web stránky nebo blogu, přičemž každým dnem na svět přicházejí nové moduly a témata, díky nimž má každý příležitost přizpůsobit si web stránky podle vlastních představ. Na Learn2Code najdeš na tvorbu vlastních modulů a témat dva online kurzy , ve kterých se naučíš WordPress využívat naplno. Webový systém WordPress je vyvíjen stovkami dobrovolníků, kteří dohromady tvoří nadšenou komunitu. Na otevřených konferencích WordCamp, pořádaných po celém světě se dělí se svými vědomostmi a zkušenostmi. V sobotu 28. dubna 2018 se v Bratislavě na Panevropské vysoké školy uskuteční již sedmý ročník této konference s názvem WordCamp Bratislava 2018 . [Image] Na WordCamp budou souběžně probíhat přednášky ve dvou místnostech, které jsou určeny jak pro běžné uživatele, tak pro profesionály. Témata přednášek budou různorodá, například. marketing, blogování, tvorba webových stránek, či programování . Tak, aby si každý našel to, co ho zajímá. Minulý rok se WordCamp zúčastnilo přibližně 240 lidí. „ Chceme kromě kvalitních přednášek poskytnout možnost setkat se s ostatními lidmi z komunity a popovídat si s nimi, “ říká Jan Bočínec, „ to je vlastně i věc, co mám na WordCampu nejraději. Vidět konečně živě lidi, se kterými spolupracuji a komunikuji v online světě. Vyměnit si zkušenosti a zážitky a nakonec si s nimi dát „pár“ drinků na afterce. “ [Image] Chceš zažít WordCamp na vlastní kůži? Kupuj lístek , nebo sleduj náš Facebook , kde už brzy budeš mít možnost zasoutěžit si o 2 lístky.
Jak umí programátor samouk dohnat ty, co studovali na univerzitě
Tipy a triky
03.04.2018
Martin Lipták

Jak umí programátor samouk dohnat ty, co studovali na univerzitě

Co se učí na univerzitáchJsi programátor samouk a přemýšlíš, jak to vypadá na univerzitě? Už jsi viděl všechny online kurzy , máš za sebou 10 vlastních projektů a začínáš v nové práci jako Web developer. Jak dohnat lidi, kteří 5 let studovali informatiku? Dá se to vůbec?  Před 3 lety jsem skončil FIIT ( Fakulta informatiky a informačních technologií ) na STU v Bratislavě a také jsem přemýšlel, co všechno mi škola dala. Je toho hodně a jsem velmi rád, že jsem si vybral takovou cestu. Na druhou stranu, kdybych tuto možnost neměl, většinu věcí bych se naučil i jinde. Co pro mě byly ty nejdůležitější věci? Asi už tušíš, že je to celé velmi subjektivní a určitě neber tento článek jako univerzální návod. Studentský životBydlel jsem na intrácích v Mlýnské dolině a jeden semestr jsem strávil na programu Erasmus ve Španělsku. Byly to kamarádství a zážitky, na které lze vzpomínat celý život. Pro samouky: Pokud jsi studoval na jakékoli vysoké škole, víš o čem mluvím. Inspirativní lidéPoznal jsem mnoho spolužáků a učitelů, kteří mě v mnoha věcech posunuli dál. S mnoha jsem dosud v kontaktu a můžu se na ně spolehnout, kdybych potřeboval pomoc.  Pro samouky: Skvělé lidi najdeš iv pracovních kolektivech. Obklop se takovými, kteří jsou lepší než ty sám.  Na škole se organizovalo velké množství akcí a učitelé nás motivovali chodit na setkání programátorů mimo školu, kde jsem poznal mnoho dalších lidí. Pro samouky: Hledej si kamarády na různých událostech pro programátory, kterých je více než dost v každém větším městě (například taková Rubyslava nebo Reactive meetups a mnoho dalších). SamostatnostOd intráků a studia v zahraničí, až po práci na zadáních, projektech a závěrečných pracích. Alespoň na FIIT to bylo tak, že táhnout to musel sám student a učitel mu jen pomáhal nebo někdy i nepomáhal. Zasekl ses při zadání a termín je zítra? Použij Google, nebo se poraď se spolužáky, ale vyřeš to. Pokud tvé zadání nebude do 00:00 CEST v předávacím systému, nikoho nebudou zajímat tvé výmluvy a předmět si zopakuješ další rok. Pokud se ti nasbírá takových předmětů více, letíš ze školy. Pro samouky: Tak jako jsi udělal těch 10 vlastních projektů, i v práci budou očekávat, že se věcí chytíš a dotáhneš je samostatně do konce. To ale neznamená, že se nemáš ptát (nejdříve Google) a požádat o pomoc, když ji potřebuješ. [Image] Práce v týmuNa mnoha školních projektech jsem nepracoval sám. Na týmovém projektu jsme byli až 7 a museli jsme se vypořádat s odlišnými názory a dokonce cíli v projektu.  Pro samouky: Máš za sebou těch 10 projektů, při kterých ses naučil samostatnosti. V práci budeš obklopen lidmi a musíte spolu co nejlépe vycházet. Jmenuje se to soft skills a dá se to natrénovat. [Image] VědomostiNa co všechno si vzpomenu 3 roky po skončení školy? O čem byly všechny ty předměty? • Jak funguje počítačový hardware a jak se z jednotek a nul stanou programy – logické obvody a počítačové architektury. • Jak funguje operační systém - ovladače zařízení, IO, systémová volání, procesy, vlákna (threads), synchronizace, správa unixových systémů a shell skripty. • Jak funguje Internet a co je HTTPS, DNS, POP3, IP a Ethernet – 7 vrstev počítačových sítí a jak spolu souvisí všechny tyto protokoly. • V čem se liší paradigmata programování - procedurální programování v C, objektově orientované v Javě, funkcionální v Lispě a logické v Prologu. Viz můj první projekt v C , který jsem nahrál do školního systému pro automatické testování :) • Co znamená zápis O(n) a jak určit složitost algoritmů? Jak může efektivní algoritmus vypočítat výsledek za 1 milisekundu a neefektivní by to počítal týdny? Vyvážené binární stromy, hashing, grafy a jiné datové struktury. • Co je to Turingův stroj? Proč jsou regulární výrazy regulární? Co je abstraktní syntaktický strom? Základní teorie informatiky, na které stojí všechny programovací jazyky. • Je umělá inteligence opravdu inteligentní? Hrubá síla a heuristiky, které řeší složité problémy, neuronové sítě, genetické algoritmy a odvozovací stroje. • Jaké jsou výzvy paralelního programování? Klasické problémy synchronizace, vlákna, mutexy a semafory. • Co je databáze? Návrh datových modelů, psaní dotazů (queries), optimalizace indexy a kdy použít NoSQL. • Úvod do analýzy dat (data science). Lineární regrese, neuronové sítě, support vector machines, clustering a časové řady. • Jak spravovat softwarové projekty? Vodopád nebo agilní metodologie, důležitost testování a dokumentace, návrh poživatelských rozhraní, kvalita kódu a návrhové vzory. • Jak dělat výzkum? Návrh hypotéz, jejich vyhodnocování experimenty, měření dat, psaní a zveřejňování výzkumných článků. • Pár předmětů o ekonomii, právu a psychologii bylo příjemným odpočinkem od technických věcí. • Webový vývoj v Ruby on Rails. Toto je to, čemu se nyní věnuji v práci. Pro samouky: Vypadá to jako velmi dlouhý seznam, ale většinu z těchto věcí se umíš naučit v praxi. Jsou však věci, ke kterým se nedostaneš. Pokud se od začátku zaměřuješ na webový vývoj v PHP , asi se nebudeš do hloubky zabývat hardwarem, překladači (compilers) a operačními systémy. A většina lidí se asi nebude zabývat výzkumem. [Image] Takže jak dohnat ty, kteří studovali FIIT?• Obklop se lidmi, od kterých se můžeš hodně naučit. Najdeš je v práci a na setkáních programátorů. • Nečekej, že ti vždy řeknou, jak máš věci dělat. Samostatnost je ale také umět požádat o pomoc, když ji potřebuješ. • I když to tak na první pohled nevypadá, programování je víc o lidech než o počítačích. Pracuj na svých soft skills a komunikaci v týmu. • Snaž se porozumět věcem do hloubky. Jak fungují regulární výrazy? Proč potřebuje databáze indexy? Jaký je rozdíl mezi http:// a https://? V čem jsou výhody SCRUM-u? • Uč se věci mimo tvé specializace. Vyvíjíš weby? Zkus udělat nativní mobilní aplikaci. Co takhle si o víkendu naprogramovat ovladač do operačního systému nebo kompilátor? Máš dotazy k tomuto blogu? Neváhej je napsat do komentářů.
Představujeme nové lektory Tomáše a Samuela
Rozhovory
01.03.2018
Skillmea

Představujeme nové lektory Tomáše a Samuela

Tomáš Sokol a Samuel Švolík jsou kolegové z digitální egentury ecake. Oba jsou PPCčkáři jako lusk, a proto jsme s nimi připravili online kurz na reklamní systém Google AdWords. Kluky jsme vyzpovídali, můžeš se tedy dozvědět více o nich, o tom, jak začínali a jaké jsou jejich rady pro začínající online marketéry. Ahojte Tomáš a Samuel, vítáme vás u nás, v Learn2Code. Jste našimi novými lektory, tak se nám na začátek představte.Tomáš Sokol (TS) Ahoj :) Kromě toho, že nejbližším povoláním bude manžel, vnímám se jako pozitivistu, umírněného workoholika, cestovatele, věčného studenta, marketéra, jednou i tanečníka latino, karatisty, zen-buddhisty, jogína a preferenčního vegetariána Samuel Švolík (S.Š.) Ahojte, pokud byste mě chtěli potkat, doporučuji lesy, louky a háje. Jinak jsem občas příliš realista, často příliš sluníčkář, nastupující workoholik a asi nejméně kvalifikovaný magistr matematiky. Oh, a v létě nesmí chybět dětský letní tábor, kde už více než 10 let dělám vedoucího. Doporučuji - indiáni.cz  Kde nyní pracujete? Představte se nám i po pracovní stránce.TS Momentálně šéfuji oddělení accountů v digitální agentuře ecake, sro , kde jsem původně i začínal jako junior PPC specialista. Postupně jsem začal více řešit byznys stránku věci a přešel jsem blíže do kontaktu s klienty. Jelikož jsem si za tu dobu udělal velký přehled o všem, co je v online světě, bylo to velkou výhodou při komunikaci s klienty a dosud z toho čerpám. S.Š. V této chvíli se pohybuji hlavně v online agentuře ecake sro , snažím se být online specialistou s co nejširším záběrem. Začínal jsem jako PPC stážista, teď jsem teamleader našeho skromného PPC týmu. Kromě toho ve volném čase konzultuji se všemi kamarády jejich projekty, ať už jde o luxusní handmade kabelky, dětské tábory, blog Elona Muska nebo milion dalších… měl bych si možná trochu vydechnout. [Image] Co se vám na vaší práci líbí nejvíc?TS Je toho víc. Dynamické prostředí, nové technologie, skvělé neformální prostředí, spousta humoru a zajímavých projektů. Hlavně mě baví, že je zde spousta prostoru pro realizaci a kreativitu. S.Š. Neformálnost, kreativita, strategické plánování, možnost realizace někdy fakt šílených nápadů. Rovněž je fajn, že všechno, co dělám, umím podložit čísly.  U nás jste lektory online kurzu Google AdWords. Jak jste se k tomuto dostali?TS Bavilo mě vždy vystupovat před lidmi a sdílet know-how. Začal jsem chodit na konference, přednášky a pod. Přirozeně jsem se tak dostal i ke kurzům, které jsem původně znal z uživatelské strany jako samouk :) S.Š. Upřímně? Náhodou. Souhlasil jsem ale hlavně z důvodu, že mě vždycky bavilo učit. Co všechno může dát zmiňovaný online kurz tomu, kdo se rozhodne jej absolvovat?TS Určitě mu dá přehled o tom všem, co se v AdWords nachází, dostane se do obrazu, co všechno může s AdWords dělat a dostane ho to na správnou dráhu, chce-li dále pokračovat v kariéře tímto směrem. Jak byste popsali PPC kampaně na Slovensku? Je to rozdílné například ve srovnání se zahraničím?TS Na Slovensku vidím, že každým rokem značně přibývá reklam ve vyhledávání, což odráží rostoucí online trh a to, že přibývá i online specialistů, kteří tomu rozumějí. Texty jsou mnohem bohatší, smysluplnější, ale stále je vidět, že se v dostatečné míře nevyužívají všechna rozšíření, která AdWords nabízí. Jelikož nemáme Google Shopping a některé další produkty, máme omezenější výběr toho, co dokážeme do reklamy pustit. Oproti zahraničí směrem na západ máme stále nižší ceny za proklik a právě naopak, často když jedeme směrem na východ, vidíme tam ceny nižší. Ještě stále můžeme využít některých oblastí, kde konkurence není tak vysoká a dá se prorazit. [Image] Tomáš s kolegy z agentury ecake Sledujete také konkurenci, aktuální trendy, inovace? Jak jste na tom?TS Sledujeme vše, abychom se udrželi v byznysu a dokázali klientům vždy nabízet nejlepší řešení na trhu. Myslím, že by to mělo být automatické u každého, kdo chce v tomto byznysu působit. S.Š. Bez toho by byznys moc nešel :D Podle mého názoru jsme na tom nadprůměrně dobře ;) Dnes je hodně pracovních nabídek v této oblasti a pravděpodobně už každá firma potřebuje odborníka na PPC kampaně. Vnímáte to tak i vy?TS PPC specialista se na Slovensku stává nedostatkovým artiklem. Hledáme je do agentur či do firem. V zásadě nyní platí, že nejlepšího si vychováte sami a zatím je úroveň stále nízká na to, co trh potřebuje, když někdo opustí školu. S.Š. Bojím se, že toto se časem změní. Přece jen na Slovensku je momentálně několik stovek digitálních agentur.  Je tato práce dobře zaplacena? :)TS V porovnání s průměrem na Slovensku si myslím, že ano. Plus, když si k tomu vezmete nějaké ty „side joby“, dá se žít :) S.Š. Ano také. Otevírá dost možností na výdělek pomimo ;) Na druhé straně komunita PPCčkářů velmi rychle roste. Například i na Facebooku denně přibývají pracovní nabídky na různé online marketingové pozice. Je podle tebe dost kvalifikovaných lidí právě na tyto pozice?TS Jak jsem zmiňoval výše, právě mám pocit, že není dost kvalifikovaných lidí na tyto pozice. Plus do budoucna nebude stačit ovládat jen slovenské PPCčko, ale je třeba se orientovat i na zahraničních trzích. Jaké jsou nejčastější chyby při práci PPC specialisty?TS To je velmi individuální. Řekl bych, že se ještě málo dělá s automatizací práce + workflow práce, kde lze mnohým chybám předejít tím, že si dobře nastavím monitoring, reporting a frekvenci kontrol účtů. Chce to mít dobrý systém práce, pak těch chyb nebude moc :) S.Š. Když si myslí, že má pravdu a že jsi pořádně zkontroloval všechna nastavení. Vždy se najde něco, co lze přehlédnout.  Ptá se vás například vaši přátelé na to, jak by si měli co nejefektivněji nastavit své kampaně? Dáváte jim rady?TS Vždy, když se vzpomene, že dělám v agentuře :) V duchu „třeba si pomáhat“ vždy něco poradím, když však už někdo chce pravidelnou péči o účet, vždy to zabere několik hodin času, a to má svou hodnotu, takže je na místě poskytnout protihodnotu (nemusí to být jen eura :P ) Ono je to io odpovědnosti, že dělám s reálnými penězi někoho. Doporučuji často, že je lepší si to dát profi nastavit, neboť v AdWords lze opravdu i utratit dost peněz za nerelevantní výsledky. S.Š. Nonstop. Už mě to přestává bavit.  Co byste poradili všem, kteří nemají žádné zkušenosti s PPC kampaněmi nebo online marketingem, ale chtěli by nějak začít?TS Určitě to, aby si nejprve prohlédli online kurz AdWords , studovali pomocné materiály a nebáli se experimentovat. Ideální je získat si takový, řekněme osobní pocit zodpovědnosti vůči penězům. Buď si začít dělat nějaký vlastní mini projekt nebo pomoci někomu blízkému, aby člověk měl reálnou zkušenost s tím, jaká je cena reklamy na internetu a získala snahu dostat co nejvíce z daného budgetu. S.Š. Konzultace s někým. Možná společnost dotyčného vůbec nepotřebuje online reklamu, jen slyšel, že je to trendy a zapotřebí. Jinak jednoznačně nedělat to bez přejetí si kurzem . Pokud člověk nezná všechny triky Googlu, jak z nás vytáhnout peníze, může na tom dost předělat.  Kluci a ještě prozraďte vaše plány do budoucnosti.TS Mým nejbližším plánem je udělat tak dobrou kampaň, že s ní vyhrajeme v soutěži :) S.Š. Rozjet nějakou značku :) Jakoukoli! Co nejdříve :D  Díky za rozhovor a těšíme se, že s vaším kurzem vychováváte nové PPC specialisty a machry na Google AdWords.
Startup Weekend již podruhé v Banské Bystrici
Události
08.02.2018
Skillmea

Startup Weekend již podruhé v Banské Bystrici

Po úspěšném prvním ročníku hostuje Startup Weekend ve městě Banská Bystrica iv roce 2018. Na tři dny zábavy, pracovního nasazení, nových zkušeností a setkání s inspirativními lidmi se Banskobystričania a všichni startupoví nadšenci mohou těšit ve dnech 23. - 8. 25. 2018. Princip akce Startup Weekend, která se pravidelně koná v různých městech po celém světě je shromáždit během 54 hodin účastníky různých povolání, znalostí a zájmů, kteří chtějí vyzkoušet své podnikatelské dovednosti. Dosud se na přibližně 3000 různých akcích ve více než 150 zemích zúčastnilo více než 50 000 účastníků.  Na začátku jsou vytvořeny týmy podle svých preferencí a sympatií k prezentovaným nápadům a během následujících mnoha hodin tvoří své projekty za pomoci více mentorů. V loňském roce soutěžilo v Banské Bystrici 11 týmů a celkem 52 výjimečně šikovných lidí.  Startup Weekend Banská Bystrica je otevřen pro všechny. Hlavní cílovou skupinou jsou aktivní, podnikaví jednotlivci nebo skupiny, kteří mají zájem ověřit si své dovednosti, resp. získat nové a spolu s nimi i zkušenosti a kontakty s podobně smýšlejícími lidmi. „Zaregistrovat se mohou profesionálové i studenti z různých oblastí, designéři, vývojáři, projektoví manažeři, právníci, účetní, marketingoví odborníci. Pokud chtějí inovovat a uspět, musí se spojit, vytvořit týmy a spolupracovat,“ uvádějí organizátoři.  Registrace probíhá na webové stránce http://communities.techstars.com/slovakia/banska-bystrica/startup-weekend/12221 .  Do 11. února lze koupit lístky ve zvýhodněné ceně. V ceně budou mít účastníci zahrnuto jídlo od pátečního večera do nedělního večera (snídaně, oběd a večeře), mentoring od zkušených profesionálů a možnost vyhrát zajímavé ceny.  Partnerem a sponzorem letošního ročníku je opět i Learn2Code, na vítězné týmy čekají naše online kurzy . Pro více informací jdi na oficiální internetové stránky Startup Weekendu nebo Facebook event . Vidíme se v Bystrici! :) 
Bratislava bude potřetí hostit konferenci PyCon
Události
31.01.2018
Skillmea

Bratislava bude potřetí hostit konferenci PyCon

Na tři dny se Bratislava už potřetí změní na místo s největší koncentrací profesionálních programátorů, učitelů informatiky i technologických nadšenců. Hlavním lákadlem bude konference PyCon SK 2018 , určená zájemcům o Python, jeden z nejpopulárnějších programovacích jazyků na světě. Účast na PyCon SK 2018 již potvrdil tvůrce jednoho z nejpopulárnějších podcastů o Pythonu.[Image] Hostitelem konference bude během druhého březnového víkendu ( 9.-11. březen 2018 ) Fakulta informatiky a informačních technologií STU . Během prvních dvou ročníků dokázala komunitní konference PyCon SK přitáhnout do slovenské metropole téměř tisícovku návštěvníků z pěti kontinentů a bezmála stovku řečníků z 15 zemí. „I v roce 2018 si účastníci konference budou mít z čeho vybírat. Svou účast zatím potvrdil například Michael Kennedy, tvůrce populárního podcastu pro fanoušky Pythonu,“ avizuje Richard Kellner, předseda občanského sdružení SPy, které komunitní konferenci pořádá. Seznam řečníků však podle něj není vyhrazen jen pro zvučná jména technologického světa. „PyCon je komunitní konferencí, proto velmi rádi přivítáme každého, kdo bude tuto komunitu chtít obohatit svými vědomostmi nebo inspirativním příběhem. Místo na pódiu dáme rádi i lidem, kteří s Pythonem teprve začínají a budou mít chuť podělit se o svou zkušenost,“ zdůrazňuje R. Kellner.[Hlavní organizátor PyCon konference, Richard Kellner] Vyhrazený prostor na konferenci budou mít i slovenští učitelé informatiky. „O speciální sekci EduTrack byl u její premiéry enormní zájem. Přibližuje Python i těm učitelům, kteří se s tímto jazykem zatím nesetkali,“ dodává R. Kellner. PyCon SK je druhá konference v Evropě, která se pyšní samostatnou sekcí pro vzdělávání. Učitelé nebudou na konferenci jen pasivními posluchači, místo dostanou i za řečnickým pultem. "Každý, kdo bude mít zájem vystoupit se zajímavým příspěvkem, dostane takovou možnost. Až do 21. ledna máme otevřenou výzvu k předkládání návrhů na přednášky. Platí to pro profesionální programátory i učitele informatiky. Stačí se ozvat," připomíná zástupce občanského sdružení SPy .[PyCon 2018 v Bratislavě již v březnu] Vstupenky na třetí ročník komunitní konference PyCon SK jsou k dispozici na stránce www.pycon.sk . Možnost účastnit se za zvýhodněných podmínek mají sociálně znevýhodněné skupiny zájemců, pro které organizátoři připravili grantový program. Sponzory konference PyCon SK 2018 jsou kiwi.com, Exponea, Python Software Foundation, Kistler, Red Hat, JetBrains, Sli.do a Learn2Code . Python je moderní programovací jazyk a jeho popularita stále roste. Využívají jej světové platformy jako Facebook, Google, Youtube, Mozilla a pod. A proč je tak skvělý? Dá se velmi rychle naučit a je univerzální. Vytvoříš v něm webstránky, hry, aplikace, zkrátka cokoli. Ještě jsi s Pythonem nezačal? A chtěl bys vědět, jak na to? Právě pro tebe jsme připravili tento  online kurz .
Připravované online kurzy - 1. čtvrtletí 2018
Novinky
08.01.2018
Skillmea

Připravované online kurzy - 1. čtvrtletí 2018

I v roce 2018 se můžeš těšit na pořádnou porci nových online kurzů. Programování, grafika i online marketing. Co všechny jsme si pro tebe připravili pro první čtvrtletí 2018? Čti dál a všechno se dozvíš. JavaScript a ES6Tento online kurz je již k dispozici a již nyní můžeš studovat jeden z nejpopulárnějších programovacích jazyků JavaScriptu. Aktuální lektor kurzu Yablko připravil cca polovinu kurzu, což je asi 50 videí ak tomu mnoho domácích úkolů. Mrkni trailer ke kurzu:  Po dokončení kurzu se Yablko rozhodl provést kurz na Vue.js, což je skvělá alternativa k Reactu nebo Angularu a pomáhá ti především při tvorbě single page aplikací. Google AdWordsPo delší době přišlo nové rozhraní reklamního systému Google AdWords. Kromě nového designu přináší také spoustu novinek, vylepšení a změn a právě proto jsme se rozhodli oprášit náš současný online kurz na AdWords a přijít s novým kurzem. Na produkci kurzu makáme spolu s lektory z digitální agentury ecake a připravený pro vás bude přibližně koncem ledna 2018. Automatizované testování v Seleniu 2 Pokračování online kurzu automatizovaného testování v Seleniu . V tomto kurzu se lektor Furby podívá na zoubek i Javě v praxi (Java 8), Jenkinsu, spouštění více testů najednou, Data Driven Testingu a dalším specialitkám z testování. Adobe IllustratorOnline kurz na tvorbu printové grafiky v Adobe Illustrator jsme vám slíbili dříve a v lednu 2018 tento kurz také budete mít k dispozici. V kurzu přejdeš od základního vysvětlení vektorové grafiky, používání Illustratoru až po reálné ukázky využití tohoto programu při tvorbě loga, vizitky, plakátu či kalendáře. [Online kurz Adobe Illustrator] Android DeveloperMobilní appky pro Android se naučíš programovat v tomto kurzu. Naučíš se, jak si připravit vše potřebné pro vývoj aplikace, používat Android Studio a později se vrhneš na vývoj vzorové mobilní aplikace. Při jejím programování projdeš všemi důležitými součástmi vývoje, naučíš se dělat v Javě, vytvářet obrazovky/layouty i v UI editoru a Javě. Online kurz tě naučí co jsou to aktivity a intenty pro jednotlivé obrazovky, jak si uložit svá data a jak k některým z nich přistoupit z hardwarových částí zařízení. [Android Developer online kurz] Kromě těchto kurzů se snažíme zveřejnit co nejdříve i další kurzy, na jejichž výrobě pracujeme, například by to mohl být kurz Java pro pokročilé nebo Microsoft Access.  Jaký kurz ti na Learn2Code chybí? Napiš do komentáře a posnažíme se splnit tvé přání, pokud to bude možné :)