<?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>PHPFlüsterer</title>
	<atom:link href="http://www.phpfluesterer.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpfluesterer.de</link>
	<description>Continuous Integration, Qualitätsmanagement, Software-Architektur</description>
	<lastBuildDate>Fri, 20 Apr 2012 12:45:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Amazon Product Widget Version 1.2.0</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-version-1-2-0/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-version-1-2-0/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 12:45:15 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Amazon Product Widget]]></category>
		<category><![CDATA[APW]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=860</guid>
		<description><![CDATA[Soeben habe ich Version 1.2.0 des Amazon Product Widget(s) veröffentlicht. Neben kleineren Korrekturen wurden folgenden Anpassungen vorgenommen: added support for Amazon China (CN) and Amazon Spain (ES) added requirements-check. Now the plugin checks for example...<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-version-1-2-0/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Soeben habe ich Version 1.2.0 des Amazon Product Widget(s) veröffentlicht. Neben kleineren Korrekturen wurden folgenden Anpassungen vorgenommen:</p>
<ul>
<li>added support for Amazon China (CN) and Amazon Spain (ES)</li>
<li>added requirements-check. Now the plugin checks for example if &#8220;allow_url_open&#8221; is activated and shows a warning if the requirements are not fulfilled.</li>
<li>changed links to Amazons affiliate site(s) to SSL (https://)</li>
<li>changed label &#8220;AWS public key&#8221; to &#8220;AWS Access Key ID&#8221; and label &#8220;AWS private key&#8221; to &#8220;AWS Secret Access Key&#8221; (plugin configuration screen)</li>
</ul>
<p>Das Plugin findet ihr wie gewohnt auf <a  title="Amazon Product Widget auf WordPress.org" href="http://wordpress.org/extend/plugins/amazon-product-widget/" target="_blank">WordPress.org</a>.</p>
<p><map name='google_ad_map_860_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/860?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_860_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=860&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Famazon-product-widget%2Famazon-product-widget-version-1-2-0%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=860&amp;md5=30d26cfe77ddc464cddbc005ca0f0762" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-version-1-2-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Famazon-product-widget%2Famazon-product-widget-version-1-2-0%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Amazon+Product+Widget+Version+1.2.0&amp;description=Soeben+habe+ich+Version+1.2.0+des+Amazon+Product+Widget%28s%29+ver%C3%B6ffentlicht.+Neben+kleineren+Korrekturen+wurden+folgenden+Anpassungen+vorgenommen%3A+added+support+for+Amazon+China+%28CN%29+and+Amazon+Spain+%28ES%29+added+requirements-check.+Now...&amp;tags=Amazon+Product+Widget%2CAPW%2COpen+Source%2CPHP%2CProjekt%2CWordpress%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Lazyload.js &#8211; Annotation based Dependency Loader</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/lazyload-js-javascript/lazyload-js-annotation-based-dependency-loader/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/lazyload-js-javascript/lazyload-js-annotation-based-dependency-loader/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 18:42:03 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Lazyload.js (JavaScript)]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=847</guid>
		<description><![CDATA[Soeben hat Lazyload.js  &#8211; ein leichtgewichtiger Annotation based Dependency Loader das Licht der Öffentlichkeit erblickt. Mit seinen schmalen 5,9 KB (in der minified Version) ist es gegenüber RequireJS ein Leichtgewicht bei ähnlichem Funktionsumfang. Eben der...<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/lazyload-js-javascript/lazyload-js-annotation-based-dependency-loader/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Soeben hat <em>Lazyload.js </em> &#8211; ein leichtgewichtiger</p>
<blockquote><p>Annotation based Dependency Loader</p></blockquote>
<p>das Licht der Öffentlichkeit erblickt. Mit seinen schmalen 5,9 KB (in der minified Version) ist es gegenüber <a  title="Zum Projekt RequireJS" href="http://requirejs.org/" target="_blank">RequireJS</a> ein Leichtgewicht bei ähnlichem Funktionsumfang. Eben der Vergleich mit RequireJS und der damit verbundenen Überraschung, dass es vom Funktionsumfang ähnlich, aber einfacher zu implementieren ist, hat mich dazu bewogen, es euch nicht vorzuenthalten.</p>
<p>Der besondere Vorteil von Lazyload.js (gegenüber anderen Ansätzen ist), das Abhängigkeiten (Dependencies) ganz einfach über Annotationen definiert werden können. Auf gleichem Wege lässt sich der verwendete Klassenpfad (Classpath), bis auf Klassenebene, definieren.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:658px;"><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 />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">/**<br />
* @classpath /Lab/Javascript/Lazyload.js/view/static/script/Js/Ui/Core/<br />
* @dependency Provider.Feedback.AnbieterA,Provider.Feedback.AnbieterB<br />
*/</span><br />
<span style="color: #003366; font-weight: bold;">function</span> Feedback<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> _id <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Feedback'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Lazyload.js verarbeitet dabei beliebig tief verschachtelte Bäume (Knoten) und löst die Abhängigkeiten rekursiv auf. Lazyload.js bietet ebenso ein objektorientiertes API wie eine prozedurale Schnittstelle.</p>
<p>Ein Beispiel für den Einbau mit OOP-Ansatz:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:658px;height:300px;"><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 />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">// trigger for demonstrating href click -&gt; instanciate loader -&gt; async processing of dependencies and finally call</span><br />
<span style="color: #006600; font-style: italic;">// the defined callback method</span><br />
<span style="color: #003366; font-weight: bold;">function</span> triggerLazyload<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// get instance of Lazyload toolbox</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> loader <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Lazyload.<span style="color: #660066;">Tool</span>.<span style="color: #660066;">Loader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'classpath'</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'view/static/script/'</span><span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">// base path to classes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'provider'</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'native'</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// can be either &quot;native&quot; for pure JS or &quot;jquery&quot; if jQuery is supported</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'caching'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// cache TRUE = just inlcude once - FALSE = reload on every request</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'scope'</span><span style="color: #339933;">:</span> window<span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// the global scope used for generic instanciation</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'timeout'</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// the timeout for loading external resources in ms</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'debug'</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// controls the output</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'enabled'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// - enabled OR disabled &nbsp;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'logger'</span><span style="color: #339933;">:</span> console.<span style="color: #660066;">log</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// - output method/function (logger)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// and load the same way like with &quot;require()&quot;</span><br />
&nbsp; &nbsp; loader.<span style="color: #660066;">load</span><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'Js.Ui.Core.Feedback'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'show'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'autoload'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>feedback<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>feedback.<span style="color: #660066;">getAnbieter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp;<br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Ein Beispiel für den prozeduralen Einbau:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:658px;height:300px;"><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 />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">// configure Lazyload.js require()-method</span><br />
require<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">configure</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'classpath'</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'view/static/script/'</span><span style="color: #339933;">,</span> &nbsp;<span style="color: #006600; font-style: italic;">// base path to classes</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'provider'</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'native'</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// can be either &quot;native&quot; for pure JS or &quot;jquery&quot; if jQuery is supported</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'caching'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// cache TRUE = just inlcude once - FALSE = reload on every request</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'scope'</span><span style="color: #339933;">:</span> window<span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// the global scope used for generic instanciation</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'timeout'</span><span style="color: #339933;">:</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// the timeout for loading external resources in ms</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'debug'</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// controls the output</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'enabled'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #006600; font-style: italic;">// - enabled OR disabled &nbsp;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">'logger'</span><span style="color: #339933;">:</span> console.<span style="color: #660066;">log</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// - output method/function (logger)</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">// Load class &quot;Feedback&quot; from Namespace &quot;Js/Ui/Core&quot; =&gt; File &quot;Js/Ui/Core/Feedback.js&quot;</span><br />
<span style="color: #006600; font-style: italic;">// and return an instance with paramters show:true and autoload:false</span><br />
<span style="color: #006600; font-style: italic;">// pass this instance to callback-function</span><br />
require<span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">'Js.Ui.Core.Feedback'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'show'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'autoload'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>feedback<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>feedback.<span style="color: #660066;">getAnbieter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Ihr findet <a  title="Lazyload.js auf Github" href="https://github.com/clickalicious/Lazyload.js" target="_blank"><strong>Lazyload.js (aktuell in Version 0.0.1)</strong></a> auf Github</p>
<p><map name='google_ad_map_847_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/847?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_847_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=847&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Flazyload-js-javascript%2Flazyload-js-annotation-based-dependency-loader%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=847&amp;md5=4116fb48991f4a4f0a3508178a1e3fa5" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/lazyload-js-javascript/lazyload-js-annotation-based-dependency-loader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Flazyload-js-javascript%2Flazyload-js-annotation-based-dependency-loader%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Lazyload.js+%26%238211%3B+Annotation+based+Dependency+Loader&amp;description=Soeben+hat+Lazyload.js%C2%A0+%26%238211%3B+ein+leichtgewichtiger+Annotation+based+Dependency+Loader+das+Licht+der+%C3%96ffentlichkeit+erblickt.+Mit+seinen+schmalen+5%2C9+KB+%28in+der+minified+Version%29+ist+es+gegen%C3%BCber+RequireJS+ein+Leichtgewicht...&amp;tags=JavaScript%2COOP%2COpen+Source%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Amazon Product Widget (WordPress Plugin)</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-wordpress-plugin/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-wordpress-plugin/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 16:02:02 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Amazon Product Widget]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPFlüsterer]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=823</guid>
		<description><![CDATA[Soeben habe ich das von mir entwickelte und auch selbst (hier im Blog) eingesetzte WordPress Plugin Amazon Product Widget auf Version 1.1 aktualisiert. Ab sofort ist es offiziell auch auf WordPress.org zu finden und wieder kompatibel...<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-wordpress-plugin/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Soeben habe ich das von mir entwickelte und auch selbst (hier im Blog) eingesetzte WordPress Plugin <strong>Amazon Product Widget</strong> auf Version 1.1 aktualisiert. Ab sofort ist es <a  title="Amazon Product Widget auf WordPress.org" href="http://wordpress.org/extend/plugins/amazon-product-widget/" target="_blank">offiziell auch auf WordPress.org zu finden</a> und wieder kompatibel zur Amazon AWS API. Die Amazon AWS API wurde zum 01. November 2011 leicht umgestellt wodurch das Plugin nicht mehr 100% kompatibel war.</p>
<p>Die User die sich das Plugin aus dem github-Repository gecloned haben, die sollten folgendes beachten:<br />
Angepasst wurden (lediglich) die Readme(s) sowie Apw/Request.php und Apw/Data.php diese müssten auf jeden Fall ausgetauscht werden.</p>
<p><strong>Wichtig!</strong><br />
<em>Nach dem Update muss der Cache über die Konfigurationsseite zurückgesetzt werden.</em></p>
<p>Die jeweils aktuelle Version findet ihr entweder auf WordPress.org (<a  title="Amazon Product Widget auf WordPress.org" href="http://wordpress.org/extend/plugins/amazon-product-widget/" target="_blank">http://wordpress.org/extend/plugins/amazon-product-widget/</a>) oder auf  github (<a  title="Amazon Product Widget auf github.com" href="https://github.com/clickalicious/Amazon-Product-Widget" target="_blank">https://github.com/clickalicious/Amazon-Product-Widget</a>).</p>
<p style="text-align: center;"><a  href="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_config.jpg" class="thickbox no_icon" rel="gallery-823" title="Amazon Product Widget - Konfiguration"><img class="size-medium wp-image-828 aligncenter" title="Amazon Product Widget - Konfiguration" src="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_config-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p style="text-align: center;"><a  href="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_widget_config.jpg" class="thickbox no_icon" rel="gallery-823" title="Amazon Product Widget - Widget-Konfiguration"><img class="size-medium wp-image-831 aligncenter" title="Amazon Product Widget - Widget-Konfiguration" src="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_widget_config-198x300.jpg" alt="" width="198" height="300" /></a></p>
<p style="text-align: center;"><a  href="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_Beispiel1.jpg" class="thickbox no_icon" rel="gallery-823" title="Amazon Product Widget - Beispiel"><img class="size-medium wp-image-834 aligncenter" title="Amazon Product Widget - Beispiel" src="http://www.phpfluesterer.de/wp-content/uploads/2012/03/APW_Beispiel1-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p><map name='google_ad_map_823_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/823?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_823_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=823&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Famazon-product-widget%2Famazon-product-widget-wordpress-plugin%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=823&amp;md5=124813a13a5d86c08831003b01a1514f" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/amazon-product-widget/amazon-product-widget-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Famazon-product-widget%2Famazon-product-widget-wordpress-plugin%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Amazon+Product+Widget+%28WordPress+Plugin%29&amp;description=Soeben+habe+ich+das+von+mir+entwickelte+und+auch+selbst+%28hier+im+Blog%29+eingesetzte+WordPress+Plugin%C2%A0Amazon+Product+Widget+auf+Version+1.1+aktualisiert.+Ab+sofort+ist+es+offiziell+auch+auf+WordPress.org...&amp;tags=Open+Source%2CPHP%2CPHPFl%C3%BCsterer%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Grundlegende Regeln für gute Fehlermeldungen</title>
		<link>http://www.phpfluesterer.de/software-entwicklung/howto-software-entwicklung/grundlegende-regeln-fuer-fehlermeldungen/</link>
		<comments>http://www.phpfluesterer.de/software-entwicklung/howto-software-entwicklung/grundlegende-regeln-fuer-fehlermeldungen/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 09:18:17 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Howto ...]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=801</guid>
		<description><![CDATA[Soeben musste ich bei der Integration einer Bibliothek mal wieder staunen. Die Bibliothek, auf die ich mich hier beziehe, zeichnet sich unter anderem durch einen guten Stil, eine durchgängige Dokumentation, sowie fast lückenlose Fehlerbehandlung aus....<br /><a href="http://www.phpfluesterer.de/software-entwicklung/howto-software-entwicklung/grundlegende-regeln-fuer-fehlermeldungen/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Soeben musste ich bei der Integration einer Bibliothek mal wieder staunen. Die Bibliothek, auf die ich mich hier beziehe, zeichnet sich unter anderem durch einen guten Stil, eine durchgängige Dokumentation, sowie fast lückenlose Fehlerbehandlung aus. Deshalb ist es um so weniger verständlich, dass die eingesetzten Fehlermeldungen, die implementiert wurden, leider oft nicht aussagekräftig genug sind. Zusätzlich folgen die Fehlermeldungen keinem Schema. Sie erscheinen mir irgendwie schnell zusammengeschrieben (dieser Fehler wird im Übrigen oft begangen, wenn Fehlermeldungen im nachhinein schnell hinzugefügt werden!).</p>
<p>Man kann also hier schon feststellen:</p>
<blockquote><p>Fehlermeldungen sind nur dann wirklich hilfreich, wenn diese von Anfang bis Ende, also von der Implementierung, bis hin zur Anzeige gut umgesetzt sind.</p></blockquote>
<p>Man sollte diese so aussagekräftig wie möglich und so detailliert wie nötig gestalten. Hier ist ebenfalls zu unterscheiden welche Zielgruppe man adressiert. Beim Einsatz einer Bibliothek zur Herstellung einer gewissen Funktionalität, wäre die (erste) Zielgruppe, die Entwickler, die die Bibliothek einsetzen.</p>
<p>Folgende, einfache Regeln sollte man dabei beachten (ich beziehe mich hier lediglich auf den Inhalt der Fehlermeldungen &#8211; nicht die Stellen an denen, oder den Mechanismus mit dem, die Fehlermeldungen platziert werden), deshalb sollten die Fehlermeldungen:</p>
<ul>
<li>einheitlich formatiert sein und somit ein einheitliches Erscheinungsbild haben</li>
<li>dem Schema: <em>Fehler</em> | <em>Grund</em> | [<em>Auswirkung</em> | <em>Lösung</em>] folgen, wobei <em>Auswirkung</em> und <em>Lösung</em> optional sind. Beispiel:<br />
Fehler: &#8220;Datei kann nicht erstellt werden&#8217;&#8221;, Grund: &#8220;Es existiert schon eine Datei mit diesem Namen&#8221;, Auswirkung: &#8220;Konfiguration konnte nicht gespeichert werden&#8221;, Lösung: &#8220;Bitte löschen Sie die bestehende Datei bevor sie diese Aktion wiederholen&#8221;</li>
<li>kurz, prägnant und wohl formuliert sein</li>
<li>der Zielgruppe entsprechend detailliert sein</li>
</ul>
<p>Wenn man sich bei den Fehlermeldungen an diese simplen, grundlegenden Regeln hält, wird man feststellen, dass ein wichtiger Schritt in Richtung &#8220;gute Fehlermeldungen&#8221; getan ist.</p>
<p>Habt ihr Ergänzungen zu den Regeln? Oder macht ihr es ganz anders und vielleicht sogar besser?<br />
Dann nehmt doch an der Diskussion Teil und schreibt einen <a  title="An der Diskussion beteiligen" href="#write-comment-jumpmark">Kommentar</a>.</p>
<p><map name='google_ad_map_801_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/801?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_801_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=801&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fsoftware-entwicklung%2Fhowto-software-entwicklung%2Fgrundlegende-regeln-fuer-fehlermeldungen%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=801&amp;md5=a9d28b0333f4dc187804078516cb14aa" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/software-entwicklung/howto-software-entwicklung/grundlegende-regeln-fuer-fehlermeldungen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fsoftware-entwicklung%2Fhowto-software-entwicklung%2Fgrundlegende-regeln-fuer-fehlermeldungen%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Grundlegende+Regeln+f%C3%BCr+gute+Fehlermeldungen&amp;description=Soeben+musste+ich+bei+der+Integration+einer+Bibliothek+mal+wieder+staunen.+Die+Bibliothek%2C+auf+die+ich+mich+hier+beziehe%2C+zeichnet+sich+unter+anderem+durch+einen+guten+Stil%2C+eine+durchg%C3%A4ngige+Dokumentation%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Bücher</title>
		<link>http://www.phpfluesterer.de/projekte/buecher/buecher/</link>
		<comments>http://www.phpfluesterer.de/projekte/buecher/buecher/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:10:04 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Qualität]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=763</guid>
		<description><![CDATA[Nach einigen Jahren mit sehr interessanten Erfahrungen in der Software-Entwicklung, habe ich vor ca. einem Jahr mit dem Schreiben meines ersten Fachbuches begonnen. Mir lag die Qualität der Projekte an denen ich maßgeblich beteiligt bin,...<br /><a href="http://www.phpfluesterer.de/projekte/buecher/buecher/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Nach einigen Jahren mit sehr interessanten Erfahrungen in der Software-Entwicklung, habe ich vor ca. einem Jahr mit dem Schreiben meines ersten Fachbuches begonnen. Mir lag die Qualität der Projekte an denen ich maßgeblich beteiligt bin, stets sehr am Herzen. Ein Stück Software zu schreiben, es zu testen und es Menschen zur Verfügung zu stellen, die damit entweder ihren Spaß haben, oder weniger nervige Arbeiten verrichten müssen, hat mich immer schon mit Freude und Stolz erfüllt. Umso wichtiger war es für mich, stets hochqualitative Arbeit abzuliefern und &#8220;möglichst&#8221; (ganz geht ja leider nicht) fehlerfreie Software zu produzieren und später in meinem Werdegang, produzieren zu lassen.</p>
<p>Mit steigendem Anspruch bezüglich Qualität, sowie immer knapper werdenden Terminen und somit entstehendem Termindruck bei gleichbleibendem Anspruch, galt es die Prozesse, die zu einer guten, unseren, sowie den Kundenansprüchen genügenden Software führen, fortlaufend zu optimieren. Neue Werkzeuge und Standards, sowie die stete Weiterentwicklung von PHP und den dazugehörigen Entwicklerwerkzeugen (z. B. IDEs) bieten viele Möglichkeiten und zeitgleich viele Fallen.</p>
<p>So habe auch ich selbst erlebt, wie schön es sein kann, mit neuen Prozessen die Dauer der Releasezyklen zu verkürzen ohne Einbuße bei der Qualität hinnehmen zu müssen. Aber eben auch einige Schattenseiten kennengelernt, so dass das ein oder andere Mal Nachtschichten notwendig waren, wenn man mal wieder Feuerwehr spielen musste (es fällt ein wenig leichter wenn man die Notwendigkeit der Nachtschichten selbst zu verantworten hat).</p>
<p>Meine Erfahrungen und die daraus gewonnenen Erkenntnisse, sowie Tipps und Empfehlungen schreibe ich aktuell in dem Buch mit dem Arbeitstitel <strong>&#8220;Qualität in Softwareprojekten&#8221;</strong> nieder.</p>
<p><strong><br />
Aktuelles Buchprojekt</strong><br />
<a  title="Buchprojekt: Qualität in Softwareprojekten" href="http://www.phpfluesterer.de/category/projekte/buecher/qualitaet-in-softwareprojekten/">Hier erfahrt ihr mehr zum aktuellen Buchprojekt &#8220;Qualität in Softwareprojekten&#8221;</a></p>
<p><map name='google_ad_map_763_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/763?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_763_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=763&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fbuecher%2Fbuecher%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=763&amp;md5=7f8532e7b261fac5b340abab1fc14612" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/buecher/buecher/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fbuecher%2Fbuecher%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=B%C3%BCcher&amp;description=Nach+einigen+Jahren+mit+sehr+interessanten+Erfahrungen+in+der+Software-Entwicklung%2C+habe+ich+vor+ca.+einem+Jahr+mit+dem+Schreiben+meines+ersten+Fachbuches+begonnen.+Mir+lag+die+Qualit%C3%A4t+der+Projekte+an...&amp;tags=Buch%2CProjekt%2CQualit%C3%A4t%2CQualit%C3%A4tssicherung%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Aktueller Stand</title>
		<link>http://www.phpfluesterer.de/projekte/buecher/qualitaet-in-softwareprojekten/aktueller-stand/</link>
		<comments>http://www.phpfluesterer.de/projekte/buecher/qualitaet-in-softwareprojekten/aktueller-stand/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 14:45:01 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Qualität in Softwareprojekten]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Qualität]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=767</guid>
		<description><![CDATA[Während des letzten Jahres habe ich sehr viele neue Impulse aufgenommen und viele Theorien zur Qualität von Software gehört, Vorlesungen besucht, unzählige Bücher aus vielen Bereichen der Software-Entwicklung gelesen, sowie Diskussionen und anregende Unterhaltungen bei...<br /><a href="http://www.phpfluesterer.de/projekte/buecher/qualitaet-in-softwareprojekten/aktueller-stand/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Während des letzten Jahres habe ich sehr viele neue Impulse aufgenommen und viele Theorien zur Qualität von Software gehört, Vorlesungen besucht, unzählige Bücher aus vielen Bereichen der Software-Entwicklung gelesen, sowie Diskussionen und anregende Unterhaltungen bei Conventions geführt.</p>
<p>Würde ich jetzt, nachden Ergebnissen des letzten Jahres, ein Resümee ziehen, dann würde ich wahrscheinlich ganz simpel formulieren:</p>
<blockquote><p>Im Bereich der Software-Entwicklung wiederholt sich alles, geschätzt alle 5 &#8211; 10 Jahre nur heißt es immer anders &#8230;</p></blockquote>
<p>Es ist ja auch kein Geheimnis, dass Theorien und Prozesse/Vorgehensweisen aus den End-Siebzigern noch heute verfeinert und Vergessenes sowie damals Belächeltes zu neuem Leben erweckt wird.</p>
<p>Zum aktuellen Zeitpunkt überarbeite ich die Kapitel die ich bisher verfasst habe um die Inhalte an die Entwicklung und Erkenntnisse aus dem letzten Jahr anzupassen. Bezüglich der weiteren Entwicklung und einem möglichen Veröffentlichungstermin halte ich euch selbstverständlich auf dem Laufenden.</p>
<p>&nbsp;</p>
<p><map name='google_ad_map_767_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/767?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_767_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=767&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fbuecher%2Fqualitaet-in-softwareprojekten%2Faktueller-stand%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=767&amp;md5=ea00481f70a081a37ffb5e585df9c4ae" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/buecher/qualitaet-in-softwareprojekten/aktueller-stand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fbuecher%2Fqualitaet-in-softwareprojekten%2Faktueller-stand%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Aktueller+Stand&amp;description=W%C3%A4hrend+des+letzten+Jahres+habe+ich+sehr+viele+neue+Impulse+aufgenommen+und+viele+Theorien+zur+Qualit%C3%A4t+von+Software+geh%C3%B6rt%2C+Vorlesungen+besucht%2C+unz%C3%A4hlige+B%C3%BCcher+aus+vielen+Bereichen+der+Software-Entwicklung+gelesen%2C+sowie...&amp;tags=Buch%2CProjekt%2CQualit%C3%A4t%2CQualit%C3%A4tssicherung%2CSoftware%2Cblog" type="text/html" />
	</item>
		<item>
		<title>XHProf für Windows (aktuelle Windows-Builds)</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-fur-windows-aktuelle-windows-builds/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-fur-windows-aktuelle-windows-builds/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 14:18:29 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[XHProf (PHP-Extension)]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Windows-Build]]></category>
		<category><![CDATA[XHProf]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=750</guid>
		<description><![CDATA[Hier findest du die aktuellen XHProf Windows-Builds. Ich bin bemüht, die Builds stets den aktuell verfügbaren PHP-Versionen anzupassen. Zum aktuellen Zeitpunkt PHP 5.3 und 5.4. Die NTS-Versionen (und 64 bit) bereiten mir momentan noch Probleme....<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-fur-windows-aktuelle-windows-builds/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Hier findest du die aktuellen XHProf Windows-Builds. Ich bin bemüht, die Builds stets den aktuell verfügbaren PHP-Versionen anzupassen. Zum aktuellen Zeitpunkt PHP 5.3 und 5.4. Die NTS-Versionen (und 64 bit) bereiten mir momentan noch Probleme. Deshalb stelle ich momentan lediglich TS-Builds zum Download bereit. Wenn jemand die NTS-Version oder 64 bit erfolgreich kompiliert hat, dann wäre es super wenn er mich kurz <a  title="Kontakt" href="http://www.phpfluesterer.de/kontakt/">kontaktieren würde</a>.</p>
<p>Da es seit kurzem keine offiziellen VC6-Builds des PHP-Source mehr gibt, habe auch ich sämtliche Projektdateien auf VC9 umgestellt. Auf diesem Wege konnten sogar ohne zutun einige nicht ganz triviale Date/Time-Bugs in VC6 umgangen werden.</p>
<p><strong>Aktuelle XHProf-Version: 0.10.2</strong></p>
<p><strong><br />
Changelog</strong></p>
<ul>
<li>0.10.2<br />
Aktuelle Änderungen aus dem Facebook Repository übernommen:<br />
- PHP 5.4 Kompatibilität der Extension hergestellt</li>
<li>0.10.1<br />
long-filename support: Möglichkeit hinzugefügt, den vollständigen Dateinamen anzeigen zu lassen (XHPROF_FLAGS_LONGNAMES)<br />
Autor: <a  title="smalyshev @ github" href="https://github.com/smalyshev/xhprof/commit/426a339ac13e7ed36bda82e5cafaa2889978a3ea" target="_blank">smalyshev <em>(Stanislav Malyshev)</em></a></li>
</ul>
<p>&nbsp;</p>
<p><strong>Download</strong><br />
<a  title="Download xhprof-0.10.2-PHP-5.3-vc9-ts" href="http://www.phpfluesterer.de/wp-content/uploads/2012/01/xhprof-0.10.2-PHP-5.3-vc9-ts.zip" target="_blank">XHProf &#8211; 0.10.2 &#8211; PHP 5.3 VC9 TS (32 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.3 VC9 TS (64 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.3 VC9 (32 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.3 VC9 (64 bit)</a><br />
<a  title="Download xhprof-0.10.2-PHP-5.4-vc9-ts" href="http://www.phpfluesterer.de/wp-content/uploads/2012/01/xhprof-0.10.2-PHP-5.4-vc9-ts.zip" target="_blank">XHProf &#8211; 0.10.2 &#8211; PHP 5.4 VC9 TS (32 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.4 VC9 TS (64 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.4 VC9 (32 bit)</a><br />
<a class="inactive">XHProf &#8211; 0.10.2 &#8211; PHP 5.4 VC9 (64 bit)</a></p>
<p><map name='google_ad_map_750_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/750?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_750_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=750&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fxhprof-fur-windows-aktuelle-windows-builds%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=750&amp;md5=a3b3da966b6a01cfd3569ba6fb9ab0df" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-fur-windows-aktuelle-windows-builds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fxhprof-fur-windows-aktuelle-windows-builds%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=XHProf+f%C3%BCr+Windows+%28aktuelle+Windows-Builds%29&amp;description=Hier+findest+du+die+aktuellen+XHProf+Windows-Builds.+Ich+bin+bem%C3%BCht%2C+die+Builds+stets+den+aktuell+verf%C3%BCgbaren+PHP-Versionen+anzupassen.+Zum+aktuellen+Zeitpunkt+PHP+5.3+und+5.4.+Die+NTS-Versionen+%28und+64+bit%29...&amp;tags=Debugging%2CWindows-Build%2CXHProf%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Willkommen zurück!</title>
		<link>http://www.phpfluesterer.de/software-entwicklung/willkommen-zuruck/</link>
		<comments>http://www.phpfluesterer.de/software-entwicklung/willkommen-zuruck/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:27:33 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[PHPFlüsterer]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=652</guid>
		<description><![CDATA[Nach knapp einem Jahr melde ich mich unter neuer Domain (phpfluesterer.de) und mit guten Nachrichten zurück. Während einer ausgiebigen &#8220;Auszeit&#8221;, in der ich quer durch die Welt gereist bin, viel gesehen, meditiert, sowie entspannt und...<br /><a href="http://www.phpfluesterer.de/software-entwicklung/willkommen-zuruck/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Nach knapp einem Jahr melde ich mich unter neuer Domain (<a  title="Neue Domain: phpfluesterer.de" href="http://www.phpfluesterer.de">phpfluesterer.de</a>) und mit guten Nachrichten zurück. Während einer ausgiebigen &#8220;Auszeit&#8221;, in der ich quer durch die Welt gereist bin, viel gesehen, meditiert, sowie entspannt und das Leben genossen habe, wurden meine &#8220;Akkus&#8221; aufgefrischt und nun bin ich zurück im &#8220;Business&#8221; und so wie zuvor &#8211; voller Tatendrang.</p>
<p>Ganz abstinent war ich selbstverständlich nicht, findet man doch auch in den entlegensten Winkeln der Erde einen Internetzugang. Somit habe ich hier und da mal eine E-Mail geschrieben, meine Lieblingsseiten besucht und die Entwicklung im Bereich PHP passiv genossen.</p>
<p>Die Auszeit die ich mir, nach ca. 5 sehr anstrengenden und nervenzehrenden Jahren, selbst verhängt habe, kam genau zum richtigen Zeitpunkt. Sie hat dazu beigetragen, den Fokus auf spezielle Bereiche der Software-Entwicklung im PHP-Umfeld zu lenken und dieses wird sich auch hier auf meinen Seiten bemerkbar machen.<strong></strong></p>
<p><strong>Neuer Fokus</strong><br />
Zeitgleich mit dem neuen Design, ändert sich auch offiziell der Fokus der von mir publizierten Inhalte. Primär befasse ich mich mit der Qualität von Software und der Optimierung von Entwicklungsprozessen und dabei haben (fast) alle Artikel stets einen Bezug zum PHP-Umfeld.</p>
<p><strong>Die Kategorien</strong><br />
Die veröffentlichten Artikel lassen sich zu 99%  in eine der (neuen) folgenden Kategorien einordnen:<br />
<div class="multi-column-taxonomy-list"><ul class="multi-column-1"><li><a  href="http://www.phpfluesterer.de/category/projekte/open-source-software-projekte/amazon-product-widget/" rel="tag">Amazon Product Widget</a></li><li><a  href="http://www.phpfluesterer.de/category/projekte/buecher/" rel="tag">Bücher</a></li><li><a  href="http://www.phpfluesterer.de/category/software-entwicklung/continuous-integration/" rel="tag">Continuous-Integration</a></li><li><a  href="http://www.phpfluesterer.de/category/software-entwicklung/howto-software-entwicklung/" rel="tag">Howto ...</a></li><li><a  href="http://www.phpfluesterer.de/category/projekte/open-source-software-projekte/lazyload-js-javascript/" rel="tag">Lazyload.js (JavaScript)</a></li><li><a  href="http://www.phpfluesterer.de/category/projekte/open-source-software-projekte/" rel="tag">Open-Source Software</a></li></ul><ul class="multi-column-2"><li><a  href="http://www.phpfluesterer.de/category/projekte/" rel="tag">Projekte</a></li><li><a  href="http://www.phpfluesterer.de/category/projekte/buecher/qualitaet-in-softwareprojekten/" rel="tag">Qualität in Softwareprojekten</a></li><li><a  href="http://www.phpfluesterer.de/category/software-entwicklung/qualitaetssicherung/" rel="tag">Qualitätssicherung</a></li><li><a  href="http://www.phpfluesterer.de/category/software-entwicklung/" rel="tag">Software-Entwicklung</a></li><li><a  href="http://www.phpfluesterer.de/category/software-entwicklung/werkzeuge-tools/" rel="tag">Werkzeugkoffer</a></li><li><a  href="http://www.phpfluesterer.de/category/projekte/open-source-software-projekte/xhprof-php-extension/" rel="tag">XHProf (PHP-Extension)</a></li></ul></div></p>
<p>Doch da ist auch noch der Bereich: &#8220;Beyond the Tellerrand&#8221;. Nicht immer lassen sich Grenzen so einfach ziehen und es wäre auch nicht angemessen immer einen harten Schnitt zu machen. Somit behalte ich mir hier mal vor, auch den Blick &#8220;Beyond the Tellerrand&#8221; für den ein oder anderen Artikel nicht ausser Acht zu lassen.</p>
<p><strong>Eigene Projekte<br />
</strong>Da ich in der Vergangenheit schon am ein oder anderen Projekt partizipiert und auch einige selbst initiiert habe, finden sich diese auch hier wieder. Zu diesen Projekten zählen z. B. die Windows-Version von <em>XHProf</em>, die <em>moovrelocator</em>-Klassen, <em>Lazyload.js</em> (kommt in Kürze) sowie das von mir entwickelte und selbst auch eingesetzte WordPress-Plugin (siehe Startseite) <em>Amazon-Product-Widget</em>. Ein Buchprojekt welches ich vor über einem Jahr begonnen habe wird in Kürze auch seinen Platz hier finden und ihr somit auch darüber auf dem Laufenden gehalten.</p>
<p><strong>Sprache</strong><br />
In der Vergangenhit habe ich so oft zwischen deutsch und englisch hin- und hergewechselt, das keine klare Linie zu erkennen war. Nun, nach reichlich Überlegung und Auswertung der Besucherstatistiken, habe ich mich dazu entschieden, alle Kanäle nur noch in deutsch zu befüllen. Dabei spare ich mir dabei die Zeit für die Übersetzung (schließlich bekommt z. B. Google das auch ganz akzeptabel hin) und stecke die gesparte Zeit lieber in die Entwicklung oder in mein Buchprojekt. Schon jetzt absehbare Abweichungen werden z. B. ReTweets aus englisch-sprachigen Kanälen sein, da ich diese sicherlich nicht in die deutsche Sprache übersetzen werde. Ich hoffe, dass ich damit niemandem zu nahe trete. Anfragen bzw. E-Mails in englisch beantworte ich selbstverständlich a) weiter und b) selbstverständlich in englisch.</p>
<p><strong>Merke</strong><br />
Neuer Fokus, regelmäßig neue Inhalte und ab sofort ausschließlich unter <span style="text-decoration: underline;">www.phpfluesterer.de</span> zu erreichen</p>
<p><map name='google_ad_map_652_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/652?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_652_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=652&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fsoftware-entwicklung%2Fwillkommen-zuruck%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=652&amp;md5=312f2e2ee7eb48f05fec6c2a77a358c4" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/software-entwicklung/willkommen-zuruck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fsoftware-entwicklung%2Fwillkommen-zuruck%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Willkommen+zur%C3%BCck%21&amp;description=Nach+knapp+einem+Jahr+melde+ich+mich+unter+neuer+Domain+%28phpfluesterer.de%29+und+mit+guten+Nachrichten+zur%C3%BCck.+W%C3%A4hrend+einer+ausgiebigen+%26%238220%3BAuszeit%26%238221%3B%2C+in+der+ich+quer+durch+die+Welt+gereist+bin%2C+viel...&amp;tags=Allgemein%2CPHPFl%C3%BCsterer%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Source of XHProf 0.10.0 released</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/source-of-xhprof-0-10-0-released/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/source-of-xhprof-0-10-0-released/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 02:09:32 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[XHProf (PHP-Extension)]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[XHProf]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=496</guid>
		<description><![CDATA[I&#8217;ve released the source some minutes ago! Everyone who&#8217;s interested in the source of the windows-compatible release can find the sources at my github repo for XHProf and maybe soon at the Facebook repo. For...<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/source-of-xhprof-0-10-0-released/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released the source some minutes ago! Everyone who&#8217;s interested in the source of the windows-compatible release can find the sources at <a  title="clickalicious/xhprof @ github" href="https://github.com/clickalicious/xhprof" target="_blank">my github repo for XHProf</a> and maybe soon at the <a  title="facebook/xhprof @ github" href="https://github.com/facebook/xhprof/" target="_blank">Facebook repo</a>.</p>
<p>For the &#8220;old-school&#8221; user &#8211; here are the udiff patches for the two files:</p>
<p>1. php_xhprof.h:</p>
<div class="codecolorer-container diff default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:658px;"><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 />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="diff codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #440088;">25a26</span><br />
&amp;gt; #include &quot;win32/php_xhprof_win32.h&quot;<br />
<span style="color: #440088;">33a35,37</span><br />
&amp;gt; /**<br />
&amp;gt; * PHP default module methods<br />
&amp;gt; */<br />
<span style="color: #440088;">39a44,46</span><br />
&amp;gt; /**<br />
&amp;gt; * declare methods available in PHP<br />
&amp;gt; */<br />
<span style="color: #440088;">45a53</span><br />
&amp;gt;</div></td></tr></tbody></table></div>
<p>and xhprof.c:</p>
<div class="codecolorer-container diff default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:658px;height:300px;"><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 />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br /></div></td><td><div class="diff codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #440088;">61a62,71</span><br />
&amp;gt; #elif PHP_WIN32<br />
&amp;gt; /*<br />
&amp;gt; * Patch for compiling in Windows <span style="">&#40;</span>i've used MS VC++ <span style="">6</span><span style="">&#41;</span><br />
&amp;gt; * @author Benjamin Carl<br />
&amp;gt; */<br />
&amp;gt; # define CPU_SET<span style="">&#40;</span>cpu_id, new_mask<span style="">&#41;</span> <span style="">&#40;</span>*<span style="">&#40;</span>new_mask<span style="">&#41;</span><span style="">&#41;</span> = <span style="">&#40;</span>cpu_id + <span style="">1</span><span style="">&#41;</span><br />
&amp;gt; # define CPU_ZERO<span style="">&#40;</span>new_mask<span style="">&#41;</span> <span style="">&#40;</span>*<span style="">&#40;</span>new_mask<span style="">&#41;</span><span style="">&#41;</span> = <span style="">0</span><br />
&amp;gt; # define SET_AFFINITY<span style="">&#40;</span>pid, size, mask<span style="">&#41;</span> SetProcessAffinityMask<span style="">&#40;</span>pid, <span style="">&#40;</span>*<span style="">&#40;</span>mask<span style="">&#41;</span><span style="">&#41;</span><span style="">&#41;</span><br />
&amp;gt; # define GET_AFFINITY<span style="">&#40;</span>pid, size, mask<span style="">&#41;</span><br />
&amp;gt; GetProcessAffinityMask<span style="">&#40;</span>GetCurrentProcess<span style="">&#40;</span><span style="">&#41;</span>, mask, &amp;amp;s_mask<span style="">&#41;</span><br />
<span style="color: #440088;">78c88</span><br />
&amp;lt; #define XHPROF_VERSION &quot;0.9.2&quot;<br />
<span style="color: #888822;">---<br />
&amp;gt; #define XHPROF_VERSION &quot;0.10.0&quot;</span><br />
<span style="color: #440088;">236c246</span><br />
&amp;lt; static ZEND_DLEXPORT void <span style="">&#40;</span>*_zend_execute<span style="">&#41;</span> <span style="">&#40;</span>zend_op_array *ops TSRMLS_DC<span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt; ZEND_DLEXPORT void <span style="">&#40;</span>*_zend_execute<span style="">&#41;</span> <span style="">&#40;</span>zend_op_array *ops TSRMLS_DC<span style="">&#41;</span>;</span><br />
<span style="color: #440088;">239c249</span><br />
&amp;lt; static ZEND_DLEXPORT void <span style="">&#40;</span>*_zend_execute_internal<span style="">&#41;</span> <span style="">&#40;</span>zend_execute_data *data,<br />
<span style="color: #888822;">---<br />
&amp;gt; ZEND_DLEXPORT void <span style="">&#40;</span>*_zend_execute_internal<span style="">&#41;</span> <span style="">&#40;</span>zend_execute_data *data,</span><br />
<span style="color: #440088;">282a293,295</span><br />
&amp;gt; static int restore_cpu_affinity<span style="">&#40;</span>cpu_set_t * prev_mask<span style="">&#41;</span>;<br />
&amp;gt; static int bind_to_cpu<span style="">&#40;</span>uint32 cpu_id<span style="">&#41;</span>;<br />
&amp;gt;<br />
<span style="color: #440088;">408a422</span><br />
&amp;gt; unsigned long s_mask;<br />
<span style="color: #440088;">414a429</span><br />
&amp;gt; #ifndef PHP_WIN32<br />
<span style="color: #440088;">415a431,434</span><br />
&amp;gt; #else<br />
&amp;gt; GetSystemInfo<span style="">&#40;</span>&amp;amp;sysinfo<span style="">&#41;</span>;<br />
&amp;gt; hp_globals.cpu_num = sysinfo.dwNumberOfProcessors;<br />
&amp;gt; #endif<br />
<span style="color: #440088;">486c505,506</span><br />
&amp;lt; int i;<br />
<span style="color: #888822;">---<br />
&amp;gt; /* Note<span style="">&#40;</span>bcarl<span style="">&#41;</span>: changed to uint32 like defined in struct -&amp;gt; hp_global_t */</span><br />
&amp;gt; uint32 i;<br />
<span style="color: #440088;">488a509,511</span><br />
&amp;gt; // duplicate call needed?<br />
&amp;gt; get_all_cpu_frequencies<span style="">&#40;</span><span style="">&#41;</span>;<br />
&amp;gt;<br />
<span style="color: #440088;">490c513,514</span><br />
&amp;lt; php_info_print_table_header<span style="">&#40;</span><span style="">2</span>, &quot;xhprof&quot;, XHPROF_VERSION<span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt; php_info_print_table_row<span style="">&#40;</span><span style="">2</span>, &quot;xhprof&quot;, &quot;enabled&quot;<span style="">&#41;</span>;</span><br />
&amp;gt; php_info_print_table_row<span style="">&#40;</span><span style="">2</span>, &quot;xhprof version&quot;, XHPROF_VERSION<span style="">&#41;</span>;<br />
<span style="color: #440088;">493c517,521</span><br />
&amp;lt; php_info_print_table_header<span style="">&#40;</span><span style="">2</span>, &quot;CPU num&quot;, buf<span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt; php_info_print_table_row<span style="">&#40;</span><span style="">2</span>, &quot;CPU num&quot;, buf<span style="">&#41;</span>;</span><br />
&amp;gt; /* information about the cpu the process is bound to */<br />
&amp;gt; len = snprintf<span style="">&#40;</span>tmp, SCRATCH_BUF_LEN, &quot; CPU %d &quot;, hp_globals.cur_cpu_id<span style="">&#41;</span>;<br />
&amp;gt; tmp<span style="">&#91;</span>len<span style="">&#93;</span> = <span style="">0</span>;<br />
&amp;gt; php_info_print_table_row<span style="">&#40;</span><span style="">2</span>, &quot;process bound to&quot;, tmp<span style="">&#41;</span>;<br />
<span style="color: #440088;">501c529</span><br />
&amp;lt; len = snprintf<span style="">&#40;</span>tmp, SCRATCH_BUF_LEN, &quot;%f&quot;, hp_globals.cpu_frequencies<span style="">&#91;</span>i<span style="">&#93;</span><span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt; len = snprintf<span style="">&#40;</span>tmp, SCRATCH_BUF_LEN, &quot;%-.0f&quot;, hp_globals.cpu_frequencies<span style="">&#91;</span>i<span style="">&#93;</span><span style="">&#41;</span>;</span><br />
<span style="color: #440088;">923,924d950</span><br />
&amp;lt; int desc_len;<br />
&amp;lt; char *desc;<br />
<span style="color: #440088;">1099,1101c1125,1127</span><br />
&amp;lt; /* Update tv */<br />
&amp;lt; tv-&amp;gt;tv_sec = <span style="">&#40;</span>time_in_micro / <span style="">1000000</span><span style="">&#41;</span>;<br />
&amp;lt; tv-&amp;gt;tv_usec = <span style="">&#40;</span>time_in_micro % <span style="">1000000</span><span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt; /* Update tv Note<span style="">&#40;</span>bcarl<span style="">&#41;</span>: added explicit typecasting <span style="">&#40;</span>long<span style="">&#41;</span> warning C4244 */</span><br />
&amp;gt; tv-&amp;gt;tv_sec = <span style="">&#40;</span>long<span style="">&#41;</span><span style="">&#40;</span>time_in_micro / <span style="">1000000</span><span style="">&#41;</span>;<br />
&amp;gt; tv-&amp;gt;tv_usec = <span style="">&#40;</span>long<span style="">&#41;</span><span style="">&#40;</span>time_in_micro % <span style="">1000000</span><span style="">&#41;</span>;<br />
<span style="color: #440088;">1184a1211,1219</span><br />
&amp;gt;<br />
&amp;gt; #ifdef PHP_WIN32<br />
&amp;gt; __asm <span style="">&#123;</span><br />
&amp;gt; cpuid<br />
&amp;gt; rdtsc<br />
&amp;gt; mov __a, eax<br />
&amp;gt; mov __d, edx<br />
&amp;gt; <span style="">&#125;</span><br />
&amp;gt; #else<br />
<span style="color: #440088;">1185a1221,1222</span><br />
&amp;gt; #endif<br />
&amp;gt;<br />
<span style="color: #440088;">1230,1231c1267,1268</span><br />
&amp;lt; start-&amp;gt;tv_sec = incr/<span style="">1000000</span>;<br />
&amp;lt; start-&amp;gt;tv_usec = incr%1000000;<br />
<span style="color: #888822;">---<br />
&amp;gt; start-&amp;gt;tv_sec = <span style="">&#40;</span>long<span style="">&#41;</span><span style="">&#40;</span>incr/<span style="">1000000</span><span style="">&#41;</span>;</span><br />
&amp;gt; start-&amp;gt;tv_usec = <span style="">&#40;</span>long<span style="">&#41;</span><span style="">&#40;</span>incr%1000000<span style="">&#41;</span>;<br />
<span style="color: #440088;">1270a1308,1309</span><br />
&amp;gt; uint64 tsc_start;<br />
&amp;gt; uint64 tsc_end;<br />
<span style="color: #440088;">1276c1315,1317</span><br />
&amp;lt; uint64 tsc_start = cycle_timer<span style="">&#40;</span><span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt;</span><br />
&amp;gt; tsc_start = cycle_timer<span style="">&#40;</span><span style="">&#41;</span>;<br />
&amp;gt;<br />
<span style="color: #440088;">1284c1325,1327</span><br />
&amp;lt; uint64 tsc_end = cycle_timer<span style="">&#40;</span><span style="">&#41;</span>;<br />
<span style="color: #888822;">---<br />
&amp;gt;</span><br />
&amp;gt; tsc_end = cycle_timer<span style="">&#40;</span><span style="">&#41;</span>;<br />
&amp;gt;<br />
<span style="color: #440088;">1294c1337</span><br />
&amp;lt; int id;<br />
<span style="color: #888822;">---<br />
&amp;gt; uint32 id;</span><br />
<span style="color: #440088;">1519,1520d1561</span><br />
&amp;lt; double gtod_value, rdtsc_value;<br />
&amp;lt;<br />
<span style="color: #440088;">1532c1573</span><br />
&amp;lt; hp_inc_count<span style="">&#40;</span>counts, &quot;wt&quot;, get_us_from_tsc<span style="">&#40;</span>tsc_end - top-&amp;gt;tsc_start,<br />
<span style="color: #888822;">---<br />
&amp;gt; hp_inc_count<span style="">&#40;</span>counts, &quot;wt&quot;, <span style="">&#40;</span>long<span style="">&#41;</span>get_us_from_tsc<span style="">&#40;</span>tsc_end - top-&amp;gt;tsc_start,</span><br />
<span style="color: #440088;">1786,1787d1826</span><br />
&amp;lt; zval *ret;<br />
&amp;lt; char *out_url;</div></td></tr></tbody></table></div>
<p><map name='google_ad_map_496_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/496?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_496_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=496&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fsource-of-xhprof-0-10-0-released%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=496&amp;md5=ce0ab61b5cbf0d830e55970333d750ce" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/source-of-xhprof-0-10-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fsource-of-xhprof-0-10-0-released%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=Source+of+XHProf+0.10.0+released&amp;description=I%26%238217%3Bve+released+the+source+some+minutes+ago%21+Everyone+who%26%238217%3Bs+interested+in+the+source+of+the+windows-compatible+release+can+find+the+sources+at+my+github+repo+for+XHProf+and+maybe+soon...&amp;tags=Open+Source%2CPerformance%2CXHProf%2Cblog" type="text/html" />
	</item>
		<item>
		<title>XHProf PHP-extension 0.10.0 &#8211; Windows-Build</title>
		<link>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-php-extension-0-10-0-windows-32nt-compatible-version/</link>
		<comments>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-php-extension-0-10-0-windows-32nt-compatible-version/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 16:09:54 +0000</pubDate>
		<dc:creator>PHPFlüsterer</dc:creator>
				<category><![CDATA[XHProf (PHP-Extension)]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Optimierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.phpfluesterer.de/?p=485</guid>
		<description><![CDATA[I&#8217;ve recently finished version 0.10.0 of XHProf the PHP-Profiler published by Facebook. I&#8217;ve added the missing functionality for windows versions (e.g. getrusage(), SET_AFFINITY(), GET_AFFINITY()). This Version is based on Version 0.9.2 beta (2009-06-01) from pecl....<br /><a href="http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-php-extension-0-10-0-windows-32nt-compatible-version/" target="_self" title="Weiterlesen" alt="Weiterlesen">Weiterlesen&#160;&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently finished version 0.10.0 of <a  title="XHProf @ Facebook" href="http://mirror.facebook.net/facebook/xhprof/doc.html" target="_blank" class="broken_link">XHProf</a> the PHP-Profiler <a  title="XHProf @ github" href="https://github.com/facebook/xhprof" target="_blank">published by Facebook</a>. I&#8217;ve added the missing functionality for windows versions (e.g. getrusage(), SET_AFFINITY(), GET_AFFINITY()).</p>
<p>This Version is based on <a  title="xhprof @ pecl" href="http://pecl.php.net/package/xhprof" target="_blank">Version 0.9.2 beta (2009-06-01) from pecl</a>. The extension was linked against php5ts.lib (PHP 5.3.3, VC++ 6, TS, Debug) and packed with UPX afterwards.</p>
<p><a  href="http://www.phpfluesterer.de/wp-content/uploads/2010/12/screen_xhprof.jpg" class="thickbox no_icon" rel="gallery-485" title="Screenshot XHProf 0.10.0"><img class="aligncenter size-medium wp-image-486" title="Screenshot XHProf 0.10.0" src="http://www.phpfluesterer.de/wp-content/uploads/2010/12/screen_xhprof-300x120.jpg" alt="Screenshot XHProf 0.10.0" width="300" height="120" /></a></p>
<p>You can download the Extension <a  title="download PHP-Extension XHProf 0.10.0 Windows compatible" href="http://www.phpfluesterer.de/?download=XHProf-0.10.0-PHP-5.3.3-VC6-x86-TS" target="_blank">here</a>.</p>
<p>I will release the source at <a  title="clickalicious @ github" href="https://github.com/clickalicious" target="_blank">github</a> as soon as i did enough tests. I would be nice to have your feedback as well to get a 100% working profiler!</p>
<p><map name='google_ad_map_485_45ad50ab3805f578'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/485?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_485_45ad50ab3805f578' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=485&amp;url= http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fxhprof-php-extension-0-10-0-windows-32nt-compatible-version%2F' /></p> <p><a href="http://www.phpfluesterer.de/?flattrss_redirect&amp;id=485&amp;md5=6a5ce8dd234615de4d0ed8f73099bcc2" title="Flattr" target="_blank"><img src="http://www.phpfluesterer.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phpfluesterer.de/projekte/open-source-software-projekte/xhprof-php-extension/xhprof-php-extension-0-10-0-windows-32nt-compatible-version/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=phpfluesterer&amp;popout=1&amp;url=http%3A%2F%2Fwww.phpfluesterer.de%2Fprojekte%2Fopen-source-software-projekte%2Fxhprof-php-extension%2Fxhprof-php-extension-0-10-0-windows-32nt-compatible-version%2F&amp;hidden=1&amp;language=de_DE&amp;category=text&amp;title=XHProf+PHP-extension+0.10.0+%26%238211%3B+Windows-Build&amp;description=I%26%238217%3Bve+recently+finished+version+0.10.0+of+XHProf+the+PHP-Profiler+published+by+Facebook.+I%26%238217%3Bve+added+the+missing+functionality+for+windows+versions+%28e.g.+getrusage%28%29%2C+SET_AFFINITY%28%29%2C+GET_AFFINITY%28%29%29.+This+Version+is+based+on+Version...&amp;tags=Open+Source%2COptimierung%2CPerformance%2CPHP%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

