jOpenSpace - česká Java ne-konference

Ročník 2013

Se uskutečnil

2. - 3. listopadu 2013

Kde

v hotelu Žákova hora v Herálci uprostřed Ždárských vrchů

Sponzoři

Generálním sponzorem konference je firma AVAST! dodávající profesionální bezpečnostní řešení pro celý svět.

Pět nejlepších přednášek získá licenci ná vývojářský nástroj z dílny JetBrains dle své vlastní volby.

O co jde

Vítejte na webu malé české ne-konference jOpenSpace. OpenSpace konference jsou specifické tím, že se jejich program příliš dopředu neplánuje. Mluví se zkrátka o tom, co účastníky zajímá. Nikdo totiž není jen pasivním divákem, každý přispěje svou troškou do mlýna. Pokud Vás zajímá více o tomto druhu "konferencí" podívejte se na slideshow Bruce Eckela (anglicky).

Nápad uspořádat podobný typ konference i u nás se zrodil v hlavě Michala Šrajera (Inmite s.r.o.), který se nechal do značné míry inspirovat velmi vyvedenou akcí JavaPosse Roundup, již poněkolikáte konanou za velkou louží.

Doposud se odehrály 4 ročníky této akce. První dva se konaly na Jizerce, třetí poblíž Znojma a poslední v Krkonoších. Na akci se vždy sjede 15 - 25 lidí, které spojuje zájem o vývoj aplikací a stráví víkend diskusí o technologiích, zkušenostech a aktuálních problémech, které řeší. Kromě neformálních diskusí si každý z účastníků připraví krátkou přednášku na jím zvolené téma - typicky v rozsahu okolo 10 minut. To, že se jedná o zajímavé přednášky se můžete sami přesvědčit poslechnutím audio záznamů, které jsou dostupné na těchto stránkách.

Od roku 2011 jsou registrace na tuto akci otevřené komukoliv, kdo má zájem se zúčastnit. Poslední ne-konference byla organizována přes Srazy.info a tento trend by měl v budoucnosti také pokračovat.

V případě Vašeho zájmu o účast na další ne-konferenci, sledujte oznámení na těchto stránkách. Pokud máte nějaké další dotazy, můžete mne kontaktovat na adrese: novotnaci (na) gmail (tečka) com

Přednášky a záznamy

Fotografie z akce


Lightning talky

  1. Jaké je to být IT PhD studentem, Pavel Jetenský

    Prezentace: Prezi

    MP3 Podcast Podcast [13:58] 12.9 MB

    Abstrakt: Přemýšleli jste někdy o tom, jaké je to být prezenčním PhD studentem? V LT se podělím o svoje zkušenosti (jsem 3. rokem studentem), zjistíte, jaké mám stipendium, jak je to s vědeckými konferencemi a články, jak se financuje a hodnotí česká věda. Bude to o svobodě koumat si, na čem chci a radosti z učení, ale i o otravné administraci a politikaření.

    O autorovi a co ho zajímá: Programátor na volné noze.

  2. How to write a cynical software - stability Patterns & Anti-patterns, Roman Pichlík

    Prezentace: PDF

    MP3 Podcast Podcast [15:09] 13.9 MB

    Abstrakt: Cynical software expect bad things to happen and is never surprised when they do. Cynical software doesn't even trust itself, so it puts up internal barriers to protect itself from failures. It refuses to get too intimate with other systems, because it could get hurt. There is only one certainty bugs will happen. They cannot be eliminated, so they must be survived instead. A failure in one service can spread to other services there being accelerating and causing unavailability of the whole system. This talk give you an overview of stability challenges in service oriented architecture we have in GoodData. The talk is highly influenced by Release It! book, design of Netflix's famous library Hystrix and last but not least lessons we've learnt during sleepless nights."

    O autorovi a co ho zajímá: DevOps, Agile Continuos Delivery, Architecture

  3. Kombinované programování server-side a client-side, Martin Strejc

    MP3 Podcast Podcast [11:14] 10.9 MB

    Abstrakt: Kombinace dvou odlišných přístupů vykonávání kódů či scriptů na serveru a v prohlížeči. Proč tyto rozdílné přístupy vůbec kombinovat, jaké to má výhody a nevýhody. Rozdíl k tomuto přístupu mezi requestově orientovanými frameworky (Spring MVC) a komponentově orientovanými frameworky (Apache Wicket) a jaké jsou nároky na programátory a grafiky, respektive HTML/CSS kodéry?

    O autorovi a co ho zajímá: Programuji J2EE aplikace, ohledně frontendu primárně v Apache Wicket. Zajímají mne nové technologické možnosti v oblasti programování, webu, případně mobilních aplikací a způsob kombinování „starých osvědčených řešení“ s různými novinkami. Mimo to se zabývám databázemi, mezi moje oblíbené patří PostgreSQL, ve světě Java mne pak zajímají řešení nad OSGi, se kterým mám zatím jen velmi málo zkušenností.

  4. Čí je váš mozek, Ondra Nekola

    MP3 Podcast Podcast [10:37] 9.7 MB

    Abstrakt: Paraziti, kteří mění chování hostitele nebo jej kompletně ovládnou nejsou jen doménou sci-fi. Veselé příběhy o tom, zda může programátora sežrat kočka a že má štěstí, že nemá tykadla.

    O autorovi a co ho zajímá: Programátor ve společnosti Vendavo a na stará kolena student teoretické a evoluční biologie na Přírodovědecké fakultě. Svůj život dělí na spánek a periody pod vlivem kofeinu.

  5. Distribuovaný sklad, Ladislav DANKO

    MP3 Podcast Podcast [10:21] 9.4 MB

    Abstrakt: Často zákazník požaduje aby skladové zásoby boli na jednom mieste ("v serverovni") a všetky pobočky si stav skladu on-line zisťovali na tomto centrálnom mieste a súčasne jednotlivé moduly (napríklad modul maloobchodnej kasy) aktualizovali stav skladu. A nezriedka súčasne zákazník požaduje ""aby to pracovalo"" aj pri výpadku internetového pripojenia na tento centrálny sklad. Že sa to zdá ako dve nezlučitelné požiadavky? Iba zdanlivo... Problém bude rozobraný na príklade desktopovej klient-server aplikácie napísanej s využitím knižnice Swing pre potreby firmy s centrálou a niekoľkými po republike roztrúsenými pobočkami kde každá je plne autonómna. Pri riešení vyššie popísaného problému sa okrajovo (cca 15% času) dotkneme aj súčasného stavu GUI knižnice Swing a plánov ktoré má Oracle v tomto smere do budúcnosti.

    O autorovi a co ho zajímá: Java developer. Tak nejak všeobecne sa rozhliadať čo robia ostatný a trochu porozprávať o tom čo za problémy riešime u nás a ako to riešime.

  6. Co mě naučilo 5 let modulárního vývoje, Jan Novotný

    Prezentace: Reveal.js

    MP3 Podcast Podcast [18:08] 16.6 MB

    Abstrakt: Před pěti lety jsme začali naše monolitické řešení přepracovávat do modulární architektury. V tomto talku bych se s Vámi chtěl podělit o naše zkušenosti z Forresta, které jsme s tímto přístupem v architektuře systému udělali. Po pěti letech už můžeme říci, že cesta byla správná, ale velmi trnitá a na té cestě jsme se toho hodně naučili. V talku proberu nějaké technické věci, ale budu se snažit držet v obecné rovině, protože nečekám, že v publiku budou všichni poznamenaní Javou.

    O autorovi a co ho zajímá: Jsem blogger, Javista a hlavně nadšenec do programování. Už 3 roky miluju Linux, teprve chvilku Git a celá léta IntelliJ Ideu. Shodou náhod jsem se stal členem JetBrains akademie a rád propaguji jejich produkty, které považuji za špičku našeho oboru. Snažím se účastnit a pořádat komunitní akce v okolí, ale obvykle je to jen těžký boj s časem.

  7. Software Defined Networking, Lukáš Rypl

    Prezentace: SlideShare

    MP3 Podcast Podcast [16:24] 15.0 MB

    Abstrakt: O čem je buzzword posledních pár let? Co může SDN přinést dobrého? Jak se pracuje se southbound protokoly a jak vypadá northbound API. Virtualizace sítí na domácím PC.

    O autorovi a co ho zajímá: Vývojář v Javě a C++, zaměření na telekomunikace a dohledové systémy.

  8. Clustering pomocí K-means, Martin Chalupa

    Prezentace: PDF

    MP3 Podcast Podcast [16:11] 14.08 MB

    Abstrakt: Predstavil bych princip K-means algoritmu pro clustering od intuitivni predstavy az po vice formalni popis. Zminil bych zakladni vlastnosti algoritmu a pouziti, pro ktere je vhodny.

    O autorovi a co ho zajímá: Pracuji jako developer ve spolecnosti Vendavo. V soucasne dobe jsem na projektu, ktery nazyvame MaaS (Mathematica as a Service). Vytvarime sluzbu poskytujici pricing algoritmy pro novy produkt Vendava. Bavi me moje prace a bavit bych se chtel o cemkoliv, co me obohati, abych mohl svoji praci delat jeste lepe.

  9. Baas, Michal Těhník

    Prezentace: SpeakerDeck

    MP3 Podcast Podcast [6:51] 6.2 MB

    Abstrakt: Jelikož se poslední dobou stává z Back-endu pouze chytřejší validátor a ukládač dat do databáze a pomalu a jistě příchází čas Backend-as-a-Service, rád bych ukázal jaké jsou aktuální možnosti a pro koho jsou taková řešení určena.

    O autorovi a co ho zajímá: viz. výše

  10. The java cli toolbox, Lukáš Kolísko

    Prezentace: BlogPost

    MP3 Podcast Podcast [18:27] 16.8 MB

    Abstrakt: Working over high-latency and low bandwidth connections on production datacenter deployments around the world leaves you with very restricted toolset. essential part of this toolbox are cli tools distributed with oracle jdk. this talk aims to give an overview of jdk cli tools, quick examples to solve common problems without advanced debugging, profiling and application analysis tools from browser or term.

    O autorovi a co ho zajímá: What.i.do.for.living; working for oracle czech in domain of systems management. i have technical lead position experience working in large international team. my job position involves leading projects from the technical perspective starting from the specification process, working with the teams on implementation and ending with customer support on complex technical issues| what.i.do.for.fun; travel, photo, coding, tech and science| why.jos; like to chat with talented people

  11. Maltron 3D klavesnice, Zdeněk Henek

    Prezentace: PDF

    Abstrakt: Prakticka demonstrace jednoho kousku Maltron 3D keyboard. Je Maltron rozlozeni klaves lepsi nez qwerty? Privezu jeden kousek na vyzkouseni. Nejsem prodejce firmy Maltron ani nejsem na prodeji jejich klavesnic zainteresovany. Jsem jen nadseny uzivatel. Diky teto klavesnici konecne nemam vubec zadne problemy se zapestim. Upozornim i na nedostatky, ktere by mohli odradit pri pouzivani k programovani. Napriklad klavesa F a J (QWERTY rozlozeni) nemaji vystupky.

    O autorovi a co ho zajímá: Programuji GIS aplickace v jave/javascript, oracle db, linux, tomcat (ukazka, co delame, ja delam vetsinou na serverove strane) chtel bych se bavit o distribuovanych systemech, prechod existujiciho systemu, ktery zvlada replikaci na distribuovanou architekturu, pokud bude dost lidi tak konkretne treba o Infinispan, JGroups, performance testovani systemu s distribuovanou cache, memory data grid nebo o ergonomickem pracovnim prostredi, klavesnice, polohovaci stul, zidle, vertikalni mys, nebo o tom, jak prezit home office bez nasledku :)

  12. Java + ANTLR verzus Scala, Daniel Šimko

    Prezentace: Google IO Template

    MP3 Podcast Podcast [8:37] 7.8 MB

    Abstrakt: Automatické zpracování a nalévání dat na http://www.sportave.com za pomoci chytrého jazyka Scala. Aneb kolik nám Scala může ušetřit práce v porovnání s Javou.

    O autorovi a co ho zajímá: Živím se jako freelancer, aktuálně na energetickém projektu, kde používáme JBoss technologie (např. JBoss AS, JBPM, ESB, Hibernate, RichFaces, ...). Jsem velký nadšenec do Apache Wicket, hraji si se Scalou a baví mě web (např. Backbone.js). Nevynechal jsem jediný CZ Podcast a čtu vaše blogy.. :). Také jsem se snažil něco napsat na http://wickeria.com/blog.

  13. Jak se učíme continuous deployment, Jaroslav Šnajdr

    Prezentace: PDF, PowerPoint

    MP3 Podcast Podcast [10:36] 9.7 MB

    Abstrakt: Začali jsme s půlročním release cyklem, pak jsme naši službu spustili jako hostovanou v cloudu, a od té doby se učíme cyklus neustále zkracovat. Na jaké překážky jsme narazili? Co jsme se naučili?

    O autorovi a co ho zajímá: Vedení vývojového týmu pro web frontend Samepage - služba na týmovou spolupráci, vymýšlení nových produktů, business strategie, vedení lidí a týmů

  14. 12 důvodů proč chci být pekařem, Honza Štěrba

    Prezentace: SlideShare

    MP3 Podcast Podcast [13:46] 12.6 MB

    Abstrakt: Co je potřeba k tomu aby vznikl poctivý chleba, který vydží v lednici týden. Proč to co koupíte v supermarketech stojí za prd. A jak to celé souvisí s vývojem software. Možná taky bude ochutnávka různých druhů domácího pečiva.

    O autorovi a co ho zajímá: Programuju, fotím, piju, vařím a v poslední době taky hodně peču.

  15. Komponentové testy, Lukáš Křečan

    Prezentace: Google Docs

    MP3 Podcast Podcast [12:17] 11.2 MB

    Abstrakt: Všichni znáte unit testy. Většina z vás zná integrační testy. Oba druhy testů mají své výhody a nevýhody. Snažím se je doplnit něčím co je mezi. Něčím co dokáže otestovat, že mám správně konfiguraci, že se spolu jednotlivé třídy kamarádí, něčím co mi umožní snadné ladění aplikace aniž bych se musel starat o závislosti na ostatní systémy. Zároveň chci aby se to snadno ovládalo, abych si mohl nasimulovat chybové stavy a nechci na čekat výsledky testů desítky minut. Proto se pokouším dělat něco, čemu říkám komponentové testy. Chci předvést jak to děláme, jaké nástroje používáme a jaké jsou s tím zkušenosti. Každý, kdo bude pro toto téma hlasovat, dostane plné verze všech použitých nástrojů zdarma! Hlasujte pro Komponentové testy! Komponentové testy, volba pro pravé vývojáře!

    O autorovi a co ho zajímá: Ahoj, jmenuji se Lukáš, dělám v GoodData a programování mě baví. Proto se ho držím, proto se o něm rád bavím a občas i píšu. Hodně se zajímám o agilní metody a obecně o to jak dělat software dobře. Můžu se podělit o čerstvé zkušenosti s přechodem na DevOps, se záváděním agility, o tom co funguje a nefunguje. Z poslední doby mám zkušenosti s oběmi variantami. Rád bych slyšel co a jak řeší ostatní.

  16. Práce v zahraničí, a jak se nam dařilo s Amazon AWS, Martin Vích

    Prezentace: PDF

    MP3 Podcast Podcast [13:32] 12.3 MB

    Abstrakt: V polovine roku 2012 jsem se odstehoval na Novy Zeland kde se mi podarilo najit praci v oboru a neco pres rok jsem pracoval na zajimavych projektech nasazovanych do Amazon cloudu.

    O autorovi a co ho zajímá: Delam primarne Java EE a zajimam se o Python, Cloudy : AWS, Heroku, OpenStack a stale objevuju Linux. Rad jezdim orientaky na horskem kole.

  17. Může Java a Javascript spolupracovat na serveru? Jirka Pénzeš

    Prezentace: PDF

    MP3 Podcast Podcast [12:33] 11.5 MB

    Abstrakt: Doba je zlá a čím dál častěji se dostáváme na serveru do situace, ve které by bylo lepší sáhnout po Javascriptu. Například nápsání parseru může být v Javascriptu daleko komfortnější než v Javě. Může ale Java a Javascript nějak spolupracovat? Přeci jen všechno v Javascriptu psát nechceme :) V tomto talku bych vám rád ukázal, jak může Java a Javascript na serveru pěkně spolupracovat.

    O autorovi a co ho zajímá: Jsem milovníkem dobré kávy a programování. Má rád zejména backendové jazyky jako Javu nebo C#. V současnosti si hodně hraju s distribuovanou simulací. Mimo vývoje a kávy se zajímám o osobní rozvoj, běhání nebo čtení dobré knihy. Prostě geek jak má být :)

  18. PDF IT Crowd Runs, Pepa 'kwart' Cacek

    Prezentace: PDF Arquillian, PDF IT Crowd Runs, PDF WildFly application server

    MP3 Podcast Podcast [12:09] 11.1 MB

    Abstrakt: Na nekonferenci zaznělo hned několik přednášek podání Pepy Cacka - jedno na téma Arquillian frameworku pro integrační testování a druhé o běhání, které řada lidí z IT světa provozuje - a Pepa na skutečně vysoké úrovni (ultramaratonů).

    O autorovi a co ho zajímá: Tož já dělám kvalitářa JBoss aplikačního servera v Red Hatu v tém Brně. Na starosti mám té súčástky, co jako dělají do tý bezpečnosti. A co mňa baví je jako Java a ty opensourcy. A když už sa ptáte na ty sociální sitě, tak ja bych jako řekl, že ta nejlepší je GitHub - https://github.com/kwart/.

  19. Type class pattern ve Scale, Jakub Janeček

    Prezentace: PDF

    MP3 Podcast Podcast [12:40] 11.6 MB

    Abstrakt: Úvod do patternu "type class", který pochází z jazyka Haskell, ale Scala si ho osvojila jako užitečnou alternativu k polymorfirsmu založeném na dědičnosti (tzv. ad-hoc polymorfismus). "Type class" pattern dovoluje rozšířit možnosti třídy/knihovny aniž by ji bylo nutné měnit (retroaktivně) a jako bonus přidává možnost omezit typy, které metoda přijímá.

    O autorovi a co ho zajímá: Scala/Java programátor v AVAST Software organizátor Czech Scala Enthusiasts zajímám se o různé JVM jazyky, funkcionální programování, distribuované aplikace

  20. Andy Indie na volné noze, Tomáš Hubálek

    Prezentace: GoogleDocs

    MP3 Podcast Podcast [24:33] 22.4 MB

    Abstrakt: Jaké je to přejít z nadnárodní firmy na volnou nohu. Co mi to dalo a vzalo. Co se mi (ne)povedlo.

    O autorovi a co ho zajímá: Jsem nezávislý vývojář mobilních aplikaci. Svoji první mobilní aplikaci napsal v roce 2002 pro platformu Palm, od té doby jsem zkusil kde co od J2ME, přes Windows Mobile a Windows Phone 7, BlackBerry 10 až po Android. Asi moje nejznámější aplikace je Battery Widget? Reborn!. Spolu s Gauge Battery Widget a Make Your Clock Widget dosáhy dohromady už sedmi miliónů stažení. V únoru 2013 se moje aplikace Battery Widget Reborn dostala až na titulní stránku Google Play. Před tím, než jsem se mobilními aplikacemi začal živit, působil jsem 7 let jako Java architekt v jedné nadnárodní polovodičové firmě.

  21. Vert.x, Zdeněk Merta

    Prezentace: PDF

    MP3 Podcast Podcast [24:13] 22.1 MB

    Abstrakt: Seznámení s frameworkem Vert.x. Co to je? Jak funguje? Na co se hodí?

    O autorovi a co ho zajímá: Freelance vývojář se zájmem o moderní programovací techniky, distribuované systémy a agilní metodiky vývoje aplikací. Rád si popovídám o Domain Driven Design, CQRS a Behaviour-Driven Development. Z netechnických věcí o alternativní hudbě a politice :-)

  22. Integracne testy, Marek Gerhard

    MP3 Podcast Podcast [8:29] 7.7 MB

    Abstrakt: Ako pisal pred par dnami Roman na svojom blogu v GoodData pouzivame viacero nastrojov na integracne testy. V mojom talku by som vam chcel ukazat ako piseme integracne testy v nasom tyme. Pouzivame na to kombinaciu nastrojov Groovy/Gradle/TestNG/RestAssured. Viac sa dozviete na jOpenSpace :)

    O autorovi a co ho zajímá: Pracujem vo firme GoodData ako java vyvojar, poslednych par mesiacov sa ale venujuem hlavne klientskej casti (javascript/ember.js). Rad sa s vami porozpravam o jave, groovy, javascripte, continuous delivery a celkovo o vsetkom co sa tyka programovania a architektury systemov.

  23. Použití a údržba vlastního frameworku, Michal Hybášek

    MP3 Podcast Podcast [13:50] 12.6 MB

    Abstrakt: Popis zkušeností s použitím proprietárního frameworku pro výrobu webových aplikací a informačních systémů ve velké pojišťovací instituci. A zamyšlení se zda a jak vyvíjet vlastní framework.

    O autorovi a co ho zajímá: Pracuji ve společnosti MoroSystems, zabývající se vývojem JEE aplikací. Kde jsem prošel od pozice junior programátora až po vedoucího zakázkového vývoje. Rád se budu bavit o zajímavých programátorských problémech, jejich řešeních a zajímavých technologiích

  24. Brave New (Unit) Tests, Daniel Kolman

    Prezentace: SlideShare

    MP3 Podcast Podcast [16:07] 14.7 MB

    Abstrakt: JUnit saje, přiznejme si to. Naštěstí jsou tu jiné testovací frameworky a nejlepší(*) z nich je Spock. Je postavený nad Groovy a umožňuje psát hutné a čitelné testy, s jednoduchými asserty, vylepšenými mocky, s perfektně vyřešenou parametrizací. Další klíčová slova: BDD, Mock, Assertions, Theories, Data-driven Tests, Pex, QuickCheck, Machine Learning, Job Security, Space Exploration

    *) Nejlepší v nám známém vesmíru

    O autorovi a co ho zajímá: Programátor a resuscitátor J2EE aplikací

  25. Kreativní myšlení, Jaroslav Holaň

    Prezentace: PDF, PowerPoint

    MP3 Podcast Podcast [11:52] 10.8 MB

    Abstrakt: Vytvořit nějakou přednášku nebo jen začít diskuzi mezi lidmi o kreativním myšlení mě napadlo v momentě když jsem poslouchal Filipa Hráčka na WebExpo 2013, kdy srovnával vývoj software v Indii s vývojem u nás. Uvádí, že je potřeba vytvářet mnohem více než jen aplikace typu "databáze věcí". Jak toho ovšem dosáhnout? Řešením je více zapojit naše kreativní myšlení a pokusit se řešit zadané problémy jiným způsobem. Přednesu tedy k tomu tématu pár zajímavých postřehů a myšlenek z několika různých knih věnované kreativitě a taky z mé vlastní zkušenosti během vývoje SW. Inspirací na kreativní myšlení jsem také našel v mém koníčku, tedy přemýšlením nad kouzelnickými triky. Povíme si něco o důvodech použití pravé hemisféry mozku, o negativním vlivu brainstormingu, o tajemství inovací Steva Jobse a o tom proč si pořídit kytku na pracovní stůl :-)

    O autorovi a co ho zajímá: Programátor, primárně Java, ale rád zkouším i jiné jazyky (Groovy, Python, C#). Zaměření na front-end ve frameworcích jako Vaadin, GWT, RichFaces. Ve volném čase se bavím kouzelnickými triky. Na jOpenSpace bych se rád pobavil o kreativním myšlení v oblasti vývoje SW.

  26. Myšlenkové mapy, Petr Vojta

    MP3 Podcast Podcast [15:17] 14.0 MB

    Abstrakt: Myšlenkové mapy podporují kreativitu a myšlení, zlepšují paměť a umožňují ujasňovat priority. Pomáhají mimo jiné analyzovat, řešit malé i složité problémy. Dají se použít pro osobní rozvoj, ale i pro řízení projektů. Rád udělám lehký úvod a pak je můžete zkusit použít podle svého; třeba si je oblíbíte tak jako já.

    O autorovi a co ho zajímá: Řídím vývoj cloudové aplikace v ABRA Software, předtím jsem rád obchodoval a vyvíjel zakázkové aplikace, ale dnes už prodáváme na dálku (což mě trochu mrzí :-). Baví mě agilita ve vývoji, definování produktu a zrychlování a optimalizace vývoje. Objevuji tajemství Java světa, oblíbil jsem si Grails a užívám si Cloud. Na ne-konferenci bych chtěl načerpat novou inspiraci jak dělat věci jinak a lépe.

  27. Jak otestovat nový release každé tři minuty, Petr Chytil

    Prezentace: PDF, PowerPoint

    MP3 Podcast Podcast [14:32] 13.3 MB

    Abstrakt: Jedná se o krátkou procházkou skrz celou historii automatizace testů v Quality Assurance týmu Avastu. Začínalo se od nuly a přesto v současnosti infrastruktura zvládá automaticky testovat nový release virových aktualizací každé tři minuty. Na příkladu těchto aktualizací, tzv. streaming updates, si ukážeme jak je to možné a co muselo to které oddělení zvládnout, aby celé řešení hladce klapalo. Jenkins, STAF, VirtualBox a Python jsou klíčové technologie použité na straně QA oddělení.

    O autorovi a co ho zajímá: S Quality Assurance jsem začal v Sun Microsystems, kde jsem měl tu čest být součástí NetBeans týmu. Poslední tři roky se snažím zajištovat kvalitu zdánlivě netestovatelné aplikace, konkrétně antiviru v Avast Software. Jeho obranné mechanismy, provázanost s operačním systémem a časté virové aktualizace jsou ta spravná výzva!

  28. Koncepty, kterými se řídím, když zakládám další firmu, Jiří Fabián

    MP3 Podcast Podcast [20:36] 18.8 MB

    Abstrakt: Zajímavý talk o principech, na kterých Filemon staví své firmy - neotřelý pohled na svět IT firem z pohledu zakládajícího člena.

    O autorovi a co ho zajímá: Enterpreneur v pravém slova smyslu - zakladatel JetMinds (nyní Vendavo), TopMonks a spolutvůrce známého českého CZ Podcastu.

  29. Webové aplikace v cloudu, Jaroslav Bartoň

    MP3 Podcast Podcast [11:36] 10.6 MB

  30. Jak testovat netestovatelné, Lukáš Hasík

    MP3 Podcast Podcast [12:37] 11.5 MB

program a záznamy

  1. Z desktopové aplikace do cloudu, Petr Ferschmann
    V této přednášce Petr Ferschmann rozebírá portaci jejich webového účetnictví do cloudového řešení a problémy, se kterými se setkali. To, že WinStrom je v českých luzích a hájích výjimečným oživením v oblasti účetvictví a podnikových IS pochybuje snad jen málokdo. O to zajímavější je, si poslechnout, jak to, kurnik, ti kluci vlastně dělají … :)

    MP3 Podcast Podcast [17:34] 7.0 MB

  2. Monetizace na Android, Martin Adámek
    Martin Adámek – autor úspěšné Androidí aplikace ApnDroid pro kontrolu datových přenosů v této přednášce popisuje zkušenosti s nasazením jednotlivých reklamních řešení a strategiemi pro zvýšení výnosu z masivně rozšířené aplikace. ApnDroid má aktuálně přes 2 miliony stažení s celkem 750tisíc aktivními uživateli.

    MP3 Podcast Podcast [25:49] 10.7 MB

  3. Kerio WorkSpace, Jarda Šnajdr
    Na tomto sezení Jarda Šnajdr popisuje vlastnosti nového produktu WorkSpace společnosti Kerio, který se začal po několika letech vývoje před několika měsíci prodávat. Jedná se o formu DMS pro malé a střední firmy. Popisuje v něm první zkušenosti z reálných nasazení a částečně také zabíhá do technického pozadí aplikace.

    MP3 Podcast Podcast [21:19] 8.0 MB

  4. Validace JSON pomocí RelaxNG, Lukáš Křečan
    Společnost GoodData má na svých vstupech / výstupech řadu služeb s JSON protokolem a tudíž zájmem validovat jejich správnou funkčnost, respektive jejich zpětnou kompatibilitu. Z toho důvodu je třeba nějakým formální způsobem testovat jejich správnost a zde přichází Lukáš Křečan s možným řešení validace JSON protokolu převodem do XML s následnou validací proti RelaxNG schématu. zkušenosti s tímto řešením jsou shrnuty právě v rámci této přednášky.

    MP3 Podcast Podcast [19:58] 8.9 MB

  5. Spring Remoting, Vlastimil Dolejš
    Tato přednáška popisuje ne-zcela známá zákoutí Spring Frameworku a to konkrétně podporu různých protokolů vzdáleného volání. V závěru se strhla zajímavá diskuse ohledně zkušeností ostatních s dalšími technologiemi pro tento účel používanými.

    MP3 Podcast Podcast [12:31] 5.2 MB

  6. Programming with Kinect, Pavel Jetenský
    Pavel Jetenský se v rámci své akademické dráhy zabývá implementací alternativních rozhranní pro ovládání počítače člověkem. V současné době pracuje s kouskem hardware od Microsoftu s názvem Kinect a má pár funkčních prototypů, s kterými je schopen ovládat počítač pohyby své ruky. Na této přednášce oba tyto prototypy ukazoval v praxi.

    MP3 Podcast Podcast [32:51] 14.1 MB

    MP3 Podcast Odkaz na slajdy

  7. Do It Yourself – In-house flight simulator, Jirka Kratochvíl
    Jirka má zvláštní koníček – kromě vývoje SW je to létání v Boeingu 747. Že se tyto dvě věci dají jen těžko skloubit dohromady? Ani ne, když si na Boeing přestavíte kus svého vlastního domu. A právě o tom, kudy na to (v případě, že máte v domě přebytečné místnosti) se dozvíte v tomto podcastu.

    MP3 Podcast Podcast [17:13] 7.2 MB

  8. Využití XML dokumentu pro rychlé dotazování, Jirka Kratochvíl
    Se zajímavou “NoSQL” databází přišel Martin Bednář, který pro tyto účely využil XML dokument reprezentovaný načteným DOM v paměti, který dotazuje pomocí kompilovaných XQuery dotazů. Zdá se, že pro stromově orientovaná data je toto řešení velmi rychlé a překvapivě použitelné. Mluvíme samozřejmě o jedno vláknovém prostředí – se škálovatelností bychom v tomto případě pravděpodobně moc daleko nedošli.

    MP3 Podcast Podcast [8:10] 3.5 MB

  9. Gradle, Ladislav Thon
    O buildovacím systému Gradle se v poslední době hodně mluví a to nejen v Groovy komunitě. Na první pohled se zdá jako svěží vítr v zatuchlém prostředí build systémů jako je Maven nebo Ant. Na druhou stranu Gradle s sebou přináší řadu úskalí pro nováčky, kteří neznají principy stojící v pozadí za jeho fungováním. Kupříkladu já jsem si na něm při našem posledním Hackathonu pěkně vylámal zuby – ale bezesporu to bylo mojí vlastní hloupostí a tomu, že jsem přišel absolutně nepřipraven.

    MP3 Podcast Podcast [32:18] 12.7 MB

  10. Jak aktualizovat dat mobilní aplikace, Cyril Sochor
    S námětem na zajímavou mobilní aplikaci přišel letos Cyril Sochor. Jedná se o aplikaci, která by vám umožnila v okolí (nebo po vaší cestě někam) zjistit optimální místo k natankování vzhledem k aktuální ceně benzínu. Jak všichni víme, cena benzínu se v různých krajích a na různých místech může lišit i o několik korun a proto by se podobná věc mohla nám všem docela vyplatit. Kosa na kámen ovšem padá na způsobu sběru aktuálních data a právě v tomto směru se strhla největší diskuse.

    MP3 Podcast Podcast [29:12] 12.1 MB

    Slajdy prezentace Slajdy prezentace

  11. Remote Skype Notifications, Josef Cacek
    Každá akce si vyžádá adekvátní protiakci a tak zakázání Skype ve vašem firemním prostředí povede pouze k tomu, že si šikovní lidé vymyslí šikovné nástroje, jak zákaz s grácií obejít. V tomto podcastu se dozvíte o možnosti jak jednoduše tunelovat komunikaci z virtualizovaného prostředí do vašeho primárního systému – a bude stačit pouze Java 6 a HttpServer, o kterém jsme tu již kdysi hovořili.

    MP3 Podcast Podcast [12:48] 5.6 MB

    Slajdy z prezentace Slajdy z prezentace

    Odkaz na článek

  12. NoSQL databáze, Pavel Klobása
    Na tomto sezení se Pavel rozhovořil o závěrech z jeho vlastního průzkumu NoSQL databází pro jednoho ze zákazníků. Stejně jako z ostatních koutů světa i z jeho přednášky je patrné jisté vystřízlivění z NoSQL databází jako aktuálního módního kladiva na všechny naše problémy.

    MP3 Podcast Podcast [22:01] 8.7 MB

  13. Jak začít eShop, Pavel Petřek
    Pavel je pravidelnou hvězdou na jOpenSpace a klíčovou osobou ve společnosti Inmite. Letos nám přijel vyprávět o tom, jak spolu (respektive pro) svou manželku rozjížděl e-shop s látkami Veselá Jehlička a skoro bych ten příběh nazval americkým snem v českém podání. Na první pohled to zní všechno jednoduše a lehce v podání někoho, komu se podařilo byznys už rozjet. Vřele doporučuji k poslechnutí.

    MP3 Podcast Podcast [41:24] 17.9 MB

fotky

blogy

sponzoři

Velké díky tentokrát patří ujal Filemonovi bývalému majiteli firmy JetMinds (nyní Vendavo), která letos plně hradila ubytování a všobecně stála za organizací této výborné akce.

program a záznamy

  1. .NET memory model – Petr Šmíd
    Zajímavý rozbor paměťového modelu .NET aplikací v porovnání s Java paměťovým modelem, vysvětlení význam klíčových slov volatile a synchronized pro zmíněné paměťové modely. Rozbor dopadů paměťových modelů pro koncové vývojáře. Z této přednášky nevznikl žádný záznam.
  2. Představení knížek – Ondřej Nekola
    Představení několika zajímavých titulů, které lze doporučit k přečtení.

    MP3 Podcast Podcast [8:14] 2.9 MB

  3. Co stojí vlákna v Javě – Lukáš Křečan
    Přednáška na téma výkonnostní a paměťové náročnosti tvorby nových vláken v Javě na hostovaném systému. Vyvrácení předsudků praktickým experimentem – vytvoření 23 tisíc vláken za několik desítek vteřin není žádný nesmysl – viděli jsme to na vlastní oči. Volné navázání na články na Lukášově blogu: část 1, část 2, část 3.

    MP3 Podcast Podcast [8:24] 3.0 MB

  4. Deklarativní DAO – Jan Novotný
    Má přednáška o deklarativních DAO – ukázka přenesení inovativních nápadů dynamických jazyků (RoR ActiveRecord, Grails GORM) do standardní Javy. Nově se ukazující trendy pro psaní DAO – iBatis3, JPA Hades – vývojáře už nebaví stále dokola psát stejnou logiku na DAO vrstvě. Rutinu má za nás dělat stroj … Ukázky interní knihovny ADaM společnosti FG Forrest, která podporuje psaní deklarativních DAO.

    Poznámka k audiu: nahrávka je na konci poměrně nekvalitní, většinu praskání se mi nepodařilo odstranit – snad i tak ale u poslechu vydržíte; pro lepší poslouchatelnost jsem vystříhnul pasáže, kde se programuje; poslední poznámka se vztahuje k termínu AOP, který v přednášce často používám – po skončení přednášky jsem si v diskusi uvědomil, že termín nepoužívám správně, v tomto případě se jedná samozřejmě jen o dynamické proxy

    MP3 Podcast Podcast [14.25] 5.2 MB

  5. Nový produkt z dílny Kerio Technologies – Jaroslav Šnajdr
    Jarda nám umožnil krátce nakouknout pod pokličku nově připravovaného produktu od společnosti Kerio. V současnosti se jedná ještě o ne zcela oficiální informace a proto o této přednášce nebudou zveřejněny žádné informace.
  6. HttpServer v JDK 6 – Pavel Jetenský
    Pavel přednášel o novince v JDK 1.6 – HttpServeru, který nám umožní na několika řádcích nastartovat náš vlastní web server. Jedná se o skvělou utilitku především pro testy – na místech, kde jsme dosud používali embedovaný Jetty server si nyní můžeme vystačit bez externí dependence pouze s využitím utility v JDK. Šikovnou supportní třídu pro automacké testy Pavel přislíbil zveřejnit na mém blogu, takže doufejme, že brzy budou příklady ke stažení k dispozici.

    MP3 Podcast Podcast [6:21] 2.3 MB

  7. Eurocon (Lucene) – Lukáš Vlček
    Lukáš se letos na jOpenSpace pouze otočil, aby nám řekl něco o technologiích z rodiny Lucene. Již několik let se zabývá touto fulltextovou knihovnou a letos k nám zavítal obohacen o nové poznatky ze setkání Eurocon, které se odehrálo letos v Praze. Kdo se chce v kostce dozvědět zásadní novinko okolo Lucene search enginu, pro něj je tento podcast jako dělaný …

    MP3 Podcast Podcast [24:10] 8.7 MB

  8. Peklo OpenSource licencí – Josef Cacek
    V této přednášce se Pepa rozpovídal o ne úplně příjemných zkušenostech s open source licencováním. Není ojedinělé, kdy OS projekt změní princip licencování – tato věc má pak často velmi fatální dopady na vývojáře, kteří jsou na něm závislí.

    MP3 Podcast Podcast [10:10] 3.7 MB

  9. Google App Engine – Michal Šrajer
    V této přednášce Michal zkráceně zopakoval svou přednášku z CZ JUGu na stejné téma. V zásadě to ale nebylo na škodu, protože jsme na jOpenSpace byli pouze dva, kdo na přednášce byl, takže pro většinu přítomných se jednalo o valmi zajímavé informace. Záznam z této session nebyl pořízen, protože se čeká záznam v lepší kvalitě přímo z delší přednášky na CZ JUG setkání.
  10. Porovnání Objective-C a Javy – Pavel Lahoda
    Pavel Lahoda se rozpovídal na téma Objective-C, což je jazyk vycházející z C, který je zároveň primárním programovacím jazykem pro platformu Apple a HW “věcičky” od stejné společnosti jimiž jsou iPhone nebo iPad. Pavel má historicky i velké zkušenosti s Javou, takže bylo velmi zajímavé poslechnout si jeho zkušenosti s oběma platformami. Vřele doporučuji k poslechnutí.

    MP3 Podcast Podcast [17:00] 6.1 MB

  11. SW Verification – overview – Tomáš Poch
    Tomáš nás v této přednášce seznámil s oblastí automatizované verifikace SW. Na první pohled velmi akademická oblast ale už přinesla některé ovoce – například Windows jsou výrazně stabilnější díky implementaci této automatizované kontroly do SDK pro vývoj HW ovladačů.

    MP3 Podcast Podcast [22:49] 8.2 MB

  12. Síť sítí – Petr Hamerník
    Přednáška Petra Hamerníka se zaměřila na dvě knížky o teorii sítí, sociálním chování uzlů v síti a dalších zajímavostech, které vidíme okolo sebe. Strhla se velmi zajímavá diskuse, nicméně záznam z této přednášky nemáme.
  13. Pozitivní dopady testovacího frameworku v O2 – Rudolf Pischek
    v této přednášce Ruda popisoval pozitivní zkušenosti ze zavedení testovacího frameworku, jehož principy představil na loňském jOpenSpace Pavel Jetenský. Velmi zajímavá byla především čísla pokrytí kódu testy, ze kterých bylo jasně vidět, jak důležité je, připravit si pro testování prostředí tak, aby psaní vlastních testů nebylo složité a programátoři k němu neměli podvědomý odpor. Z přednášky nevzniknul žádný záznam.
  14. Google Guice – Margin Grajcar
    Martin Grajcar se rozpovídal o IOC frameworku Guice z dílny společnosti Google. Toto povídání bylo určeno na loňský jOpenSpace, kde jsme se k němu nedostali. V přednášce jsou poměrně důležité ukázky kódu, takže je možné, že audio verze bez slidů nemusí být pro posluchače úplně srozumitelná. Nicméně myslím, že vám rozhodně stojí za to 14 minut risknout a dát záznamu šanci ;-) .

    MP3 Podcast Podcast [14:09] 5.1 MB

  15. Archivní vína v Bílém Sklepě – Petr Adámek
    Jako poslední se svou přednáškou vystoupil Petr Adámek – majitel části Bílého sklepa, který, pokud je stejně dobrý vývojář jako vinař, nemusí mít o svou budoucnost obavy. Degustace skvělých archivních vín a povídání o vinařském řemesle příjemně zaplnila většinu večera a rozhodně se nebojím víno z tohoto sklepa doporučit. Z této poslední přednášky, zcela logicky, také nevzniknul záznam :-) .

fotky

blogy

program a záznamy

  1. Představení účastníků
    Krátké představení většiny účastníků jOpenSpace – jejich profesní historie, současné zaměstnání, pocity, postřehy.

    MP3 Podcast Podcast [10:36] 3.8 MB

  2. Zaměstnanci vs. Startup
    Jaká je motivace lidí pracovat jako zaměstnanci firem a jaké jsou motivace lidí, kteří se rozhodnou vydělávat jako freelanceři nebo si založit startup? Zkušenosti, pro a proti.

    MP3 Podcast Podcast [48:07] 17.3 MB

  3. Crossplatformní vývoj v Javě, Petr Ferschmann
    Zkušenosti s vývojem přenositelné aplikace v Javě. Jaké jsou vlastně problémy přenositelnosti? Problém s instalátory, různé velikosti písmen, vykonnost GTK na linuxu. Využití JNA pro volání nativních funkcí. OpenJDK je nekompatibilní v oblasti Swing, WebStart nefunguje (nepodporují OpenJDK).

    MP3 Podcast Podcast [6:37] 2.4 MB

  4. Metoda obrácené pyramidy, Pavel Jetenský
    Cenné rady pro lightning talky, které nás všechny donutily k zamyšlení. Začít závěrem, pokračovat rozkrytím problematiky a úvodem.

    MP3 Podcast Podcast [3:26] 1.3 MB

  5. Compass, Lukáš Vlček
    Framework pro fulltextové vyhledávání zjednodušuje přístup k search enginům. Vyvinul Shay Banon pro GigaSpaces – Lucene je hodně nízkoúrovňový. Compass je jednodušší. Jednoduše se integruje ostatními frameworky Spring, Hibernate, JDO. Pro indexování dat, které někde leží vhodnější spíše Solar. Obsahuje funkcionalitu pro Find similar documents

    MP3 Podcast Podcast [8:23] 3.0 MB

  6. Time management, Satai
    GTD (getting this done) – všechny informace o tom co mám dělat dostat z hlavy. Rady pro prioritizaci.

    MP3 Podcast Podcast [6:15] 2.2 MB

  7. Pražský maraton – google maps, Pavel Petřek
    Vizualizace na Google mapy. Vše v paměti, dostatek CPU, dostatek paměti – bottleneck byla síťová karta na pouze 10MB síť. 3500 unikátů – cca 60 requestů za vteřinu. Apache, Tomcat, single servlet. JSON. Write through cache, disk jen pro případ, kdyby vše spadlo.

    MP3 Podcast Podcast [6:25] 2.3 MB

  8. Vlastní výroba flashky, Michal Šrajer
    Jak na výrobu vlastního flash disku, který ve výsledku vypadá jako utržený USB kabel.

    MP3 Podcast Podcast [3:36] 1.3 MB

  9. Testování NetBeans v Hudsonu, Lukáš Hasík
    Automatizované testování UI v Hudsonu. Sada ant skriptů pro pouštění testů na různých mašinách. Plugin do Hudsonu aby se dala nadefinovat matice sad testů, cílových mašin a JDK a pak hromadně testy spustit a posbírat výsledky. Master slave (agenti) architektura.

    MP3 Podcast Podcast [6:06] 2.2 MB
    Videocast Video

  10. Prezentační techniky, Lukáš Hasík
    Vědět komu budeme prezentovat. Jak se vystupuje u prezentace (nestrkat si ruce do kapes) – přizpůsobit tomu, jak se chováte normálně – zvenčí je dost vidět jestli je to přirozené nebo ne. Prezentace si předem vyzkoušet. Subjektivní negativní pocit (roztřepanost atd.) nemusí být navenek vidět. Slidy – obrázek řekne daleko víc než tisíc odrážek. Agenda na úvod, zda se lidi ptát můžou / nemůžou, v průběhu / na závěr, jak dlouhé to bude. Důležitý je závěr, co si mají lidi odnést a proč se vlastně ta prezentace koná. Presentation Zen – skvělá knížka (spíš na marketingové prezentace).

    MP3 Podcast Podcast [7:06] 2.6 MB

  11. Webové služby se Spring WS, Lukáš Křečan
    Zákazníci většinu věcí z WS nepotřebují – v podatě stačí jen zasílání XML. Spring WebServices – důležité je XSD, SOAP envelope je většinou prázdná, důležitý je obah body (payload). Validace, marshall, unmarshall. Velmi pragmatický přístup k WS.

    MP3 Podcast Podcast [5:46] 2.1 MB
    Videocast Video

  12. Referenční dokumentace pro skriptaře, Jan Novotný
    Prezentace způsobu jak se v FG Forrest vypořádali s tvorbou refereční dokumentace tvořenou Java programátory pro webdevelopery. Jak dosáhnout aktuální, verzované, úplné a online dokumentace veřejného rozhranní.

    MP3 Podcast Podcast [7:02] 2.5 MB
    Videocast Video

  13. InksScape pro negrafiky, Martin Adámek
    Živá ukázka tvorby vektorové grafiky v InkScape – jak jednoduše a rychle vytvořit hezky vypadající tlačítko aplikace.

    MP3 Podcast Podcast [5:29] 2.0 MB

  14. Externí DSL, Roman Pichlík
    Owrapování JDBC pomocí thin driver pro možnot integrace do existujících SQL nástrojů – překlad SQL z DSL podoby do cílového tvaru daného aktuálním API.

    MP3 Podcast Podcast [7:44] 2.8 MB

  15. Erlang, Filemon
    Úvod do erlangu – funkcionální programování.

    MP3 Podcast Podcast [6:59] 2.5 MB

  16. Fork/Join framework, Lukáš Křečan
    ParallelArray – nadastavba nad Fork/Join algoritmem. Standardní pole, velikost, typ a ThreadPool. Paralelní provádění operací hromadně nad všemi prvky pole s použitím threadů v threadpoolu. Využití výkonu multiprocessorového stroje.

    MP3 Podcast Podcast [6:23] 2.3 MB

  17. Liferay portál, Petr Adámek
    Polemika nad tvrzením, že portály jsou mrtvá technologie. Ukázka Liferay portálu (opensource) – z OS nejlepší. Praktická ukázka. Postavený na Springu / Hibernate.

    MP3 Podcast Podcast [7:05] 2.6 MB

  18. ETL & Java, Cyril Sochor
    Neprogramovat – naklikat. Extract -> Transform -> Load. Práce s velkými datovými sklady. Použitelnost pro migrace dat, integrace dat z více zdrojů, čištění dat, synchronizace dat, validace dat. Nejdražší trojka Oracle Warehouse, IBM DataStage, Informatica PowerCenter. Z opensource: CloverEtl, Ketlin. Ukázka sestavování a běhu ETL dávek

    MP3 Podcast Podcast [6:43] 2.4 MB

  19. Skutečná aplikace MDD, Michal Malohlava
    Mission Critical Systems. Scade = toolset pro management požadavků, od graficky orientovaného designy, generování kódu, až po otestování vygenerované aplikace.

    MP3 Podcast Podcast [6:34] 2.4 MB

  20. OST – Soap vs. REST
    REST = architektonický styl, SOAP = protokol. REST je jednodušší. Není důvod proč nemít restfull webservices. Aspekty RESTu, SOAPu – z mého pohledu poměrně akademická diskuse.

    MP3 Podcast Podcast [27:33] 9.9 MB

  21. Tooly pro Scrum Agile
    Záznam diskuse nad nástroji pro plánování a tracking projektů vyvíjených podle agilních metodik.

    MP3 Podcast Podcast [19:26] 7.0 MB

  22. Jak se držet up to date, Martin Adámek
    Diskuse nad tím jak se kdo z nás jak drží up to date. RSS čtečky je základ – problém opakování zajímavých topiců v mnoha příspěvcích, twitter, Diigo, sociální služby (DZone, DiggIt atd.), podcasty (JavaPosse) a prezentace (Parleys.com).

    MP3 Podcast Podcast [18:40] 6.7 MB

  23. Java concurrency
    Diskuse nad programováním pro multiprocesorová prostředí. Možnosti pro paralelizaci algoritmů a výkonnostní dopady.

    MP3 Podcast Podcast [21:23] 7.7 MB

  24. Code revision
    Revize kódu – jaké jsou zkušenosti s revizí kódu v různých prostředích.

    MP3 Podcast Podcast [30:14] 10.9 MB

  25. iText, PDF formuláře, Josef Cacek
    Ukázka řešení pro rakouské ministerstvo zemědělství. Využití online PDF formulářů pro sběr dat pomocí knihovny iText a OpenOffice

    MP3 Podcast Podcast [6:43] 2.4 MB

  26. ApiFest, Petr Šmíd
    Zkušenosti a výsledky API Festu uskutečněném v HP. Zajímavé ukázky porušení zpětné kompatibility (slidy budou doufejme zveřejněny). Závěr: je téměř nemožné napsat 100% zpětně kompatibilní kód.

    MP3 Podcast Podcast [6:38] 2.4 MB

  27. Nativní volání, Kolisko / Reservoir – Cloud Computing
    Použití ASCII protokol přes input / output stream, výhoda – možnosti velké volby na úrovni systémových driverů (pro nativní cally OS). Jednoduchá integrace s jakýmkoliv programovacím prostředím (i bash je programovací prostředí)

    MP3 Podcast Podcast [11:32] 4.2 MB

  28. ZFS file system, Roumen
    Živé demo ZFS na OpenSolarisu. Zálohování, rollbacky změn, pohyb na časové ose. Online tvorba SW RAIDů.

    MP3 Podcast Podcast [7:37] 2.7 MB

  29. Scala, Jiří Mareš
    Základy jazyka Scala v kostce.

    MP3 Podcast Podcast [6:41] 2.4 MB

  30. Co přináší OpenSolaris pro Java vývojáře, Petr Adámek
    ZFS OpenSolaris – snapshoty, zálohování, send / receive (inkrementální migrace na úrovni FS, atomický – daleko lepší jak RSYNC). Monitorovací nástroj DTrace – nedestruktivní, neinvazivní, nemá režii … dá se použít i na živé produkci

    MP3 Podcast Podcast [7:05] 2.6 MB

  31. JavaFX, Honza Štěrba
    Ukázka aplikace, kterou vytvořil během pár minut na odpočítávání zbývajícího času Lightning Talků. Ukázka migrace výsledné aplikace do telefonu.

    MP3 Podcast Podcast [7:26] 2.7 MB

  32. Lepší než Dbunit, Pavel Jetenský
    Popis přístupu k psaní unit testů s důrazem na přípravu testovacích dat pro test.

    MP3 Podcast Podcast [8:43] 3.1 MB

  33. Time management, naléhavé vs. důležité
    Základní rozbor 4 člené matice naléhavé vs. důležité. Závěr řešit nejdříve naléhavé důležité, pak nenaléhavé důležité a potom teprve naléhavé nedůležité. Aneb čas na naléhavé nedůležité tasky se vždycky najde.

    MP3 Podcast Podcast [2:15] 0.8 MB

  34. JNA – praktická ukázka, Petr Ferschmann
    Praktická ukázka kódu používajícího JNA pro volání nativních funkcí.

    MP3 Podcast Podcast [4:08] 1.5 MB

  35. Cloud Computing, Lukáš Kolísko
    Diskuse nad problematikou cloudů. Varianty škálovatelnosti aplikace. BigTable vs. objektové vs. relační databáze.

    MP3 Podcast Podcast [28:59] 10.4 MB

fotky

on-line

blogy

sponzoři

Letos je to poprvé, kdy jsme si na konferenci "pustili" sponzory. A jejich účast měla velmi pozitivní ohlas, ostatně, byl k tomu důvod:

program a záznamy

Open Space Talk – ORM, Roman Pichlík

V této session se vede diskuse obecně o knihovnách pro objektově relační mapování. Zkraje se probírají obtíže s použitím Hibernate v prostředí desktopových Swingových aplikací v souvislosti s lazy loadingem v AWT threadu (do 16 minuty). Navazuje obecnější diskuse o ORM a jejich používání / zneužívání. Od 19 minuty probíhá porovnávání plnotučných ORM (JPA/Hibernate) s lehčími řešeními (konkrétní probíraný zástupce je iBatis). Od 24 minuty se reší problém N+1 pro dotahování master-detail dat v prostředí iBatis. Ve 27 minutě přebírá slovo Filemon a převádí řeč na Ruby a jeho Active Record. 29 minuta otvírá diskusi na téma faktoru složitosti. Po 30 minutě zmiňuje Petr Ferschman nástroj pro monitoring výkonnosti SQL v Hibernate (znovu otevřeno také po 54 minutě). Od 31 minuty se řeší problém automatického založení (a aktualizace) databázového schématu. Po 35 minutě se diskuse stáčí na MDA přístup pro řešení datové vrstvy aplikace. Od 44 minuty je probírána nutnost jednoznačných identifikátorů v tabulkách při použití Hibernate. 58 minuta odstartuje diskusi na téma cachování a performance v Hibernate a navazuje také popis principů cachování v iBatis.

Kvalita tohoto záznamu je kvalitní.

MP3 Podcast Podcast [77:10] 18,5 MB

Open Space Talk – Dokumentace, Petr Ferschmann

V této diskusi se probírají nejčastější problémy spojené s dokumentací projektů a nástroje, které k dokumentaci používáme. Zkraje se probírají vlastnosti WIKI a zkušenosti s jejím nasazením. Od 7 minuty se věnujeme použití UML k dokumentaci aplikace. V 11 minutě se zvažují JUnit testy jako forma dokumenace – zvažuje se pro koho, kdy a proč je tento typ dokumentace vhodný. Od 19 minuty se naráží na dopady iteračního vývoje na dokumentaci a jakým způsobem se zajišťuje, že při změně aplikace, dojde i ke změně dokumentace a využití Issue trackeru pro tyto účely (spolu s těžkostmi s tím spojenými). Po 29 minutě se diskuse stáčí na obecnější téma lajdáctví a jak se k tomu ve firmách stavíme. 35 minuta znovu otvírá JavaDoc, jako formu programátorské dokumentace a projekce změn kódu do evidence chyb (diskuse se blíže dotýká také pluginu Mylyn pro Eclipse). Po 39 minutě se probírá “dokumentace vytížení” – respektive sledování času stráveného na práci na konkrétních issue / projektech a použitelných nástrojích pro tento účel. Ve 42 minutě se dostáváme k použití DocBooku pro psaní dokumentace.

I tento zvukový záznam je v poměrně dobré kvalitě.

MP3 Podcast Podcast [61:50] 14,8 MB

Open Space Talk – Zkušenosti s agilními metodikami, Michal Šrajer

V této session se můžete dozvědět něco o zkušenostech s agilními metodikami ve firmách účastníků konference. Diskusi otvírá Srakyi se zkušenostmi ze společnosti Inmite. Ve 4 minutě si berou slovo pánové ze Sun Microsystems a popisují implementaci agilních přístupů v jejich týmech. Od 8 minuty se probírá účast zákazníka na vývoji aplikace (nutná součást všech agilních metodik). Okolo 11 minuty se diskutují zkušenosti s použitím agilních metodik při vývoji pro státní správu. Po 24 minutě se naráží na použití prototypů, wireframe a obrázků při komunikaci se zákazníkem. Ve 30 minutě se opět chápou slova kolegové ze Sunu a dělí se s námi o svoje zkušenosti. V třetí třetině záznamu se probírá review proces při vývoji. Po 48 minutě se probírají rozdíly mezi RUP a agilními metodikami a jejich kombinací. Závěr diskuse je věnován párovému programování.

Taktéž tento záznam slibuje slušnou kvalitu poslechu.

MP3 Podcast Podcast [68:53] 16,5 MB

Lightning Talk – Selenium IDE, Pavel Jetenský

V této přednášce nás Pavel Jetenský seznamuje s Selenium IDE – nástrojem pro testování web aplikací. Zpočátku se věnuje obecně způsobu, jak je možné testy nahrávat a spouštět. Možnosti pro export testů do HTML nebo jako JUnit testů. Od 7 minuty se začíná věnovat doporučením při nahrávání/psaní Selenum testů. Také naráží na problémy Selenium recorderu – tato pasáž byla z mého hlediska (částečné zkušenosti se Selenium IDE) nejcennější. Jsou rozebrány např. problémy s nenahráváním stisknutí submit tlačítka, práci s iframy, timeoutováním testů, mizení testrunneru, form field history, zabezpečení testovaných stránek aj.

Záznam je bohužel poměrně poškozený, proto doporučuji poslech jen silnějším povahám nebo lidem se skutečným zájmem o probíranou tématiku.

MP3 Podcast Podcast [24:24] 5,8 MB

Slidy prezentace Slidy prezentace ve formátu MS Power Point

Slidy prezentace Vzorové příklady

Lightning Talk – Tips ‘n Tricks, Jan Novotný

Tato přednáška otvírá dvě témata, které jsou publikovány ve formě článků na tomto blogu. Konkrétně se jedná o články:

V první části (do 10 minuty) se rozebírají možnosti ukládání verzí v Java archívech. Jaká je motivace pro správné řešení tohoto problému, jaké cesty jsme vyzkoušeli a uznali jako slepé uličky. Tato část pro vás může být zajímavá pokud, byste snad chtěli znát víc podrobností a souvisejících věcí, které ve zveřejněném článku nebyly vyřčeny. Od 10 minuty je potom rozebíráno použití logovacích knihoven pro testování AOP v aplikacích. Respektive k testování správného nakonfigurování pointcutů. Poslední téma je jen velmi obecně načrtnuto po 19 minutě. Ke konkrétním věcem však již nebyl prostor se dostat – k tomuto tématu najdete nejvíce informací v již zveřejněném článku.

Zkraje je kvalita záznamu špatná, časem se však zlepší a záznam by měl být bez větších potíží poslouchatelný.

MP3 Podcast Podcast [24:29] 5,8 MB

Lightning Talk – Using Spring in large applications, Roman Pichlík

V této přednášce Dagi popisuje zkušenost s nasazením (a používáním) Spring Frameworku na velkém projektu v Hewlett-Packard. Velkým projektem se rozumí projekt složený z cca. 150 Maven subprojektů = 150 aplikačních kontextů, na kterém pracuje cca 40 vývojářů. Od šesté minuty se probírá zajímavý problém skládání velkého množství aplikačních kontextů Springu, na toto téma navazují já ve 13 minutě s narážkou na řešení popsané v seriálu o modulárních systémech ve Springu. Od 11 minuty se diskutuje o problematice autowiringu na velkých projektech. Po 15 minutě se naráží na použitelnost OSGI v J2EE projektech a obecně o rychlosti adopce nových Java standardů u velkých zákazníků. Po 20 minutě se probírají problémy vendor descriptorů a způsob instalace takto velké aplikace u různých zákazníků.

Zkraje je kvalita záznamu dobrá, v prostřední části se výrazně zhoršuje, aby se ke konci opět dostala na relativně rozumnou úroveň. Diskuse je nicméně zajímavá, takže snad někteří z vás vydrží až do konce.

MP3 Podcast Podcast [43:27] 10,4 MB

Slidy prezentace Slidy prezentace ve formátu PDF

Open Space Talk – Java vs. dynamické jazyky, Jan Štěrba

Tato session se zaměřuje na porovnání Javy a programování v dynamických jazycích – např. Ruby (JRuby), Groovy, Python (Jython) a dalších.

Na začátku (1:47) je shrnutí obou přístupů, statické vs. Dynamické jazyky. Účastníci hovoří o svých zkušenostech a vyjadřují vlastní názory na dynamické jazyky:

Názory na výhody dynamických jazyků

  • Lépe se v tom programuje
  • Jedná se o rozdíl v myšlení oproti Java (3:30)
  • Pozitivem je zjednodušení kódu (Dagi, 7:20), ale existují i negativa (Dagi, 14:30)
  • Díky novějšímu datu vzniku je lepší API (JŠ)
  • Vhodné použít proto, že mohou být víc lightweight a mít nižší nároky na HW než Java (python) (6:08) O rychlosti python vs Java též kolem 21:50, včetně porovnání run-time enginů.
  • Vyšší produktivita práce (23:00)

Názory na nevýhody dynamických jazyků

  • Problémem je chybějící úplná code completion (4:40)
  • Horší dokumentace oproti dokonalým Javadocům Java API (JŠ)
  • chybí refaktorizace a compile-time validace (PJ, 23:30)
  • Pokud vývojář začne rovnou v dynamickém jazyku bez znalosti Javy, hrozí riziko špatného kódu (29:30 a 35:00). V té souvislosti o nesporné důležitosti automatických testů při vývoji v dynamických jazycích (31:40), o snadnější cestě k vytvoření nesrozumitelného, špatného kódu oproti statickým jazyků.
  • O nedostatku znalostí v týmu v oblasti dynamických jazyků (33:20)

V střední části se diskutovalo, kdy je vhodné dynamický přístup použít (5:40 a též ještě 25:45). Zmínily se dynamické frameworky – Ruby on rails (10:10) a Groovy (29:00), též jak je to s adaptací Java programátora na Groovy (11:20).

Další témata byla:

  • Jak se řeší v dyn. jazycích změna třídy za run-time (13:30)
  • Doporučení pro přístup k definování nových dynamických metod v dyn. Jazyku
    Je vhodné neměnit chování metod při běhu aplikace, jen při jejím startování (16:50)
    O JQuery a nebezpečí dynamičnosti při předefinovávání chování existujících metod za běhu (pomocí pluginů, 19:07).
  • Možnost využít dynamické jazyky pro prototypování modulů, které se později přepíšou do Javy (26:45)

V poslední části se probíralo, jaké jsou rozdíly mezi objektovým a procedurálním přístupem (36:45) a jak nechat inspirovat Javu příjemnými vlastnostmi co se týče syntaxe a API mladších dynamických jazyků (37:40). Hovořilo se o technologických limitech Javy, bránících zavedení některých novinek a o templates v Cčku v porovnání s řešením v Java (40:10).

Zmínil se .NET (41:34) a Java 3.0 (42:10). Podrobněji se probraly některé konstrukty v Javě – Comparable, pole vs. Collections (43:00), primitivní datové typy (např. int) vs objektové alternativy (např. Integer) (46:00) a jak jsou primitivní typy optimalizovány v Smalltalku (48:00). Diskuze se ukončila zmínkou o využití Rhino pro automatické generování formulářů (51:00).

MP3 Podcast Podcast [54:26] 16,3 MB

Lightning Talk – Grid & Cloud Computing, Lukáš Kolísko

Tento záznam zachycuje přednášku na téma cloud computingu. Lukáš Kolísko v něm osvětluje základy této problematiky s vazbou na projekt EU Reservoir (Resources and Services Virtualization without Barriers), na němž se jeho tým podílí. Přednáška rozebírá základní problémy spojené s virtualizací a cloud computingem. Od 7 minuty se Lukáš zabývá tzv. business service managementem – tedy zpoplatnění služby uvnitř cloudu s ohledem na měřitelnost spotřeby služby. Od 11 minuty se zabývá optimalizací jednotek v gridech – tato část je bez slidů, pouze z audia obtížně pochopitelná. Od 19 minuty naráží Lukáš na možnosti migrací Java aplikací mezi jednotkami gridu – což je část, kteoru se právě zabývá jeho tým. Po 32 minutě začínají Q&A.

Nahrávka není v ideální kvalitě nicméně při dobře nastavené hlasitosti by mělo být rozumět všemu. Kvalita je v průběhu záznamu víceméně konstantní.

MP3 Podcast Podcast [44:42] 10,7 MB

Lightning Talk – AndroMDA / Enterprise Architect, Petr Ferschmann, Pavel Petřek

Tento záznam obsahuje dvojpřednášku Petra Ferschmanna a Pavla Petřeka o zkušenostech z použití MDA přístupu při tvorbě aplikací. Oba se kupodivu shodují na závěru, že přínosy použití MDA v reálné praxi jsou přinejmenším diskutabilní. Přednášku začíná Petr s popisem nástroje AndroMDA. Ve 3 minutě popisuje Petr motivaci pro použití MDA. V jejich případě se jednalo především na použití MDA pro datovou vrstvu aplikace. Po 8 minutě se lehce naráží na zkušenosti s nástroji ArgoUML, Poseidon. V 10 minutě rozebírá Petr základní princip pro použití MDA při jednosměrné konverzi Model -> Kód. Tedy, že z modelu jsou generováni abstraktní předci tříd, ze kterých programátor dědí třídy, do kterých teprve umisťuje aplikační logiku. Při přegenerování jsou potom přepisovány pouze abstraktní předci a implementace zůstává netknutá. V 14 minutě se poprvé naráží na výhody / nevýhody MDA přístupu. Od 20 minuty se strhává diskuse nad jednotlivými problémy.

V 31 minutě začíná druhá část přednášky v podání Pavla Petřeka. Ten popisuje zkušenosti s Enterprise Architectem. V 37 minutě se probírá problematika verzování datového modelu a generování ALTER skriptů mezi verzemi. Po 40 minutě se Pavel věnuje shrnutí jejich zkušeností. Vyžaduje to vyšší nároky na team, přináší to celou řadu nových problémů k řešení, což přínosy tohoto přístupu nevyváží. Po 46 minutě popisuje Pavel použití MDA na generování komunikačního protokolu s LDAPem, s čímž udělal naopak poměrně pozitivní zkušenost.

V závěru se oba přednášející shodují na tom, že MDA odkrývá konflikt mezi světem vývojáře a analytika a ve výsledku jde jen o to, zda-li chceme vyhovět více analytikovi (MDA analytikovi pomáhá) nebo vývojářovi (MDA vývojářovi zesložiťuje práci).

Kvalita tohoto záznamu je na rozumné úrovni – je rozumět relativně všemu. Rozhodně doporučuji k poslechnutí všem, kteří koketují s MDA.

MP3 Podcast Podcast [59:07] 14,2 MB

Slidy prezentace Slidy prezentace ve formátu HTML

Lightning Talk – Repetitive Strain Injury, Pavel Jetenský

Tento záznam je z předposlední session sobotního večera. Přednáškou se prolínal již úvod do další, kterou byla ochutnávka moravských vín v podání Petra Adámka! Proto je nálada a poznámky v průběhu této přednášky daleko veselejší. RSI je problém, které se týká všech programátorů – jedná se o nemoc z opakovaného, monotónního pohybu (např. strnulé sezení s psatní na klávesnici). RSI je spojená s CPS, což je zánět karpálního tunelu. Oba tyto pojmy jsou vysvětleny hned zkraje přednášky. Ve 3 minutě jsou popsány syndromy. Po 8 minutě Pavel popisuje způsob prevence. Po 23 minutě se strhává živá diskuse, která dále volně přechází v degustaci vín.

Záznam je poměrně často prokládán hlasitým smíchem a proto doporučuji nastavit hlasitost na rozumnou úroveň. Z textu je rozumět takřka všemu.

Pro tuto přednášku Pavel připravil i speciální post, který je dostupný na jeho blogu. Zde jsou také další články, materiály a odkazy, které se této problematiky dotýkají.

MP3 Podcast Podcast [38:00] 9,1 MB

Slidy prezentace Slidy prezentace ve formátu MS Power Point

Videocast Videocast

fotky

K nahlédnutí je fotogalerie z JOS08.

blognuté reportáže