Přeskočit na hlavní obsah

jOpenSpace 2009

Včera večer jsem se vrátil z Java ne-konference jOpenSpace 2009 (jOS), která se přes víkend konala v Jizerských horách. Minulý rok mi to nevyšlo, ale tentokrát jsem se rozhodl být u toho a prožít tu atmosféru naplněnou provoněnou parou vznášející se nad šálkem jemné kávy z dílny společnosti Sun (zde si, vážený čtenáři z budoucnosti, jestli ti společnost Sun nic neříká, jednoduchou transformací prvních tří písmenek v názvu, změň jméno společnosti na Oracle). Pár mých postřehů jsem se rozhodl z ekologických důvodů nedávat na papír a proto si tento záznam rozhodně netiskněte!

Pátek

Po poledni jsme vyrazili od Siemensu v Brně po D1 na Prahu. Byli jsme ze začátku tři - vezl jsem i Petra Adámka a Lukáše Vlčka z IBA. Protože jsme v Praze měli ještě naložit Lukáše Hasíka ze Sunu, spojili jsme příjemné z užitečným a zašli jsme si na Chodově do čínské restaurace na oběd. Polívka k menu zdarma zněla lákavě, ale to jsme netušili že budem další dvě hodiny plivat ohnivé koule. Kuře s bambusem a houbami s opékanými nudlemi bylo až na ty houby výborné. Já jsem si do nudlí kápl jednu kapku něčeho červenýho z nádobky na stole... no potom už opravdu nehrozilo, že bych při řízení z Prahy usnul. Rozdejchával a hasil jsem svůj spálený krk ještě večer.

Organizátor jOS, Michal šrakyi Šrajer, naplánoval příjezd účastníků na 16. hodinu. To jsme sice kvůli delšímu zdržení v Praze asi o 40 minut prošvihli, ale vůbec nic se nestalo, protože tým z Inmite včetně Šrakyho přijel až před sedmou. Od sedmi byla večeře, takže opravdový Java program začal až okolo deváté.

Ubytování bylo domluveno v chalupě Pyramida a my tři Brňáci jsme vyfasovali nejlepší a největší pokoj - dvoupodlažní a s věžičkou. Bez problémů by se tam vyspalo 10 lidí.

Před večeří, která probíhala formou rautu, se nic Java-životně-důležitého probrat nezvládlo. V tabulce nejoblíbenějšího jídla večera s přehledem vyhrály borůvkové knedlíky se šlehačkou.

Než jsem šel spát, diskutovalo se o tom, co přináší založení vlastní firmy, o výhodách zaměstnaneckého poměru, jak začít podnikat, kdy je správný čas a jak je to se zakázkama v době krize.

Dalším tématem bylo používání continuous integration (Hudson, TeamCity) a distribuované verzovací systémy (Git, Mercurial). Shodli jsme se víceméně na tom, že distribuované verzování je pro větší projekty/týmy nezbytností, ale hodí se i v případě malých týmů, protože výhody lokální repository a tím možnost procházení historie jsou při offline vývoji neocenitelné.

Protože jsem měl za sebou náročný týden a čtvrtek klasicky strávený ve Vídni, šel jsem už v deset večer spát. Ostatní se při diskusi zdrželi ještě hodinku a témata byla:

  • Dagiho surfování
  • iPhone vs. Android - aneb kdo ho má většího
  • cloud computing

Sobota

Probuzení se do deštivého rána přímo vybízelo k zasednutí ke krbu a povídání o všem možném. Celé dopoledne jsme tedy strávili u Lightning Talků - maximálně sedmiminutových přednášek na různá témata.

  • Petr Ferschmann - Cross platformní desktopový vývoj v Javě
  • Pavel jety Jetenský - Metoda obrácené pyramidy
  • Lukáš Vlček - Compass search engine
  • Ondra satai Nekola - Gtd workflow - Getting Things Done
  • Pavel Petřek - PIM & google maps
  • Michal šrakyi Šrajer - usb flash disk ze starého síťového kabelu
  • Lukáš Hasík - Testování kvality Netbeans - Hudson4QE
  • Lukáš Hasík - Prezentační dovednosti
  • Lukáš Křečťan - Spring web services
  • Honza novoj Novotný - Alternativní tvorba dokumentace
  • Martin Adámek - Inkscape - hezké tlačítko během chvilky
  • Roman dagi Pichlík - Externí DSL
  • Jiří filemon Fabian - erlang
  • Lukáš Křečťan - Fork & Join Framework
  • Petr Adámek - Liferay open-source portál
  • Cyril Sochor - ETL a java - Extract, Transform, Load
  • Michal Malohlava - Jak si naimplementovat letadlo aneb skutečná aplikace MDD

Odpoledne už se rozběhly Open Space Talky ve dvou skupinách:

  • Soap vs. REST
  • Tooly pro Scrum a Agile
  • Jak se udržovat up-to-date (kdo netwittí s námí, twittí proti nám)
  • Java concurrency

Protože se na chvíli umoudřilo i počasí, tak jsme si vyhradili i dvě hodinky na sportovní aktivity. Někteří si zahráli florbálek, já jsem se přidal ke skupince (s hojným zastoupením příznivců platformy OpenSolaris), která vyrazila poznat krásy Jizerských hor zblízka. Po tom, co jsme nenašli správnou odbočku, která sice na mapě vyznačená byla, ale už ji nějak nestihli vyznačit i v terénu, se pár odvážlivců rozhodlo překonat močály a řeku Jizerku mimo značené cesty... Naštěstí to odnesly jen čvachtající boty a ke ztrátám na životech nedošlo. V bažinách jsme na dvou místech míjeli poslední zbytky loňského sněhu - nebýt tam s Java programátorama, tak bych řekl "romantika".

Až do nedělního brzkého rána probíhal Hands-On-Lab pod vedením Petra Adámka - degustace 18 vzorků kvalitních vín z Bílého sklepa, Vinoboxu a FOVINu. Diskusní témata tohoto večera jsou bohužel přísně důvěrná.

Neděle

Vstávání je pro některé náročnější, ale nakonec se Lightning Talky rozběhnou i nedělního rána:

  • - iText a PDF uživatelské formuláře
  • Petr Šmíd - ApiFest - Zpětná kompatibilita
  • Lukáš Kolísko - Řízení driverů, Cloudy, JVM ...
  • Roman roumen Strobl - ZFS - filesystem nové generace
  • Jirka Mareš - Programovací jazyk scala
  • Petr Adámek - Co přináší OpenSolaris pro Java vývojáře
  • Honza Štěrba - Java FX
  • Pavel Jety Jetenský - Lepší než DbUnit
  • zase já - Time management - Naléhavé vs. důležité
  • Petr Ferschmann - JNA - příklad

Následoval zajímavý Open Space talk na téma Cloud computing, databáze (relační, objektové, BigTable), performance a škálovatelnost. Slovo si účastníci předávali přehazováním rugbyové mičudy.

Po obědě jsme se rozloučili a s vyhlídkou na jOpenSpace 2010 v Bílém sklepě jsme se rozjeli za čekajícími dětmi, manželkami, přítelkyněmi a java-aplikacemi.

Komentáře

Populární příspěvky z tohoto blogu

Three ways to redirect HTTP requests to HTTPs in WildFly and JBoss EAP

WildFly application server (and JBoss EAP) supports several simple ways how to redirect the communication from plain HTTP to TLS protected HTTPs. This article presents 3 ways. Two are on the application level and the last one is on the server level valid for requests to all deployments. 1. Request confidentiality in the deployment descriptor The first way is based on the Servlet specification. You need to specify which URLs should be protected in the web.xml deployment descriptor. It's the same approach as the one used for specifying which URLs require authentication/authorization. Just instead of requesting an assigned role, you request a transport-guarantee . Sample content of the WEB-INF/web.xml <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1

Zipujeme efektivně

Jedna ze základních vlastností Javy je práce se ZIP archívy, ať už jsou to knihovny tříd a spustitelné JARy, webové aplikace (war), nebo třeba JEE bumbrlíčci (ear). Není tedy divu, že i přímo v základním API je implementována práce s těmito archívy. Slouží k tomu třídy v balíku java.util.zip a nejzajímavější z nich jsou ZipOutputStream a ZipInputStream. Příkladem budiž vytvoření zipu: //Vytvorime Zip ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("javlog.zip")); //V Zipu chceme mit jeden textovy soubor zos.putNextEntry(new ZipEntry("priznani.txt")); //naplnime obsah textoveho souboru zos.write("Máme rádi Javu!".getBytes()); //zavrem entry (priznani.txt) zos.closeEntry(); //zavrem stream zos.close(); a jeho rozbalení: ZipInputStream zis = new ZipInputStream(new FileInputStream("javlog.zip")); ZipEntry zipEntry; //budem predpokladat, ze v ZIPu mame jen textove soubory a tak je vypisem do konzole while ((zipEntry = zis.getNextE

jd-cli – Command line Java Decompiler

Kdo by neznal jd-gui Java Decompiler (z free.fr) a jeho sourozence, pluginy pro IDE – Eclipse a IntelliJ. Ale nechyběla vám také někdy možnost rychle decompilovat celý JAR nebo WAR do adresáře, případně zobrazit si decompilovanou třídu jen v konzoli bez nutnosti spouštění GUI? Jestliže ano, pak se zkuste podívat na utilitku jd-cli , která toto všechno umožňuje. Tato aplikace je jednoduchý wrapper nad nativní knihovnou pro jd-gui InelliJ plugin. Kde všude tato java aplikace běží? Windows Linux Mac OSX Kompilace Potřebujete git a Maven. git clone git@github.com:kwart/jd-cmd.git cd jd-cmd mvn clean package Rozbalte jd-cli-[version].zip (.tar.gz) někam, kam odkazuje systémová PATH proměnná ( C:\Windows nebo $HOME/bin ) - distribuce obsahuje i spouštěcí skripty (shell a batch), takže pak už jen vesele voláte jd-cli [aParametry] Příklady použití jd-cli HelloWorld.class Zobrazí dekompilovanou třídu v konzoli jd-cli --skipResources -n -g ALL app.jar Dekompiluje obsah