Co to jsou Java Closures?

Opět se ve světě jazyka Java objevil fenomén zvaný Java Closures (také zvaný BGGA), který je plánován do Javy 7. Už při prvním uvedení se proti němu zvedla vlna nevole a zdálo se, že tato konstrukce přeci jen v Javě 7 vznikne. Kolem tohoto tématu bylo už napsána spousta textu. Navíc jsme se o tématu Java Closures docela vášnivě pobavili v našem týmu. Proto jsem se rozhodl, že k tomuto tématu upustím nějaké moudro i já…
Pokračovat ve čtení „Co to jsou Java Closures?“

JNDI kontext bez aplikačního serveru?

V praxi jsem se setkal se situaci, kdy potřebuji spouštět unit testy mimo aplikační server. Na tom není nic zvláštního, dělá to každý. Pro testy si vytvořím vlastní konfigurace, které JNDI nepotřebují a je to. Jenže to by nebylo dostatečně zajímavé a hlavně je nutné udržovat dvě konfigurace, což je při vrozené lenosti programátora prostor pro inovaci.
Pokračovat ve čtení „JNDI kontext bez aplikačního serveru?“

Sleva pro nezaměstnané?

Při hledání zajímavého vánočního dárku jsem narazil na věc, která mě skutečně nadzvedla ze židle. Městské Divadlo v Mostě nabízí výrazné slevy pro různé skupiny obyvatel. To, že jsou různě zvýhodňováni důchodci, studenti nebo matky na mateřské se dá pochopit, ale proč proboha mají být zvýhodňováni lidé, kteří žijí na úkor ostatních?
Pokračovat ve čtení „Sleva pro nezaměstnané?“

Tip: Jak na screencast

Dneska mi od kolegy, který dostal za úkol pokopnout jeden problém s buildováním našeho projektu, výsledek jeho práce, a to v celkem netradiční formě – jako screencast. To mě přivedlo na myšlenku, že vůbec nevím, jak se takový screencast dá vyrobit. To mi nedalo spát natolik, že jsem po tom zapátral a zjistitl, že existují moc pěkné nástroje.
Pokračovat ve čtení „Tip: Jak na screencast“

Tip: Logování SQL v Hibernate

Pokud potrebuju logovat SQL v Hibernate spolecne s parametry, muzu pouzit P6Spy.

Ale mnohem jednodušší je použít Log4j 🙂 :

log4j.logger.org.hibernate.SQL = DEBUG
log4j.logger.org.hibernate.type = TRACE

Přiklad vystupu hibernate:

7820 DEBUG [org.hibernate.SQL] {main} - insert into Client (name, personalNumber, id) values (?, ?, ?)
7821 TRACE [org.hibernate.type.StringType] {main} - binding ‘John Doe’ to parameter: 1
7821 TRACE [org.hibernate.type.StringType] {main} - binding ‘123X’ to parameter: 2
7821 TRACE [org.hibernate.type.LongType] {main} - binding ‘10′ to parameter: 3