<?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>Xceptance Blog &#187; programmierung</title>
	<atom:link href="http://blog.xceptance.com/tag/programmierung/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xceptance.com</link>
	<description>Passionate Testing</description>
	<lastBuildDate>Sat, 21 Jan 2012 11:29:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Read that: Web Application Security Guidelines</title>
		<link>http://blog.xceptance.com/2011/12/07/read-that-web-application-security-guidelines/</link>
		<comments>http://blog.xceptance.com/2011/12/07/read-that-web-application-security-guidelines/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 11:44:53 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.xceptance.com/?p=712</guid>
		<description><![CDATA[This is a nice summary of web application security related technologies, processes, and development patterns: Design Guidelines for Secure Web Applications. A little .NET heavy, but most stuff is generally applicable. If you read and like the above information, you should not miss the OWASP web security guidelines. This is a must read for every [...]]]></description>
			<content:encoded><![CDATA[<p>This is a nice summary of web application security related technologies, processes, and development patterns: <a href="http://msdn.microsoft.com/en-us/library/ff648647.aspx">Design Guidelines for Secure Web Applications</a>. A little .NET heavy, but most stuff is generally applicable.</p>
<p>If you read and like the above information, you should not miss the OWASP web security guidelines. This is a must read for every tester and developer. <a href="https://www.owasp.org/index.php/Category:OWASP_Guide_Project">OWASP Guide Project</a>:</p>
<blockquote><p>Web application security is an essential component of any successful project, whether open source PHP applications, web services such as straight through processing, or proprietary business web sites. Hosters (rightly) shun insecure code, and users shun insecure services that lead to fraud. The aim of this Development Guide is to allow businesses, developers, designers and solution architects to produce secure web applications. If done from the earliest stages, secure applications cost about the same to develop as insecure applications, but are far more cost effective in the long run.</p>
<p>Unlike other forms of security (such as firewalls and secure lockdowns), web applications have the ability to make a skilled attacker rich, or make the life of a victim a complete misery. At this highest level of the OSI software map, traditional firewalls and other controls simply do not help. The application itself must be self-defending. The Development Guide can help you get there. The Development Guide has been written to cover all forms of web application security issues, from old hoary chestnuts such as SQL Injection, through modern concerns such as AJAX, phishing, credit card handling, session fixation, cross-site request forgeries, compliance, and privacy issues&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2011/12/07/read-that-web-application-security-guidelines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Beautifier &#8211; Code schön gemacht</title>
		<link>http://blog.xceptance.com/2009/09/08/javascript-beautifier-code-schon-gemacht/</link>
		<comments>http://blog.xceptance.com/2009/09/08/javascript-beautifier-code-schon-gemacht/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 13:32:27 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[formatierung]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[optimierung]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=298</guid>
		<description><![CDATA[Beim Debuggen von Webanwendungen steht man oft vor einem Haufen Javascript-Code, der eingedampft wurde, um Bandbreite zu sparen und die Verarbeitungszeiten zu drücken. Der JavaScript Beautifier ist eine schnelle und elegante Lösung, den Code wieder einigermaßen lesbar zu bekommen.]]></description>
			<content:encoded><![CDATA[<p>Beim Debuggen von Webanwendungen steht man oft vor einem Haufen Javascript-Code, der eingedampft wurde, um Bandbreite zu sparen und die Verarbeitungszeiten zu drücken.</p>
<p>Der <a href="http://jsbeautifier.org/">JavaScript Beautifier</a> ist eine schnelle und elegante Lösung, den Code wieder einigermaßen lesbar zu bekommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2009/09/08/javascript-beautifier-code-schon-gemacht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skype ist wohl mit Delphi programmiert worden</title>
		<link>http://blog.xceptance.com/2009/07/16/skype-ist-wohl-mit-delphi-programmiert-worden/</link>
		<comments>http://blog.xceptance.com/2009/07/16/skype-ist-wohl-mit-delphi-programmiert-worden/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 13:24:44 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[entwicklung]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=243</guid>
		<description><![CDATA[Skype scheint mit Delphi geschrieben worden zu sein. Ja, das Entwicklungswerkzeug, das von Borland hergestellt wurde. Damals&#8230; vor langer langer Zeit. Interessant&#8230;]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://blog.xceptance.de/wp-content/uploads/2009/07/skype-delphi.png"><img class="size-medium wp-image-244 alignleft" title="Skype Fehlermeldung" src="http://blog.xceptance.de/wp-content/uploads/2009/07/skype-delphi-300x67.png" alt="Skype Fehlermeldung" width="300" height="67" /></a>Skype scheint mit Delphi geschrieben worden zu sein. Ja, das Entwicklungswerkzeug, das von Borland hergestellt wurde. Damals&#8230; vor langer langer Zeit.</p>
<p>Interessant&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2009/07/16/skype-ist-wohl-mit-delphi-programmiert-worden/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Singletons auf die faule Art</title>
		<link>http://blog.xceptance.com/2009/03/24/singletons-auf-die-faule-art/</link>
		<comments>http://blog.xceptance.com/2009/03/24/singletons-auf-die-faule-art/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:36:20 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[entwicklung]]></category>
		<category><![CDATA[fehler]]></category>
		<category><![CDATA[parallelität]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=197</guid>
		<description><![CDATA[Wir hatten heute eine kurze Diskussion über Singletons und die Art und Weise ihrer Erzeugung, speziell wenn man sie faul (lazy) erzeugen möchte. Die Wikipedia hat dazu diesen schönen Eintrag &#8211; On Demand Holder Idiom: In software engineering, the Initialization on Demand Holder idiom (design pattern) is a lazy-loaded singleton. The idiom can be implemented [...]]]></description>
			<content:encoded><![CDATA[<p>Wir hatten heute eine kurze Diskussion über Singletons und die Art und Weise ihrer Erzeugung, speziell wenn man sie faul (lazy) erzeugen möchte. Die Wikipedia hat dazu diesen schönen Eintrag &#8211; <a href="http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom">On Demand Holder Idiom:</a></p>
<blockquote><p>In software engineering, the Initialization on Demand Holder idiom (design pattern) is a lazy-loaded singleton. The idiom can be implemented in both single-threaded/serial and concurrent environments, but care must be taken to correctly implement the idiom under concurrent conditions.</p></blockquote>
<p>Ganz besondern wichtig ist die Erklärung, warum Lazy in diesem Fall so und nicht anders funktioniert:</p>
<blockquote><p>The implementation relies on the well-specified initialization phase of execution within the Java Virtual Machine (JVM); see section <a class="external text" title="http://java.sun.com/docs/books/jls/third_edition/html/execution.html#44557" rel="nofollow" href="http://java.sun.com/docs/books/jls/third_edition/html/execution.html#44557">12.4 of Java Language Specification</a> (JLS) for details.</p>
<p>When the class <strong>Something</strong> is loaded by the JVM, the class goes through initialization. Since the class does not have any static variables to initialize, the initialization completes trivially. The static class definition <strong>LazyHolder</strong> within it is <strong>not</strong> initialized until the JVM determines that <strong>LazyHolder</strong> must be executed. The static class <strong>LazyHolder</strong> is only executed when the static method <strong>getInstance</strong> is invoked on the class <strong>Something</strong>, and the first time this happens the JVM will load and initialize the <strong>LazyHolder</strong> class.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2009/03/24/singletons-auf-die-faule-art/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die richtigen Leute für den Job?</title>
		<link>http://blog.xceptance.com/2009/03/07/berufsverbot/</link>
		<comments>http://blog.xceptance.com/2009/03/07/berufsverbot/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 18:31:34 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Things went wrong]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[entwicklung]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=181</guid>
		<description><![CDATA[Wenn man in einer Webseite diesen Text findet und weiss, dass eine angeblich professionelle Webagentur/Webdesign-Firma ihre Hände im Spiel hatte, dann sollte man sich fragen, ob es die richtigen Leute für den Job sind&#8230; oder nicht? &#60;!-- Since margins/padding looked different in diff browsers, use a transparent image to get spacing above and below actual [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man in einer Webseite diesen Text findet und weiss, dass eine angeblich professionelle Webagentur/Webdesign-Firma ihre Hände im Spiel hatte, dann sollte man sich fragen, ob es die richtigen Leute für den Job sind&#8230; oder nicht?</p>
<pre>&lt;!--
Since margins/padding looked different in diff browsers, use a
transparent image to get spacing above and below actual footer...
--&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2009/03/07/berufsverbot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OCR-Erkennung in JavaScript</title>
		<link>http://blog.xceptance.com/2009/01/24/ocr-erkennung-in-javascript/</link>
		<comments>http://blog.xceptance.com/2009/01/24/ocr-erkennung-in-javascript/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 21:36:56 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=153</guid>
		<description><![CDATA[Mich erstaunen die Talente vieler Leute immer wieder. Jemand hat ein Script geschrieben, das Captchas automatisch löst und das ganze in JavaScript. Das Ding läuft auch noch im Browser&#8230; wow! Nun gut, es löst nicht alle Captchas&#8230; aber immerhin. Wenn es interessiert, hier geht es zum Artikel: Captcha cracking in JavaScript with Canvas and neural [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-154 alignleft" title="Captcha" src="http://blog.xceptance.de/wp-content/uploads/2009/01/captcha.jpg" alt="Ein Captcha Demo" width="132" height="72" />Mich erstaunen die Talente vieler Leute immer wieder. Jemand hat ein Script geschrieben, das Captchas automatisch löst und das ganze in JavaScript. Das Ding läuft auch noch im Browser&#8230; wow! Nun gut, es löst nicht alle Captchas&#8230; aber immerhin.</p>
<p>Wenn es interessiert, hier geht es zum Artikel: <a href="http://ajaxian.com/archives/captcha-cracking-in-javascript-with-canvas-and-neural-nets">Captcha cracking in JavaScript with Canvas and neural nets</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2009/01/24/ocr-erkennung-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sparen beim String bauen</title>
		<link>http://blog.xceptance.com/2008/06/14/sparen-beim-string-bauen/</link>
		<comments>http://blog.xceptance.com/2008/06/14/sparen-beim-string-bauen/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 15:23:22 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[optimierung]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=12</guid>
		<description><![CDATA[Viele Java-Programmiere denken oft beim Schreiben Ihres Codes wenig über Müll nach. Natürlich nimmt man zum Bauen eines Strings aus vielen kleinen Puzzleteilen einen StringBuilder. Den StringBuffer nimmt man nicht mehr, weil der im Regelfall unnötig synchronisiert ist. Schliesslich löst das im Java Memory Model ab JDK 5 eine Synchronisation mit dem Hauptspeicher aus (JSR-133), [...]]]></description>
			<content:encoded><![CDATA[<p>Viele Java-Programmiere denken oft beim Schreiben Ihres Codes wenig über Müll nach. Natürlich nimmt man zum Bauen eines Strings aus vielen kleinen Puzzleteilen einen StringBuilder. Den StringBuffer nimmt man nicht mehr, weil der im Regelfall unnötig synchronisiert ist. Schliesslich löst das im Java Memory Model ab JDK 5 eine Synchronisation mit dem Hauptspeicher aus (JSR-133), die wir überhaupt nicht wollen.</p>
<p>Einen kleinen Trick für unnötige Objekt-Erzeugung und damit für weniger Müll im System, gerade wenn immer wieder Strings gebaut werden müssen, ist die korrekte initiale Größe des StringBuilders. Ein <em>new StringBuilder()</em> reserviert zunächst nur ein Array mit 16 Characters. Wenn wir also recht viel zusammenbauen, muss mehrmals eine neues grösseres Array (2 * ggw. Grösse + 1) erzeugt und der Inhalt umkopiert werden.</p>
<p>Wer also weiss, dass er ca. 100 Zeichen aneinanderhängt, der lässt sich gleich einen StringBuilder mit Grösse 120 geben &#8211; <em>new StringBuilder(120)</em> &#8211; und spart damit das Anlegen von drei Arrays und drei Copy-Operation ein. Gerade bei intensiven Operationen mit Strings macht das eine Menge aus.</p>
<p>Wer würde schon bei einem Umzug zuerst mit dem kleinsten Karton anfangen und dann wegwerfen, weil nicht alles reinpasst? Man schätzt doch am Anfang schon vernünftig ab, wie groß der Karton sein sollte.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2008/06/14/sparen-beim-string-bauen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Concurrency &#8211; A Tutorial</title>
		<link>http://blog.xceptance.com/2008/06/09/java-concurrency-a-tutorial/</link>
		<comments>http://blog.xceptance.com/2008/06/09/java-concurrency-a-tutorial/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 14:41:04 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[parallelität]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://blog.xceptance.de/?p=11</guid>
		<description><![CDATA[Heute habe ich eine wunderbare Webseite zum Thema Java Concurrency gefunden. Jakob Jenkov hat hier viele interessante Themen zur parallelen Programmierung mit Java zusammengefasst. Ein Bookmark wert und in einer ruhigen Minute unbedingt mal lesen. Java Concurrency &#8211; A Tutorial Java was one of the first languages to make multithreading easily available to developers. Java [...]]]></description>
			<content:encoded><![CDATA[<p>Heute habe ich eine wunderbare Webseite zum Thema Java Concurrency gefunden. Jakob Jenkov hat hier viele interessante Themen zur parallelen Programmierung mit Java zusammengefasst. Ein Bookmark wert und in einer ruhigen Minute unbedingt mal lesen.</p>
<p><a title="Java Concurrency Tutorial" href="http://tutorials.jenkov.com/java-concurrency/index.html">Java Concurrency &#8211; A Tutorial</a></p>
<blockquote><p>Java was one of the first languages to make multithreading easily available to developers. Java had multithreading capabilities from the very beginning. Therefore, Java developers often face the problems described above. That is the reason I am writing this trail on Java concurrency. As notes to myself, and any fellow Java developer whom may benefit from it.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.xceptance.com/2008/06/09/java-concurrency-a-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

