<?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>Bin Nich Da.</title>
	<atom:link href="http://comp.binnichda.de/feed" rel="self" type="application/rss+xml" />
	<link>http://comp.binnichda.de</link>
	<description>Never fall in love with your code. Because it's crap.</description>
	<lastBuildDate>Wed, 21 Apr 2010 14:07:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Spring MVC Framework 3.0.1, Indexed Properties</title>
		<link>http://comp.binnichda.de/java/spring-mvc-framework-3-0-1-indexed-properties</link>
		<comments>http://comp.binnichda.de/java/spring-mvc-framework-3-0-1-indexed-properties#comments</comments>
		<pubDate>Wed, 21 Apr 2010 14:04:14 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Webprogrammierung]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=192</guid>
		<description><![CDATA[Achtung, wer noch springframework 3.0.1 verwendet: Hier gibt&#8217;s einen schweren Bug, was Indexed Properties betrifft. Formulardaten mit Index wie:

&#60;form:input path="myArray[0]"/&#62;

werden nicht korrekt submitted: http://jira.springframework.org/browse/SPR-6871
Also schleunigst auf 3.0.2 updaten.
Hat mich gerade 4h gekostet.
]]></description>
			<content:encoded><![CDATA[<p>Achtung, wer noch springframework 3.0.1 verwendet: Hier gibt&#8217;s einen schweren Bug, was Indexed Properties betrifft. Formulardaten mit Index wie:</p>
<p><code><br />
&lt;form:input path="myArray[0]"/&gt;<br />
</code></p>
<p>werden nicht korrekt submitted: <a href="http://jira.springframework.org/browse/SPR-6871" onclick="javascript:pageTracker._trackPageview('/outbound/article/jira.springframework.org');">http://jira.springframework.org/browse/SPR-6871</a></p>
<p>Also schleunigst auf 3.0.2 updaten.</p>
<p>Hat mich gerade 4h gekostet.</p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/java/spring-mvc-framework-3-0-1-indexed-properties/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iBatis und DB2: Nicht erkannter JDBC-Typ: 0</title>
		<link>http://comp.binnichda.de/uncategorized/ibatis-und-db2-nicht-erkannter-jdbc-typ-0</link>
		<comments>http://comp.binnichda.de/uncategorized/ibatis-und-db2-nicht-erkannter-jdbc-typ-0#comments</comments>
		<pubDate>Mon, 04 Jan 2010 13:28:51 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=186</guid>
		<description><![CDATA[Dieser Fehler tritt auf, wenn iBatis ein Objekt zu speichern versucht, bei dem Properties &#8220;null&#8221; sind.
Um diesen Fehler zu verhindern, muss man in der SQL Map den SQL Datentypen der Spalte mit angeben (hier DATE):

insert into myTable (myName, myDate) values (#name# , #date:DATE#)

Siehe auch im Spring Forum
]]></description>
			<content:encoded><![CDATA[<p>Dieser Fehler tritt auf, wenn iBatis ein Objekt zu speichern versucht, bei dem Properties &#8220;null&#8221; sind.<br />
Um diesen Fehler zu verhindern, muss man in der SQL Map den SQL Datentypen der Spalte mit angeben (hier DATE):<br />
<code><br />
insert into myTable (myName, myDate) values (#name# , #date:DATE#)<br />
</code><br />
Siehe auch <a href="http://forum.springsource.org/showthread.php?t=11438" onclick="javascript:pageTracker._trackPageview('/outbound/article/forum.springsource.org');">im Spring Forum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/uncategorized/ibatis-und-db2-nicht-erkannter-jdbc-typ-0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buchtipp: Stripes: &#8230;and Java Web Development Is Fun Again</title>
		<link>http://comp.binnichda.de/buchtipp/buchtipp-stripes-and-java-web-development-is-fun-again</link>
		<comments>http://comp.binnichda.de/buchtipp/buchtipp-stripes-and-java-web-development-is-fun-again#comments</comments>
		<pubDate>Fri, 10 Jul 2009 07:19:51 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Buchtipp]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Stripes]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=176</guid>
		<description><![CDATA[Gibt es jetzt schon eine Weile, ist aber wirklich ein sehr gutes Buch über Stripes und jedem, der keine Probleme mit englischen Computerbüchern hat, sehr zu empfehlen. Der Autor ist ein erfahrener Java Webprogrammierer- und auch Tim Fennel, der Erfinder von Stripes, gibt Tipps in diesem Buch.
http://www.pragprog.com/titles/fdstr/stripes
]]></description>
			<content:encoded><![CDATA[<p>Gibt es jetzt schon eine Weile, ist aber wirklich ein sehr gutes Buch über Stripes und jedem, der keine Probleme mit englischen Computerbüchern hat, sehr zu empfehlen. Der Autor ist ein erfahrener Java Webprogrammierer- und auch Tim Fennel, der Erfinder von Stripes, gibt Tipps in diesem Buch.</p>
<p><a href="http://www.pragprog.com/titles/fdstr/stripes" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pragprog.com');">http://www.pragprog.com/titles/fdstr/stripes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/buchtipp/buchtipp-stripes-and-java-web-development-is-fun-again/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offtopic: SO 36 bleibt</title>
		<link>http://comp.binnichda.de/offtopic/offtopic-so-36-bleibt</link>
		<comments>http://comp.binnichda.de/offtopic/offtopic-so-36-bleibt#comments</comments>
		<pubDate>Wed, 01 Jul 2009 15:41:47 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Offtopic]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=173</guid>
		<description><![CDATA[Immer wieder unglaublich&#8230; Da wohnen Leute in einer Großstadt und erwarten ländliche Ruhe. Ich kann&#8217;s nicht fassen.



]]></description>
			<content:encoded><![CDATA[<p>Immer wieder unglaublich&#8230; Da wohnen Leute in einer Großstadt und erwarten ländliche Ruhe. Ich kann&#8217;s nicht fassen.</p>
<p><a href="http://www.so36.de/sobleibt.htm" title="SO36 Bleibt!"><br />
<img src="http://www.so36.de/clip/so36_banner_120x60_2.jpg" alt="SO36 Bleibt"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/offtopic/offtopic-so-36-bleibt/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBatis Tipps (I): Enumerations</title>
		<link>http://comp.binnichda.de/java/ibatis-tipps-i-enumerations</link>
		<comments>http://comp.binnichda.de/java/ibatis-tipps-i-enumerations#comments</comments>
		<pubDate>Tue, 30 Jun 2009 13:27:36 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[..]]></category>
		<category><![CDATA[Schlagwort hinzufügen]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=165</guid>
		<description><![CDATA[Ich verwende gerne Java Enumerations, wenn ein Datenbankfeld nur eine bestimmte Anzahl an Typen enthalten kann . Ein Beispiel wäre eine Tabelle CONTACTS (ich gebe mal nicht alle Felder an) mit dem Feld &#8220;TYPE&#8221;, das PRIVATE,BUSINESS oder OTHER enthalten kann:


CREATE TABLE CONTACTS (
	ID INTEGER NOT NULL,
        TYPE AS [...]]]></description>
			<content:encoded><![CDATA[<p>Ich verwende gerne Java Enumerations, wenn ein Datenbankfeld nur eine bestimmte Anzahl an Typen enthalten kann . Ein Beispiel wäre eine Tabelle CONTACTS (ich gebe mal nicht alle Felder an) mit dem Feld &#8220;TYPE&#8221;, das PRIVATE,BUSINESS oder OTHER enthalten kann:</p>
<pre name="code" class="sql">

CREATE TABLE CONTACTS (
	ID INTEGER NOT NULL,
        TYPE AS VARCHAR(24),
        NAME VARCHAR(50) NOT NULL,
        .
        .
        .
	PRIMARY KEY (ID)
);
</pre>
<p>Für das Datenbankfeld TYPE erstelle ich folgende Enumeration:<br />
Nehmen wir mal an, wir haben folgende Enumeration:</p>
<pre name="code" class="java">

public enum ContactType {
     PRIVATE, BUSINESS, OTHER
}
</pre>
<p>Und dann noch folgendes Modell:</p>
<pre name="code" class="java">

package de.binnichda.comp;
public class Contact {
   private Long id;
   private ContactType type;
   private String name;

   /* Und natürlich die zugehörigen Getter/Setter ... */
}
</pre>
<p>Noch kann man jetzt leider noch nicht viel mit der Enumeration anfangen, denn IBatis muss noch wissen, wie es diesen Typen behandeln soll. Dazu muss man eine Klasse erstellen, die &#8220;TypeHandlerCallback&#8221; implementiert. Mit Java 5 bietet es sich an, das ganze generisch zu erschlagen:</p>
<pre name="code" class="java">

package de.binnichda.comp;
@SuppressWarnings(&quot;unchecked&quot;)
public class GenericEnumHandlerCallback &lt;E extends Enum&gt; implements TypeHandlerCallback {

   private Class&lt;E&gt; enumClass;

   public GenericEnumHandlerCallback(Class&lt;E&gt; enumClass) {
      this.enumClass = enumClass;
   }

   private Class&lt;E&gt; getEnumClass() { return enumClass; }

   public void setParameter(ParameterSetter setter, Object parameter) throws SQLException {
      setter.setString(parameter.toString());
   }

   public Object getResult(ResultGetter getter) throws SQLException {
      return valueOf(getter.getString());
   }

   public Object valueOf(String s) {

      if (s == null)
         return null;
      else
         return Enum.valueOf(getEnumClass(), s);
   }

}
</pre>
<p>Mein konkreter ContactTypeHandler muss dann folgendermaßen aussehen:</p>
<pre name="code" class="java">

package de.binnichda.comp;
public class ContactTypeHandlerCallback extends
      GenericEnumHandlerCallback&lt;ContactType&gt; {

   public ContactTypeHandlerCallback() {
      super(ContactType.class);
   }
}
</pre>
<p>Jetzt noch den TypeHandlerCallback IBatis bekannt geben:</p>
<pre name="code" class="xml">

&lt;typeHandler javaType=&quot;de.binnichda.comp.ContactType&quot; callback=&quot;de.binnichda.comp.ContactTypeHandlerCallback&quot;/&gt;
</pre>
<p>Fertig, die Enumeration kann verwendet werden:</p>
<pre name="code" class="java">

Contact contact = new Contact();
contact.setName(&quot;Felix Meinhold&quot;);
contact.setType(ContactType.PRIVATE);

contactDao.save(contact);
</pre>
<p>Oder folgendes IBatis Mapping, um mehrere Contact Typen abzufragen:</p>
<pre name="code" class="xml">

    &lt;select id = &quot;findByContacts&quot;  parameterClass=&quot;map&quot; resultMap = &quot;contactMap&quot;&gt;
        SELECT * FROM CONTACTS
        &lt;isNotEmpty property=&quot;contactTypes&quot; prepend=&quot;WHERE TYPE_ IN &quot;&gt;
            &lt;iterate property=&quot;contactTypes&quot;
             open=&quot;(&quot; close=&quot;)&quot;
             conjunction=&quot;,&quot;&gt;#contactTypes[]#&lt;/iterate&gt;
        &lt;/isNotEmpty&gt;
    &lt;/select&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/java/ibatis-tipps-i-enumerations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Selektoren II</title>
		<link>http://comp.binnichda.de/uncategorized/jquery-selektoren-ii</link>
		<comments>http://comp.binnichda.de/uncategorized/jquery-selektoren-ii#comments</comments>
		<pubDate>Sun, 28 Jun 2009 15:24:40 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Webprogrammierung]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=161</guid>
		<description><![CDATA[Vergesse ich immer wieder&#8230;
Finde alle Elemente ab einem bestimmten Element (hier this) des Dokuments:


$(&#039;input&#039;, this).each(....);

Es gibt einen ZWEITEN Parameter für $()  
]]></description>
			<content:encoded><![CDATA[<p><em>Vergesse ich immer wieder&#8230;</em></p>
<p>Finde alle Elemente ab einem bestimmten Element (hier <strong>this</strong>) des Dokuments:</p>
<pre name="code" class="javascript">

$(&#039;input&#039;, this).each(....);
</pre>
<p>Es gibt einen ZWEITEN Parameter für $() <img src='http://comp.binnichda.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/uncategorized/jquery-selektoren-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Selektoren</title>
		<link>http://comp.binnichda.de/webprogrammierung/jquery-selektoren</link>
		<comments>http://comp.binnichda.de/webprogrammierung/jquery-selektoren#comments</comments>
		<pubDate>Sun, 24 May 2009 15:31:59 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Webprogrammierung]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=147</guid>
		<description><![CDATA[jQuery ist cool. Das sollte inzwischen Kinderwissen (so wie in &#8220;Italien sieht wie ein Stiefel aus&#8221;) sein.
Dieser Artikel wird eine lose Sammlung von jQuery Selektoren.
Suche alle Elemente A, die eine Bestimmte css-Klasse haben und kein Element B als Kindknoten, das eine andere bestimmte css-Klasse hat und füge einen &#8220;*&#8221; hinzu.


$(&#039;.required:not(:has(div.error-message))&#039;).each(function() {
$(this).append(&#039;&#60;span&#62;*&#60;/span&#62;&#039;);
});

]]></description>
			<content:encoded><![CDATA[<p>jQuery ist cool. Das sollte inzwischen Kinderwissen (so wie in &#8220;Italien sieht wie ein Stiefel aus&#8221;) sein.</p>
<p>Dieser Artikel wird eine lose Sammlung von jQuery Selektoren.</p>
<p>Suche alle Elemente A, die eine Bestimmte css-Klasse haben und kein Element B als Kindknoten, das eine andere bestimmte css-Klasse hat und füge einen &#8220;*&#8221; hinzu.</p>
<pre name="code" class="javascript">

$(&#039;.required:not(:has(div.error-message))&#039;).each(function() {
$(this).append(&#039;&lt;span&gt;*&lt;/span&gt;&#039;);
});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/webprogrammierung/jquery-selektoren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem bei der Installation von CakePHP in Apache UserDir</title>
		<link>http://comp.binnichda.de/scripts/cakephp-installationsprobleme</link>
		<comments>http://comp.binnichda.de/scripts/cakephp-installationsprobleme#comments</comments>
		<pubDate>Sat, 16 May 2009 14:50:36 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Scriptsprachen]]></category>
		<category><![CDATA[Webprogrammierung]]></category>
		<category><![CDATA[cakePHP]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=140</guid>
		<description><![CDATA[Kostete mich einiges Googlen&#8230; 
Installiert man cakephp in das UserDir von apache, also zum Beispiel nach http://localhost/~felix/cakephp, dann
muss man die mitgelieferte .htaccess Datei in im cakePHP root und in app/webroot mit

RewriteBase /~felix/cakephp

erweitern.
]]></description>
			<content:encoded><![CDATA[<p><em>Kostete mich einiges Googlen&#8230; </em></p>
<p>Installiert man cakephp in das UserDir von apache, also zum Beispiel nach http://localhost/~felix/cakephp, dann<br />
muss man die mitgelieferte .htaccess Datei in im cakePHP root und in app/webroot mit</p>
<p><code><br />
RewriteBase /~felix/cakephp<br />
</code></p>
<p>erweitern.</p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/scripts/cakephp-installationsprobleme/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nutze den Eclipse QuickFix! So oft es geht.</title>
		<link>http://comp.binnichda.de/uncategorized/nutze-den-eclipse-quickfix-so-oft-es-geht</link>
		<comments>http://comp.binnichda.de/uncategorized/nutze-den-eclipse-quickfix-so-oft-es-geht#comments</comments>
		<pubDate>Wed, 11 Mar 2009 13:02:37 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=131</guid>
		<description><![CDATA[Ich denke, das weiß fast jeder, aber manchmal hat man ja Paradeiser auf den Augen.
Für Methoden:
Schreib erst den Methodenaufruf mit allen Parametern, und erzeuge dann die Method mit QuickFix.
Für Getter / Setter:
Deklariere erst das Feld (private) und erzeuge dann die Getter / Setter mit QuickFix.

Für Exceptions, für Konstruktoren und und und&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Ich denke, das weiß fast jeder, aber manchmal hat man ja Paradeiser auf den Augen.</p>
<p>Für Methoden:</p>
<p>Schreib erst den Methodenaufruf mit allen Parametern, und erzeuge dann die Method mit QuickFix.</p>
<p>Für Getter / Setter:</p>
<p>Deklariere erst das Feld (private) und erzeuge dann die Getter / Setter mit QuickFix.</p>
<p><img class="size-full wp-image-132" title="Screenshot Eclipse Quick Fix" src="http://comp.binnichda.de/wp-content/uploads/2009/03/screenshot_qf.jpg" alt="Screenshot Eclipse Quick Fix" width="400" height="250" /></p>
<p>Für Exceptions, für Konstruktoren und und und&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/uncategorized/nutze-den-eclipse-quickfix-so-oft-es-geht/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome und Windows Taste</title>
		<link>http://comp.binnichda.de/uncategorized/gnome-und-windows-taste</link>
		<comments>http://comp.binnichda.de/uncategorized/gnome-und-windows-taste#comments</comments>
		<pubDate>Fri, 07 Nov 2008 08:07:37 +0000</pubDate>
		<dc:creator>felix</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://comp.binnichda.de/?p=125</guid>
		<description><![CDATA[Gestern mal wieder von XFCE auf GNOME gewechselt und dabei festgestellt, dass die Windows-Taste, die ich in Verbindung mit F1-F4 zum Umschalten der Desktops nutze, sich standardmäßig unter Gnome nicht als &#8220;Modifier&#8221; verhält. Dies lässt sich erst erreichen, wenn man unter 
Preferences -> Keyboard -> Layouts -> Layout Options -> Alt/Win Key behavior -> Hyper [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern mal wieder von XFCE auf GNOME gewechselt und dabei festgestellt, dass die Windows-Taste, die ich in Verbindung mit F1-F4 zum Umschalten der Desktops nutze, sich standardmäßig unter Gnome nicht als &#8220;Modifier&#8221; verhält. Dies lässt sich erst erreichen, wenn man unter </p>
<p>Preferences -> Keyboard -> Layouts -> Layout Options -> Alt/Win Key behavior -> Hyper is mapped to the Win-Keys</p>
<p>anschaltet.. Wie intuitiv. </p>
]]></content:encoded>
			<wfw:commentRss>http://comp.binnichda.de/uncategorized/gnome-und-windows-taste/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
