V reportáži z tohoto setkání jsem sliboval, že se pokusíme uveřejnit audio záznamy z jednotlivých session. Od slov došlo k realizaci a je připravena první várka záznamů ve formě podcastů.
Archívy
Všechny články z měsíce Srpen, 2008
I’ve run into interesting and very strange problem. I was writing transactional
Spring test that opens transaction at the beginning of it, and rollbacks at the end. First part of my test performed bunch of INSERT and UPDATE SQL commands and after that I was checking persisted changes by loading data back from the database. Suddenly my tests started to fail. And I was searching for the reason …
Existují situace, kdy aplikaci neinstalujete sami, ale instaluje ji třetí strana – ať už je třetí stranou myšlen technik zákazníka nebo kolega z jiného oddělení firmy. Vy posléze přijdete už k nainstalované aplikaci, u které si nikdy tak úplně stoprocentně nemůžete být jisti verzí neřkuli verzemi knihoven, které daná aplikace používá. Přesto tato znalost může být pro řešení některých problémů zásadní (např. proto, že oprava může spočívat v pouhé instalaci nové verze knihovny / modulu). Můžete se s tím setkat i v daleko prostším případě – pokud vyvíjíte nějaký produkt s velkým množstvím instalací – chvíli vám může trvat než zjistíte jakou verzi má daný zákazník, u kterého řešíte nahlášené problémy.
Přímočarým řešením je vytvoření nějaké info stránky se seznamem knihoven / modulů a jejich verzí, které jsou použity v aplikaci, která by vám umožnila všechny potřebné informace zjistit během vteřiny. V tu chvíli už se ale dostáváte k druhému problému – jak zajistit (nelépe automatické) verzování knihoven, aby bylo zajistěno, že se knihovny budou pravidelně verzovat, a že u všech knihoven bude tato informace jednoduše přístupná (a opět nejlépe jednotným způsobem, aby info stránka neměla s vyhledáváním této informace problém).
Problém se zdá možná jednoduchý, ale můžete narazit na celou řadu nepříjemností jako se to stalo třeba nám. Řešení může být ale opravdu velmi prosté …
Je tomu už drahně let, co jsem používal k populaci JavaBean Commons-BeanUtils z rodiny Apache Jakarta. Od chvíle, kdy stavím svoje aplikace nad Springem, pozbývá používání této knihovny smysl – naopak bylo by bláhové se této knihovny držet, když Spring nabízí již ve svém základu mnohem víc. Prostým logickým úsudkem lze odvodit, že Spring coby IoC kontejner bude obsahovat promyšlenou logiku pro injektování dat do Java Bean. Nicméně v dokumentaci o tom najdete jen poměrně krátkou kapitolu Validation. Proto jsem se rozhodl vyextrahovat ze svého kódu pár příkladů, které standardní Spring dokumentaci trochu rozvádí do podrobností.
Tato reportáž vznikla v průběhu posledních session na J-Open Space konferenci v Jizerských Horách. Je na místě se ptát, co za akci to vlastně bylo.
Jednalo se o první setkání lidí z české Java scény, kteří byli ochotní jeden letní víkend věnovat povídání o Javě a zkušenostech s SW vývojem obecně. Prvotní idea uspořádání konference a vlastní organizace akce patřila Michalovi Šrajerovi (alias Srakyi) ze společnosti Inmite. Výsledný mix 25 účastníků byl velmi pestrý – počínaje zástupci akademické sféry, lidí od Sun Microsystems nebo těch, co se točí okolo CZJUG (za pořadatele Dagi a několik přednášejících) a konče řadou českých bloggerů. Od slov Open Space v názvu konference byl odvozen způsob jakým konference probíhala (bližší informace o pravidlech OSC zde). Seance se dělily typově do tří skupin:
- Lightning talk – přednáška s časovým limitem 15 minut (ne že by se nám dařilo limit naplňovat
) - Open Space talk – volná diskuse na zvolené téma (typicky hodinová záležitost)
- Hands on lab – praktické vyzkoušení vybrané technologie (kickstart)


