<?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>722</title>
	<atom:link href="http://722.kalaari.net/b/lang/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://722.kalaari.net/b</link>
	<description>f 722 t 722 p 722 oxygen 722 722 722</description>
	<lastBuildDate>Wed, 17 Feb 2010 17:23:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Some jRRD news</title>
		<link>http://722.kalaari.net/b/lang/en/2010/02/17/some-jrrd-news</link>
		<comments>http://722.kalaari.net/b/lang/en/2010/02/17/some-jrrd-news#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:23:31 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[jrrd]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jrobin]]></category>
		<category><![CDATA[rrd]]></category>
		<category><![CDATA[rrd4j]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=90</guid>
		<description><![CDATA[Some (old) news about jRRD, a pure java library that allows you to read Round Robin Database files created by rrdtool.
The project has been &#8220;mavenized&#8221; and moved to SVN (ok, maybe we should have switched directly to Git, please don&#8217;t tell Linus we are still using SVN).
A version 0.3 has been released, a full changelog [...]]]></description>
			<content:encoded><![CDATA[<p>Some (old) news about <a href="http://jrrd.sourceforge.net/index.html">jRRD</a>, a pure java library that allows you to read <a href="http://oss.oetiker.ch/rrdtool/">Round Robin Database</a> files created by rrdtool.</p>
<p>The project has been &#8220;mavenized&#8221; and moved to SVN (ok, maybe we should have switched directly to Git, please <a href="http://vodpod.com/watch/65074-tech-talk-linus-torvalds-on-git">don&#8217;t tell Linus we are still using SVN</a>).</p>
<p>A <a href="http://jrrd.sourceforge.net/download.html">version 0.3</a> has been released, a full changelog can be found <a href="http://jrrd.sourceforge.net/news.html">here</a>. The main changes are:</p>
<ul>
<li>a patch to fix the case of multiple datasources has been applied (initialy provided by Juraj Sucik).</li>
<li>supports version 3 rrd files (jRRD v0.1 only had support for version 1 rrd files)</li>
<li>x86_64 files (only tested on linux 64bits plateform, if you have access to other 64bits plateform, please contact us)</li>
</ul>
<p><br/><br />
The project is not really active because in its current state, it fits our needs, so fill free to wake it up and send us your feature requests.</p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2010/02/17/some-jrrd-news/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin rxvt under windows Seven</title>
		<link>http://722.kalaari.net/b/lang/en/2010/02/17/cygwin-rxvt-under-windows-seven</link>
		<comments>http://722.kalaari.net/b/lang/en/2010/02/17/cygwin-rxvt-under-windows-seven#comments</comments>
		<pubDate>Wed, 17 Feb 2010 16:11:46 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[rxvt]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=77</guid>
		<description><![CDATA[Ok, you&#8217;ve not been blessed by the MacOS Spirit so you don&#8217;t have a MBP but you&#8217;d like to have a decent *nix term under windows Seven. You tried the same shortcut that worked previously under XP:
C:\Cygwin\bin\rxvt.exe -g 120×70+75+-1  -sl 1500 -fn courier -bg black -fg grey -sr -e bash –login -i
but all you [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, you&#8217;ve not been blessed by the MacOS Spirit so you don&#8217;t have a MBP but you&#8217;d like to have a decent *nix term under windows Seven. You tried the same shortcut that worked previously under XP:</p>
<pre class="brush:shell; gutter: false">C:\Cygwin\bin\rxvt.exe -g 120×70+75+-1  -sl 1500 -fn courier -bg black -fg grey -sr -e bash –login -i</pre>
<p>but all you get is big window with strange spacing between chars:<br/><br />
<a href="http://722.kalaari.net/b/wp-content/uploads/2010/02/cygwin-rxvt-seven-bad.png"><img class="alignnone size-medium wp-image-84" title="cygwin-rxvt-seven-bad" src="http://722.kalaari.net/b/wp-content/uploads/2010/02/cygwin-rxvt-seven-bad-300x118.png" alt="" width="300" height="118" /></a>.<br />
Ok, it&#8217;s time to customize some stuff. Open a cygwin shell (or an ugly uncustomized rxvt), go to your home directory, and create/edit your <em>.Xdefaults</em> file to fit this one:</p>
<pre class="brush:shell; gutter:false">
#Rxvt.reverseVideo:      true
Rxvt.scrollBar_right:   false
Rxvt.saveLines:         2048
Rxvt.font:              "Lucida Console-12"
</pre>
<p>Then edit your shortcut to something similar to this one:</p>
<pre class="brush:shell; gutter:false">
C:\cygwin\bin\rxvt.exe -display :0 -bg black -fg grey -tn rxvt -sr -sl 1500 -g "140x60+1+-1" -e /usr/bin/bash --login -i
</pre>
<p>If you need to adjust the size of the window, you can change the <em>-g &#8220;140&#215;60+1+-1&#8243;</em> values.<br/><br />
You should now get something much more like that:<br/><br />
<a href="http://722.kalaari.net/b/wp-content/uploads/2010/02/cygwin-rxvt-seven-good.png"><img src="http://722.kalaari.net/b/wp-content/uploads/2010/02/cygwin-rxvt-seven-good-300x129.png" alt="" title="cygwin-rxvt-seven-good" width="300" height="129" class="alignnone size-medium wp-image-85" /></a><br/><br />
Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2010/02/17/cygwin-rxvt-under-windows-seven/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piwik Analytics plugin for Hudson</title>
		<link>http://722.kalaari.net/b/lang/en/2009/11/02/piwik-analytics-plugin-for-hudson</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/11/02/piwik-analytics-plugin-for-hudson#comments</comments>
		<pubDate>Mon, 02 Nov 2009 21:44:56 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[piwik analytics]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=63</guid>
		<description><![CDATA[Piwik is an open source (GPL licensed) web analytics software program (similar to Google Analytics). Hudson is a continuous integration server. If you want to track visits on your Hudson server using piwik, you need a Piwik Analytics plugin for Hudson. None exists officialy. I had a look at the Google Analytics plugin and adapted [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://piwik.org/">Piwik</a> is an open source (GPL licensed) web analytics software program (similar to Google Analytics). <a href="http://hudson-ci.org/">Hudson</a> is a continuous integration server. If you want to track visits on your Hudson server using piwik, you need a Piwik Analytics plugin for Hudson. None exists officialy. I had a look at the Google Analytics plugin and adapted it to Piwik.</p>
<p>All you&#8217;ll need is a piwik siteId, the piwik server name and path of your piwik installation. And the Piwik Analytics plugin for Hudson that you can <a class="piwik_download" href="http://722.kalaari.net/b/wp-content/uploads/piwikanalytics.hpi">download here</a> (<del datetime="2009-11-03T08:48:14+00:00">save as&#8230;</del>) till there is an official version available (maybe some more tests needed, any feedback will be appreciated!)</p>
<p><em>Update 2009-11-03</em>: I fixed the mime type for hpi files so no more Save as should be needed.<br />
<em>Update 2009-11-04:</em> some minor changes: french translations and the possibility to add download extensions (see <a href="http://piwik.org/docs/javascript-tracking/"></p>
<p>http://piwik.org/docs/javascript-tracking/</a></p>
<p><em>Update 2009-11-06</em>: fixed the package to be compatible with jdk 1.5<br />
<strong>Update 2009-11-07</strong>: the plugin has been <a href="http://wiki.hudson-ci.org/display/HUDSON/Piwik+Analytics+Plugin">officially released</a> and should be available in you admin plugin list.</p>
<p><img border="0" src="/b/wp-content/uploads/2009/11/Capture-1.png" alt="Hudson Piwik Analytics plugin" /></p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/11/02/piwik-analytics-plugin-for-hudson/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora Core 11 &amp; VMware Player 2.5.2</title>
		<link>http://722.kalaari.net/b/lang/en/2009/06/23/fedora-core-11-vmware-player-2-5-2</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/06/23/fedora-core-11-vmware-player-2-5-2#comments</comments>
		<pubDate>Tue, 23 Jun 2009 19:49:23 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[fedora]]></category>
		<category><![CDATA[fedora vmware player]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=40</guid>
		<description><![CDATA[Si vous venez comme moi de mettre à jour votre fedora vers la version 11 et que vous utilisez VMware player (par choix ou sous la contrainte, alors que VirtualBox fonctionne très bien), vous allez vous confronter à un petit problème: les modules supplémentaires compilés par l&#8217;installeur de vmware ne compilent pas justement.
La raison est [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous venez comme moi de mettre à jour votre fedora vers la version 11 et que vous utilisez VMware player (par choix ou sous la contrainte, alors que VirtualBox fonctionne très bien), vous allez vous confronter à un petit problème: les modules supplémentaires compilés par l&#8217;installeur de vmware ne compilent pas justement.</p>
<p>La raison est simple, le kernel livré avec la fc11 est un 2.6.29, qui n&#8217;était pas encore sorti lorsque le player 2.5.2 est sorti.</p>
<p>Toutes les infos et le patch a appliquer se trouvent <a href="http://communities.vmware.com/thread/203231" target="_blank">par là</a>.</p>
<p>Après application du patch, ça devrait donner:</p>
<pre>Starting VMware services:
Virtual machine monitor                                 [  OK  ]
Virtual machine communication interface                 [  OK  ]
Blocking file system                                    [  OK  ]
Virtual ethernet                                        [  OK  ]
Shared Memory Available                                 [  OK  ]
</pre>
<p>et zou.</p>
<p><a href="http://722.kalaari.net/b/wp-content/uploads/2009/06/vmware-6.5.2-modules-2.6.29-fix.sh">vmware-6.5.2-modules-2.6.29-fix.sh</a><br />
<a href="http://722.kalaari.net/b/wp-content/uploads/2009/06/vmware-6.5.2-modules-2.6.29-fix.patch">vmware-6.5.2-modules-2.6.29-fix.patch</a></p>
<p>If you&#8217;ve just upgraded your fedora install to version 11 and that you (have to) use VMware player (despite VirtualBox works very well), you will encounter a small problem: additionnal kernel modules needed by the vmware install won&#8217;t compile.</p>
<p>Indeed, the kernel bundled with fc11 is a  2.6.29, that wasn&#8217;t out when vmware player 2.5.2 was released.</p>
<p>All informations and a patch to apply are provided  <a href="http://communities.vmware.com/thread/203231">here</a>.</p>
<p>Let&#8217;s apply the patch and enjoy:</p>
<pre>Starting VMware services:
 Virtual machine monitor                                 [  OK  ]
 Virtual machine communication interface                 [  OK  ]
 Blocking file system                                    [  OK  ]
 Virtual ethernet                                        [  OK  ]
 Shared Memory Available                                 [  OK  ]

that's all folks!</pre>
<p><a href="http://722.kalaari.net/b/wp-content/uploads/2009/06/vmware-6.5.2-modules-2.6.29-fix.sh">vmware-6.5.2-modules-2.6.29-fix.sh</a><br />
<a href="http://722.kalaari.net/b/wp-content/uploads/2009/06/vmware-6.5.2-modules-2.6.29-fix.patch">vmware-6.5.2-modules-2.6.29-fix.patch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/06/23/fedora-core-11-vmware-player-2-5-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jrrd TODO List</title>
		<link>http://722.kalaari.net/b/lang/en/2009/06/20/jrrd-todo-list</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/06/20/jrrd-todo-list#comments</comments>
		<pubDate>Sat, 20 Jun 2009 20:12:00 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jrrd]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=33</guid>
		<description><![CDATA[
update website  
release 0.2
use maven and SVN
explain the differences with other java rrd tools (jrobin, rrd4j, see https://wiki.man.poznan.pl/perfsonar-mdm/index.php/RRD_Java_libraries)


]]></description>
			<content:encoded><![CDATA[<ul>
<li><span lang="en">update website <img src='http://722.kalaari.net/b/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></li>
<li><span lang="en">release 0.2</span></li>
<li><span lang="en">use maven and <span style="text-decoration: line-through;">SVN</span></span></li>
<li><span lang="en">explain the differences with other java rrd tools (jrobin, rrd4j, see https://wiki.man.poznan.pl/perfsonar-mdm/index.php/RRD_Java_libraries)</span></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/06/20/jrrd-todo-list/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java: auto-initialisation des variables d&#8217;instance&#8230;ou pas</title>
		<link>http://722.kalaari.net/b/lang/en/2009/06/11/java-auto-initialisation-des-variables-dinstance-ou-pas</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/06/11/java-auto-initialisation-des-variables-dinstance-ou-pas#comments</comments>
		<pubDate>Thu, 11 Jun 2009 08:42:46 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[java initialisation variable]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=28</guid>
		<description><![CDATA[A chaque fois que je crée une nouvelle classe, je me demande si je dois forcer la valeur par défaut des variables d&#8217;instance. La plupart du temps je me dis &#8220;je ne veux pas dépendre d&#8217;un comportement par défaut, je vais forcer explicitement la valeur par défaut de la variable d&#8217;instance, ce sera plus lisible&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">A chaque fois que je crée une nouvelle classe, je me demande si je dois forcer la valeur par défaut des variables d&#8217;instance. La plupart du temps je me dis &#8220;je ne veux pas dépendre d&#8217;un comportement par défaut, je vais forcer explicitement la valeur par défaut de la variable d&#8217;instance, ce sera plus lisible&#8221;. C&#8217;est peut-être discutable mais je n&#8217;ai jamais eu l&#8217;occasion d&#8217;en discuter avec des java-gurus, ni d&#8217;ailleurs de réellement me poser des questions sur le bien-fondé et la justesse de ce choix.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Jusqu&#8217;à ce jour. Je viens de découvrir (shame on me?) qu&#8217;il est parfois nécessaire de ne pas explicitement forcer la valeur par défaut.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span id="more-28"></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">1er cas:</span></p>
<blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial;">public class MotherClass {</span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public MotherClass(String&#8230; args) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;MotherClass(): [BERORE CALL TO PREPARE] this:&#8221; + this);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">prepare(args);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;MotherClass(): [AFTER CALL TO PREPARE] this:&#8221; + this);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}</span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public void prepare(String&#8230; args) {</span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member0_1 = args[0];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member0_2 = args[1];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;MotherClass.prepare(): this:&#8221; + this);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public String toString() {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">return &#8221;MotherClass &lt;member0_1=&#8221; + member0_1 + &#8221;, member0_2=&#8221; + member0_2 + &#8221;&gt;&#8221;;<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">protected String member0_1;<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">protected String member0_2 = &#8221;initialized&#8221;;<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public static void main(String[] args) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">MotherClass mc = new MotherClass(new String[] { &#8221;first&#8221;, &#8221;second&#8221; });<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;main(): mc:&#8221; + mc);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" />}</span></span></p>
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">Si on lance le <em>main</em>, ça donne:</span></span></p>
<blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">MotherClass(): [BERORE CALL TO PREPARE] this:MotherClass &lt;member0_1=null, member0_2=initialized&gt;<br style="padding: 0px; margin: 0px;" />MotherClass.prepare(): this:MotherClass &lt;<span style="margin: 0px; padding: 0px; background-color: #57ff00;">member0_1=first, member0_2=second</span>&gt;<br style="padding: 0px; margin: 0px;" />MotherClass(): [AFTER CALL TO PREPARE] this:MotherClass &lt;member0_1=first, member0_2=second&gt;<br style="padding: 0px; margin: 0px;" />main(): mc:MotherClass &lt;<span style="margin: 0px; padding: 0px; background-color: #02ff00;">member0_1=first, member0_2=second</span>&gt;</span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;">
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">Dans ce cas, rien de particulier, la classe se comporte comme on peut s&#8217;y attendre, que la variable d&#8217;instance ait été initialisée (<span style="margin: 0px; padding: 0px; font-family: 'courier new'; font-size: 13px; font-style: italic;">member0_2)<span style="margin: 0px; padding: 0px; font-family: 'Times New Roman'; font-size: 16px; font-style: normal;"> ou pas (<span style="margin: 0px; padding: 0px; font-family: 'courier new'; font-size: 13px; font-style: italic;">member0_1</span>).</span></span></span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Etendons maintenant cette classe:</span></p>
<blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public class ClassThatExtends extends MotherClass {<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public ClassThatExtends(String&#8230; args) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">super(args);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;ClassThatExtends(): [AFTER super()] this:&#8221; + this);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public void prepare(String&#8230; args) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">if (args.length == 4) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member0_1 = args[0];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member0_2 = args[1];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member1_1 = args[2];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">this.member1_2 = args[3];<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;ClassThatExtends.prepare(): this:&#8221; + this);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public String toString() {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">return &#8221;ClassThatExtends &lt;member0_1=&#8221; + member0_1 + &#8221;, member0_2=&#8221; + member0_2<br style="padding: 0px; margin: 0px;" /> </span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">+ &#8221;, member1_1=&#8221; + member1_1 + &#8221;, member1_2=&#8221; + member1_2 + &#8221;&gt;&#8221;;<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">private String member1_1;<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">private String member1_2 = &#8221;initialized&#8221;;<br style="padding: 0px; margin: 0px;" /></span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">public static void main(String[] args) {<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">ClassThatExtends cte = new ClassThatExtends(new String[] { &#8221;first&#8221;, &#8221;second&#8221;, &#8221;third&#8221;,<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">&#8220;fourth&#8221; });<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">System.out.println(&#8220;main(): cte:&#8221; + cte);<br style="padding: 0px; margin: 0px;" /></span><span style="margin: 0px; padding: 0px; white-space: pre;"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"> </span></span><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;">}<br style="padding: 0px; margin: 0px;" />}</span></span></p>
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Si on lance le <em>main</em>:</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;">
<blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>MotherClass(): [BERORE CALL TO PREPARE] this:ClassThatExtends &lt;member0_1=null, member0_2=initialized, member1_1=null, member1_2=null&gt;</em></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>ClassThatExtends.prepare(): this:ClassThatExtends &lt;member0_1=first, member0_2=second, member1_1=third, member1_2=fourth&gt;</em></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>MotherClass(): [AFTER CALL TO PREPARE] this:ClassThatExtends &lt;member0_1=first, member0_2=second,<strong><span style="margin: 0px; padding: 0px; background-color: #00ff54;">member1_1=third</span></strong>, <strong><span style="margin: 0px; padding: 0px; background-color: #00ff54;">member1_2=fourth</span></strong>&gt;</em></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>ClassThatExtends(): [<strong>AFTER super()</strong>] this:ClassThatExtends &lt;member0_1=first, member0_2=second,<span style="margin: 0px; padding: 0px; background-color: #00ff54;"><strong>member1_1=third</strong></span>, <span style="margin: 0px; padding: 0px; background-color: #ffaa00;"><strong>member1_2=initialized</strong></span>&gt;</em></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>main(): cte:ClassThatExtends &lt;member0_1=first, member0_2=second, member1_1=third, member1_2=initialized&gt;</em></span></p>
</blockquote>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><span style="margin: 0px; padding: 0px; font-family: arial,helvetica,sans-serif;"><br />
</span></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr"><em>WTF</em>? member1_1 qui n&#8217;a pas été explicitement initialisée dans la classe fille a gardé la valeur fixée lors de l&#8217;appel du constructeur, par contre, member1_2 qui a été explicitement initialisée a été écrasée après avoir été valorisée dans le constructeur!</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Les variables d&#8217;instance d&#8217;une classe &#8220;fille&#8221; sont donc initialisées <strong><em>APRES</em></strong> la chaîne des appels des constructeurs.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Dans le cas où la variable n&#8217;est pas explicitement initialisée lors de sa déclaration et que la variable est valorisée dans le constructeur, la valeur de la variable d&#8217;instance sera conservée. Dans le cas où la variable d&#8217;instance est explicitement initialisée lors de sa déclaration et qu&#8217;elle est valorisée dans le constructeur, la valeur est écrasée par la valeur d&#8217;initialisation spécifiée!</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; text-align: justify; line-height: 1.52em; padding: 0px;"><span lang="fr">Fichtre! En voila donc un comportement pas forcément trivial&#8230; Si quelqu&#8217;un arrive à me trouver le bout de doc chez Java (ou ailleurs) que j&#8217;ai du louper, je suis preneur.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/06/11/java-auto-initialisation-des-variables-dinstance-ou-pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparaison de frameworks web</title>
		<link>http://722.kalaari.net/b/lang/en/2009/05/26/comparaison-de-frameworks-web</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/05/26/comparaison-de-frameworks-web#comments</comments>
		<pubDate>Tue, 26 May 2009 11:20:19 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[java web framework]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=25</guid>
		<description><![CDATA[Plus on lit d&#8217;articles à ce sujet, plus on trouve de nouveaux liens. En voici quelques uns (des liens):

http://internna.blogspot.com/2009/04/web-framework-comparison-prototyping.html
http://java.dzone.com/tips/java-web-frameworks-survey
http://docs.google.com/Doc?id=ajgdx7ccvkxg_50ccp25f

]]></description>
			<content:encoded><![CDATA[<p>Plus on lit d&#8217;articles à ce sujet, plus on trouve de nouveaux liens. En voici quelques uns (des liens):</p>
<ul>
<li><a href="http://internna.blogspot.com/2009/04/web-framework-comparison-prototyping.html">http://internna.blogspot.com/2009/04/web-framework-comparison-prototyping.html</a></li>
<li><a href="http://java.dzone.com/tips/java-web-frameworks-survey">http://java.dzone.com/tips/java-web-frameworks-survey</a></li>
<li><a href="http://docs.google.com/Doc?id=ajgdx7ccvkxg_50ccp25f">http://docs.google.com/Doc?id=ajgdx7ccvkxg_50ccp25f</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/05/26/comparaison-de-frameworks-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Soap vs Rest</title>
		<link>http://722.kalaari.net/b/lang/en/2009/05/19/soap-vs-rest</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/05/19/soap-vs-rest#comments</comments>
		<pubDate>Tue, 19 May 2009 15:24:36 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[soap rest serviceweb]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=22</guid>
		<description><![CDATA[Rest est &#8220;tendance&#8221; en ce moment. Mais est-ce toujours le bon choix? Elements de réponse par ici sur CleverAge.
]]></description>
			<content:encoded><![CDATA[<p>Rest est &#8220;tendance&#8221; en ce moment. Mais est-ce toujours le bon choix? Elements de réponse par <a href="http://www.clever-age.com/veille/clever-link/soap-vs.-rest-choisir-la-bonne-architecture-web-services.html" target="_blank">ici</a> sur <a href="http://www.clever-age.com" target="_blank">CleverAge</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/05/19/soap-vs-rest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TODO: scruter la Boîte A Outils du Developpeur Java</title>
		<link>http://722.kalaari.net/b/lang/en/2009/05/18/todo-scruter-la-boite-a-outils-du-developpeur-java</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/05/18/todo-scruter-la-boite-a-outils-du-developpeur-java#comments</comments>
		<pubDate>Mon, 18 May 2009 12:10:12 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[java outils]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=17</guid>
		<description><![CDATA[Par ici =&#62; http://java.developpez.com/outils/developpeur/
]]></description>
			<content:encoded><![CDATA[<p>Par ici =&#62; <a class="wp-caption" href="http://java.developpez.com/outils/developpeur/" target="_blank">http://java.developpez.com/outils/developpeur/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/05/18/todo-scruter-la-boite-a-outils-du-developpeur-java/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common Java Cookbook</title>
		<link>http://722.kalaari.net/b/lang/en/2009/05/18/common-java-cookbook</link>
		<comments>http://722.kalaari.net/b/lang/en/2009/05/18/common-java-cookbook#comments</comments>
		<pubDate>Mon, 18 May 2009 07:51:05 +0000</pubDate>
		<dc:creator>LooZtrA</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[java commons jakarta]]></category>

		<guid isPermaLink="false">http://722.kalaari.net/b/?p=13</guid>
		<description><![CDATA[En voilà un lien qu&#8217;il est bien =&#62; http://www.discursive.com/books/cjcook/reference/book.html
Ce cookbook contient pas mal d&#8217;exemple d&#8217;utilisation des outils Apache Commons , Apache * &#38; autres, pour se faciliter la vie et ne pas réinventer le fil à couper le beurre (ou le GregorianCalendar)
]]></description>
			<content:encoded><![CDATA[<p>En voilà un lien qu&#8217;il est bien =&#62; <a href="http://www.discursive.com/books/cjcook/reference/book.html">http://www.discursive.com/books/cjcook/reference/book.html</a></p>
<p>Ce cookbook contient pas mal d&#8217;exemple d&#8217;utilisation des outils Apache Commons , Apache * &#38; autres, pour se faciliter la vie et ne pas réinventer le fil à couper le beurre (ou le GregorianCalendar)</p>
]]></content:encoded>
			<wfw:commentRss>http://722.kalaari.net/b/lang/en/2009/05/18/common-java-cookbook/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
