<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Schauderhaft</title>
	<atom:link href="http://blog.schauderhaft.de/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schauderhaft.de</link>
	<description>Softwaredevelopment, Projectmanagement, Qualitymanagement and all things &#34;schauderhaft&#34;</description>
	<lastBuildDate>Tue, 07 Feb 2012 23:24:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Passwortprüfung in Java by john</title>
		<link>http://blog.schauderhaft.de/2007/11/24/passwortprufung-in-java/comment-page-1/#comment-4985</link>
		<dc:creator>john</dc:creator>
		<pubDate>Tue, 07 Feb 2012 23:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/2007/11/24/passwortprufung-in-java/#comment-4985</guid>
		<description>Vielen Dank für den Beitrag! Ich habe mich heute zum erstem Mal mit den Hash-Möglichkeiten unter Java auseindander gesetzt. Ich habe auch intensiv nach &#039;einfachen&#039; Lösungen im Internet gesucht, da halt md5() oder sha() von php her sehr bequem sind. Es hat mich dann sehr überrascht, als ich nur Anleitungen zum &#039;selber bauen&#039; gefunden habe, welche für mich weit über das Ziel hinaus geschossen hätten. Daher habe ich dann begonnen, alles selbst zu implementieren...
Es kann doch nicht sein, dass man bei einer so verbreiteten Sprache wie Java etwas so essentielles wie eine Hash-Prüfung selbst zusammen stellen muss. Glücklicherweise ist dem nicht so, man muss halt einfach das richtige in Google eingeben :-)

Dein Beitrag ist auf jeden Fall das Erste, was ich zu dem Thema wirklich brauchen kann.

Vielen Dank!</description>
		<content:encoded><![CDATA[<p>Vielen Dank für den Beitrag! Ich habe mich heute zum erstem Mal mit den Hash-Möglichkeiten unter Java auseindander gesetzt. Ich habe auch intensiv nach &#8216;einfachen&#8217; Lösungen im Internet gesucht, da halt md5() oder sha() von php her sehr bequem sind. Es hat mich dann sehr überrascht, als ich nur Anleitungen zum &#8216;selber bauen&#8217; gefunden habe, welche für mich weit über das Ziel hinaus geschossen hätten. Daher habe ich dann begonnen, alles selbst zu implementieren&#8230;<br />
Es kann doch nicht sein, dass man bei einer so verbreiteten Sprache wie Java etwas so essentielles wie eine Hash-Prüfung selbst zusammen stellen muss. Glücklicherweise ist dem nicht so, man muss halt einfach das richtige in Google eingeben <img src='http://blog.schauderhaft.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Dein Beitrag ist auf jeden Fall das Erste, was ich zu dem Thema wirklich brauchen kann.</p>
<p>Vielen Dank!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Unit Tests: Searching under the Lamp Post by Andreas Leidig</title>
		<link>http://blog.schauderhaft.de/2012/02/05/unit-tests-searching-under-the-lamp-post/comment-page-1/#comment-4969</link>
		<dc:creator>Andreas Leidig</dc:creator>
		<pubDate>Sun, 05 Feb 2012 22:33:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1029#comment-4969</guid>
		<description>Definitely agree. It reminds me of http://lisacrispin.com/wordpress/category/agile-testing-quadrants/

Another good read concerning this topic is the GOOS book (http://www.growing-object-oriented-software.com/) They build their Unit Tests hierarchically using mocks for &quot;dependents&quot;. In my opinion this is /the/ structure for good unit tests.

This way you will cover only Q1 of the quadrants. The other quadrants need not be forgotten.</description>
		<content:encoded><![CDATA[<p>Definitely agree. It reminds me of <a href="http://lisacrispin.com/wordpress/category/agile-testing-quadrants/">http://lisacrispin.com/wordpress/category/agile-testing-quadrants/</a></p>
<p>Another good read concerning this topic is the GOOS book (<a href="http://www.growing-object-oriented-software.com/">http://www.growing-object-oriented-software.com/</a>) They build their Unit Tests hierarchically using mocks for &#8220;dependents&#8221;. In my opinion this is /the/ structure for good unit tests.</p>
<p>This way you will cover only Q1 of the quadrants. The other quadrants need not be forgotten.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tips for Testing Database Code by Sunil</title>
		<link>http://blog.schauderhaft.de/2012/01/15/tipps-for-testing-database-code/comment-page-1/#comment-4965</link>
		<dc:creator>Sunil</dc:creator>
		<pubDate>Sat, 04 Feb 2012 19:31:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1013#comment-4965</guid>
		<description>Very good topic, explained very clearly.thank you for good post.</description>
		<content:encoded><![CDATA[<p>Very good topic, explained very clearly.thank you for good post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tips for Testing Database Code by Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2012/01/15/tipps-for-testing-database-code/comment-page-1/#comment-4934</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Mon, 30 Jan 2012 12:05:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1013#comment-4934</guid>
		<description>@Harald I agree

@Yulya I choose the word &#039;favor&#039; for a reason. There are reasons where PL/SQL or similar languages are the correct choice. Very large databases certainly might qualify.

I don&#039;t agree with the approach to production data. Yes you need a database with production data (or comparably data) for testing performance and such. But that doesn&#039;t mean every developer needs to use that kind of database all the time.

Anyway there are lots of great points in the comments and also from a discussion I had after doing a talk about this topic at OOP 2012 so I guess I have to do a follow up on the topic. Stay tuned</description>
		<content:encoded><![CDATA[<p>@Harald I agree</p>
<p>@Yulya I choose the word &#8216;favor&#8217; for a reason. There are reasons where PL/SQL or similar languages are the correct choice. Very large databases certainly might qualify.</p>
<p>I don&#8217;t agree with the approach to production data. Yes you need a database with production data (or comparably data) for testing performance and such. But that doesn&#8217;t mean every developer needs to use that kind of database all the time.</p>
<p>Anyway there are lots of great points in the comments and also from a discussion I had after doing a talk about this topic at OOP 2012 so I guess I have to do a follow up on the topic. Stay tuned</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tips for Testing Database Code by Harald M.</title>
		<link>http://blog.schauderhaft.de/2012/01/15/tipps-for-testing-database-code/comment-page-1/#comment-4933</link>
		<dc:creator>Harald M.</dc:creator>
		<pubDate>Mon, 30 Jan 2012 11:13:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1013#comment-4933</guid>
		<description>Jens asked: &quot;@bushfoot
how do you deal with changes in your schema? I once worked with a similar approach, but we finally ditched it because it became just impossible to maintain the scripts for inserting data.&quot;

Well, you build your database in a CI (continuous integration) environment. If it does not build, someone has to change the insert scripts.

For this to work, you must go one step further than Jens&#039;s first item: &quot;Give every developer her own database.&quot; This must be &quot;Give every developer &lt;b&gt;the means to create&lt;/b&gt; her own database.&quot;

By this, people changing the database schema and writing tests can work in an agile way.

Of course, there&#039;s more to all this: You need to keep your schema trackable - so for each and every SQL statement, you need a unit test that checks whether they still run. It helps if you have  DAO layer (that contains all SQL statements); and it helps very much if you have a schema comparison tool (we use Redgate) so taht you can check in a &quot;schema snapshot&quot; and then check later what your developers changed.

We run a multi-million LOC software with (currently) more than 250 installations - and yet we allow every developer to change any part of the database schema in every (even minor) release ... so yes, all this &quot;agility on the database&quot; does indeed work :-)

Harald M.</description>
		<content:encoded><![CDATA[<p>Jens asked: &#8220;@bushfoot<br />
how do you deal with changes in your schema? I once worked with a similar approach, but we finally ditched it because it became just impossible to maintain the scripts for inserting data.&#8221;</p>
<p>Well, you build your database in a CI (continuous integration) environment. If it does not build, someone has to change the insert scripts.</p>
<p>For this to work, you must go one step further than Jens&#8217;s first item: &#8220;Give every developer her own database.&#8221; This must be &#8220;Give every developer <b>the means to create</b> her own database.&#8221;</p>
<p>By this, people changing the database schema and writing tests can work in an agile way.</p>
<p>Of course, there&#8217;s more to all this: You need to keep your schema trackable &#8211; so for each and every SQL statement, you need a unit test that checks whether they still run. It helps if you have  DAO layer (that contains all SQL statements); and it helps very much if you have a schema comparison tool (we use Redgate) so taht you can check in a &#8220;schema snapshot&#8221; and then check later what your developers changed.</p>
<p>We run a multi-million LOC software with (currently) more than 250 installations &#8211; and yet we allow every developer to change any part of the database schema in every (even minor) release &#8230; so yes, all this &#8220;agility on the database&#8221; does indeed work <img src='http://blog.schauderhaft.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Harald M.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Tips for Testing Database Code by Yuliya</title>
		<link>http://blog.schauderhaft.de/2012/01/15/tipps-for-testing-database-code/comment-page-1/#comment-4930</link>
		<dc:creator>Yuliya</dc:creator>
		<pubDate>Mon, 30 Jan 2012 09:27:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1013#comment-4930</guid>
		<description>There are some points in this post I am disagree with. Please, keep in mind that my opinion is based on my personal experience, mostly with huge Oracle databases (banking and money transfers).
Having test-database for every developer is a good idea in theory, but it creates huge amount of extra work. All of those databases must be synchronized constantly and have to hold identical data. If a production database holds terabytes of data, so should every test-database otherwise testing is pointless. In performance critical applications solutions that work well on small amount of data generally perform terribly in the real world. So usually I saw the following installment - developers have their own copy of production database, so does the QA team and so on. These approach proved to work well.

Second point that I can&#039;t agree with is a choice of language. Personally, if I had a choice of programming language I would certainly go with mentioned criterions &quot;For which do you get the better IDE, Unit testing support, code analysis, code coverage and so on&quot;. But it&#039;s not my opinion that matters in the real world. When I had to deal with hundreds of database requests per second, that could not be cached in anyway and required direct communication with the data, the build-in language wins hands down over proper languages (PL/SQL in Oracle). Yes, it&#039;s far from perfect, but it does its job better. Some modules of the application are working better with the proper languages, but when it comes to the data, the built-in language has no competitors.</description>
		<content:encoded><![CDATA[<p>There are some points in this post I am disagree with. Please, keep in mind that my opinion is based on my personal experience, mostly with huge Oracle databases (banking and money transfers).<br />
Having test-database for every developer is a good idea in theory, but it creates huge amount of extra work. All of those databases must be synchronized constantly and have to hold identical data. If a production database holds terabytes of data, so should every test-database otherwise testing is pointless. In performance critical applications solutions that work well on small amount of data generally perform terribly in the real world. So usually I saw the following installment &#8211; developers have their own copy of production database, so does the QA team and so on. These approach proved to work well.</p>
<p>Second point that I can&#8217;t agree with is a choice of language. Personally, if I had a choice of programming language I would certainly go with mentioned criterions &#8220;For which do you get the better IDE, Unit testing support, code analysis, code coverage and so on&#8221;. But it&#8217;s not my opinion that matters in the real world. When I had to deal with hundreds of database requests per second, that could not be cached in anyway and required direct communication with the data, the build-in language wins hands down over proper languages (PL/SQL in Oracle). Yes, it&#8217;s far from perfect, but it does its job better. Some modules of the application are working better with the proper languages, but when it comes to the data, the built-in language has no competitors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Fixing the Singleton by Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2012/01/22/fixing-the-singleton/comment-page-1/#comment-4900</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Thu, 26 Jan 2012 08:26:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1024#comment-4900</guid>
		<description>You are correct. The interface (in the java sense) isn&#039;t strictly necessary. In the generic sense of a contract which is independent of the implementation is necessary though. 

I&#039;m thinking that when you are referencing the implementation directly it is to tempting to access the instance directly instead of through dependency injection. 

But I might be wrong about that.</description>
		<content:encoded><![CDATA[<p>You are correct. The interface (in the java sense) isn&#8217;t strictly necessary. In the generic sense of a contract which is independent of the implementation is necessary though. </p>
<p>I&#8217;m thinking that when you are referencing the implementation directly it is to tempting to access the instance directly instead of through dependency injection. </p>
<p>But I might be wrong about that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Fixing the Singleton by Born</title>
		<link>http://blog.schauderhaft.de/2012/01/22/fixing-the-singleton/comment-page-1/#comment-4899</link>
		<dc:creator>Born</dc:creator>
		<pubDate>Thu, 26 Jan 2012 06:44:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=1024#comment-4899</guid>
		<description>Hm - i don&#039;t see why wee need an interface here? Of course one should implement against interfaces, but personally I prefer having interfaces if I need them, i.e. if I have more then one interpretation of a type. If I have a class with typical functionality, I don&#039;t need an interface for a better design. I would use &quot;introduce interface&quot; refactoring right at the time I have a second class doing well unter the same type. I don&#039;t like those projects where you have all those interfaces around without any reason for them. These interfaces are mostly created because in early days some teacher told us to always use interfaces ;)</description>
		<content:encoded><![CDATA[<p>Hm &#8211; i don&#8217;t see why wee need an interface here? Of course one should implement against interfaces, but personally I prefer having interfaces if I need them, i.e. if I have more then one interpretation of a type. If I have a class with typical functionality, I don&#8217;t need an interface for a better design. I would use &#8220;introduce interface&#8221; refactoring right at the time I have a second class doing well unter the same type. I don&#8217;t like those projects where you have all those interfaces around without any reason for them. These interfaces are mostly created because in early days some teacher told us to always use interfaces <img src='http://blog.schauderhaft.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Database Version Management &#8230; Again by Petr</title>
		<link>http://blog.schauderhaft.de/2009/02/26/database-testing-again/comment-page-1/#comment-4890</link>
		<dc:creator>Petr</dc:creator>
		<pubDate>Wed, 25 Jan 2012 15:19:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/2009/02/26/database-testing-again/#comment-4890</guid>
		<description>The liquibase is quite good, but if you need something without &quot;ridden with horrible XML&quot;, try Flyway - http://code.google.com/p/flyway/</description>
		<content:encoded><![CDATA[<p>The liquibase is quite good, but if you need something without &#8220;ridden with horrible XML&#8221;, try Flyway &#8211; <a href="http://code.google.com/p/flyway/">http://code.google.com/p/flyway/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Testing Databases with JUnit and Hibernate Part 2: The Mother of All Things by Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2011/03/20/testing-databases-with-junit-and-hibernate-part-2-the-mother-of-all-things/comment-page-1/#comment-4889</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Wed, 25 Jan 2012 13:13:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=735#comment-4889</guid>
		<description>I&#039;m taking the name from Fowler: &lt;a href=&quot;http://martinfowler.com/bliki/ObjectMother.html&quot; rel=&quot;nofollow&quot;&gt;http://martinfowler.com/bliki/ObjectMother.html&lt;/a&gt;

And of course it reminds me of one of my favorite films: Alien.

&lt;a href=&quot;http://www.dailyscript.com/scripts/alien_shooting.html&quot; rel=&quot;nofollow&quot;&gt;http://www.dailyscript.com/scripts/alien_shooting.html&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;m taking the name from Fowler: <a href="http://martinfowler.com/bliki/ObjectMother.html">http://martinfowler.com/bliki/ObjectMother.html</a></p>
<p>And of course it reminds me of one of my favorite films: Alien.</p>
<p><a href="http://www.dailyscript.com/scripts/alien_shooting.html">http://www.dailyscript.com/scripts/alien_shooting.html</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

