<?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>Oscar's Blog &#187; Programmieren</title>
	<atom:link href="http://blog.soly.org/tag/programmieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.soly.org</link>
	<description>life, sciences and the bits in between</description>
	<lastBuildDate>Mon, 25 Jul 2011 12:57:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Performance &#8211; der Preis der Generalisierung</title>
		<link>http://blog.soly.org/technik/performance-der-preis-der-generalisierung/</link>
		<comments>http://blog.soly.org/technik/performance-der-preis-der-generalisierung/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 12:08:02 +0000</pubDate>
		<dc:creator>oscar</dc:creator>
				<category><![CDATA[Studium]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Diplomarbeit]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.soly.org/?p=161</guid>
		<description><![CDATA[Für meine Diplomarbeit erweitere ich gerade ein Stück Software. Die Software baut auf verschiedenen Frameworks auf &#8211; namentlich Spring und Hibernate. Frameworks helfen uns ja bei der Wiederverwendung von Code und vereinfachen dadurch immer wiederkehrende Aufgaben. Daneben unterstützen sie durch &#8230; <a href="http://blog.soly.org/technik/performance-der-preis-der-generalisierung/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Für meine Diplomarbeit erweitere ich gerade ein Stück Software. Die Software baut auf verschiedenen Frameworks auf &#8211; namentlich Spring und Hibernate. Frameworks helfen uns ja bei der Wiederverwendung von Code und vereinfachen dadurch immer wiederkehrende Aufgaben. Daneben unterstützen sie durch bestimmte Vorgaben auch ein strukturiertes Design der Software, die solch ein Framework verwendet. Gleichzeitig verursachen sie aber auch eine Menge Overhead, sind ohne entsprechende Schulung nur schwer zu verstehen und drücken die Performance des Systems.</p>
<p><span id="more-161"></span></p>
<p>Performance, so musste ich jüngstens erfahren, ist in großen Softwareprojekten immer wieder ein kritischer Punkt der Probleme verursacht. Eine Wichtige Information &#8211; meine Universitären Projekte hatten nie Performanceprobleme &#8211; waren aber auch um mehrere Klassen kleiner als Projekte, die es hier in der freien Wildbahn so gibt.</p>
<p>Die Erste Funktion, die ich realisiert habe, liest aus einer XML-Datei (mit ca. 10 Zeilen Länge) vier Parameter aus und schreibt diese in eine Datenbank. Alleine das Auslesen der Parameter aus der XML-Datei benötigt auf meinem relativ neuen Rechner mit ausreichend Arbeitsspeicher annähernd 40 Sekunden. Da die Komponente nur im Batch-Betrieb Verwendung findet, ist sie nicht Performancekritisch &#8211; man sieht aber schon wie der Overhead der verwendeten Frameworks die Leistungsfähigkeit des Gesamtsystems beeinflusst. Eine weitere Problemstelle ist das Analysieren von Fehlern &#8211; ich habe bereits Stack-Traces produziert, deren Länge annähernd drei DIN-A4 Seiten hatte. Das erschwert natürlich die Fehlersuche.</p>
<p>Ich glaube man muss sich bei der Verwendung eines Frameworks an jeder Stelle sehr genau überlegen, ob die Vorteile die Nachteile überwiegen &#8211; das gilt nicht nur für das Thema Performance &#8211; auch die Schulung in den Frameworks muss sorgfältig durchgeführt werden. Ein schlechtes Softwaredesign kann auch mit einem guten Framework entstehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soly.org/technik/performance-der-preis-der-generalisierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Save.tv Downloader v.0.1</title>
		<link>http://blog.soly.org/allgemein/savetv-downloader/</link>
		<comments>http://blog.soly.org/allgemein/savetv-downloader/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 16:08:13 +0000</pubDate>
		<dc:creator>oscar</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.soly.org/?p=33</guid>
		<description><![CDATA[Der Save.tv Downloader ist ein kleines Pythonprogramm, mit dem sich Aufnahmen von Save.tv automatisiert herunterladen lassen. Das Programm gibt es unter http://files.soly.org/Stvdnld/Stvdnld-0.1.tgz zum download. Eine Beschreibung, wie das Programm benutzt wird, ist in dem Paket enthalten.]]></description>
			<content:encoded><![CDATA[<p>Der Save.tv Downloader ist ein kleines Pythonprogramm, mit dem sich Aufnahmen von <a href="http://www.save.tv" target="_blank">Save.tv</a> automatisiert herunterladen lassen.</p>
<p>Das Programm gibt es unter <a href="http://files.soly.org/Stvdnld/Stvdnld-0.1.tgz" target="_self">http://files.soly.org/Stvdnld/Stvdnld-0.1.tgz</a> zum download. Eine Beschreibung, wie das Programm benutzt wird, ist in dem Paket enthalten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.soly.org/allgemein/savetv-downloader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Webserver</title>
		<link>http://blog.soly.org/technik/python-webserver/</link>
		<comments>http://blog.soly.org/technik/python-webserver/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 13:47:31 +0000</pubDate>
		<dc:creator>oscar</dc:creator>
				<category><![CDATA[Hobbys]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.soly.org/?p=31</guid>
		<description><![CDATA[Für die Testfälle eines kleinen Projektes brauche ich einen einfachen WebServer Dummie. Da das Projekt in Python ist geschrieben ist, würde sich ein Webserver in Python auch anbieten. Die Lösung ist ziemlich einfach. Der &#8216;Server&#8217; liefert alle Dateien unterhalb des &#8230; <a href="http://blog.soly.org/technik/python-webserver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Für die Testfälle eines kleinen Projektes brauche ich einen einfachen WebServer Dummie. Da das Projekt in Python ist geschrieben ist, würde sich ein Webserver in Python auch anbieten. Die Lösung ist ziemlich einfach. Der &#8216;Server&#8217; liefert alle Dateien unterhalb des Ausführpfades aus.</p>
<pre>
import BaseHTTPServer
import SimpleHTTPServer

class HTTPServer:
   server_address = ('localhost', 8090)
   server = BaseHTTPServer.HTTPServer(server_address,
                  SimpleHTTPServer.SimpleHTTPRequestHandler)

   def serve(self):
      self.server.serve_forever()

httpd = HTTPServer()
httpd.serve()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.soly.org/technik/python-webserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

