<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9-rare" -->
<rss version="0.92">
<channel>
	<title>Java Planet</title>
	<link>http://blog.swierczyna.eu/javaplanet</link>
	<description>O Javie i jej otoczeniu</description>
	<lastBuildDate>Thu, 11 Mar 2010 09:42:07 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Maven dependency scopes</title>
		<description><![CDATA[Maven provides four dependency scopes:

compile: A compile-scope dependency is available in all phases. This is the default value.
provided: A provided dependency is used to compile the application, but will not be deployed. You would use this scope when you expect                [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2010/03/maven-dependency-scopes/</link>
			</item>
	<item>
		<title>Toplink wydajność &#8211; encje readonly</title>
		<description><![CDATA[Jak wiadomo korzystanie z JPA, niesie z sobą bardzo wiele udogodnień, np.: umożliwia w miarę bezbolesne połączenie świata relacyjnego (baza danych) z światem obiektowości (java). Niestety jak każde rozwiązanie tego pociąga za sobą narzut wydajnościowy, szczególnie widoczny w czasie masowych operacji.
Jeśli jednak nasze operacje są typu &#8220;readonly&#8221;, czyli używamy JPA tylko do pozyskiwania encji z [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/12/toplink-readonly-wydajnosc-performance/</link>
			</item>
	<item>
		<title>Maven automatyzacja tworzenia kolejnych wydań oprogramowania</title>
		<description><![CDATA[Tworzenie nowych wydań oprogramowania bardzo często idzie w parze z tworzeniem nowych tagów w svn. Aby zautomatyzować ten proces polecam użyć pluginu mavena: maven-release-plugin
Utwórz nowy projekt maven.
$ mvn archetype:generate -DgroupId=com.example -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT
Umieszczamy projekt w svn w miejscu w tzw &#8220;trunku&#8221;. Dla naszego przykładu będzie to:
https://example.com/workspace/m2versioning/moduleA/trunk
Przygotuj miejsce na tagi w svn:
$ svn mkdir https://example.com/workspace/m2versioning/moduleA/tags
Dodaj odpowiednie wpisy [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/maven-automatyzacja-tagowanie-release-svn/</link>
			</item>
	<item>
		<title>Maven różności</title>
		<description><![CDATA[Kilka przydatnych komend mavena. Na razie nie ma ich tutaj zbyt wiele, ale postaram się uzupełniać listę w miarę natykania się na nowe, ciekawe konstrukcje.
 Ręczna instalacja pliku w lokalnym repozytorium Mavena
$ mvn install:install-file \
-DgroupId=eu.swierczyna -DartifactId=swierczyna-core -Dversion=0.5.7 \
-Dpackaging=jar \
-Dfile=/home/seba/NetBeansProjects/ProvisioningCoreLibrary/dist/MyLibrary.jar
Utworzenie nowego projektu:
$ mvn archetype:generate -DgroupId=eu.swierczyna -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT
Wygenerowanie klienta Webservices JAX-RPC przy użyciu maven2 i axis1.4
http://java.dzone.com/tips/jax-rpc-client-maven2
Uruchomienie programu [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/maven-roznosci-howto/</link>
			</item>
	<item>
		<title>Wdrażanie aplikacji na zdalnym GlassFish przy użyciu Maven2</title>
		<description><![CDATA[Aby przeprowadzić deployment aplikacji na zdalnym serwerze GlassFish przy użyciu Mavena, polecam użyć pluginu: asadmin-maven-plugin.
Plugin ten umożliwia wykonywanie, także innych zadań które zazwyczaj wykonywane są z asadmin.

Aby skorzystać z dobrodziejstw pluginu należy dodać odpowiednie wpisy do pliku pom.xml.
Plugin repository:

&#60;pluginRepositories&#62;
   &#60;pluginRepository&#62;
      &#60;id&#62;asadmin-maven-plugin-releases-repository&#60;/id&#62;
      &#60;name&#62;asadmin-maven-plugin-releases-repository&#60;/name&#62;
  [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/11/zdalny-deploy-glassfish-maven/</link>
			</item>
	<item>
		<title>Rekursywna zmiana uprawnień w Linux</title>
		<description><![CDATA[Poniżej przykład umożliwiający zmianę uprawnień do wszystkich plików w bieżącym katalogu, tak aby mógł je czytać dowolny użytkownik. Nadajemy prawa tylko do odczytu.
Aby wykonać do poprawnie musimy przeglądnąć wszystkie podkatalogi rozróżniają pliki i katalogi (katalogi otrzymują 755, a pliki 644). Z pomocą przychodzi polecenie &#8220;find&#8221;.

# Nadaj wszystkim podkatalogom prawo 755
find . -type d -exec chmod [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/rekursywna-zmiana-uprawnien-linux-katalog-plik/</link>
			</item>
	<item>
		<title>Jak rodzi się obiekt</title>
		<description><![CDATA[Tytuł trochę przewrotny, ale będzie o tworzeniu nowego obiektu, a dokładniej o tym w jakiej kolejności inicjowane są poszczególne jego elementy


class SuperClass {

	public SuperClass(){
		System.out.println(&#34;Super class Constructor&#34;);
	}

}

public class InitBlocks extends SuperClass{

	private int properties = propInit();

	private int propInit() {
		System.out.println(&#34;properties init&#34;);
		return 1;
	}

	public InitBlocks() {
		System.out.println(&#34;constructor&#34;);
	}

	static {
		System.out.println(&#34;static init block&#34;);
	}

	{
		System.out.println(&#34;instance init block&#34;);
	}

	public static void main(String[] args) {
		System.out.println(&#34;start main&#34;);
		InitBlocks test = new [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/jak-rodzi-sie-obiekt-kolejnosc/</link>
			</item>
	<item>
		<title>Operatory logiczne Short-Circuit</title>
		<description><![CDATA[Czasami wiesz, że coś jest prawdą, nie tracąc czasu, aby dowiedzieć się wszystkich szczegółów. Na przykład, jeśli ktoś mówi do ciebie: &#8220;Wyjdę na zewnątrz, jeśli świeci słońce lub &#8230;&#8221;, to nie ma znaczenia co jest po LUB -i tak dalej, jak wiesz, że jest słonecznie. Program w Javie robi to samo.
Jednak nie każdy wie, że [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/operator-logiczny-short-circuit/</link>
			</item>
	<item>
		<title>Magiczny switch-case</title>
		<description><![CDATA[Nigdy nie podobała mi się konstrukcja switch/case w javie. Może dlatego, że jej działanie jest nie do końca intuicyjne.

public class SwithCase {

	// zmienna nie może być typu long
	// Cannot switch on a value of type long. Only convertible int values or enum constants are permitted
	//static public long i = 10;

	// za to możemy mieć zmienną [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/magiczny-switch-case/</link>
			</item>
	<item>
		<title>Postinkrementacja i warunki logiczne</title>
		<description><![CDATA[Ciekawe i podchwytliwe pytanie z JavaBlackBelt dotyczące postinkrementacji (a++) oraz instrukcji if/else if/else

/**
 * Przykład postinkrementacji i warunków logicznych
 */
public class Increment {
	public static void main(String[] args) {
		int a = 0;
		if (a++ == 1) {
			a++;
			System.out.println(&#34;1: a=&#34;+a);
		} else if (a++ &#60; 0) {
			a++;
			System.out.println(&#34;2: a=&#34;+a);
		} else {
			a += 2;
			System.out.println(&#34;3: a=&#34;+a);
		}
		System.out.println(&#34;4: a=&#34; + a);
	}
	/**
	 * Rezultat
	 * 3: [...]]]></description>
		<link>http://blog.swierczyna.eu/javaplanet/2009/10/postinkrementacja-warunki-logiczne/</link>
			</item>
</channel>
</rss>
