<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.konri.com &#187; Java</title>
	<atom:link href="http://www.konri.com/tag/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.konri.com</link>
	<description>KONRI.COM - Java, GWT, Spring, Billing dla SaaS...</description>
	<lastBuildDate>Mon, 19 Jul 2010 07:26:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>InvalidQueryException: Parse error: data is not a RelationQueryNode</title>
		<link>http://www.konri.com/2009/05/invalidqueryexception-parse-error-data-is-not-a-relationquerynode</link>
		<comments>http://www.konri.com/2009/05/invalidqueryexception-parse-error-data-is-not-a-relationquerynode#comments</comments>
		<pubDate>Thu, 28 May 2009 08:54:41 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jackrabbit]]></category>
		<category><![CDATA[jcr]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=254</guid>
		<description><![CDATA[
Ostatnio z potrzeb zawodowych zająłem się JCR - konkretnie Jackrabbitem. Próbując załadować obiekt z repozytorium otrzymywałem błąd: InvalidQueryException: Parse error: data is not a RelationQueryNode. Błąd spowodowany był tym, że nie kodowałem XPath&#8217;a którego używałem do załadowania obiektów.
Błąd był spowodowany niewłaściwym kodowaniem znaków, ID obiektu, który chciałem załadować składało się z liczb, przesłane bez zakodowania ISO-9075 powodowało błąd.
Wystarczyło dodać kodowanie za pomocą klasy org.apache.jackrabbit.util.ISO9075 (znajduje się ona w bibliotece jackrabbit-jcr-commons-1.5.5.jar).
Przykładowe rozwiązanie:
[java]return (Person) jcrMappingTemplate.getObject(&#8220;/person/&#8221; + ISO9075.encode(id));[/java]
by wszystko wróciło do normy.
]]></description>
		<wfw:commentRss>http://www.konri.com/2009/05/invalidqueryexception-parse-error-data-is-not-a-relationquerynode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optymalizacja przy pomocy algorytmu Symulowanego Wyżarzania</title>
		<link>http://www.konri.com/2009/04/optymalizacja-za-pomoca-symulowanego-wyzarzania</link>
		<comments>http://www.konri.com/2009/04/optymalizacja-za-pomoca-symulowanego-wyzarzania#comments</comments>
		<pubDate>Sun, 12 Apr 2009 17:35:56 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Polecane]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=189</guid>
		<description><![CDATA[W kilku projektach, nad którymi pracowałem przyszło mi użyć już kilka razy algorytmu Symulowanego Wyżarzania (ang. Simulated Annealing). Symulowane wyżarzanie to rodzaj algorytmu heurystycznego, przeszukującego przestrzeń alternatywnych rozwiązań problemu w celu wyszukania rozwiązań najlepszych. Sposób działania symulowanego wyżarzania przypomina zjawisko wyżarzania w metalurgii.
Z racji dość uniwersalnego zastosowania, w nowym projekcie postanowiłem zdefiniować problem jako interfejs, i zaimplementować generalne rozwiązanie dla niego.

Na listingu poniżej klasa SimulatedAnnealing implementująca wspomniany algorytm:
[java]
package com.konri.science.sa;
import com.konri.science.utils.IProgressListener;
public class SimulatedAnnealing {
    private ISimulatedAnnealingProblem problem;
    private IProgressListener progressListener;
    private double ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/04/optymalizacja-za-pomoca-symulowanego-wyzarzania/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring i RESTTemplate</title>
		<link>http://www.konri.com/2009/04/spring-i-resttemplate</link>
		<comments>http://www.konri.com/2009/04/spring-i-resttemplate#comments</comments>
		<pubDate>Mon, 06 Apr 2009 21:35:11 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Polecane]]></category>
		<category><![CDATA[Spring Framework]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[springframework]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=148</guid>
		<description><![CDATA[Jak donosi blog twórców Spring framework, a konkretnie Arjen Poustma, Spring 3.0 zostanie wzbogacony o nowy Template &#8211; a mianowicie RestTemplate, który ma być podobny do już istniejących szablonów, takich jak  JdbcTemplate czy JmsTemplate, co oznacza między innymi synchronizację (thread-safe) czy rozszerzanie operacji przez tzw. operacje callback.
RestTemplate pozwalać będzie na automatyczne konwertowanie odpowiedzi na obiekt Java. Kilka standardowych konwerterów będzie wbudowanych (domyślam się, że JSON i XML), łatwo będzie również rozszerzyć je o własne implementacje. 
RestTemplate oferować będzie wszystkie podstawowe metody REST (GET, POST, PUT, DELETE, HEAD oraz OPTIONS). ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/04/spring-i-resttemplate/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 1.6 beta 2</title>
		<link>http://www.konri.com/2009/04/gwt-16-beta-2</link>
		<comments>http://www.konri.com/2009/04/gwt-16-beta-2#comments</comments>
		<pubDate>Thu, 02 Apr 2009 22:17:47 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Polecane]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=120</guid>
		<description><![CDATA[Jak donosi blog twórców GWT udostępniona została dzisiaj druga wersja beta tej biblioteki. GWT używam z powodzeniem już od wersji 1.4, sprawdziło się zarówno jako dodatek do istniejących projektów, zapewniający większą dynamikę fragmentów interfejsu, aż po praktycznie całe UI wsparte tą biblioteką.
W wersji 1.6 wprowadzono szereg zmian, przede wszystkim:

nową strukturę projektu zbliżoną do standardowego archiwum aplikacji internetowej Java &#8211; czyli WAR&#8217;a,
zmieniono API obsługi zdarzeń &#8211; obecne do tej pory EventListener&#8217;y zastąpiono EventHandler&#8217;ami. Każdy nowy interfejs posiada jedynie jedną metodę, wobec tego nie jesteśmy zmuszeni do pustych implementacji lub używania adapterów. ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/04/gwt-16-beta-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testowanie zapytań REST</title>
		<link>http://www.konri.com/2009/04/testowanie-zapytan-rest</link>
		<comments>http://www.konri.com/2009/04/testowanie-zapytan-rest#comments</comments>
		<pubDate>Wed, 01 Apr 2009 23:43:19 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Narzędzia]]></category>
		<category><![CDATA[Polecane]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=106</guid>
		<description><![CDATA[Jeżeli tworzysz serwis udostępniający interfejs w formie REST lub integrujesz projekt z API wy-eksponowanym jako zapytania REST z pewnością przyjdzie Ci z pomocą narzędzie RESTClient.
To z pozoru proste narzędzie pozwala szybko prototypować lub testować nowe funkcje API.
Dystrybuowane jest w postaci archiwum JAR.
Uwaga: Narzędzie wymaga JRE w wersji 1.6, jeżeli więc na konsoli pojawi się taki komunikat: &#8220;Exception in thread &#8220;AWT-EventQueue-0&#8243; java.lang.NoSuchMethodError&#8230;&#8221; &#8211; prawdopodobnie używasz JRE 1.5.
RESTClient posiada całą gamę opcji, począwszy od wyboru metody HTTP, edycji nagłówków (Headers) skończywszy na obsłudze SSL i tworzeniu całych skryptów testujących.
Podświetlanie składni działa zarówno ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/04/testowanie-zapytan-rest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross-site request forgery</title>
		<link>http://www.konri.com/2009/03/cross-site-request-forgery</link>
		<comments>http://www.konri.com/2009/03/cross-site-request-forgery#comments</comments>
		<pubDate>Sun, 29 Mar 2009 01:54:42 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Polecane]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=63</guid>
		<description><![CDATA[Cross-site request (Wikipedia: PL i EN) forgery jest to bardzo interesujący sposób ataku na aplikację internetową. Najciekawsze w nim jest, że sam atakowany użytkownik nie musi praktycznie wykonywać żadnej czynności. Pierwsze wzmianki o tej &#8220;metodzie&#8221; pochodzą z 1988 roku z artykułu Norm&#8217;a Hardy.  W 2008 roku ofiarami tego typu ataków padły serwisy takich gigantów jak Amazon czy eBay.
Atak polega na przesłaniu do użytkownika kodu, który wykonany po stronie ich klienta przesyła spreparowane żądania do innego serwera, wykorzystując istniejącą, uwierzytelnioną sesję. Przykładem może być przesłanie do osoby na czacie kodu HTML ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/03/cross-site-request-forgery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT i kod generowany z XSD</title>
		<link>http://www.konri.com/2009/03/gwt-i-kod-generowany-z-xsd</link>
		<comments>http://www.konri.com/2009/03/gwt-i-kod-generowany-z-xsd#comments</comments>
		<pubDate>Fri, 27 Mar 2009 11:14:23 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Polecane]]></category>
		<category><![CDATA[Spring Framework]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsd]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=55</guid>
		<description><![CDATA[Ostatnio zmierzyliśmy się z ciekawym zadaniem integracji pewnej aplikacji z innym systemem poprzez REST.
Aplikacja nad którą pracujemy to w pewnym sensie interfejs do większego systemu (frontend). Jest to system oparty o Springframework 2.5 a interfejs użytkownika zbudowany jest w większości w GWT. Po stronie serwerowej  nasza aplikacja komunikuje się z innym systemem poprzez REST, wymieniając informacje w XML&#8217;u.
Oczywiście przesyłane wiadomości opisane zostały w XSD.
Długo szukaliśmy odpowiedniego rozwiązania serializacji i deserializacji (lub marschalingu i demarschalingu &#8211; jak ktoś woli) przesyłanych komunikatów do obiektów w Javie. XSD we wczesnej fazie projektu dość ...]]></description>
		<wfw:commentRss>http://www.konri.com/2009/03/gwt-i-kod-generowany-z-xsd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pierwsza aplikacja dla Android&#8217;a</title>
		<link>http://www.konri.com/2009/01/pierwsza-aplikacja-dla-androida</link>
		<comments>http://www.konri.com/2009/01/pierwsza-aplikacja-dla-androida#comments</comments>
		<pubDate>Sat, 31 Jan 2009 00:10:04 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[Różności]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=22</guid>
		<description><![CDATA[Witam,
Właśnie wgrałem pierwszą aplikację dla platformy Android do Android Market.
Nie mogę się doczekać, by zobaczyć, jak zostanie odebrana.
Niebawem postaram się podzielić doświadczeniami.
Aplikacja nazywa się Tringles &#8211; to prosta gra logiczna.
Pozdrawiam.
]]></description>
		<wfw:commentRss>http://www.konri.com/2009/01/pierwsza-aplikacja-dla-androida/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IntelliJ IDEA 8.0 &#8211; Strzał w dziesiątkę (ósemką)</title>
		<link>http://www.konri.com/2008/11/intellij-idea-80-strzal-w-dziesiatke-osemka</link>
		<comments>http://www.konri.com/2008/11/intellij-idea-80-strzal-w-dziesiatke-osemka#comments</comments>
		<pubDate>Tue, 11 Nov 2008 16:02:55 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[jetbrains]]></category>
		<category><![CDATA[programistyczne]]></category>
		<category><![CDATA[środowisko]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=19</guid>
		<description><![CDATA[Najnowsza wersja IntelliJ IDEA 8.0, świetnego środowiska do tworzenia aplikacji w Javie, Ruby (i nie tylko) jest już dostępna od kilku dni. 30 dniową wersję próbną można pobrać ze stron producenta, firmy JetBrains.
Nowości jest dużo, już od kilku miesięcy korzystałem z EAP, więc większość z nich nie była zaskoczeniem. Z ważniejszych nowości można wymienić:

wsparcie dla SQL-99, MySQL i SQLLite, zarówno edycji kodu jaki dołączenie konsoli do uruchamiania skryptów wprost z IDE,
wsparcie dla FreeMarker i Velocity,
Spring2.5 wraz z technologiami pokrewnymi &#8211; takimi jak Spring Webflow, MVC i Dynamic Modules,
GWT 1.5 &#8211; ...]]></description>
		<wfw:commentRss>http://www.konri.com/2008/11/intellij-idea-80-strzal-w-dziesiatke-osemka/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem z JVM uniemożliwiający uruchomienie aplikacji w IntelliJ IDEA (GWT + Mac OS X + Java 1.5 + IntelliJ 8.0)</title>
		<link>http://www.konri.com/2008/10/problem-z-jvm-uniemozliwiajacy-uruchomienie-aplikacji-w-intellij-idea-gwt-mac-os-x-java-15-intellij-80</link>
		<comments>http://www.konri.com/2008/10/problem-z-jvm-uniemozliwiajacy-uruchomienie-aplikacji-w-intellij-idea-gwt-mac-os-x-java-15-intellij-80#comments</comments>
		<pubDate>Sat, 25 Oct 2008 15:23:19 +0000</pubDate>
		<dc:creator>Konrad</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[kompilator]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://www.konri.com/?p=16</guid>
		<description><![CDATA[Od pewnego czasu dręczył mnie problem z JVM przy kompilacji projektu (konkretnie jego części w GWT) nad którym obecnie pracuję. Kompilator GWT sygnalizował błąd: CFMessagePortCreateLocal oraz CFMessagePort (z informacją: CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 &#8230; java.ServiceProvider). Jak uważa Apple (link) &#8211; błąd błahy i niewarty uwagi &#8211; no i fakt, Ant sobie z nim radził, ale już nie IntelliJ IDEA &#8211; za nic nie dało się zmusić IDE do zignorowania błędu (co zresztą nie było by i tak najlepszym rozwiązaniem). W końcu z pomocą przyszedł ten link.
(Na obrazku zrzut ...]]></description>
		<wfw:commentRss>http://www.konri.com/2008/10/problem-z-jvm-uniemozliwiajacy-uruchomienie-aplikacji-w-intellij-idea-gwt-mac-os-x-java-15-intellij-80/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
