<?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</title>
	<atom:link href="http://iteamwork.de/feed" rel="self" type="application/rss+xml" />
	<link>http://iteamwork.de</link>
	<description>Coding Tipps</description>
	<lastBuildDate>Wed, 31 Mar 2010 23:29:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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" 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" 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>Schneller navigieren in PHPMyAdmin</title>
		<link>http://iteamwork.de/schneller-navigieren-in-phpmyadmin.html</link>
		<comments>http://iteamwork.de/schneller-navigieren-in-phpmyadmin.html#comments</comments>
		<pubDate>Sat, 20 Feb 2010 23:39:20 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=65</guid>
		<description><![CDATA[
			
				
			
		
In PHPMyAdmin gibt es die Möglichkeit, links in der Zeile mit den Tabellennamen dem Symbol einen anderen Link zuzuweisen als dem Text.  So kann man z.B. über das Symbol die Daten anzeigen lassen und über den Namen die Struktur.
Dies spart im normalen Arbeitsablauf normalerweise viel Zeit.
Dazu muss in der config.inc.php nur folgendes Ergänzt werden:
$cfg['LeftDefaultTabTable']=&#8217;sql.php&#8217;;
$cfg['DefaultTabTable']=&#8217;tbl_structure.php&#8217;;
Der erste [...]]]></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%2Fschneller-navigieren-in-phpmyadmin.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fschneller-navigieren-in-phpmyadmin.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>In PHPMyAdmin gibt es die Möglichkeit, links in der Zeile mit den Tabellennamen dem Symbol einen anderen Link zuzuweisen als dem Text.  So kann man z.B. über das Symbol die Daten anzeigen lassen und über den Namen die Struktur.</p>
<p>Dies spart im normalen Arbeitsablauf normalerweise viel Zeit.</p>
<p>Dazu muss in der config.inc.php nur folgendes Ergänzt werden:</p>
<div class="codesnip-container" >$cfg['LeftDefaultTabTable']=&#8217;sql.php&#8217;;<br />
$cfg['DefaultTabTable']=&#8217;tbl_structure.php&#8217;;</div>
<p>Der erste Wert ändert den Link des Symbols, der zweite den des Textes.</p>
<p>Mögliche Werte sind:  &#8220;tbl_structure.php&#8221;,         &#8220;tbl_sql.php&#8221;, &#8220;tbl_select.php&#8221;,         &#8220;tbl_change.php&#8221; und &#8220;sql.php&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/schneller-navigieren-in-phpmyadmin.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" 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>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 zur [...]]]></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" 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;">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>
</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>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[Allgemein]]></category>
		<category><![CDATA[SQL]]></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" 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>Laden externer Bilder zur Laufzeit in Flash (AS3.0)</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:
EventListener registrieren. Hierbei ist zu beachten, [...]]]></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" 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;"><span class="kw2">var</span> loader:Loader = <span class="kw2">new</span> Loader<span class="br0">&#40;</span><span class="br0">&#41;</span>;</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;">loader.<span class="me1">addEventListener</span><span class="br0">&#40;</span>IOErrorEvent.<span class="me1">IO_ERROR</span>, onIOError<span class="br0">&#41;</span>;<br />
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>
</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;"><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></p>
<p>
<span class="kw3">try</span> <span class="br0">&#123;</span><br />
&nbsp; loader.<span class="kw3">width</span> = <span class="nu0">200</span>;<br />
&nbsp; loader.<span class="kw3">height</span> = <span class="nu0">150</span>;<br />
&nbsp; loader.<span class="me1">removeEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">COMPLETE</span>, onComplete<span class="br0">&#41;</span>;<br />
&nbsp; loader.<span class="me1">removeEventListener</span><span class="br0">&#40;</span>IOErrorEvent.<span class="me1">IO_ERROR</span>, onIOError<span class="br0">&#41;</span>;<br />
<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><br />
&nbsp; <span class="kw3">trace</span><span class="br0">&#40;</span>err.<span class="kw3">message</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></p>
<p><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><br />
&nbsp; <span class="kw3">trace</span><span class="br0">&#40;</span>evt.<span class="kw3">text</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></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;">addChild<span class="br0">&#40;</span> loader <span class="br0">&#41;</span>;</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;">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>
</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>0</slash:comments>
		</item>
		<item>
		<title>mysqldump: Couldn&#8217;t execute &#8217;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[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 &#8217;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 nicht mehr [...]]]></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" height="61" width="50" /><br />
			</a>
		</div>
<p>Folgende Fehlermeldung habe ich heute bekommen:</p>
<blockquote><p>mysqldump: Couldn&#8217;t execute &#8217;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>
		<item>
		<title>pcfg_openfile: unable to check htaccess file</title>
		<link>http://iteamwork.de/pcfg_openfile-unable-to-check-htaccess-file.html</link>
		<comments>http://iteamwork.de/pcfg_openfile-unable-to-check-htaccess-file.html#comments</comments>
		<pubDate>Thu, 05 Feb 2009 16:27:24 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[denied]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[pcfg_openfile]]></category>
		<category><![CDATA[permission]]></category>
		<category><![CDATA[readable]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=22</guid>
		<description><![CDATA[
			
				
			
		
(13)Permission denied: /var/www/webxx/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
Ich wusste, das ich den Fehler schonmal hatte. Doch woran lag das nochmal?
Richtig, der Webserver kann nicht auf das Verzeichnis zugreifen.
In Verbindung mit suPHP ist der Webserver in der Kategorie &#8220;Other&#8221; so das auch other leserechte aufs Document Root braucht:
chmod o+r /var/www/webx/html
]]></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%2Fpcfg_openfile-unable-to-check-htaccess-file.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fpcfg_openfile-unable-to-check-htaccess-file.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<blockquote><p>(13)Permission denied: /var/www/webxx/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable</p></blockquote>
<p>Ich wusste, das ich den Fehler schonmal hatte. Doch woran lag das nochmal?</p>
<p>Richtig, der Webserver kann nicht auf das Verzeichnis zugreifen.</p>
<p>In Verbindung mit suPHP ist der Webserver in der Kategorie &#8220;Other&#8221; so das auch other leserechte aufs Document Root braucht:</p>
<blockquote><p>chmod o+r /var/www/webx/html</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/pcfg_openfile-unable-to-check-htaccess-file.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IP Adressen speichern</title>
		<link>http://iteamwork.de/ip-adressen-speichern.html</link>
		<comments>http://iteamwork.de/ip-adressen-speichern.html#comments</comments>
		<pubDate>Thu, 16 Oct 2008 19:33:21 +0000</pubDate>
		<dc:creator>H.Grafe</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[adressen]]></category>
		<category><![CDATA[inet_aton]]></category>
		<category><![CDATA[inet_ntoa]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[speichern]]></category>

		<guid isPermaLink="false">http://iteamwork.de/?p=21</guid>
		<description><![CDATA[
			
				
			
		
Oft werden IP Adressen in einer Datenbank als Varchar(15) gespeichert. Doch das braucht 16 Byte pro Adresse. Wenn man sie als Int wert speichern würde, würde man nur 4 Byte brauchen. Das ist eine Ersparnis von 75%!
Außerdem hat das den weiteren Vorteil, das man in den IP Adressen gut suchen kann.
Also speichern wir sie doch [...]]]></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%2Fip-adressen-speichern.html"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fiteamwork.de%2Fip-adressen-speichern.html&amp;source=okriz&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Oft werden IP Adressen in einer Datenbank als Varchar(15) gespeichert. Doch das braucht 16 Byte pro Adresse. Wenn man sie als Int wert speichern würde, würde man nur 4 Byte brauchen. Das ist eine Ersparnis von 75%!</p>
<p>Außerdem hat das den weiteren Vorteil, das man in den IP Adressen gut suchen kann.</p>
<p>Also speichern wir sie doch in Zukunft als Int:</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> <span class="sy0">&#8230;</span> <span class="kw1">VALUES</span> <span class="br0">&#40;</span>INET_ATON<span class="br0">&#40;</span><span class="st0">&quot;127.0.0.1&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</div>
<p>zurückrechnen lässt es sich mit:</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">INET_NTOA<span class="br0">&#40;</span>feldname<span class="br0">&#41;</span></div>
</div>
<p>Eigentlich ganz einfach und 75% Platz gespart <img src='http://iteamwork.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Und wir können nun mit dem kleiner und größer Operator ganz einfach auf bestimmte IP Bereiche testen z.B. um diese zu filtern.</p>
<p>Erklärung warum das so ist:</p>
<p>IP-Adresse: 127.0.0.1<br />
-&gt; IP in Hex: 0&#215;7F.0&#215;00.0&#215;00.0×01<br />
-&gt; Punkte entfernen: 0&#215;7F000001<br />
-&gt; Dezimal: 2130706433</p>
<p>Das lässt sich natürlich auch wieder zurückrechnen <img src='http://iteamwork.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://iteamwork.de/ip-adressen-speichern.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
