Přejít k navigační liště

Zdroják » JavaScript » Reportáž z Devel.cz konference 2013

Reportáž z Devel.cz konference 2013

V sobotu se na FIT ČVUT uskutečnil již druhý ročník vývojářské Devel.cz konference. V průběhu dne vystoupilo 11 zajímavých řečníků s přednáškami týkajícími se především vývoje webu. S jakými trendy se budeme setkávat v roce 2013?

Este.js – javascriptové aplikace robustně, modulárně a efektivně

Daniel Steigerwald krátce představil svůj evoluční javascriptový framework / dev stack Este.js postavený na Google Closure Library (knihovna, ve které je napsaný např. Gmail). Ale spíše než samotným frameworkem se zabýval nástroji, které použil při nedávném refactoringu. Jedná se o nástroje, které na backendu už používáme delší dobu, ale na frontend se dostaly teprve nedávno. Představil package manager Bower (obdoba npm, ale pro frontend) a javascript task runner Grunt. Na závěr ukázal i Component, což je kombinace package manager a module loaderu, a hodí se především pro vytváření malých javascriptových komponent.

Este.js - javascriptové aplikace robustně, modulárně a efektivně

Kinohled.cz za 2 týdny

Jak vytvořit web za 10 dní od wireframů po spuštění bety nám ve své case study řekl Vojta Semecký z Wikidi. Podělil se o zajímavá řešení, která byla při vývoji použita. Při vstupu na web se uživateli dle jeho města uloženého v cookies z nginx cache vrátí příslušná stránka. Cookies se tedy zpracovávají už na reverzním proxy serveru. Během výběru vhodného databázového úložiště se zjistilo, že databáze vlastně není potřeba. Proč řešit jednoduché věci složitě? Data získaná z API se jednoduše uloží do JSON souboru a ten se následně používá při renderování šablon.

Code Review FTW!

O výhodách praktikování code review ve firmě nás přesvědčili David Majda a Josef Reidinger ze SUSE. Hlavními přednostmi jsou lepší kód a návrh, vzájemné učení vývojářů a zvýšení bus factoru – kolik vývojářů musí přejet autobus, aby projekt neměl kdo spravovat. Základní workflow je: úprava kódu => pull request => (přijetí => merge) || (odmítnutí => úprava kódu). Ten, kdo kód kontroluje, pak může postupovat dle následujícího checklistu:

  1. Je kód dobře čitelný? (délka funkcí, řádků, štábní kultura)
  2. Rozumím tomu, co kód dělá? (pojmenování funkcí, uspořádání, samovysvětlující kód)
  3. Skautské pravidlo = každá úprava musí zanechat kód ve stejném nebo lepším stavu, než byl předtím
  4. Jde to udělat lépe?

Zároveň je potřeba poskytovat pouze konstruktivní kritiku, s radou, jakým jiným způsobem to vyřešit.

Kritizujte kód, ne člověka!

Kritizujte kód, ne člověka!

Strojové učení z rychlíku

Michal Illich poskytl stručný úvod do problematiky neuronových sítí a rozhodovacích stromů. Strojovým učením je možné řešit nejen klasické problémy jako rozpoznávání obrazu či řeči, ale využívá se hojně i na webu – AdWords, spam filter, doporučené produkty v e-shopech, doporučené filmy na Flixster. Obecně lze říct, že pomůže téměř na všech projektech, kde máte víc dat, než zvládne člověk zpracovat a zároveň jste schopni definovat a změřit cíl (např. více objednávek, prokliků). V konkurenčním prostředí navíc umožní získat náskok před konkurencí.

Pár tipů na dobré open-source knihovny:
Neuronové sítě: FANN (C), cuda-convnet (C++, GPU), Theano (Python, GPU)
Rozhodovací stromy: gbm (R), Weka (Java), Scikit-learn (Python)

Soft(ware) skills

Protože už se David Grudl o Nette prý napřednášel do konce života, začal přednášet o UX. Tématem UX by se měl zabývat každý vývojář aplikací. Cílem je, aby se aplikace dobře používala, a vývojář by neměl uživatelům, byť nechtěně, házet klacky pod nohy. Přednáška byla spíše v praktickém duchu, protože David pravděpodobně nestihl připravit slidy.

Chybové hlášky při validaci formuláře je potřeba psát z pohledu uživatele. Hláška by neměla říkat, co je špatně, ale co má uživatel udělat („Zadali jste neplatný e-mail“ => „Zadejte platný e-mail“). Vždy je dobré se zamyslet, zda je daný údaj opravdu povinný a zda nemá nasazené zbytečné validace – např. minimální délku jména (zaregistruje se „Vu“?).

Jediný přednášející, který se občerstvoval pivem

Jediný přednášející, který se občerstvoval pivem

Opřel se také do nového Zdrojak.cz. Při zobrazení článku na mobilu je potřeba příliš scrollovat. Kdo by chtěl sdílet článek ještě předtím, než si jej přečte? Proč zobrazovat počet tweetů článku? Pokud jich je málo, asi článek není dobrý, pokud hodně, už je zbytečné jej tweetovat.

Zahashovat heslo, uložit, …, profit!

Odborník na bezpečnost Michal Špaček poradil, jak správně ukládat hesla. Nejbezpečnější jsou ty hashovací algoritmy, které trvají nejdéle – případnému útočníkovi pak trvá déle i prolomení. Pro hashování by se neměly používat hashovací algoritmy md5 ani sha1, které nebyly pro hashování hesel původně vůbec určené. Od PHP 5.3.7 je pro tyto účely doporučeno používat funkci crypt s blowfish algoritmem. Od PHP 5.5 pak bude nejjednodušší použít funkce password_hash a password_verify.

Velká data, internet věcí a velká příležitost

Přednáška Patricka Zandla byla o největší změně, které se v nejbližší době stihneme účastnit. Každý rok objem dat ukládaných na internet několikanásobně roste. Zajímavé bude především využití senzorových dat. Už nyní třeba Google z vaší rychlosti pohybu po dálnici určuje hustotu dopravy a podle toho posílá do navigací upravené trasy. V budoucnu se může najít využití třeba ve zdravotnictví – korelace s lidmi, kteří mají stejný životní styl a odhalení hrozících zdravotních rizik. Hlavní část přednášky byla věnována elektrárnám v ČR a možnému řešení, jak decentralizovat distribuci elektřiny pomocí smart grid. Přednáška měla ukázat, že big data nejsou jen abstraktní pojem, ale že budou prakticky ovlivňovat naše životy.

Patrick Zandl

Jak se efektivně naučit iOS vývoj

Michal Vašíček názorně ukázal vývoj aplikace Hello World pro iPhone. Jak vytvořit UI pomocí Interface Builderu a propojit s kódem v Objective-C. Následně ukázal i jednoduchou aplikaci, která stahuje a zobrazuje data z API. Jakožto Android vývojáře mě překvapilo, jak jednoduchá je tvorba animací a provádění asynchronních operací na pozadí.

S CoffeeScripem snadněji, rychleji a radostněji!

Martin Malý představil přednosti CoffeeScriptu, jazyka, který přibližuje JavaScript jednoduché syntaxi Pythonu. Není v něm potřeba psát středníky, závorky a spousta věcí jde napsat rychleji. Pokud si chcete CoffeeScript vyzkoušet, na oficiálním webu se nachází interaktivní konzole. Pro pokročilejší, Iced CoffeeScript zjednodušuje asynchronní volání a práci s callbacky. CoffeeScript Redux přidává source maps pro debuggování.

Nová verze CoffeeScript 1.5 obsahuje Literate CoffeeScript, mód, který umožňuje psát v syntaxi Markdown, spouští se pak pouze odsazený zdrojový kód.

Tvorba javascriptové aplikace v AngularJS pomocí Apiary.io

Framework AngularJS od Google, vyvíjený převážně českými a slovenskými vývojáři, přestavil Ladislav Prskavec. Hlavními přednostmi Angularu jsou two-way data binding (schopnost měnit obsah UI změnou vlastností objektu a naopak) a snadná testovatelnost v různých prohlížečích pomocí Testacular.

Také představil aplikaci Apiary.io sloužící nejen k dokumentaci API. Specifikace API se napíše v Blueprint syntaxi připomínající Markdown. Očekávaný formát odpovědí API se popisuje pomocí JSON schema. Apiary.io je možné použít při vývoji k vytvoření mock serveru, v pozdější fázi pak k testování funkčního API, zda vrací předpokládaný výstup. Lze použít i proxy, díky čemuž jsou všechny dotazy na API monitorovány a snadno se odhalí případné problémy.

Osobní produktivita pomocí vlastních rozšíření do prohlížeče

„Rozšíření můžeme psát pro všechny prohlížeče, kromě IE… pokud ho lze klasifikovat jako prohlížeč,“ začal svoji závěrečnou přednášku Riki Fridrich, známý např. jako autor Chrome rozšíření Punkový konzument. Zdaleka nejjednodušší je vyvíjet rozšíření pro Chrome. Základem každého takového rozšíření je manifest.json a to je všechno, co je potřeba.

Během přednášky naprogramoval rozšíření, které do adresního řádku přidá vyhledávání v PHP dokumentaci včetně našeptávače. Dále trochu rozporuplné rozšíření, které na webu filmové databáze zobrazí tlačítko pro stažení torrentu. Na obě rozšíření stačilo pár řádku JavaScriptu a vědomí, že „web je API“ – všechno, co je na webu, je možné si rozparsovat.

Každý účastník obdržel tričko Programmer + Coffee = Code

Každý účastník obdržel tričko Developer + Coffee = Code

Závěr

Dle mého skromného názoru se akce vyvedla a těším se na další, která by mohla být na 75 % ještě někdy v létě letošního roku. Ale záleží na tom, jestli se najde dostatek zajímavých témat, o kterých by se dalo přednášet, a zda bude chuť. Díky organizátorům za plynulý průběh akce a FIT ČVUT za poskytnutí krásných prostor!

Další odezvy

(Budeme průběžně doplňovat)

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.