<?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>iTeamWork &#187; Programmierung</title>
	<atom:link href="http://iteamwork.de/category/prog/feed" rel="self" type="application/rss+xml" />
	<link>http://iteamwork.de</link>
	<description>Coding Tipps</description>
	<lastBuildDate>Thu, 06 Oct 2011 17:38:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Wie man schnellen Code schreibt</title>
		<link>http://iteamwork.de/wie-man-schnellen-code-schreibt.html</link>
		<comments>http://iteamwork.de/wie-man-schnellen-code-schreibt.html#comments</comments>
		<pubDate>Tue, 05 Apr 2011 22:41:35 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=114</guid>
		<description><![CDATA[Ein Interessanter Artikel zum Thema wie man schnellen Code schreibt. Sehr zu empfehlen: How to write fast code]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fwie-man-schnellen-code-schreibt.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fwie-man-schnellen-code-schreibt.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Ein Interessanter Artikel zum Thema wie man schnellen Code schreibt. Sehr zu empfehlen: <a href="http://asserttrue.blogspot.com/2009/03/how-to-write-fast-code.html">How to write fast code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/wie-man-schnellen-code-schreibt.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JAVA] XML Dokument auslesen mittels java.xml.parser</title>
		<link>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html</link>
		<comments>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html#comments</comments>
		<pubDate>Tue, 05 Oct 2010 05:29:52 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Childelement]]></category>
		<category><![CDATA[Document]]></category>
		<category><![CDATA[DocumentBuilder]]></category>
		<category><![CDATA[DocumentBuilderFactory]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[Element]]></category>
		<category><![CDATA[java.xml.parser]]></category>
		<category><![CDATA[Node]]></category>
		<category><![CDATA[NodeList]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[Tag]]></category>
		<category><![CDATA[TagName]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=77</guid>
		<description><![CDATA[Um eine XML Datei auslesen zu können, benötigt man mehrere Teile des java.xml.parser Package. Zuerst benötigt man eine DocumentBuilderFactory, mit deren Hilfe man einen DocumentBuilder erstellen kann. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance&#40;&#41;; DocumentBuilder db = dbf.newDocumentBuilder&#40;&#41;; Mit Hilfe des gerade erstellten DocumentBuilder kann die XML Datei nun geparst werden. Document dom = db.parse&#40;XmlURL&#41;; Das Document repräsentiert [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fjava-xml-dokument-auslesen-mittels-java-xml-parser.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fjava-xml-dokument-auslesen-mittels-java-xml-parser.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Um eine XML Datei auslesen zu können, benötigt man mehrere Teile des java.xml.parser Package. Zuerst benötigt man eine DocumentBuilderFactory, mit deren Hilfe man einen DocumentBuilder erstellen kann.</p>
<p><span id="more-77"></span>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">DocumentBuilderFactory dbf <span class="sy0">=</span> DocumentBuilderFactory.<span class="me1">newInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">DocumentBuilder db <span class="sy0">=</span> dbf.<span class="me1">newDocumentBuilder</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Mit Hilfe des gerade erstellten DocumentBuilder kann die XML Datei nun geparst werden.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adocument+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Document</span></a> dom <span class="sy0">=</span> db.<span class="me1">parse</span><span class="br0">&#40;</span>XmlURL<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Das Document repräsentiert die XML Struktur der vom DocumentBuilder geparsten Quelle. Eine XML Datei besteht aus vielen Elementen. Um auf diese Elemente zuzugreifen verwendet man die Klasse Element.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aelement+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Element</span></a> docEle <span class="sy0">=</span> dom.<span class="me1">getDocumentElement</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Um nun auf einzelne Elemente zugreifen zu können, muss der Tag Name bekannt sein. Mit dem Tag Name können wir alle Elemente mit diesem Tag Name in eine NodeList speichern.</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">NodeList nl <span class="sy0">=</span> docEle.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&quot;entry&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>Um nun den Inhalt eines Elements auszulesen, müssen wir die entsprechende Node auswählen und diese wieder als Element casten. Anschließend kann man mit der Element Methode getFirstChild auf das Kindelement zugreifen. Wenn dies ein Textelement ist, kann der Inhalt mit der Node Methode getNodeValue ausgelesen werden.</p>
<p><a href="http://www.totheriver.com/learn/xml/xmltutorial.html" target="_blank">weitere Infos und Tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/java-xml-dokument-auslesen-mittels-java-xml-parser.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CSS] Umstieg auf CSS3 machbar</title>
		<link>http://iteamwork.de/css-umstieg-auf-css3-machbar.html</link>
		<comments>http://iteamwork.de/css-umstieg-auf-css3-machbar.html#comments</comments>
		<pubDate>Sat, 02 Oct 2010 11:12:13 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[pie]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=112</guid>
		<description><![CDATA[Websites gestalten in CSS3 ist schön, die Seiten schlank und schnell. Wie so oft gibt es leider Probleme mit dem Internet Explorer. Abhilfe schafft hier CSS3 Pie. Hier downloaden und .htc einbinden]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fcss-umstieg-auf-css3-machbar.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fcss-umstieg-auf-css3-machbar.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Websites gestalten in CSS3 ist schön, die Seiten schlank und schnell. Wie so oft gibt es leider Probleme mit dem Internet Explorer. Abhilfe schafft hier CSS3 Pie. <a href="http://css3pie.com/" target="_blank">Hier downloaden</a> und .htc einbinden</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/css-umstieg-auf-css3-machbar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Prüfen ob Interface implementiert wurde</title>
		<link>http://iteamwork.de/php-prufen-ob-interface-implementiert-wurde.html</link>
		<comments>http://iteamwork.de/php-prufen-ob-interface-implementiert-wurde.html#comments</comments>
		<pubDate>Wed, 31 Mar 2010 23:29:04 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[implementiert]]></category>
		<category><![CDATA[instanceof]]></category>
		<category><![CDATA[interface]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=74</guid>
		<description><![CDATA[Wie kann man überprüfen ob eine Klasse ein Interface implementiert?]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fphp-prufen-ob-interface-implementiert-wurde.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fphp-prufen-ob-interface-implementiert-wurde.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Vor kurzem habe ich gezeigt wie man ein Interface erstellt und dieses Implementiert. Nun ist es durchaus von Interesse zu prüfen ob eine Klasse dieses Interface implementiert hat. Dies geht wie folgt:<br />
<span id="more-74"></span></p>
<blockquote><p>$p=new klasseMitInterface($db);<br />
if ($p instanceof  Plugin2)<br />
{<br />
//Interface implementiert<br />
}<br />
else<br />
{<br />
//leider nein<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/php-prufen-ob-interface-implementiert-wurde.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Interfaces implementieren</title>
		<link>http://iteamwork.de/php-interfaces-implementieren.html</link>
		<comments>http://iteamwork.de/php-interfaces-implementieren.html#comments</comments>
		<pubDate>Fri, 19 Mar 2010 23:26:02 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[implementieren]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Klasse]]></category>
		<category><![CDATA[Vererbung]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=67</guid>
		<description><![CDATA[Was sind interfaces und wie benutzt man sie?]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fphp-interfaces-implementieren.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fphp-interfaces-implementieren.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Interfaces definieren eine Schnittstelle nach Außen. Durch Sie ist sichergestellt das bestimmte Funktionen vorhanden sind und exakt so aussehen wie sie definiert wurden.</p>
<p>In PHP wird ein Interface wie folgt definiert:</p>
<blockquote><p>interface Plugin<br />
{<br />
public function __construct($db);<br />
public function start();<br />
}</p></blockquote>
<p>Hier wird definiert das die Klasse welches das Interface implementiert einen Konstruktor haben muss der als Parameter eine Variable nimmt. Außerdem muss eine Methode vorhanden sein die start heißt und keine Parameter benötigt.</p>
<p>Implementiert wird das ganze wie folgt:</p>
<p><span id="more-67"></span></p>
<blockquote><p>class Ueberweisung implements Plugin<br />
{</p>
<p>function __construct($db)<br />
{<br />
//&#8230;<br />
}<br />
function start()<br />
{<br />
//&#8230;<br />
}<br />
}</p></blockquote>
<p>Nur wenn alle Funktionen implemtiert wirden funktioniert dies. Ansonsten gibt der PHP Interpretor eine Error Meldung.</p>
<p>Es ist auch möglich das ein Interface von einem anderen erbt.</p>
<blockquote><p>interface Plugin2 extends Plugin<br />
{<br />
public function machwas();<br />
}</p></blockquote>
<p>Eine Klasse die jetzt Plugin2 implementiert muss nun alle Methoden von Plugin und Plugin2 bereitstellen.</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/php-interfaces-implementieren.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[SQL] Spaltennamen auslesen</title>
		<link>http://iteamwork.de/sql-spaltennamen-auslesen.html</link>
		<comments>http://iteamwork.de/sql-spaltennamen-auslesen.html#comments</comments>
		<pubDate>Sun, 03 Jan 2010 16:15:49 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=62</guid>
		<description><![CDATA[Manchmal kommt es vor, das man die Spaltennamen einer Tabelle auslesen will. Im Prinzip ganz einfach, wenn man weiß wie es geht: MS Sql: SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = &#8216;foo&#8217; My Sql: SHOW COLUMNS FROM foo; Oracle: SELECT column_name FROM all_tab_columns WHERE table_name= &#8216;foo&#8217;;]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fsql-spaltennamen-auslesen.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fsql-spaltennamen-auslesen.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Manchmal kommt es vor, das man die Spaltennamen einer Tabelle auslesen will.</p>
<p>Im Prinzip ganz einfach, wenn man weiß wie es geht:</p>
<p><span id="more-62"></span>MS Sql:</p>
<blockquote>
<div>
<div><span>SELECT</span> column_name <span>FROM</span> INFORMATION_SCHEMA.<span>COLUMNS</span> <span>WHERE</span> TABLE_NAME = <span>&#8216;foo&#8217;</span></div>
</div>
</blockquote>
<div><span>My Sql:</span></div>
<blockquote>
<div>SHOW COLUMNS FROM foo;</div>
</blockquote>
<div>Oracle:</div>
<blockquote>
<div>SELECT column_name FROM all_tab_columns WHERE table_name= &#8216;foo&#8217;;</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/sql-spaltennamen-auslesen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[JAVA] Verbindung zum Mysql Server aufbauen mittels MySQL Connector/J</title>
		<link>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html</link>
		<comments>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:31:47 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[-cp]]></category>
		<category><![CDATA[Classpath]]></category>
		<category><![CDATA[connector]]></category>
		<category><![CDATA[connector/j]]></category>
		<category><![CDATA[DriverManager]]></category>
		<category><![CDATA[getConnection]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=45</guid>
		<description><![CDATA[In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt. Da ich bei der Wahl des Datenbankmanagementsystems auf die kostenlose Variante MySQL gesetzt habe, wird zur Verbindung im Konstruktor der Klasse DatabaseController über den MySQL Connector/J eine neue JDBC Instanz erstellt. Hierfür muss das MySQL-Connector-Java-5.1.7-bin.jar File [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fverbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fverbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt.<br />
<span id="more-45"></span><br />
Da ich bei der Wahl des Datenbankmanagementsystems auf die kostenlose Variante MySQL gesetzt habe, wird zur Verbindung im Konstruktor der Klasse DatabaseController über den MySQL Connector/J eine neue JDBC Instanz erstellt. Hierfür muss das <a href="http://http://dev.mysql.com/downloads/connector/j/5.1.html">MySQL-Connector-Java-5.1.7-bin.jar</a> File zur Kompilierung mit eingebunden werden. Unter der Entwicklungsumgebung ist das Einbinden von jar Libraries über die Projekteigenschaften möglich. Beim händischen kompilieren müssen die .jar –Bibliotheken explizit über den –cp Parameter angegeben werden.</p>
<div class="codesnip-container" >java –cp mysql-connector-java-5.1.7-bin.jar package.ClassName</div>
<p>Die Verbindung vom Typ java.sql.Connection wird über folgenden Aufruf erstellt:</p>
<div class="codesnip-container" >
<div class="java codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">java.<span class="me1">sql</span>.<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adrivermanager+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">DriverManager</span></a>.<span class="me1">getConnection</span><span class="br0">&#40;</span>url, user, pass<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/verbindung-zum-mysql-server-aufbauen-mittels-mysql-connectorj.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[TOOLS] Visuell Datenbanken entwerfen</title>
		<link>http://iteamwork.de/visuell-datenbanken-entwerfen.html</link>
		<comments>http://iteamwork.de/visuell-datenbanken-entwerfen.html#comments</comments>
		<pubDate>Thu, 20 Aug 2009 00:34:53 +0000</pubDate>
		<dc:creator>O.Kriz</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=55</guid>
		<description><![CDATA[Ich habe soeben ein prima Tool zur visuellen Generierung von Datenbankschemata entdeckt: MySQL Workbench. Das ganze ist unter der abgespeckten &#8220;Community Edition&#8220; kostenlos erhältlich und untersützt sowohl reverse als auch forward engineering. (sprich: Bestehende Datenbanken visuell überarbeiten, die Schemata mit der Datenbank synchronisieren, SQL Files erstellen &#8230;.) Hier gehts zur Produktbeschreibung mit Download von MySQL Workbench]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fvisuell-datenbanken-entwerfen.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fvisuell-datenbanken-entwerfen.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Ich habe soeben ein prima Tool zur visuellen Generierung von Datenbankschemata entdeckt: MySQL Workbench.<br />
Das ganze ist unter der abgespeckten &#8220;<strong>Community Edition</strong>&#8220; kostenlos erhältlich und untersützt sowohl reverse als auch forward engineering.<br />
(sprich: Bestehende Datenbanken visuell überarbeiten, die Schemata mit der Datenbank synchronisieren, SQL Files erstellen &#8230;.)</p>
<p><a rel="nofollow" href="http://www.mysql.de/products/workbench/" target="_blank">Hier gehts zur Produktbeschreibung mit Download von MySQL Workbench</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/visuell-datenbanken-entwerfen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS3.0] Laden externer Bilder zur Laufzeit in Flash</title>
		<link>http://iteamwork.de/laden-externer-bilder-zur-laufzeit-in-flash-as3-0.html</link>
		<comments>http://iteamwork.de/laden-externer-bilder-zur-laufzeit-in-flash-as3-0.html#comments</comments>
		<pubDate>Mon, 10 Aug 2009 21:33:12 +0000</pubDate>
		<dc:creator>D. Martens</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[contentLoaderInfo]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Loader]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=24</guid>
		<description><![CDATA[Will man mit ActionScript 3.0 eine SWF, JPG oder PNG Datei zur Laufzeit laden, stellt die einfachste Möglichkeit dazu wohl die Loader Klasse dar. Betrachten wir mal die Teilschritte die nötig sind um unsere SWF, JPG oder PNG auf die Bühne zu bekommen. Schritt 1: Instanziieren der Loader-Klasse var loader:Loader = new Loader&#40;&#41;; Schritt 2: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fladen-externer-bilder-zur-laufzeit-in-flash-as3-0.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fladen-externer-bilder-zur-laufzeit-in-flash-as3-0.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p class="MsoNormal">Will man mit ActionScript 3.0 eine SWF, JPG oder PNG Datei zur Laufzeit laden, stellt die einfachste Möglichkeit dazu wohl die Loader Klasse dar.</p>
<p class="MsoNormal">Betrachten wir mal die Teilschritte die nötig sind um unsere SWF, JPG oder PNG auf die Bühne zu bekommen.</p>
<p class="MsoNormal"><span id="more-24"></span></p>
<p class="MsoNormal">Schritt 1:<br />
Instanziieren der Loader-Klasse</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">var</span> loader:Loader = <span class="kw2">new</span> Loader<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p class="MsoNormal">Schritt 2:<br />
EventListener registrieren. Hierbei ist zu beachten, dass das COMPLETE Event nicht unserer Loader Instanz, sondern einem LoaderInfo-Objekt zugewiesen wird. Dieses Objekt stellt Informationen und Statistiken zum Ladefortschritt unserer zu ladenden Datei bereit.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">loader.<span class="me1">addEventListener</span><span class="br0">&#40;</span>IOErrorEvent.<span class="me1">IO_ERROR</span>, onIOError<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">loader.<span class="me1">contentLoaderInfo</span>.<span class="me1">addEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">COMPLETE</span>, onComplete<span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p class="MsoNormal">Schritt 3:<br />
Schreiben der Funktionen die bei Auftreten unserer Events ausgeführt werden sollen.</p>
<p class="MsoNormal">Ist die Datei erfolgreich geladen, werden die EventListener entfernt und wir können Größe und Position des geladenen Objekts anpassen. Wichtig ist hier, dass das Ändern der width und height Parameter erst nach erfolgreichem Laden möglich ist. Aus diesem Grund sind diese Anweisungen, in der onComplete Funktion, gut untergebracht.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> onComplete<span class="br0">&#40;</span>evt:Event<span class="br0">&#41;</span>:<span class="kw3">void</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">try</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">loader.<span class="kw3">width</span> = <span class="nu0">200</span>;</div>
</li>
<li class="li1">
<div class="de1">loader.<span class="kw3">height</span> = <span class="nu0">150</span>;</div>
</li>
<li class="li1">
<div class="de1">loader.<span class="me1">removeEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">COMPLETE</span>, onComplete<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">loader.<span class="me1">removeEventListener</span><span class="br0">&#40;</span>IOErrorEvent.<span class="me1">IO_ERROR</span>, onIOError<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw3">catch</span> <span class="br0">&#40;</span>err:<span class="kw3">Error</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">trace</span><span class="br0">&#40;</span>err.<span class="kw3">message</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> onIOError<span class="br0">&#40;</span>evt:IOErrorEvent<span class="br0">&#41;</span>:<span class="kw3">void</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">trace</span><span class="br0">&#40;</span>evt.<span class="kw3">text</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p class="MsoNormal">Schritt 4:<br />
Zufügen des Loaders zur Displaylist. Dadurch wird unser zu ladendes Bild überhaupt sichtbar, da der Bühne zugefügt oder einem DisplayObjectContainer untergeordnet.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">addChild<span class="br0">&#40;</span> loader <span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p class="MsoNormal">Schritt 5:<br />
Aufrufen der load Methode um unser kleines Script ins Rollen zu bringen.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">loader.<span class="kw3">load</span><span class="br0">&#40;</span> <span class="kw2">new</span> URLRequest<span class="br0">&#40;</span> <span class="st0">&quot;bsp.jpg&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p>Das ist es auch schon gewesen.</p>
<p>Gruß,</p>
<p>D.</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/laden-externer-bilder-zur-laufzeit-in-flash-as3-0.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[SQL] mysqldump: Couldn&#8217;t execute &#8216;show fields from `table`&#8217;: Can&#8217;t create/write to file &#8216;/tmp/#sql_735_0.MYI&#8217;</title>
		<link>http://iteamwork.de/mysqldump-couldnt-execute-show-fields-from-table-cant-createwrite-to-file-tmpsql_735_0myi.html</link>
		<comments>http://iteamwork.de/mysqldump-couldnt-execute-show-fields-from-table-cant-createwrite-to-file-tmpsql_735_0myi.html#comments</comments>
		<pubDate>Tue, 14 Apr 2009 15:45:56 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[ausführrechte]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[execute]]></category>
		<category><![CDATA[leserechte]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[rechte]]></category>
		<category><![CDATA[schreibrechte]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[tmp]]></category>
		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=23</guid>
		<description><![CDATA[Folgende Fehlermeldung habe ich heute bekommen: mysqldump: Couldn&#8217;t execute &#8216;show fields from `table`&#8217;: Can&#8217;t create/write to file &#8216;/tmp/#sql_735_0.MYI&#8217; Nachdem ich lange gegrübelt habe, was ich überhaupt geändert habe, ist mir eingefallen das ich die Rechte des /tmp Verzeichnisses auf 666 geändert habe (read + write für jeden). Dies ist zwar kein Grund, das man da [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fiteamwork.de%2Fmysqldump-couldnt-execute-show-fields-from-table-cant-createwrite-to-file-tmpsql_735_0myi.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fmysqldump-couldnt-execute-show-fields-from-table-cant-createwrite-to-file-tmpsql_735_0myi.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Folgende Fehlermeldung habe ich heute bekommen:</p>
<blockquote><p>mysqldump: Couldn&#8217;t execute &#8216;show fields from `table`&#8217;: Can&#8217;t create/write to file &#8216;/tmp/#sql_735_0.MYI&#8217;</p></blockquote>
<p><span id="more-23"></span></p>
<p>Nachdem ich lange gegrübelt habe, was ich überhaupt geändert habe, ist mir eingefallen das ich die Rechte des /tmp Verzeichnisses auf 666 geändert habe (read + write für jeden). Dies ist zwar kein Grund, das man da nicht mehr reinschreiben kann, aber scheinbar benötigt mysql für diverse Befehle auch ausführ (x) Rechte auf dem tmp Ordner.</p>
<p>Also abhilfe für das Problem: dem /tmp Ordner wieder x Rechte geben (nicht zu empfehlen) oder das tmp Verzeichnis vom MySQL Server in der my.cnf umlegen.</p>
<p>Und schon klappt es auch wieder mit dem Show Befehl.</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/mysqldump-couldnt-execute-show-fields-from-table-cant-createwrite-to-file-tmpsql_735_0myi.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

