<?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>Benjamin Carl</title>
	<atom:link href="http://www.benjamin-carl.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.benjamin-carl.de</link>
	<description>software-development at its finest</description>
	<lastBuildDate>Thu, 29 Jul 2010 00:32:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Job/Stellenangebot &#8211; PHP-Entwickler in Festanstellung für Düsseldorf gesucht &#8230;</title>
		<link>http://www.benjamin-carl.de/allgemein/job-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht/</link>
		<comments>http://www.benjamin-carl.de/allgemein/job-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 00:32:48 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=473</guid>
		<description><![CDATA[
			
				
			
		
Interessantes Jobangebot &#8211; Die upside relationship marketing GmbH sucht einen guten PHP-Entwickler für ein interessantes Software-Projekt. Gesucht wird ausschließlich zur Festanstellung mit Tätigkeit vor Ort in Düsseldorf. Wer Interesse hat, findet hier mehr Informationen.



]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fjob-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fjob-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=Jobs,PHP5" height="61" width="50" /><br />
			</a>
		</div>
<p>Interessantes Jobangebot &#8211; Die upside relationship marketing GmbH sucht einen guten PHP-Entwickler für ein interessantes Software-Projekt. Gesucht wird ausschließlich zur Festanstellung mit Tätigkeit vor Ort in Düsseldorf. Wer Interesse hat, findet <a  title="Job PHP-Entwickler Düsseldorf upside relationship marketing GmbH" href="http://sn.im/zxlzi" target="_blank">hier</a> mehr Informationen.</p>
<p><map name='google_ad_map_473_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/473?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_473_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=473&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fjob-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/job-stellenangebot-php-entwickler-in-festanstellung-fuer-dusseldorf-gesucht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erkennen des Character encodings durch HTML-Form &#8211; MAGIC-Field</title>
		<link>http://www.benjamin-carl.de/howtos/erkennen-des-character-encodings-durch-html-form-magic-field/</link>
		<comments>http://www.benjamin-carl.de/howtos/erkennen-des-character-encodings-durch-html-form-magic-field/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 10:14:25 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[HTML + CSS]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet-Explorer]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=465</guid>
		<description><![CDATA[
			
				
			
		
Bei meinen Zeichensatz-Spielereien in der letzten Zeit bin ich auf eine interessante Möglichkeit gestoßen, den Zeichensatz den der Browser für das Senden von Formulardaten verwendet zu erkennen. Es gibt, ähnlich den Magic-Methoden bei PHP, die Möglichkeit ein speziell benanntes Formularfeld zu erstellen, in das der Browser bei Submit automatisch den verwendeten Zeichensatz einfügt.
Als ich das [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Ferkennen-des-character-encodings-durch-html-form-magic-field%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Ferkennen-des-character-encodings-durch-html-form-magic-field%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=Firefox,HowTo%27s,HTML+%2B+CSS,Internet-Explorer,Tipps+%2B+Tricks,UTF-8" height="61" width="50" /><br />
			</a>
		</div>
<p>Bei meinen Zeichensatz-Spielereien in der letzten Zeit bin ich auf eine interessante Möglichkeit gestoßen, den Zeichensatz den der Browser für das Senden von Formulardaten verwendet zu erkennen. Es gibt, ähnlich den Magic-Methoden bei PHP, die Möglichkeit ein speziell benanntes Formularfeld zu erstellen, in das der Browser bei Submit automatisch den verwendeten Zeichensatz einfügt.</p>
<p>Als ich das gelesen hatte, konnte ich mir dies nur schwer vorstellen, zumal ich ja nicht erst seit gestern Formulare für das Netz erstelle. Doch es funktioniert tatsächlich. Allerdings konnte ich dies nur mit <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/firefox/" title="Alle Artikel in Firefox ansehen" target="_blank">Firefox</a></span> in Version 3.5 und dem Internet Explorer in Version 7 testen (Wenn jemand dies auch mit anderen Browser schon getestet hat, möge er oder sie das Ergebnis docheinfach per Kommentar mit uns teilen).</p>
<p>Einfach folgendes Feld in das Formular einbinden:</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_charset_&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;hidden&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
<p>Und schon sollte man das Ergebnis im entgegennehmenden Skript sehen können (Achtung! Der Internet Explorer gibt den Zeichensatz lowercase und der <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/firefox/" title="Alle Artikel in Firefox ansehen" target="_blank">Firefox</a></span> uppercase an).</p>
<p>Euer<br />
Benjamin Carl</p>
<p><map name='google_ad_map_465_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/465?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_465_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=465&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Ferkennen-des-character-encodings-durch-html-form-magic-field%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/howtos/erkennen-des-character-encodings-durch-html-form-magic-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die wichtigsten Informationen für UTF-8 mit PHP</title>
		<link>http://www.benjamin-carl.de/allgemein/die-wichtigsten-informationen-fur-utf-8-mit-php/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-wichtigsten-informationen-fur-utf-8-mit-php/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 12:00:15 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[PHP6]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=459</guid>
		<description><![CDATA[
			
				
			
		
Immer mal wieder stolpert man über das Thema: &#8220;UTF-8 mit PHP&#8221; &#8211; und es ist wirklich alles andere als angenehm. Die Unterstüztung für Multibyte-Zeichensätze in PHP ist ziemlich dürftig und da bis zum erscheinen von PHP 6 und der anschließenden Migrationsphase auch noch einige Tage vergehen werden, kommt man momentan noch nicht drum herum an [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-wichtigsten-informationen-fur-utf-8-mit-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-wichtigsten-informationen-fur-utf-8-mit-php%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,PHP5,PHP6,Tipps+%2B+Tricks,UTF-8" height="61" width="50" /><br />
			</a>
		</div>
<p>Immer mal wieder stolpert man über das Thema: &#8220;<span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/utf-8/" title="Alle Artikel in UTF-8 ansehen" target="_blank">UTF-8</a></span> mit PHP&#8221; &#8211; und es ist wirklich alles andere als angenehm. Die Unterstüztung für Multibyte-Zeichensätze in PHP ist ziemlich dürftig und da bis zum erscheinen von PHP 6 und der anschließenden Migrationsphase auch noch einige Tage vergehen werden, kommt man momentan noch nicht drum herum an vielen Stellen selbst aktiv zu werden und zu validieren, konvertieren usw&#8230;</p>
<p>Auf der Suche nach passenden Informationen wird es ja teilweise fast schon kriminell &#8211; Was man auf den Ergebnisseiten so lesen kann und wie die Informationen, wohl durch Unwissenheit bzw. &#8220;Dem gefährlichen Halbwissen&#8221; geschuldet, wild durcheinander gewürfelt werden &#8211; oh je!</p>
<p>Ich habe die besten  und aufschlußreichsten drei Ergebnisse ermittelt und möchte diese nun mit euch teilen:</p>
<ol>
<li><a  title="Character Sets / Character Encoding Issues at phpwact.org" href="http://www.phpwact.org/php/i18n/charsets" target="_blank">Character Sets / Character Encoding Issues at phpwact.org</a></li>
<li><a  title="Handling UTF-8 at phpwact.org" href="http://www.phpwact.org/php/i18n/utf-8" target="_blank">Handling UTF-8 with PHP at phpwact.org</a></li>
<li><a  title="UTF-8: The Secret of Character Encoding" href="http://htmlpurifier.org/docs/enduser-utf8.html" target="_blank">UTF-8: The Secret of Character Encoding</a></li>
</ol>
<p>Viel Spaß! Und Kommentare sind immer willkommen!</p>
<p>Euer<br />
Benjamin Carl</p>
<p><map name='google_ad_map_459_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/459?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_459_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=459&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-wichtigsten-informationen-fur-utf-8-mit-php%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-wichtigsten-informationen-fur-utf-8-mit-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zwischendurch mal etwas zum Nachdenken&#8230;</title>
		<link>http://www.benjamin-carl.de/allgemein/zwischendurch-mal-etwas-zum-nachdenken/</link>
		<comments>http://www.benjamin-carl.de/allgemein/zwischendurch-mal-etwas-zum-nachdenken/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 11:50:45 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Social]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=456</guid>
		<description><![CDATA[
			
				
			
		
&#8230; nicht! Es gibt den ganzen Tag genügend Anlaß zum Nachdenken ;)
Hier mal was amüsantes &#8211; oder erschreckendes? Ich bin mir gerade selbst nicht sicher&#8230;
This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.



]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fzwischendurch-mal-etwas-zum-nachdenken%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fzwischendurch-mal-etwas-zum-nachdenken%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=Browser,Fun,Social" height="61" width="50" /><br />
			</a>
		</div>
<p>&#8230; nicht! Es gibt den ganzen Tag genügend Anlaß zum Nachdenken ;)</p>
<p>Hier mal was amüsantes &#8211; oder erschreckendes? Ich bin mir gerade selbst nicht sicher&#8230;</p>
<p><object width="608" height="522" type="application/x-shockwave-flash" data="http://www.youtube.com/v/o4MwTvtyrUQ&amp;ap=%2526fmt%3D18"><param name="movie" value="http://www.youtube.com/v/o4MwTvtyrUQ&amp;ap=%2526fmt%3D18" />This video was embedded using the YouTuber plugin by <a href="http://www.roytanck.com">Roy Tanck</a>. Adobe Flash Player is required to view the video.</object></p>
<p><map name='google_ad_map_456_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/456?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_456_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=456&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fzwischendurch-mal-etwas-zum-nachdenken%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/zwischendurch-mal-etwas-zum-nachdenken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Salt&#8217;n&#039;Pepper &#8211; Username als Pepper zum Salt für den Hash</title>
		<link>http://www.benjamin-carl.de/howtos/saltnpepper-username-als-pepper-zum-salt-fur-den-hash/</link>
		<comments>http://www.benjamin-carl.de/howtos/saltnpepper-username-als-pepper-zum-salt-fur-den-hash/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 21:10:20 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[Idee]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Gedanke]]></category>
		<category><![CDATA[Hash]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[proof-of-concept]]></category>
		<category><![CDATA[Salt]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=375</guid>
		<description><![CDATA[
			
				
			
		
Soeben hatte ich eine Idee für einen dynamisch aus den vorliegenden Logindaten erzeugten Salt &#8211; quasi Pepper zum Salt.
Für diejenigen unter euch, die nicht wissen, was Salt in Verbindung mit der Speicherung von Passwörtern bedeutet, hier ein kurzer Auszug aus der Wikipedia:
Salt (engl. „Salz“) bezeichnet in der Kryptographie eine zufällig gewählte Bitfolge, die an einen [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Fsaltnpepper-username-als-pepper-zum-salt-fur-den-hash%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Fsaltnpepper-username-als-pepper-zum-salt-fur-den-hash%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=Gedanke,Hash,Idee,Password,PHP,proof-of-concept,Salt" height="61" width="50" /><br />
			</a>
		</div>
<p>Soeben hatte ich eine <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/idee/" title="Alle Artikel in Idee ansehen" target="_blank">Idee</a></span> für einen dynamisch aus den vorliegenden Logindaten erzeugten <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/salt/" title="Alle Artikel in Salt ansehen" target="_blank">Salt</a></span> &#8211; quasi Pepper zum Salt.</p>
<p>Für diejenigen unter euch, die nicht wissen, was Salt in Verbindung mit der Speicherung von Passwörtern bedeutet, hier ein kurzer Auszug aus der Wikipedia:</p>
<blockquote><p>Salt (engl. „Salz“) bezeichnet in der Kryptographie eine zufällig gewählte Bitfolge, die an einen gegebenen Klartext vor der Verwendung als Eingabe einer Hashfunktion angehängt wird, um die Entropie der Eingabe zu erhöhen. Die Verwendung eines Salts erhöht den Aufwand von Wörterbuch-und Brute-Force-Angriffen oder Angriffen unter Verwendung einer Rainbow Table auf die Chiffre deutlich&#8230;</p></blockquote>
<p>Da bei einer Loginsession (in 99% aller Fälle) genau zwei Konstanten zur Verfügung stehen &#8211; zum Einen der &#8220;Benutzername&#8221; und zum Anderen das &#8220;Passwort&#8221; &#8211; läßt sich doch genau mit diesen ein solches, von mir &#8220;Salt&#8217;n'Pepper&#8221; getauftes, Verfahren realisieren.</p>
<p>Ganz neu scheint diese Idee oder der <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/gedanke/" title="Alle Artikel in Gedanke ansehen" target="_blank">Gedanke</a></span> jedenfalls nicht zu sein (siehe <a  title="Username as password-salt" href="http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/" target="_blank">hier</a>).</p>
<p>Ich bin mir nur noch nicht sicher, ob es sich bei dieser Idee wirklich um eine sinnvolle handelt, oder ob der Ansatz eher zu &#8220;<a  title="security through obscurity" href="http://de.wikipedia.org/wiki/Security_through_obscurity" target="_blank">security through obscurity</a>&#8221; bzw.  &#8220;<a  title="security by obscurity" href="http://de.wikipedia.org/wiki/Security_through_obscurity" target="_blank">security by obscurity</a>&#8221; zählt. Was aber auch laut Wikipedia nicht grundsätzlich negativ wäre:</p>
<blockquote><p>Als Ergänzung bestehender Sicherheitskonzepte kann sich Verschleierung jedoch als wirkungsvoll z. B. gegenüber automatisierten Angriffen erweisen.</p></blockquote>
<p>In den mir bekannten Systemen wird entweder ein komplett anderes Hashing-Verfahren wie z.B. <a  title="phpass" href="http://www.openwall.com/phpass/" target="_blank">phpass</a> eingesetzt (wie z. B. bei Wordpress), oder es wird ein simples Md5-Hashing in Kombination mit einer Unbekannten als <a  title="wikipedia zu Salt / Kryptologie" href="http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29" target="_blank">Salt</a> für den <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/hash/" title="Alle Artikel in Hash ansehen" target="_blank">Hash</a></span> verwendet. Die Salt-Funktion wird dabei, um eine weitere Trennung der sicherheitsrelevanten Funktionen zu erreichen, oftmals in der Datenbank, als &#8220;stored-procedure&#8221; hinterlegt.</p>
<p>Auf jeden Fall erhöht man die Anzahl der zur Berechnung des ursprünglichen Passwortes notwendigen (unbekannten) Informationen und erhöht dadurch ja schon die bedingte Entropie des erzeugten <span class='wp_keywordlink_affiliate'><a href="http://www.benjamin-carl.de/tag/hash/" title="Alle Artikel in Hash ansehen" target="_blank">Hash</a></span>.</p>
<p>So in etwa könnte das Ganze formuliert werden:</p>
<blockquote><p>hP = hash( p + hB + s )</p></blockquote>
<p>Dabei entspricht &#8220;hP&#8221; dem Ziel-Hash, &#8220;p&#8221; dem Passwort, &#8220;hB&#8221; dem Hash des Benutzernamens und &#8220;s&#8221; der statischen Salt-Value.</p>
<p>Wichtig! &#8220;hB&#8221; wird hier lediglich als Hash des Benutzernamens dargestellt, was natürlich nur beispielhaft gemeint ist. Hier liegt es an der Kreativität des Entwicklers, den Hash statt mit einem simplen MD5 ggf. mit einem kombinierten Verfahren zu erzeugen.</p>
<p>Ich würde mich diesmal sehr über Feedback oder Kritik in Form von Kommentaren freuen, das Thema ist sicherlich nicht nur für mich interessant.</p>
<p>Euer Benjamin Carl</p>
<p><map name='google_ad_map_375_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/375?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_375_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=375&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fhowtos%2Fsaltnpepper-username-als-pepper-zum-salt-fur-den-hash%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/howtos/saltnpepper-username-als-pepper-zum-salt-fur-den-hash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Vermeide die 12 häufigsten Fehler in der Softwareentwicklung – Tipp 8</title>
		<link>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-8/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-8/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:03:27 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Qualität]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=370</guid>
		<description><![CDATA[
			
				
			
		
Tag 8 &#8211; Tipp 8 &#8211; Modularisiere deinen Code

Nicht jedem Entwickler scheint klar zu sein, dass man die Lösung  die man mit seinem Code abbilden möchte nicht nur in private und public Methoden unterscheidet, sondern eine Lösung in mehrere Methoden aufteilen sollte, wenn eine Methode/Funktion z.B. die Länge eines Screens erreicht hat, und man scrollen [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-8%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-8%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,Optimierung,PHP5,Qualit%C3%A4t,Tipps+%2B+Tricks" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Tag 8 &#8211; Tipp 8 &#8211; Modularisiere deinen Code<br />
</strong></p>
<p>Nicht jedem Entwickler scheint klar zu sein, dass man die Lösung  die man mit seinem Code abbilden möchte nicht nur in private und public Methoden unterscheidet, sondern eine Lösung in mehrere Methoden aufteilen sollte, wenn eine Methode/Funktion z.B. die Länge eines Screens erreicht hat, und man scrollen muß um die gesamte Methode zu betrachten.</p>
<p>Hört sich simpel an, wird allerdings noch lange nicht von jedem beachtet!</p>
<p><map name='google_ad_map_370_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/370?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_370_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=370&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-8%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vermeide die 12 häufigsten Fehler in der Softwareentwicklung – Tipp 7</title>
		<link>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-7/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-7/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 12:07:45 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Qualität]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=362</guid>
		<description><![CDATA[
			
				
			
		
Tag 7 &#8211; Tipp 7 &#8211; Vermeide das Erraten der Business-Logik

Was macht der Entwickler wenn er an einem Punkt keine konkrete Anweisung zur Umsetzung der Business-Logik hat?
Richtig &#8211; In der Regel rät er, um den Code komplettieren zu können. Diese proaktive Handeln ist sicherlich gut gemeint, nur bewirkt es in der Regel genau das Gegenteil. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-7%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-7%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,Optimierung,PHP5,Qualit%C3%A4t,Tipps+%2B+Tricks" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Tag 7 &#8211; Tipp 7 &#8211; Vermeide das Erraten der Business-Logik<br />
</strong></p>
<p>Was macht der Entwickler wenn er an einem Punkt keine konkrete Anweisung zur Umsetzung der Business-Logik hat?</p>
<p>Richtig &#8211; In der Regel rät er, um den Code komplettieren zu können. Diese proaktive Handeln ist sicherlich gut gemeint, nur bewirkt es in der Regel genau das Gegenteil. Mir sind Fälle bekannt, in denen ein derartiges Handeln eines Entwicklers einen Auftraggeber fast zur Geschäftsaufgabe gezwungen hat.</p>
<p>Halte dir deshalb immer folgendes vor Augen:</p>
<ul>
<li>Rate oder Vermute die Business-Logik nicht &#8211; auch wenn es gut gemeint ist!</li>
<li>Halte die Stellen an denen nicht geklärt ist, wie sich eine Applikation verhalten soll offen und warte auf Klärung durch den entsprechenden Ansprechpartner!</li>
<li>Achte auf Unstimmigkeiten in der Business-Logik und bespreche diese mit dem Kunden/Auftraggeber</li>
</ul>
<p>Wenn man sich grob an diesen Punkten orientiert ist man auf einem guten Weg, nur genau die Logik zu implementieren, die der Kunde auch benötigt und erwartet.</p>
<p>Dies bedeutet natürlich nicht, dass keine Beratung stattfinden darf! Nur muss diese mit dem richtigen Ansrechpartner, aber vor allem vor der Umsetzung erfolgen.</p>
<p><map name='google_ad_map_362_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/362?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_362_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=362&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-7%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-7/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Vermeide die 12 häufigsten Fehler in der Softwareentwicklung – Tipp 6</title>
		<link>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-6/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-6/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 18:01:44 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Qualität]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=351</guid>
		<description><![CDATA[
			
				
			
		
Tag 6 &#8211; Tipp 6 &#8211; Nutze ein System oder eine simple Liste zum Nachhalten von Änderungen

Nicht jedem Programmierer steht für jedes seiner Projekte ein Code-Repository (wie z.B. SVN oder CVS) zur Verfügung. Um so wichtiger ist es, das Änderungen die am Code von einer Version (und dabei ist es egal ob es eine Major-, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-6%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-6%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,Optimierung,Performance,PHP5,Qualit%C3%A4t,Tipps+%2B+Tricks" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Tag 6 &#8211; Tipp 6 &#8211; Nutze ein System oder eine simple Liste zum Nachhalten von Änderungen<br />
</strong></p>
<p>Nicht jedem Programmierer steht für jedes seiner Projekte ein Code-Repository (wie z.B. SVN oder CVS) zur Verfügung. Um so wichtiger ist es, das Änderungen die am Code von einer Version (und dabei ist es egal ob es eine Major-, Minor-, oder Release-Änderung ist) zur nächsten getätigt werden, &#8220;irgendwo&#8221; festgehalten werden. Wer nicht die Möglichkeit hat, dafür auf ein Bugtrackingsystem wie z.B. <a  title="Mantis Bugtracker" href="http://www.mantisbt.org/" target="_blank">Mantis</a> zurückgreifen zu können, der kann auch einfach eine simple Textdatei dafür nutzen.</p>
<p>Besonders wichtig ist dabei (unter anderem) folgendes:</p>
<ul>
<li>Änderungen am Quelltext sollten schriftlich aber vor allen einheitlich erfasst werden</li>
<li>Vermerke Datum und eine Kurznotiz zur Änderung (ggf. auch die Datei in der die Änderung erfolgte)</li>
</ul>
<p>Das System mit den Textdateien, hat früher (vor dem ersten Repository-System) auch ganz passabel funktioniert und trug den Namen CHANGELOG, so wie diese Datei, die den meisten (größeren) Projekten im Root-Verzeichnis immer noch beiliegt.</p>
<p>Grundsätzlich wäre auch zu sagen, je mehr Disziplin eingebracht wird und je detailreicher die Einträge, um so hilfreicher ist das System.</p>
<p><map name='google_ad_map_351_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/351?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_351_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=351&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-6%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vermeide die 12 häufigsten Fehler in der Softwareentwicklung – Tipp 5</title>
		<link>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-5/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-5/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:11:25 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Qualität]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=345</guid>
		<description><![CDATA[
			
				
			
		
Tag 5 &#8211; Tipp 5 &#8211; Achte auf eine saubere und konsistente Zeileneinrückung

Eine saubere und vor allem konsistente Einrückung deiner Quelltexte sollte auch für dich an oberster Stelle stehen. Nur wenige andere Faktoren haben so einen großen Einfluß auf die Lesbarkeit von Quelltexten.
Du wirst es dir selbst spätestens bei der nächsten Fehlersuche danken. Du solltest [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-5%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-5%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,Optimierung,Performance,PHP5,Qualit%C3%A4t,Tipps+%2B+Tricks" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Tag 5 &#8211; Tipp 5 &#8211; Achte auf eine saubere und konsistente Zeileneinrückung<br />
</strong></p>
<p>Eine saubere und vor allem konsistente Einrückung deiner Quelltexte sollte auch für dich an oberster Stelle stehen. Nur wenige andere Faktoren haben so einen großen Einfluß auf die Lesbarkeit von Quelltexten.</p>
<p>Du wirst es dir selbst spätestens bei der nächsten Fehlersuche danken. Du solltest dich mit deinem Team über einen einheitlichen Standard einig werden und diesen z.B. mit dem PHP-Codesniffer vor dem Übernehmen der Änderungen in das Repository prüfen. Ein Code-Beautifier könnte dir als Werkzeug ebenfalls behilflich sein &#8211; mit diesem (so wie ihn z.B. Eclipse besitzt) kannst du deinen Code automatisiert formatieren.</p>
<p><map name='google_ad_map_345_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/345?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_345_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=345&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-5%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vermeide die 12 häufigsten Fehler in der Softwareentwicklung – Tipp 4</title>
		<link>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-4/</link>
		<comments>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-4/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 19:13:39 +0000</pubDate>
		<dc:creator>Benjamin Carl</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[HowTo's]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Tipps + Tricks]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Qualität]]></category>

		<guid isPermaLink="false">http://www.benjamin-carl.de/?p=338</guid>
		<description><![CDATA[
			
				
			
		
Tag 4 &#8211; Tipp 4 &#8211; Nutze die Vorteile des Unit-Testing

Sicher ist es das Ziel, den Code den Anforderungen entsprechend fertiggestellt zu haben und bereit für die Integration zu sein. Aber den Schritt des Unit-Testing auszulassen kann dich schneller einholen, als dir lieb ist! Durch Unit-Testing stellst du sicher, das (alle) einzelne(n) Teile der gesamten [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width:68px;height:62px;padding:0;margin:0;float: right; margin-left: 10px;">
			<a  href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-4%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-4%2F&amp;source=phpfluesterer&amp;style=normal&amp;service=bit.ly&amp;hashtags=HowTo%27s,Optimierung,Performance,PHP5,Qualit%C3%A4t,Tipps+%2B+Tricks" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Tag 4 &#8211; Tipp 4 &#8211; Nutze die Vorteile des Unit-Testing<br />
</strong></p>
<p>Sicher ist es das Ziel, den Code den Anforderungen entsprechend fertiggestellt zu haben und bereit für die Integration zu sein. Aber den Schritt des Unit-Testing auszulassen kann dich schneller einholen, als dir lieb ist! Durch Unit-Testing stellst du sicher, das (alle) einzelne(n) Teile der gesamten Applikation einwandfrei arbeiten und vermeidest den sogenannten &#8220;Blindflug&#8221;, wenn es zur Integration kommt und die Applikation sich nicht mehr so verhält, wie auf dem Entwicklungssystem.</p>
<p>Dann kann man je nach Projektumfang schon mal längere Zeit suchen, debuggen, Logfiles studieren oder aber auch einfach ins Schwitzen kommen.</p>
<p>Schreibe deinen Code immer so, daß sich einzelne Teile (je kleiner die Teile umso genauer!) testen lassen und automatisiere diese Tests bestenfalls komplett. Mehr Informationen zu automatisiertem Unit-Testing mit <a  title="phpUnderControl" href="http://phpundercontrol.org/about.html" target="_blank">phpUnderControl</a> und <a  title="PHPUnit" href="http://www.phpunit.de/" target="_blank">PHPUnit</a> findest du entweder hier in meinem Blog oder auf den Projektseiten von <a  title="phpUnderControl" href="http://phpundercontrol.org/about.html" target="_blank">phpUnderControl</a> oder <a  title="PHPUnit" href="http://www.phpunit.de/" target="_blank">PHPUnit</a>.</p>
<p><map name='google_ad_map_338_0f7f510df22db32a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/338?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_338_0f7f510df22db32a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=338&amp;url= http%3A%2F%2Fwww.benjamin-carl.de%2Fallgemein%2Fdie-12-haeufigsten-fehler-in-der-softwareentwicklung%25e2%2580%2593tipp-4%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-carl.de/allgemein/die-12-haeufigsten-fehler-in-der-softwareentwicklung%e2%80%93tipp-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
