iBatis 3 workshop
Jelikož máme na našich projektech bohaté zkušenosti s iBatis frameworkem verze 2, rozhodli jsme se navštívit workshop o jeho třetí verzi, který organizoval CZJUG a přednášel Jan Novotný (otec Fura, FG Forrest)….
Czech Java User Group
Jelikož máme na našich projektech bohaté zkušenosti s iBatis frameworkem verze 2, rozhodli jsme se navštívit workshop o jeho třetí verzi, který organizoval CZJUG a přednášel Jan Novotný (otec Fura, FG Forrest)….
Firma JetBrains vydala novou verzi programovacího prostředí IntelliJ IDEA nejen pro Javu s pořadovým číslem 9. A učinila malou revoluci – zveřejnila odlehčenou (Community) verzi zcela zdarma a navíc jako open-source. Jako vždy vám přináším přehled novinek tohoto vydání a jako bonus se podíváme právě na Community verzi.
SpringSource je v současnosti jedním z největších dodavatelů webových technologií a dá se očekávat, že se tento fakt do budoucna nezmění. Ačkoliv se tato firma v podstatě zrodila z nápadu jednoho člověka (Rob Johnson) a jedné technologie (Spring) její působnost se doslova ze dne na den rozrostla na mnoho dalších souvisejících technologií….
Minulý týden jsem zase trochu programoval, psal jsem jednu webovou službu. Ta měla WSDL definované třetí stranou, takže to byla poměrně jednoduchá a rutinní záležitost. Vzal jsem XML schema, z něj vygeneroval XmlBeans a začal jsem implementovat. Narazil jsem ale na jeden problém, který se mi nedařilo vyřešit…
K napsání tohoto článku mě inspiroval Ondra Medek svými maily v javovské konferenci v lednu 2010, v nichž se podivoval nad tím, že Java automaticky neuklízí zavřená okna. Pokud okno nemá nastaveno DISPOSE_ON_CLOSE, je při zavření pouze schováno a nadále zabírá paměť. K jeho dealokaci dojde až při zavolání metody dispose(). V tomto článku si […]
V poslední době jsem se začal věnovat aspect oriented programming (AOP) a aspectj. Velmi mě překvapilo jak elegantně se pomocí AOP dá řešit určité problémy a měření výkonu a času strávené voláním metod patří do této kategorie. Před tím, než budete pokračovat v čtení doporučuji začít krátkým tutoriálem: http://www.eclipse.org/aspectj/doc/next/progguide/starting-aspectj.html, kde jsou vysvětleny základní pojmy. Koho […]
Oblíbená trojkombinace technologií v podobě aplikačního rámce Spring, DWR a jQuery nám umožňuje Javascriptem volat metody servisních tříd spravovaných Springem. To je poměrně efektivnější přístup než příprava podobných řešení přímo v duchu MVC. Ve Springu 3.0. je však nově implementována zjednodušená podpora pro Ajax v podobě mvc-ajax modulu,…
Aplikace řadu funkcí a dat publikuje přes webové služby. Je to rozhraní naší aplikace, na které se většinou pojí aplikace třetích stran, a proto je žádoucí mít aspoň nějakou jistotu, že nám rozhraní přes webové služby funguje. Webové služby jsou generovány dynamicky pomocí Apache CXF (pozn.: s tímto přístupem se neztotožňuji) a není výjimkou,…
Přidávání tabulek, sloupců, integritních omezení, přejmenovávání a štěpení tabulek, konfigurace vývojového, testovacího a produkčního prostředí… Je mnoho požadavků, které mají vliv na podobu datového modelu. V tomto blogu zkusím popsat běžné činnosti týkající se správy relačního datového modelu a stručně představit nástroj LiquiBase. internetové odkazy: http://tom2ee-cs.blogspot.com/2010/01/verzovani-datoveho-modelu-liquibase.html
V tomto krátkém článku si ukážeme, že i v Javě (přesněji Sun JDK) můžeme používat ukazatelovou aritmetiku. Nehledejte v tom však něco praktického. Jde spíše o exkurzi do méně známých končin JDK. Celé kouzlo je schováno ve tříde sun.misc.Unsafe. Tato třída umožňuje např. přímý přístup do paměti, atomické operace s pamětí (Compare and Swap), kopírování […]
Class diagramy dnes umí vygenerovat mnoho nástrojů, ale přesto jsme raději nakonec použili vlastní řešení pro generování class diagramů. Mnohdy nám přišla nedostatečná kvalita vygenerovaných diagramů, jindy zase bylo málo možností konfigurace generování a nakonec se ukázalo, že bychom rádi celý proces generování class diagramů zautomatizovali,…
Další ze série článků o zajímavých, ale možná méně známých technologiích navazuje pojednáním o frameworku Play. Pojďme se tedy podívat, co nám tento nástroj, který nedávno dospěl do verze 1.0, nabízí. Představení Play – framework, který se velmi podobá principům Grails, ale jde svou vlastní cestou co největší jednoduchosti a usnadnění…
autor: Štefan Havlíček, Sales Engineer, InterSystems B.V. Persistentní objekty a Java projekce V minulém díle jsme si ukázali, jakým způsobem se provádí připojení k databázi Caché. Dnes budeme pokračovat a budeme předpokládat, že již existují třídy, které mají v sobě zabudováno rozhraní pro persistenci jejich instancí. Takovéto třídy je možné vygenerovat v prostředí Caché pomocí postupu zvaného java […]
autor: Štefan Havlíček, Sales Engineer, InterSystems B.V. Persistentní objekty a Java projekce V minulém díle jsme si ukázali, jakým způsobem se provádí připojení k databázi Caché. Dnes budeme pokračovat a budeme předpokládat, že již existují třídy, které mají v sobě zabudováno rozhraní pro persistenci jejich instancí. Takovéto třídy je možné vygenerovat v prostředí Caché pomocí postupu zvaného java […]
Možná se někdy může stát, že je zapotřebí něco zašifrovat a třeba by též nebylo špatné viděl na implementaci. Zde uvádím nejjednodušší variantu RC4, kterou jsem našel na netu napsanou v Javascriptu (zde je link: http://farhadi.ir/works/rc4) a přepsal jsem ji do Javy. Oproti implementaci v package java.crypto jako parametr předpokládá binární data (String) namísto pole […]
Na posledním projektu jsem dělal větší část práce na GUI a nehodlal jsem stále dokola klikat jak cvičená opice a raději jsem si dal trochu práce s nasazením Selenium remote control. Nešlo ani tak o jednotkové testy jako spíš o integrační a regresní testování. Zvolil jsem remote control a ne plugin do firefoxu (Selenium IDE), protože takto […]
Tento článek vznikl jako reakce na diskuzi v javovské konferenci konference@java.cz v listopadu 2009. Předmětem diskuze zde bylo řazení podle ČSN 97 6030. V dalším textu se nebudeme této normy striktně držet. Cílem článku není popsat implementaci řazení podle normy, ale spíše ukázat možnosti, které máme v Javě k dispozici pro abecední řazení řetězců. Chceme-li […]
autor: Štefan Havlíček, Sales Engineer, InterSystems B.V. Proměnné, tabulky symbolů a rozsahy platnosti v Jythonu Pro připojení k databázovým systémům používá Jython rozhraní JDBC. To vyžaduje pouze vhodný ovladač pro danou databázi. My budeme používat databázi Caché, což je již téměř 30 let velice efektivní databázová technologie vycházející z vícerozměrného uspořádání dat, která nabízí vysoký […]
autor: Štefan Havlíček, Sales Engineer, InterSystems B.V. Proměnné, tabulky symbolů a rozsahy platnosti v Jythonu Pro připojení k databázovým systémům používá Jython rozhraní JDBC. To vyžaduje pouze vhodný ovladač pro danou databázi. My budeme používat databázi Caché, což je již téměř 30 let velice efektivní databázová technologie vycházející z vícerozměrného uspořádání dat, která nabízí vysoký […]
V dnešním článku bych vám rád představil zajímavou knihovnu, která přináší do nynější verze Javy takové techniky, kterých se nejspíše dočkáme v dalším vydání tohoto programovacího jazyka. Pojďme si tedy ukázat, co nám knihovna Lombok nabízí.