<?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>Ronny's Blog &#187; Java &amp; Javascript</title>
	<atom:link href="http://blog.ronnyristau.de/category/programming/java-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ronnyristau.de</link>
	<description>Development and more</description>
	<lastBuildDate>Mon, 23 Aug 2010 21:07:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Livewatch.de nun mit API</title>
		<link>http://blog.ronnyristau.de/2009/07/15/livewatchde-nun-mit-api/</link>
		<comments>http://blog.ronnyristau.de/2009/07/15/livewatchde-nun-mit-api/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 07:46:40 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[Linux / Debian]]></category>
		<category><![CDATA[Livewatch.de]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Witziges]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[livewatch]]></category>
		<category><![CDATA[livewatch.de]]></category>
		<category><![CDATA[server monitoring]]></category>
		<category><![CDATA[serverüberwachung]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=1341</guid>
		<description><![CDATA[Livewatch.de bietet ab sofort, für alle Premium Kunden, auch die Möglichkeit, seine Server / Services via API zu administrieren. &#8220;Ab sofort steht allen Premium Kunden unsere API zur Verfügung. Damit erhalten Sie die Möglichkeit Ihre Server direkt über eigene Scripts zu steuern. So können Sie beispielsweise geplante Downtimes ganz einfach mit einer eigenen Steuerung planen [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Livewatch.de bietet ab sofort, für alle Premium Kunden, auch die Möglichkeit, seine Server / Services via API zu administrieren.</p>
<blockquote><p>&#8220;Ab sofort steht allen Premium Kunden unsere API zur Verfügung. Damit erhalten Sie die Möglichkeit Ihre Server direkt über eigene Scripts zu steuern. So können Sie beispielsweise geplante Downtimes ganz einfach mit einer eigenen Steuerung planen und somit vermeiden, dass Livewatch Sie in solchen Fällen informiert. Ebenfalls besteht z.B. die Möglichkeit, seine Benachrichtigungskontakte einfach zu aktualisieren. <a href="http://www.livewatch.de/de/server-monitoring/API">Mehr zur neuen API finden Sie hier</a>.&#8221;</p></blockquote>
<p>Wer Ideen für Plugins, Widgets, Tools oder ähnl. hat, kann sich gerne bei mir melden <img src='http://blog.ronnyristau.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Wer Up 2 Date bleiben möchte, kann auch dem <a href="http://twitter.com/livewatch">Livewatch</a> Twitter Account folgen.</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=1341&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2009/07/15/livewatchde-nun-mit-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Animierte &#8220;Lade&#8221;-Grafiken</title>
		<link>http://blog.ronnyristau.de/2009/01/21/animierte-lade-grafiken/</link>
		<comments>http://blog.ronnyristau.de/2009/01/21/animierte-lade-grafiken/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 09:44:42 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Sonstige]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[load]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=1223</guid>
		<description><![CDATA[Wer man auf die schnelle einige animierte Gifs benötigt um seinen Ladevorgang zu visualisieren, wird unter www.ajaxload.info fündig. via coding.d-down.de]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Wer man auf die schnelle einige animierte Gifs benötigt um seinen Ladevorgang zu visualisieren, wird unter <a href="http://www.ajaxload.info/">www.ajaxload.info</a> fündig.</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2009/01/ajaxload-ajax-loading-gif-generator_1232530978188.png"><img class="aligncenter size-medium wp-image-1224" title="ajaxload-ajax-loading-gif-generator_1232530978188" src="http://blog.ronnyristau.de/wp-content/uploads/2009/01/ajaxload-ajax-loading-gif-generator_1232530978188-300x232.png" alt="ajaxload-ajax-loading-gif-generator_1232530978188" width="300" height="232" /></a></p>
<p style="text-align: left;">via <a href="http://coding.d-down.de/blog/archives/75-Ajaxload-der-Ajaxloader-Gif-Generator.html">coding.d-down.de</a></p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=1223&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2009/01/21/animierte-lade-grafiken/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Code Conventions mit CodeSniffer und Subversion</title>
		<link>http://blog.ronnyristau.de/2008/12/04/php-code-conventions-mit-codesniffer-und-subversion/</link>
		<comments>http://blog.ronnyristau.de/2008/12/04/php-code-conventions-mit-codesniffer-und-subversion/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 19:19:50 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Sonstige]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[lint]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[teamwork]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=1105</guid>
		<description><![CDATA[Ich habe heute diesen PHPAdvent Artikel gelesen. In dem Artikel von Travis Swiceood geht es darum unter Verwendung Hook-Scripts bei Versionmanagement Werkzeugen wie Git oder SVN, die Übermittlung fehlerhaften Codes zu vermeiden. Die folgenden Snippets enthalten Code, bei dem ggf. die Pfade anzupassen sind! Ich spare mir einfach das an den Stellen jeweils zu erwähnen. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ich habe heute <a href="http://phpadvent.org/2008/dont-commit-that-error-by-travis-swicegood">diesen</a> PHPAdvent Artikel gelesen.</p>
<p>In dem Artikel von Travis Swiceood geht es darum unter Verwendung Hook-Scripts bei Versionmanagement Werkzeugen wie Git oder SVN, die Übermittlung fehlerhaften Codes zu vermeiden.</p>
<blockquote><p>Die folgenden Snippets enthalten Code, bei dem ggf. die Pfade anzupassen sind! Ich spare mir einfach das an den Stellen jeweils zu erwähnen.</p></blockquote>
<p>Im dem Artikel geht es konkret darum die PHP lint Funktion zu nutzen um Syntax Fehler zu entdecken:</p>
<pre class="brush: php">
&lt;?php
ech &quot;Hallo Welt&quot;;
?&gt;
</pre>
<p>wenn man dies nun mittels PHP mit dem Parameter &#8220;-l&#8221; ausführt, erhält man folgendes:</p>
<pre class="brush: bash">
xen-developement:~# php -l demo.php

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in demo.php on line 2
Errors parsing demo.php
</pre>
<p>Nun sollte es doch ein leichtes sein, dieses auch in den Commit-Vorgang zu integrieren, und im Fall von übertragenen PHP Dateien, selbige vorher zu prüfen. Gesagt getan. Dazu habe ich ein bisl rumgesucht und <a href="http://blueparabola.com/blog/subversion-commit-hooks-php">hier</a> folgendes gefunden:</p>
<pre class="brush: bash">
PHP=&quot;/usr/bin/php&quot;
AWK=&quot;/usr/bin/awk&quot;
GREP=&quot;/bin/egrep&quot;
SED=&quot;/bin/sed&quot;

CHANGED=`$SVNLOOK changed -t &quot;$TXN&quot; &quot;$REPOS&quot; | $AWK &#039;{print $2}&#039; | $GREP \\.php$`

for FILE in $CHANGED
do
MESSAGE=`$SVNLOOK cat -t &quot;$TXN&quot; &quot;$REPOS&quot; &quot;$FILE&quot; | $PHP -l`
if [ $? -ne 0 ]
then
echo 1&gt;&amp;amp;2
echo &quot;***********************************&quot; 1&gt;&amp;amp;2
echo &quot;PHP error in: $FILE:&quot; 1&gt;&amp;amp;2
echo `echo &quot;$MESSAGE&quot; | $SED &quot;s| -| $FILE|g&quot;` 1&gt;&amp;amp;2
echo &quot;***********************************&quot; 1&gt;&amp;amp;2
exit 1
fi
done
</pre>
<p>Das wird entsprechend in die pre-commit datei deines SVN Repositorys vor exit 0 eingetragen. Die Datei ist von pre-commit.tmpl nach pre-commit umzubennen und mit ausführbaren Rechten zu versehen:</p>
<pre class="brush: bash">
cd /home/repository/svn/hooks/
cp pre-commit.tmpl pre-commit
chmod 0755 pre-commit
vi pre-commit
</pre>
<p>Damit sollte euer Code schonmal nicht mehr mit syntaktischen Fehler im Repository landen können.</p>
<p>Nun hatte ich aber in der Überschrift von CodeSniffer gesprochen. Darum ging es nämlich in dem ursprünglich inspirierenden Artikel nicht. Und wie <a href="http://twitter.com/bascht/status/1038075593">der Zufall</a> so will, habe ich den Weg auch direkt zu <a href="http://pear.php.net/package/PHP_CodeSniffer">PHPCS</a> gefunden. Nach wenigen Sekunden fand ich dann auch direkt einen passenden Hook-Script, welcher direkt mit angeboten wird <a href="http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php">hier</a>. Gesagt getan &#8211; der Plan wurde wie folgt umgesetzt:</p>
<p>PHP CodeSniffer via Pear installieren:</p>
<pre class="brush: bash">
xen-developement:~# pear install PHP_CodeSniffer
downloading PHP_CodeSniffer-1.1.0.tgz ...
Starting to download PHP_CodeSniffer-1.1.0.tgz (236,962 bytes)
........................done: 236,962 bytes
install ok: channel://pear.php.net/PHP_CodeSniffer-1.1.0
</pre>
<p>Anschließend ins Pear Verzeichnis wechseln, scripts verzeichnis anlegen, hook Script herunterladen, umbenennen und ausführbar machen:</p>
<pre class="brush: bash">
cd /usr/share/php/PHP/
ls -la
mkdir scripts
cd scripts/
wget http://cvs.php.net/viewvc.cgi/pear/PHP_CodeSniffer/scripts/phpcs-svn-pre-commit?view=co
mv phpcs-svn-pre-commit\?view\=co phpcs-svn-pre-commit
chmod 0755 phpcs-svn-pre-commit
</pre>
<p>Die Dokumentation ist zwar vorhanden, hat aber bei mir mehr schlecht als recht funktioniert. Daher spare ich mir dies hier zu zeigen, sondern poste direkt meine Modifikationen, mit denen es bei mir läuft:</p>
<pre class="brush: bash">
vi phpcs-svn-pre-commit
</pre>
<p>Dort ist die 1. Zeile an den PHP Pfad anzupassen:</p>
<pre class="brush: bash">
@php_bin@ nach /usr/bin/php
</pre>
<p>Anschließend ist noch eure pre-commit Datei im Repository Verzeichnis wieder anzupassen, meine sieht nun am Ende so aus:</p>
<pre class="brush: bash">
REPOS=&quot;$1&quot;
TXN=&quot;$2&quot;

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
#$SVNLOOK log -t &quot;$TXN&quot; &quot;$REPOS&quot; | grep &quot;[a-zA-Z0-9]&quot; &amp;gt; /dev/null || exit 1

# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
#/usr/share/subversion/hook-scripts/commit-access-control.pl &quot;$REPOS&quot; &quot;$TXN&quot; &quot;$REPOS&quot;/commit-access-control.cfg || exit 1

#echo &quot;/usr/share/php/PHP/scripts/phpcs-svn-pre-commit \&quot;$REPOS\&quot; -t \&quot;$TXN\&quot; &amp;gt;&amp;amp;2&quot; &amp;gt;&amp;amp;2

PHP=&quot;/usr/bin/php&quot;
AWK=&quot;/usr/bin/awk&quot;
GREP=&quot;/bin/egrep&quot;
SED=&quot;/bin/sed&quot;

CHANGED=`$SVNLOOK changed -t &quot;$TXN&quot; &quot;$REPOS&quot; | $AWK &#039;{print $2}&#039; | $GREP \\.php$`

for FILE in $CHANGED
do
MESSAGE=`$SVNLOOK cat -t &quot;$TXN&quot; &quot;$REPOS&quot; &quot;$FILE&quot; | $PHP -l`
if [ $? -ne 0 ]
then
echo 1&gt;&amp;amp;2
echo &quot;***********************************&quot; 1&gt;&amp;amp;2
echo &quot;PHP error in: $FILE:&quot; 1&gt;&amp;amp;2
echo `echo &quot;$MESSAGE&quot; | $SED &quot;s| -| $FILE|g&quot;` 1&gt;&amp;amp;2
echo &quot;***********************************&quot; 1&gt;&amp;amp;2
exit 1
fi
done

/usr/share/php/PHP/scripts/phpcs-svn-pre-commit -t &quot;$TXN&quot; &quot;$REPOS&quot; &amp;gt;&amp;amp;2 || exit 1

# All checks passed, so allow the commit.
exit 0
</pre>
<p>Ich musste, damit es funktioniert auch die phpcs-svn-pre-commit Datei bearbeiten, genau genommen an 2 Stellen. Hier der Diff:</p>
<pre class="brush: bash">
&lt; #!@php_bin@
---
&gt; #!/usr/bin/php
70c70
&lt;     public function processUnknownArgument($arg, $pos, $values)
---
&gt;     public function processUnknownArgument($arg, $pos, $values = array())
134c134,136
&lt;         foreach (preg_split(&#039;/\v/&#039;, $contents, -1, PREG_SPLIT_NO_EMPTY) as $path) {
---
&gt;       #echo $contents;
&gt;
&gt;         foreach (preg_split(&#039;/ /&#039;, $contents, -1, PREG_SPLIT_NO_EMPTY) as $path) {
</pre>
<p>Das war&#8217;s dann auch schon. Die Scripte können nun nicht mehr unformatiert oder mit Syntax-Fehlern committed werden. Hier ein Code Beispiel und der fehlgeschlagene Versuch, es zu übertragen:</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/12/eclipse-sample.jpg"><img class="alignnone size-full wp-image-1112" title="eclipse-sample" src="http://blog.ronnyristau.de/wp-content/uploads/2008/12/eclipse-sample.jpg" alt="" width="416" height="548" /></a></p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/12/codesniffer-subversion.jpg"><img class="alignnone size-full wp-image-1113" title="codesniffer-subversion" src="http://blog.ronnyristau.de/wp-content/uploads/2008/12/codesniffer-subversion.jpg" alt="" width="500" height="358" /></a></p>
<p style="text-align: left;">So &#8211; ich wünsche euch viel Spass beim Nachbasteln. Es bleiben natürlich einige Fragen offen, wie effektiv bzw. wie sinnvoll das Ganze ist. Wird man sich dadurch nicht mehr Arbeit machen als nötig? Ich denke das sind Fragen, die hier grad nicht hergehören &#8211; ich wollte nur mal aufzeigen was so geht.</p>
<p style="text-align: left;">Wer weitere Ideen hat, kann diese gerne hier posten!</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=1105&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/12/04/php-code-conventions-mit-codesniffer-und-subversion/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tonabnehmer</title>
		<link>http://blog.ronnyristau.de/2008/11/21/tonabnehmer/</link>
		<comments>http://blog.ronnyristau.de/2008/11/21/tonabnehmer/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 22:32:26 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Goodies]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[Linux / Debian]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Sonstige]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[frank westphal]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Tonabnehmer]]></category>
		<category><![CDATA[Tonabnehmern]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=1060</guid>
		<description><![CDATA[@Developers! Da ich den Abend schon (entwicklungstechnisch) produktiv einleitete, möchte ich gerne ein weiteres Thema anstoßen. Ich würde euch gerne auf die Seiten von Frank Westphal hinweisen. Da gibts einige nette Pod-Casts zu Entwicklungsthemen, die man sich durchaus anhören sollte. Das ist sicherlich nicht für jeden Follower hier interessant, jedoch wollte ich das schon länger [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>@<strong>Developers!</strong></p>
<p>Da ich den Abend schon (<a href="http://blog.ronnyristau.de/2008/11/21/mite-zeiterfassung-online-auch-mit-iphone/">entwicklungstechnisch</a>) produktiv einleitete, möchte ich gerne ein weiteres Thema anstoßen.</p>
<p>Ich würde euch gerne auf die Seiten von Frank Westphal hinweisen. Da gibts einige nette Pod-Casts zu Entwicklungsthemen, die man sich durchaus anhören sollte. Das ist sicherlich nicht für jeden Follower hier interessant, jedoch wollte ich das schon länger erwähnen.</p>
<p><a href="http://www.frankwestphal.de/Tonabnehmer.html">Hier geht&#8217;s zu den Podcasts</a>. (Tonabnehmern).</p>
<p>Ich finde die so gut, dass sie ein neuer Goodie sind.</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=1060&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/11/21/tonabnehmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit-Testing &amp; Test-Driven-Development</title>
		<link>http://blog.ronnyristau.de/2008/09/10/unit-testing-test-driven-development/</link>
		<comments>http://blog.ronnyristau.de/2008/09/10/unit-testing-test-driven-development/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 18:45:04 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Sonstige]]></category>
		<category><![CDATA[bücher]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entwicklung]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[tests]]></category>
		<category><![CDATA[unit]]></category>
		<category><![CDATA[unit-test]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=734</guid>
		<description><![CDATA[Ich habe mir heute 2 Bücher zum Thema Unit-Tests bestellt und bin schon ganz wibbelig, weil die morgen ankommen werden. Beide Bücher behandeln das Unit-Testing mit jUnit und lehnen damit an Java an. Ich denke jedoch und das geht auch aus den Rezensionen hervor, dass man guten Mutes davon ausgehen kann, dass die Bücher auch [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ich habe mir heute 2 Bücher zum Thema Unit-Tests bestellt und bin schon ganz wibbelig, weil die morgen ankommen werden. Beide Bücher behandeln das Unit-Testing mit jUnit und lehnen damit an Java an. Ich denke jedoch und das geht auch aus den Rezensionen hervor, dass man guten Mutes davon ausgehen kann, dass die Bücher auch auch für andere Sprachen ihren Mehrwert mit sich bringen werden. (Ich liebe Java! &#8211; würde das aber auch gerne für PHP Projekte anwenden.)</p>
<p>Wikipedia definiert Unit-Tests <a href="http://de.wikipedia.org/wiki/Unit-Test">so</a>:</p>
<blockquote><p>Der Modultest (auch Komponententest oder engl. unit test) ist Teil des Softwareentwicklungsprozesses. Er dient zur Verifikation der Korrektheit von Modulen einer Software, z.B. von einzelnen Klassen. Nach jeder Änderung sollte durch Ablauf aller Testfälle nach Programmfehlern gesucht werden. Bei der testgetriebenen Entwicklung, auch TestFirst-Programmieren genannt, werden die Modultests parallel zum eigentlichen Quelltext erstellt und gepflegt. Dies ermöglicht bei automatisierten, reproduzierbaren Modultests die Auswirkungen von Änderungen sofort nachzuvollziehen. Der Programmierer entdeckt dadurch leichter ungewollte Nebeneffekte oder Fehler, die durch seine Änderung verursacht wurden.</p></blockquote>
<p>Das erste Buch welches ich mir bestellt habe lautet: <a href="http://www.amazon.de/gp/product/3898643255">Softwaretests mit JUnit</a> und ist von Johannes Link.</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/09/johannes-link.jpg"><img class="alignnone size-thumbnail wp-image-735" title="johannes-link" src="http://blog.ronnyristau.de/wp-content/uploads/2008/09/johannes-link-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Das zweite Buch ist von Frank Westphal und lautet <a href="http://www.amazon.de/gp/product/3898642208">Testgetriebene Entwicklung mit JUnit &amp; FIT: Wie Software änderbar bleibt</a> und hat mich nach meiner ersten Bestellung auch zu jener bewogen, als ich auf Blog von ihm <a href="http://www.frankwestphal.de/TestgetriebeneEntwicklung.html">diesen Beitrag</a> laß.</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/09/westphal.jpg"><img class="alignnone size-thumbnail wp-image-736" title="westphal" src="http://blog.ronnyristau.de/wp-content/uploads/2008/09/westphal-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Dieser Ansatz der &#8220;<a href="http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung">Testgetriebenen Entwicklung</a>&#8221; (TestFirst) verfolgt mich schon einige Zeit und ich ärgere mich bei jedem größeren und sensibleren Projekt darüber, dass ich es noch nicht probiert habe. Ich hoffe, dass mich beide Bücher dem Ganzen etwas näher bringen und sich neue Wege für mich dadurch auftun.</p>
<p style="text-align: left;">Mich würde interessieren, ob ihr schon Erfahrungen mit Test-Driven-Development gemacht habt &#8211; welche für und wider es dabei gibt und ob ihr es weiterhin nutzt?! Einige Entwickler lesen doch hier mit&#8230; also!</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=734&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/09/10/unit-testing-test-driven-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug 1.2 Plugin für Firefox 3 released</title>
		<link>http://blog.ronnyristau.de/2008/08/25/firebug-12-plugin-fur-firefox-3-released/</link>
		<comments>http://blog.ronnyristau.de/2008/08/25/firebug-12-plugin-fur-firefox-3-released/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 21:06:44 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[120]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=563</guid>
		<description><![CDATA[Web 2.0 &#8211; Entwickler werden aufatmen &#8211; denn das Firebug 1.2 hat mit einer Stable Release nun auch den FF 3 erreicht. Ich denke dass niemand, der Ajax, Dhtml, Css oder sonstige Javascript-Lastigen Seiten ohne dieses Tool effektiv programmieren kann. Ich für meinen Teil, habe es wie auch schon im Golem Artikel beschrieben als Beta [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Web 2.0 &#8211; Entwickler werden <a href="http://uwe.vg/2008/08/25/firebug-12-ist-draussen-und-damit-auch-wieder-kompatibel-zu-firefox-3/">aufatmen</a> &#8211; denn das <a href="https://addons.mozilla.org/de/firefox/addon/1843">Firebug 1.2</a> hat mit einer Stable Release nun auch den FF 3 erreicht. Ich denke dass niemand, der Ajax, Dhtml, Css oder sonstige Javascript-Lastigen Seiten ohne dieses Tool effektiv programmieren kann.</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/08/391953301_2101c534f2.jpg"><img class="alignnone size-medium wp-image-564" title="391953301_2101c534f2" src="http://blog.ronnyristau.de/wp-content/uploads/2008/08/391953301_2101c534f2-300x181.jpg" alt="" width="300" height="181" /></a></p>
<p>Ich für meinen Teil, habe es wie auch schon im Golem Artikel <a href="http://www.golem.de/0808/61966.html">beschrieben</a> als Beta eingesetzt.</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=563&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/08/25/firebug-12-plugin-fur-firefox-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photokollektion in 3D</title>
		<link>http://blog.ronnyristau.de/2008/08/15/photokollektion-in-3d/</link>
		<comments>http://blog.ronnyristau.de/2008/08/15/photokollektion-in-3d/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 18:46:19 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Goodies]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[Photographie]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[bilder]]></category>
		<category><![CDATA[Collection]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Kollektion]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[Pictures]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/?p=413</guid>
		<description><![CDATA[Nett, was sich einige Wissenschaftler der Universität von Washington und Microsoft Research da ausgedacht haben. Ich finde nicht nur die Idee gut, sondern auch die Umsetzung erste Sahne. Wer&#8217;s noch nicht kennt, sollte mal einen Blick riskieren. Hier geht&#8217;s zur 3D Photo Kollektion (Geduld mitbringen). Für alle bei denen es gar nicht laden / klappen [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p style="text-align: left;">Nett, was sich einige Wissenschaftler der Universität von Washington und Microsoft Research da ausgedacht haben. Ich finde nicht nur die Idee gut, sondern auch die Umsetzung erste Sahne. Wer&#8217;s noch nicht kennt, sollte mal einen Blick riskieren. <a href="http://phototour.cs.washington.edu/applet/index.html">Hier geht&#8217;s zur 3D Photo Kollektion</a> (Geduld mitbringen).</p>
<p style="text-align: left;">Für alle bei denen es gar nicht laden / klappen will &#8211; oder die kein Java installiert haben, sollten mal einen Blick via Youtube riskieren.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/gLLzV5qeKyk&amp;color1=11645361&amp;color2=13619151&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/gLLzV5qeKyk&amp;color1=11645361&amp;color2=13619151&amp;fs=1" allowfullscreen="true" wmode="transparent"></embed></object></p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=413&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/08/15/photokollektion-in-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Visualisierungs-API freigegeben &#8211; Beispiel</title>
		<link>http://blog.ronnyristau.de/2008/05/30/google-visualisierungs-api-freigegeben-beispiel/</link>
		<comments>http://blog.ronnyristau.de/2008/05/30/google-visualisierungs-api-freigegeben-beispiel/#comments</comments>
		<pubDate>Fri, 30 May 2008 12:05:28 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Java & Javascript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[fusioncharts]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Visualisierung]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.ronnyristau.de/2008/05/30/google-visualisierungs-api-freigegeben-beispiel/</guid>
		<description><![CDATA[Google hat seine Visualisierungs-API (Google Visualization API) auf Google Code freigeben, sodass sie jeder nutzen kann. Wer sich selbst schonmal im Web nach einfach einzubindenen, aber dennoch gut aussehenden Charts umgeschaut hat, wird mit Sicherheit feststellen, dass es nicht soooo einfach ist, etwas vernünftiges zu finden. Es gibt zwar auch sehr gute Tools wie z.B. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Google hat seine <a href="http://code.google.com/apis/visualization/">Visualisierungs-API (Google Visualization API)</a> auf Google Code freigeben, sodass sie jeder nutzen kann. Wer sich selbst schonmal im Web nach einfach einzubindenen, aber dennoch gut aussehenden Charts umgeschaut hat, wird mit Sicherheit feststellen, dass es nicht soooo einfach ist, etwas vernünftiges zu finden. Es gibt zwar auch sehr gute Tools wie z.B. <a href="http://www.fusioncharts.com/">Fusioncharts</a>, jedoch sind die meistens mit netten Lizenzpreisen versehen (was aber auch gerechtfertigt ist).</p>
<p>Die API von Google kommt da wie gerufen und ist neben einer guten Dokumentation auch grafisch nicht von schlechten Eltern. Es kostet nichts, ist schnell einzubinden und macht &#8216;ne Menge her.</p>
<p>Ich habe mal ein Beispiel ausprobiert und dabei die Anzahl der täglichen News in meinem Feedreader dargestellt:</p>
<p style="text-align: center;"><a href="http://blog.ronnyristau.de/wp-content/uploads/2008/05/feedsprotag.jpg" rel="lightbox"><img src="http://blog.ronnyristau.de/wp-content/uploads/2008/05/feedsprotag-300x163.jpg" border="0" /></a></p>
<p>Die Einbindung ist denkbar einfach über Javascript geregelt. Soweit ich das jetzt mitbekommen habe, braucht man keinen Google-API Key für die Einbettung der Grafiken in seine Seite bzw. Projekte.</p>
<p>Sicherlich wird der ein oder andere Google-API-Graph auch in den Projekten, an denen ich arbeite, einen Platz finden.</p>
<p>via <a href="http://www.golem.de/0805/60076.html">Golem</a>.</p>

<!-- google_ad_section_end -->
<img src="http://blog.ronnyristau.de/?ak_action=api_record_view&id=109&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyristau.de/2008/05/30/google-visualisierungs-api-freigegeben-beispiel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

