<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2germanfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Naja's Corner</title>
	
	<link>http://www.najavonschmude.de</link>
	<description>Mitschriften ausm Studium und Bla aus meinem Leben</description>
	<lastBuildDate>Tue, 07 Sep 2010 10:06:07 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/NajasBlog" /><feedburner:info uri="najasblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FNajasBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/NajasBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FNajasBlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FNajasBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FNajasBlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=de&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FNajasBlog" src="http://us.i1.yimg.com/us.yimg.com/i/de/my/addtomyyahoo4.gif">Subscribe with Mein Yahoo!</feedburner:feedFlare><item>
		<title>Vorlesungsmitschrift zu Übersetzerbau</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/rju7jRnpjGs/vorlesungsmitschrift-zu-uebersetzerbau</link>
		<comments>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-uebersetzerbau#comments</comments>
		<pubDate>Thu, 15 Oct 2009 14:05:21 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Mitschrift]]></category>
		<category><![CDATA[Übersetzerbau]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=351</guid>
		<description><![CDATA[Dieses Semester (Wintersemester 2009/2010) besuche ich bei Frau Fehr die Vorlesung &#252;ber &#220;bersetzerbau (oder neudeutsch Compilerbau). Obwohl die Vorlesung zu einer studentenunfreundlichen Uhrzeit stattfindet, probiere ich dennoch erstens immer hinzugehen und zweitens dabei eine Mitschrift anzufertigen, die Sinn ergibt. Diese Mitschrift werdet ihr dann an dieser Stelle finden. Vorlesung: Einf&#252;hrungen zu Compilern, grober Aufbau. Vorlesung: [...]]]></description>
			<content:encoded><![CDATA[<p>Dieses Semester (Wintersemester 2009/2010) besuche ich bei Frau Fehr die Vorlesung &#252;ber &#220;bersetzerbau (oder neudeutsch Compilerbau). Obwohl die Vorlesung zu einer studentenunfreundlichen Uhrzeit stattfindet, probiere ich dennoch erstens immer hinzugehen und zweitens dabei eine Mitschrift anzufertigen, die Sinn ergibt. Diese Mitschrift werdet ihr dann an dieser Stelle finden.</p>
<ol>
<li>Vorlesung: Einf&#252;hrungen zu Compilern, grober Aufbau.</li>
<li>Vorlesung: Wir besch&#228;ftigen uns nun mit der Syntaxanalyse, die in den Compilern durchgef&#252;hrt wird. Dazu gucken wir uns nochmals kontextfreie Grammatiken an.</li>
<li>Vorlesung: Es ging um syntaxgerichtete &#220;bersetzung und Syntaxschemata.</li>
<li>Vorlesung: Es ging um die Syntaxanalyse des Parsers und wie man pr&#228;diktive Syntaxanalyse betreiben kann</li>
<li>Vorlesung: Wir haben die bisher besprochenen Komponenten zu einem vollst&#228;ndigen Front-End eines &#220;bersetzers kombiniert.</li>
<li>Vorlesung: Die lexikalische Analyse war heute Thema.</li>
<li>Vorlesung: Wir haben uns die Interaktion zwischen Lexer und Parser angeschaut und wie man Fehlerbehandlung schon im Lexer betreiben kann.</li>
<li>Vorlesung: Wir haben uns mit regul&#228;ren Definitionen besch&#228;ftigt.</li>
<li>Vorlesung: Wir haben uns &#252;berlegt, wie man Token durch endliche Automaten erkennen kann.</li>
<li>Vorlesung: Der Lexer-Generator Lex wurde vorgestellt.</li>
<li>Vorlesung: Syntaxanalyse im Parser (h&#246;chst unvollst&#228;ndig ;-))</li>
<li>Vorlesung:  Wir haben uns Techniken angesehen, wie man Nichtterminismus Eliminieren kann. Ein Beispiel ist die Eliminierung der Linksrekursion oder die Linksfaktorisierung.</li>
<li>Vorlesung: Wir haben die deterministische Top-Down-Syntaxanalyse betrachtet und wie man FIRST- und FOLLOW-Mengen bildet.</li>
<li>Vorlesung: Als Fortsetzung der Top-Down-Analyse haben wir eine Parse-Tabelle aufgestellt und geguckt, wie man damit eine Fehlerbehandlung betreiben kann.</li>
<li>Vorlesung: Es ging weiter mit der Parse-Tabelle. Dann haben wir noch mit der Bottom-Up-Analyse angefangen.</li>
<li>Vorlesung: Weiter mit Bottom-Up-Analyse. Und wir haben uns die Shift-Reduce-Analyse angeschaut.</li>
<li>Vorlesung: Die einfache LR-Syntaxanalyse (Simple LR-Parser) war Thema.</li>
<li>Vorlesung: Struktur und Aufbau der Parse-Tabelle bei SLR</li>
<li>Vorlesung: Semantische Analyse und syntaxgerichtete Definitionen war Thema.</li>
<li>Vorlesung: Wir haben uns die topologische Sortierung von SDDs angeschaut.</li>
<li>Vorlesung: Wir haben uns als weitere Anwenund syntaxgerichteter Definitionen Syntaxb&#228;ume angeschaut.</li>
<li>Vorlesung: Statt einem Syntaxbaum erstellen wir nun einen DAG (directed acyclic graph)</li>
<li>Vorlesung: Wir beginnen mit dem Abschnitt Zwischencode-Erzeugung. Als einen Vertreter davon betrachten wir den 3-Adress-Code</li>
<li>Vorlesung: Wir schauen uns an, wie man 3-Adress-Code f&#252;r imperative Programmiersprachen erzeugen kann.</li>
<li>Vorlesung: Laufzeitumgebungen sind das Thema.</li>
<li>Vorlesung: Codeerzeugung und Kosten von Befehlen</li>
<li>Vorlesung: Grundbl&#246;cke und Flussgraphen</li>
<li>Vorlesung: Lebendigkeit und n&#228;chste Verwendung mit dem Blick auf Code-Optimierung</li>
</ol>
<p><a href="http://www.najavonschmude.de/wp-content/uebersetzerbau.pdf" title="&#220;bersetzerbau Mitschrift" target="_blank" class="lipdf">Download der &#220;bersetzerbau Mitschrift</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-uebersetzerbau/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-uebersetzerbau</feedburner:origLink></item>
		<item>
		<title>Vorlesungsmitschrift zu Mustererkennung</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/LIuJ2ssi1pg/vorlesungsmitschrift-zu-mustererkennung</link>
		<comments>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-mustererkennung#comments</comments>
		<pubDate>Mon, 24 Aug 2009 21:01:30 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Mitschrift]]></category>
		<category><![CDATA[Mustererkennung]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=341</guid>
		<description><![CDATA[Im Wintersemester 2008/2009 besuchte ich die Mustererkennungsvorlesung und dazu gibt es nat&#252;rlich auch wieder eine Mitschrift (handschriftlich). Vorlesung: Ausblick in Mustererkennung anhand von Viola-Jones (siehe Paper) Vorlesung: KNN (k nearest neighbours) Algorithmus Vorlesung Clustering (k-means) und un&#252;berwachtes Lernen Vorlesung: EM-Algorithmus (Expectation Maximization) und Lineare Regression Vorlesung: PCA (Principal Component Analysis) und der Algorithmus von Oja [...]]]></description>
			<content:encoded><![CDATA[<p>Im Wintersemester 2008/2009 besuchte ich die <a href="http://www.inf.fu-berlin.de/lehre/WS08/ME/me.html" title="Mustererkennung" target="_blank" class="liexternal">Mustererkennungsvorlesung</a> und dazu gibt es nat&#252;rlich auch wieder eine Mitschrift (handschriftlich).</p>
<ol>
<li>Vorlesung: Ausblick in Mustererkennung anhand von Viola-Jones (siehe <a href="http://www.inf.fu-berlin.de/lehre/WS08/ME/violaJones_CVPR2001.pdf" title="Viola Jones Paper" target="_blank" class="lipdf">Paper</a>)</li>
<li>Vorlesung: KNN (k nearest neighbours) Algorithmus</li>
<li>Vorlesung Clustering (k-means) und un&#252;berwachtes Lernen</li>
<li>Vorlesung: EM-Algorithmus (Expectation Maximization) und Lineare Regression</li>
<li>Vorlesung: PCA (Principal Component Analysis) und der Algorithmus von Oja</li>
<li>Vorlesung: Fisher&#8217;s linear discriminant</li>
<li>Vorlesung: Perzeptrons und Perzeptronlernen (Dank an Lisa f&#252;r ihre Mitschrift!)</li>
<li>Vorlesung: Verallgemeinerung des Perzeptron-Lernalgorithmus (Neuronale Netze) mit Backpropagation</li>
<li>Vorlesung: Backprop-Algorithmus mit Matrizen und Verfeinerungen mit Silva &amp; Almeida, Momentum und RPROP.</li>
<li>Vorlesung: Blind source separation (independent component analysis)</li>
<li>Vorlesung: Non-negative matrix factorization</li>
<li>Vorlesung: Entscheidungsb&#228;ume und ID3-Algorithmus</li>
<li>Vorlesung: &#220;ber Merkmalsextraktionen und bekannte Features</li>
<li>Vorlesung: Boosting</li>
</ol>
<p><a href="http://www.najavonschmude.de/wp-content/mustererkennung.pdf" title="Mustererkennungsmitschrift" target="_blank" class="lipdf">Download der Mustererkennungsmitschrift</a> (27 MB da Scan!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-mustererkennung/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-mustererkennung</feedburner:origLink></item>
		<item>
		<title>Materialien zu Prüfungsvorbereitungen</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/xCFKZpiUL04/materialien-zu-pruefungsvorbereitungen</link>
		<comments>http://www.najavonschmude.de/uni/materialien-zu-pruefungsvorbereitungen#comments</comments>
		<pubDate>Mon, 10 Aug 2009 17:57:31 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Datenbanksysteme]]></category>
		<category><![CDATA[Diplomprüfung]]></category>
		<category><![CDATA[Zusammenfassung]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=336</guid>
		<description><![CDATA[Letzten Montag hatte ich meine erste m&#252;ndliche Diplompr&#252;fung in Datenbanksysteme (Ged&#228;chnisprotokoll siehe Spline) und so peu à peu werden die n&#228;chsten folgen. In meiner Vorbereitung f&#252;r DBS ist dabei eine ziemlich lange stichpunktartige Zusammenfassung des ganzen Stoffs entstanden, die ich hier gerne der Allgemeinheit zu Verf&#252;gung stellen m&#246;chte. Auch wenn ich nur jedem raten kann, [...]]]></description>
			<content:encoded><![CDATA[<p>Letzten Montag hatte ich meine erste m&#252;ndliche Diplompr&#252;fung in Datenbanksysteme (Ged&#228;chnisprotokoll siehe <a href="http://diplom.gprot.spline.inf.fu-berlin.de/" title="Spline" target="_blank" class="liexternal">Spline</a>) und so peu à peu werden die n&#228;chsten folgen. In meiner Vorbereitung f&#252;r DBS ist dabei eine ziemlich lange stichpunktartige Zusammenfassung des ganzen Stoffs entstanden, die ich hier gerne der Allgemeinheit zu Verf&#252;gung stellen m&#246;chte. Auch wenn ich nur jedem raten kann, solche Zusammenfassungen selber anzufertigen, da man (oder zumindest ich) bei dieser Arbeit schon am meisten lernt.</p>
<ul>
<li><a href="http://www.najavonschmude.de/wp-content/dbs-zusammenfassung.pdf" title="DBS Zusammenfassung" target="_blank" class="lipdf">Stoffzusammenfassung</a> f&#252;r die Datenbanksystem-Pr&#252;fung in anwendungsorientierter Informatik</li>
<li><a href="http://www.najavonschmude.de/wp-content/telematik-zusammenfassung.pdf" title="Telematik-Zusammenfassung" target="_blank" class="lipdf">Zusammenfassung</a> f&#252;r die Telematik-Pr&#252;fung in technischer Informatik</li>
</ul>
<p>F&#252;r die weiteren Pr&#252;fungen (H&#246;here Algorithmik etc.) plane ich auch solche Zusammenfassungen und werde die Materialienliste also nach und nach erweitern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/materialien-zu-pruefungsvorbereitungen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/materialien-zu-pruefungsvorbereitungen</feedburner:origLink></item>
		<item>
		<title>Vorlesungsmitschrift zu Computer Vision</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/3dn-l9KkZOY/vorlesungsmitschrift-zu-computer-vision</link>
		<comments>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-computer-vision#comments</comments>
		<pubDate>Fri, 10 Jul 2009 18:16:03 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Mitschrift]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=319</guid>
		<description><![CDATA[Das Semester ist jetzt zwar fast vorbei, dennoch wollte ich es nicht vers&#228;umen, noch meine (handschriftliche) Mitschrift der Computer Vision Vorlesung im Sommersemester 2009 online zu stellen. Vorlesung: Farbsegmentierung Vorlesung: Farbtabellen mit KD-B&#228;umen Vorlesung: Radiale Verzerrung bzw. Entzerrung Vorlesung: Lokalisierung im Raum anhand 3 bzw. 4 Punkten Vorlesung: Fortsetzung zu Lokalisierung, diesmal mit EM-Algorithmus. Quaternionen [...]]]></description>
			<content:encoded><![CDATA[<p>Das Semester ist jetzt zwar fast vorbei, dennoch wollte ich es nicht vers&#228;umen, noch meine (handschriftliche) Mitschrift der <a href="http://www.inf.fu-berlin.de/lehre/SS09/CV/index.html" title="Computer Vision Vorlesung" target="_blank" class="liexternal">Computer Vision Vorlesung</a> im Sommersemester 2009 online zu stellen.</p>
<ol>
<li>Vorlesung: Farbsegmentierung</li>
<li>Vorlesung: Farbtabellen mit KD-B&#228;umen</li>
<li>Vorlesung: Radiale Verzerrung bzw. Entzerrung</li>
<li>Vorlesung: Lokalisierung im Raum anhand 3 bzw. 4 Punkten</li>
<li>Vorlesung: Fortsetzung zu Lokalisierung, diesmal mit EM-Algorithmus. Quaternionen angeschnitten.</li>
<li>Vorlesung: Fortsetzung zu Quaternionen, Rotation und homogene Koordinaten dazu.</li>
<li>Vorlesung: Stereo Vision und Tiefeninformation</li>
<li>Vorlesung: Optischer Fluss (Optical Flow)</li>
<li>Vorlesung: SIFT Features (nicht im Skirpt enthalten, da <a href="http://www.najavonschmude.de/wp-content/SIFT.pdf" title="Slides zu SIFT" target="_blank" class="lipdf">Slides</a>)</li>
<li>Vorlesung: Hough-Transformation und Harris-Corner-Detector</li>
</ol>
<p><a href="http://www.najavonschmude.de/wp-content/computer-vision.pdf" title="Computer Vision Mitschrift" target="_blank" class="lipdf">Download Computer Vision Mitschrift</a> (ca. 14MB, da Scan!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-computer-vision/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-computer-vision</feedburner:origLink></item>
		<item>
		<title>Bildergallerie mit Apache Wicket, Teil 2</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/3Pn63HA5E_o/bildergallerie-mit-apache-wicket-teil-2</link>
		<comments>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-2#comments</comments>
		<pubDate>Fri, 13 Mar 2009 15:36:42 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=159</guid>
		<description><![CDATA[Im vorherigen Teil haben wir uns mit der Verbindung zur Datenbank besch&#228;ftigt, jetzt wollen wir tats&#228;chlich uns die Gallerieansicht vornehmen und erste Seiten mit Wicket dann darstellen, so dass am Ende von diesem Tutorial-Teil die Gallerie wie folgt ausschaut. Einheitliches Layout Im Verlauf des Tutorials werden mehrere Seiten erstellt. Sch&#246;n w&#228;re es da, wenn man [...]]]></description>
			<content:encoded><![CDATA[<p>Im <a href="http://www.najavonschmude.de/bla/bildergallerie-mit-apache-wicket-teil-1" title="Bildergallerie mit Apache Wicket, Teil 1" target="_self" class="liinternal">vorherigen Teil</a> haben wir uns mit der Verbindung zur Datenbank besch&#228;ftigt, jetzt wollen wir tats&#228;chlich uns die Gallerieansicht vornehmen und erste Seiten mit Wicket dann darstellen, so dass am Ende von diesem Tutorial-Teil die Gallerie wie folgt ausschaut.<br />
<div id="attachment_245" class="wp-caption alignnone" style="width: 510px"><img src="http://www.najavonschmude.de/wp-content/ergebnis-gallery.jpg" alt="Zwischenergebnis Gallerie" title="Zwischenergebnis Gallerie" width="500" class="size-full wp-image-245" /><p class="wp-caption-text">Zwischenergebnis Gallerie</p></div></p>
<h4>Einheitliches Layout</h4>
<p>Im Verlauf des Tutorials werden mehrere Seiten erstellt. Sch&#246;n w&#228;re es da, wenn man ein einheitliches Layout einfach produzieren k&#246;nnte, so dass z.B. auch &#252;berall die selbe Navigation erscheint oder die selben CSS-Dateien eingebunden werden. In Wicket l&#228;uft dieser Prozess unter dem Namen &#8220;Markup Inheritance&#8221;.</p>
<p>Bei Wicket ist es so, dass zu jeder sichtbaren Seite eine Java-Klasse und eine HTML-Datei gleichen namens existieren m&#252;ssen, die auch im selben Verzeichnis liegen, bei mir im Package page. Zudem muss die Klasse von WebPage erben, das ist die Standardklasse f&#252;r Webseiten von Wicket.</p>
<p>Wir erstellen uns also zun&#228;chst eine abstrakte Layout-Klasse, die die Funktionalit&#228;t zu Verf&#252;gung stellt, welche alle anderen Klassen von ihr erben sollen. Zun&#228;chst wollen wir nur, dass jede Seite einen Titel bekommt und in der Fusszeile das aktuelle Datum erscheint.</p>
<pre><code>public abstract class Layout extends WebPage {
	private String title = "Layout title";
	private Date date;
	public Layout() {
		date = new Date();
		add(new Label("title", new PropertyModel(this, "title")));
		add(new Label("pageTitle", new PropertyModel(this, "title")));
		add(new Label("date", new PropertyModel(this, "date")));
	}

	public void setTitle(String t) {
		title = t;
	}

	public String getTitle() {
		return title;
	}</code></pre>
<p>Ein Label ist in Wicket einfach ein ganz normales Textobjekt, welches durch <code>add()</code> als sichtbar markiert wird und dann auch ein &#196;quivalent im HTML-Code besitzen muss. Generell ben&#246;tigt jede Komponente, die man zu einer Seite hinzuf&#252;gt, mindestens zwei Angaben. Erstens den Namen, &#252;ber den das Objekt im HTML-Code referenziert wird (hier z.B. &#8220;title&#8221; oder &#8220;date&#8221;) und ein Model, von welchem der Inhalt der Komponente stammt. &#220;ber die Angabe von <code>new PropertyModel(this, "title")</code> wird ein PropertyModel erstellt, welches in dem aktuellen Objekt (this) eine Objektvariable mit dem Namen &#8220;title&#8221; sucht uns dieses dort einbindet. Genauso geht das mit dem Datum.</p>
<p>Ich habe gesagt, dass zu jeder Klasse, die von WebPage erbt, eine gleich benannte HTML-Datei existieren muss. Diese gucken wir uns nun an und schauen, wie wir ganz simpel Objekte, die per oben beschriebener <code>add()</code> Methode hinzugef&#252;gt wurden, im HTML-Quellcode referenzieren und einbinden k&#246;nnen.</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
&lt;title wicket:id="pageTitle"&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="header"&gt;&lt;h1 wicket:id="title"&gt;title here&lt;/h1&gt;&lt;/div&gt;

&lt;!-- Begin main --&gt;
&lt;div id="main"&gt;
	&lt;wicket:child /&gt;
&lt;/div&gt;
&lt;!-- End main --&gt;

&lt;div id="footer"&gt;&lt;small wicket:id="date"&gt;date&lt;/small&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>Es ist zu erkennen, dass es sich bei der Layout.html um eine ganz normale HTML-Datei handelt. Das einzige bisschen mehr, was wir noch kennen m&#252;ssen, um Wicket an entsprechender Stelle Inhalte einf&#252;gen zu lassen, ist der Zusatz <code>wicket:id="{hier die entsprechende Bezeichnung}"</code>, die als Zusatz in jeden x-beliebigen HTML-Tag eingebaut werden kann. Es funktioniert so, dass man z.B. wie unten im Footer in den Small-Tag das aktuelle Datum rein generieren lassen m&#246;chte. So f&#252;gt man also <code>wicket:id="date"</code> hinzu. Dann wird automatisch beim Aufruf der Wert der <code>add()</code> Methode mit dem Bezeichner &#8220;date&#8221; hier eingebunden. Das date, was im HTML-Code schon zwischen dem Anfang- und Ende-Tag steht, dient nur als Platzhalter und zur besseren &#220;bersicht, er kann auch weggelassen werden.</p>
<p>So simpel ist das! Interessant zu erw&#228;hnen ist noch der neue Wicket-Tag <code>&lt;wicket:child /&gt;</code> mit dem dann an entsprechender Stelle generierter Code aus einer anderen Wicket-Klasse eingef&#252;gt wird. Wie es genau funktioniert, wird sp&#228;ter deutlich.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-2</feedburner:origLink></item>
		<item>
		<title>Vorlesungsmitschrift zu Höhere Algorithmik</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/W0lA11mH4TE/vorlesungsmitschrift-zu-hoehere-algorithmik</link>
		<comments>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-hoehere-algorithmik#comments</comments>
		<pubDate>Mon, 13 Oct 2008 15:59:46 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Höhere Algorithmik]]></category>
		<category><![CDATA[Mitschrift]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=175</guid>
		<description><![CDATA[Hier werde ich meine Mitschriften zur Vorlesung &#8220;H&#246;here Algorithmik&#8221; im Wintersemester 2008/2009 der Allgemeinheit zu Verf&#252;gung stellen. Vorlesung: Einf&#252;hrung in Algorithmen und Effizienz anhand von ein paar Sortieralgorithmen. Vorlesung: Fortsetzung von der vorhergehenden Stunde. Vorlesung: Wir haben mit Berechnungsmodellen angefangen, im speziellen mit Turinmaschinen und RAMs. Vorlesung: Weiter im Text mit Berechnungsmodellen und wie man [...]]]></description>
			<content:encoded><![CDATA[<p>Hier werde ich meine Mitschriften zur Vorlesung &#8220;<a href="http://www.inf.fu-berlin.de/lehre/WS08/HA/" title="H&#246;here Algorithmik" target="_blank" class="liexternal">H&#246;here Algorithmik</a>&#8221; im Wintersemester 2008/2009 der Allgemeinheit zu Verf&#252;gung stellen.</p>
<ol>
<li>Vorlesung: Einf&#252;hrung in Algorithmen und Effizienz anhand von ein paar Sortieralgorithmen.</li>
<li>Vorlesung: Fortsetzung von der vorhergehenden Stunde.</li>
<li>Vorlesung: Wir haben mit Berechnungsmodellen angefangen, im speziellen mit Turinmaschinen und RAMs.</li>
<li>Vorlesung: Weiter im Text mit Berechnungsmodellen und wie man sie vergleichen kann. Und noch ein paar Bemerkungen zum Suchen und Sortieren</li>
<li>Vorlesung: Nachdem wir uns zu Ende &#252;ber das Suchen und Sortieren Gedanken gemacht haben, haben wir mit dem Auswahlproblem angefangen.</li>
<li>Vorlesung: Wir haben uns ein deterministisches Auswahlverfahren angeguckt und dann mit Bin&#228;rsuche und als Verbesserung dazu die Interpolationssuche angeschaut.</li>
<li>Vorlesung: Wir haben die Suchverfahren mit der Quadratischen Bin&#228;rsuche abgeschlossen.</li>
<li>Vorlesung: Das neue Kaptiel hei&#223;t Datenstrukturen. Wir widmen uns dem W&#246;rterbuchproblem und gucken uns sortierte Arrays, Hashing, bin&#228;re Suchb&#228;ume, AVL-B&#228;ume und BB[α]-B&#246;ume an.</li>
<li>Vorlesung: Weiter mit dem W&#246;rterbuchproblem und (a,b)-B&#228;umen, Rot-Schwarz-B&#228;umen und schlussendlich Tries. Optimale bin&#228;re Suchb&#228;ume wurden angerissen, damit geht es n&#228;chstes mal weiter.</li>
<li>Vorlesung: Es ging weiter mit den optimalen Suchb&#228;umen. Wir haben zum Aufbau von solchen B&#228;umen einen Algorithmus kennengelernt.</li>
<li>Vorlesung: Abschlie&#223;end zu optimalen Suchb&#228;umen haben wir den Algorithmus analysiert und gesehen, wie man ihn optimieren kann. Dann haben wir mit dem Vereinige-Finde-Problem (oder auch Union-Find) angefangen.</li>
<li>Vorlesung: Wir haben Union-Find analysiert und per Pfadkompression weiter verbessert.</li>
<li>Vorlesung. Es wurde mit Graphen angefangen. Nach vielen Definitionen ging es auch kurz um Travsersierungen und topologisches Sortieren. <em>Danke an Gero, der mir seine Tafelbilder zu Verf&#252;gung gestellt hat.</em></li>
<li>Vorlesung: Wir haben angeguckt, wie man mit dem Algorithmus von Kruskal minimal spannende B&#228;ume baut und wie Dijkstra k&#252;rzeste Wege findet.</li>
<li>Vorlesung: Wir haben uns mit dem Floyd-Warshall-Algorithmus besch&#228;ftigt, der das All-Pairs-Shortest-Path-Problem l&#246;st.</li>
<li>Vorlesung: Nach den Wegproblemen folgen nun die Fl&#252;sse in Netzen. Wir haben den Ford-Fulkerson-Algorithmus kennen gelernt, der den maximalen Fluss berechnet.</li>
<li>Vorlesung: Weiter mit Ford-Fulkerson.</li>
<li>Vorlesung: Zuende mit Ford-Fulkerson und dann gleich noch Edmonds-Karp hinterher, der ein wenig anders als Ford-Fulkerson funktioniert.</li>
<li>Vorlesung: Als letztes zum Thema Graphen haben wir uns das bipartite Matching angeschaut. Das neue Kapitel ist nun String Matching.</li>
<li>Vorlesung: String Matching haben wir fortgef&#252;hrt und und den Algorithmus von Knuth-Morris-Pratt weiter angeschaut. Und dann dazu auch noch Suffixb&#228;ume.</li>
<li>Vorlesung: Wir haben das Kapitel String Matching abgeschlossen und mit NP-Volls&#228;ndigkeit angefangen.</li>
<li>Vorlesung: Wir haben uns die Klassen P und NP angeschaut und definiert, was polynomzeit Reduktion ist.</li>
<li>Vorlesung: Wir haben definiert, was NP-schwer und NP vollst&#228;ndig bedeutet und gezeigt, dass CSAT (Schaltkreiserf&#252;llbarkeit) ein NP vollst&#228;ndiges Problem ist.</li>
<li>Vorlesung: Wir haben uns weitere NP vollst&#228;ndige Probleme angeschaut. Es kam SAT &#8230;</li>
<li>Vorlesung: &#8230; 3-SAT, CLIQUE &#8230;</li>
<li>Vorlesung: &#8230; UK (Unabh&#228;ngige Knotenmenge), &#220;K  (&#252;berdeckende Knotenmenge), SUBSET-SUM und GHK (gerichteter Hamiltonscher Kreis).</li>
<li>Vorlesung:  Wir haben uns andere Komplexit&#228;tsklassen angeschaut. Darunter waren Co-NP, PSPACE und EXPTIME.</li>
<li>Vorlesung: Approximationsalgorithmen hei&#223;t das neue Kapitel. wir widmen uns zun&#228;chst Delta-TSP mit der Baumheuristik.</li>
<li>Vorlesung: Wir lernen die Christofides-Heuristik f&#252;r Delta-TSP kennen und zeigen, warum das normale TSP nicht approximierbar ist.</li>
<li>Vorlesung: Wir lernen einen PTAS (polynomial time approx scheme) f&#252;r SUBSET-SUM kennen.</li>
</ol>
<p><em>Anmerkung: <span style="text-decoration: line-through;">Die letzten drei Vorlesungen sind noch nicht &#252;berarbeitet! Aber da sicherlich einige schon jetzt reinschauen wollen um f&#252;r die Klausur zu lernen, stelle ich es schon online. Ich versuche aber noch vor Freitag meine Notizen durchzugehen und zu &#252;berarbeiten.</span> Ich w&#252;nsche schonmal allen viel Erfolg beim Lernen und vor allem bei der Klausur!</em></p>
<p><em>Edit (12.02.09, 15.00): Nun sind auch die letzten drei Vorlesungen &#252;berarbeitet!<br />
</em></p>
<p><a href="http://www.najavonschmude.de/wp-content/hoehere-algorithmik.pdf" title="H&#246;here Algorithmik Mitschrift" target="_blank" class="lipdf">Download H&#246;here Algorithmik Mitschrift</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-hoehere-algorithmik/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-hoehere-algorithmik</feedburner:origLink></item>
		<item>
		<title>Bildergallerie mit Apache Wicket, Teil 1</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/K169X4IJLLY/bildergallerie-mit-apache-wicket-teil-1</link>
		<comments>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-1#comments</comments>
		<pubDate>Tue, 07 Oct 2008 17:49:37 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wicket]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=138</guid>
		<description><![CDATA[Ausgehend vom Softwarepraktikum, wo wir das Webframework Click benutzt haben, habe ich mich mehr mit J2EE besch&#228;ftigt und unter anderem noch mit Tapestry rumgespielt, bis ich dann jetzt bei dem Framework Wicket von Apache h&#228;ngen geblieben bin. An Wicket mag ich besonders, dass wie bei Click HTML-Code und Java-Quellcode komplett getrennt sind, und es nur [...]]]></description>
			<content:encoded><![CDATA[<p>Ausgehend vom <a href="http://www.najavonschmude.de/uni/software-praktikum" title="Softwarepraktikum" class="liexternal">Softwarepraktikum</a>, wo wir das Webframework <a href="http://click.sourceforge.net/" title="Click" target="_blank" class="liexternal">Click</a> benutzt haben, habe ich mich mehr mit J2EE besch&#228;ftigt und unter anderem noch mit <a href="http://tapestry.apache.org/" title="Tapestry" target="_blank" class="liexternal">Tapestry</a> rumgespielt, bis ich dann jetzt bei dem Framework <a href="http://wicket.apache.org/" title="Wicket" target="_blank" class="liexternal">Wicket</a> von Apache h&#228;ngen geblieben bin.</p>
<p>An Wicket mag ich besonders, dass wie bei Click HTML-Code und Java-Quellcode komplett getrennt sind, und es nur eine Handvoll HTML-Befehle gibt, die man braucht um Wicket-Klassen anzusprechen. Im Gegensatz zu Click ist Wicket aber wesentlich besser zu konfigurieren und stellt mehr Funktionalit&#228;t zu Verf&#252;gung. Genauso wie bei Click gibt es zudem Online-Beispiele, bei denen man schon mal einige simple Anwendungen direkt am Quellcode nachvollziehen kann.</p>
<p>Meine erste Anwendung besteht aus einer Bildergallerie, die die Bilder in einer (Postgres)-Datenbank speichert. Es gibt nat&#252;rlich auch eine Upload-Funktion zum einfachen Einf&#252;gen neuer Bilder. Im Folgenden will ich also einen kurzen &#220;berblick &#252;ber die (recht simple) Gallerie bieten und daran ein wenig zeigen, wie Wicket funktioniert.</p>
<p>Jetzt noch kurz was zur Vorbereitung, ehe es dann richtig los geht.</p>
<h4>Vorbereitungen</h4>
<p>Ich benutze <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR1/eclipse-jee-ganymede-SR1-macosx-carbon.tar.gz" title="Eclipse mit JEE" target="_blank" class="lizip">Eclipse 3.4</a> mit integrierten JEE Tools. Dort habe ich mir ein neues dynamisches Web Projekt namens &#8220;ImageGallery&#8221; angelegt mit Tomcat 5.5 als Umgebung. Im erzeugten Ordner <code>WebContent/WEB-INF/lib</code> f&#252;gt man dann noch neben den ganzen Wicket 1.3.4 Bibliotheken die <a href="http://commons.apache.org/dbcp/" title="DBCP" target="_blank" class="liexternal">commons-dbcp.jar</a> und <a href="http://commons.apache.org/pool/" title="Pool" target="_blank" class="liexternal">commons-pool.jar</a> f&#252;r das Connection Pooling und die <a href="http://jdbc.postgresql.org/" title="Postgres JDBC" target="_blank" class="liexternal">Postgres-Treiber</a> (oder Treiber f&#252;r eine andere Datenbank) ein.</p>
<h4>Image-Objekt und Datenbank</h4>
<p>Dann kann man soweit loslegen und die Datenbank anlegen, in der die Bilder und deren Metainformationen gespeichert werden sollen. Da es sich um eine ganz einfache Anwendung handelt, wird nur eine eindeutige ID, die Bilddatei mit Mime-Typ, Gr&#246;&#223;e und Namen, der Name des Uploaders und der Zeitstempel des Uploads gespeichert.</p>
<pre><code>CREATE TABLE images
(
  id serial NOT NULL,
  file bytea NOT NULL,
  mime_type character varying(20) NOT NULL,
  uploader character varying(50),
  date timestamp with time zone NOT NULL,
  name character varying(50),
  size integer NOT NULL,
  CONSTRAINT images_pkey PRIMARY KEY (id)
)</code></pre>
<p>Um in Java nun so ein Bild abbilden zu k&#246;nnen, baue ich mir ein Objekt Image zusammen, welches alle Spalten der Datenbank als Felder enth&#228;lt. In Wicket werden solche Klassen auch als <em>Model</em> bezeichnet, daher wird die Klasse auch bei mir im Java-Package model abgelegt. Zudem implementiert sie das Interface IModel, da hierdurch die Anwendung ganz einfach mit den Objekten umgehen kann.</p>
<pre><code>public class Image implements IModel {
	private static final long serialVersionUID = 6292744495006923192L;
	private Image image; // das Objekt selber!
	private int id;
	private String name;
	private byte[] file;
	private long size;
	private String mime;
	private String uploader;
	private Timestamp date;

	public Object getObject() {
		return image;
	}

	public void setObject(Object image) {
		this.image = (Image) image;
	}

	public void detach() {
	}
}</code></pre>
<p>Nat&#252;rlich hat jede Variable noch entsprechende Getter-und Settermethoden, die aus Platzgr&#252;nden einfach mal weggelassen werden. Die drei Methoden <code>detach()</code>, <code>getObject()</code> und <code>setObject()</code> stammen &#252;brigens aus dem implementierten Interface. Durch diese Methoden wird es m&#246;glich ganz einfach dann die Wicket-internen Mechanismen zu benutzen, um sp&#228;ter die Tabelle f&#252;r die Gallerieansicht zu f&#252;llen.</p>
<p>Jetzt k&#252;mmern wir uns um die Verbindung zur Datenbank und das reibungslose &#220;bertragen von Bildern in die Datenbank und von der Datenbank in unsere Applikation.<br />
Als erstes muss nat&#252;rlich eine Verbindung zu der Datenbank hergestellt werden, auf der dann die ganzen SQL-Befehle abgesetzt werden. Damit das ganze auch gut konfigurierbar ist und mit beliebigen Datenbanken funktioniert, verwende ich eine Properties-Datei <code>gallery.properties</code>, die bei mir im Package <code>config</code> liegt. Eine minimale Properties-Datei k&#246;nnte z.B. so aussehen:</p>
<pre><code>#Einstellungen f&#252;r die DB
url=jdbc:postgresql://localhost:5432/imagegallery
username=postgres
password=
driverClassName=org.postgresql.Driver</code></pre>
<p>Jetzt kann in der Klasse, welche die Verbindung managen wird, einfach die Properties-Datei eingelesen werden und auf den Parameter gearbeitet. Die Klasse hei&#223;t bei mir ConnectionPooling und liegt im Package service. Ich habe ganz frech einfach mal die Version &#252;bernommen, die ich mit meiner Gruppe f&#252;r das Datenbankprojekt verwendet habe.</p>
<pre><code>public class ConnectionPooling {
	private static ConnectionPooling cp=null;
	private DataSource dataSource;
	private Properties dbProp;
	private PoolableConnectionFactory pcf;
	private GenericObjectPool gPool;

	//der Konstruktor ist private, weil wir ein Singleton nehmen.
	private ConnectionPooling() {
		dbProp = new Properties();
		try {
			ClassLoader loader = this.getClass().getClassLoader();
			InputStream stream = loader.getResourceAsStream("config/gallery.properties");
			//Properties einlesen
			dbProp.load(stream);
			dataSource = BasicDataSourceFactory.createDataSource(dbProp);
			//Pooling machen
			gPool = new GenericObjectPool();
			pcf = new PoolableConnectionFactory(new DataSourceConnectionFactory(dataSource),gPool,null,null,false,false);
			//ein Paar Verbindungen vorbereiten
			for (int i=0 ; i &amp;lt; 5 ; i++) {
				   gPool.addObject();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Wir benutzen ein Singleton-Pattern f&#252;r den ConnectionPool
	 * @return Einen ConnectionPool. Immer den selben.
	 */
	public static synchronized ConnectionPooling getInstance() {
			if (cp==null) {
				cp=new ConnectionPooling();
			}
			return cp;
	}

	/**
	 * @return Eine neue Verbindung aus dem Pool
	 */
	public Connection getConnection(){
		Connection conn = null;
		try {
			conn = (Connection) gPool.borrowObject();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}</code></pre>
<p>Wir haben hier ein Singleton-Pattern, damit nur eine Instanz erzeugt wird, mehr brauchen wir ja auch nicht. Da wir das Apache Commons Pooling benutzen, reicht es aus einfach nur die Properties-Datei einzulesen und dann dem DataSource-Objekt zu &#252;bergeben, das einrichten erledigt dann die BasicDataSourceFactory f&#252;r uns. Mit der PoolableConnectionFactory bauen wir dann die poolbare Verbindung auf, die auf die DataSource, die durch die Properties konfiguriert ist, zugreift und im GenericObjectPool gPool die entsprechenden zu poolenden Objekte findet.<br />
Mit dem Aufruf von <code>ConnectionPooling.getInstance().getConnection()</code> wird dann immer eine vorbereitete Verbindung aus dem Pool zur&#252;ckgeliefert.</p>
<p>Den Datenzugriff erledigt dann aber die ImageDAO-Klasse (DAO f&#252;r Data Access Object). Hier zeige ich nur kurz das implementierte Interface, da es sich nur um einfache <code>INSERT</code> und <code>SELECT</code> Befehle handelt und es hier einfach zu lang w&#252;rde.</p>
<pre><code>public interface ImageDAO {

	/**
	 * Erstellt eine Liste aller Images in der Datenbank
	 * @return Liste der Bilder.
	 */
	public List&lt;img alt="" /&gt; listImages();

	/**
	 * Erstellt eine Liste aller Images sortiert nach orderBy
	 * @param orderBy Befehl in SQL-Syntax, wie "id asc", "name desc" ...
	 * @return sortierte Liste
	 */
	public List&lt;img alt="" /&gt; listImagesOrdered(String orderBy);

	/**
	 * F&#252;gt ein neues Bild der Datenbank hinzu
	 * @param img einzuf&#252;gendes Bild.
	 * @return true, wenn alles glatt geht, false bei einem Fehler
	 */
	public boolean addImage(Image img);

	/**
	 * Holt das entsprechende Image aus der Datenbank
	 * @param id
	 * @return Image-Objekt
	 */
	public Image getImage(int id);

	/**
	 * L&#246;scht das Bild mit der entsprechenden ID
	 * @param id
	 * @return true, falls erfolgreich, false sonst
	 */
	public boolean deleteImage(int id);

	/**
	 * Das bereits ge&#228;nderte Image-Objekt soll in der Datenbank aktualisiert werden.
	 * @param img das ge&#228;nderte Objekt
	 * @return true, falls erfolgreich, false sonst
	 */
	public boolean editImage(Image img);
}</code></pre>
<p>So, dass war&#8217;s f&#252;rs erste. Wir k&#246;nnen nun schon die Datenbankverbindung herstellen und theoretisch mittels der ImageDAO auch einf&#252;gen, sortieren, editieren. Wie dann die Wicket-Applikation aufgebaut wird, sehen wir im n&#228;chsten Teil, der hoffentlich schnell folgt.</p>
<p>Das bisherige Eclipse-Projekt mit allen Klassen und Bibliotheken kann <a href="http://www.najavonschmude.de/wp-content/imagegallerytut1.zip" title="Tutorial Teil 1" target="_blank" class="lizip">hier</a> heruntergeladen werden.</p>
<p><strong>Forsetzung:</strong><br />
<a href="http://www.najavonschmude.de/bla/bildergallerie-mit-apache-wicket-teil-2" class="liexternal">Bildergallerie mit Apache Wicket, Teil 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/programmieren/bildergallerie-mit-apache-wicket-teil-1</feedburner:origLink></item>
		<item>
		<title>Alle Mitschriften und Übungszettel-Lösungen</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/zMmN_C1MDx4/alle-mitschriften-und-uebungszettel-loesungen</link>
		<comments>http://www.najavonschmude.de/uni/alle-mitschriften-und-uebungszettel-loesungen#comments</comments>
		<pubDate>Wed, 23 Apr 2008 18:56:28 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Lösungen]]></category>
		<category><![CDATA[Mitschrift]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=133</guid>
		<description><![CDATA[Da ich &#246;fters nach Mitschriften aus vergangenen Semestern gefragt wurde, ist hier eine Auflistung meiner besuchten Veranstaltungen mit meinem Mitschriften (falls vorhanden) und &#220;bungszettel-L&#246;sungen. Teilweise sind dort auch die Musterl&#246;sungen zu finden und die Aufgabenbl&#228;tter. Aus dem WS 09/10 &#220;bersetzerbau (Mitschrift / &#220;bungen) Theoretische Physik f&#252;r Lehramtskandidaten I (&#220;bungen) Aus dem SoSe 09 Computer Vision [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich &#246;fters nach Mitschriften aus vergangenen Semestern gefragt wurde, ist hier eine Auflistung meiner besuchten Veranstaltungen mit meinem Mitschriften (falls vorhanden) und &#220;bungszettel-L&#246;sungen. Teilweise sind dort auch die Musterl&#246;sungen zu finden und die Aufgabenbl&#228;tter.</p>
<p><strong>Aus dem WS 09/10</strong></p>
<ul>
<li>&#220;bersetzerbau (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-uebersetzerbau" title="Mitschrift" target="_self" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/uebersetzerbau-zettel.zip" title="&#220;bersetzerbau Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Theoretische Physik f&#252;r Lehramtskandidaten I (<a href="http://www.najavonschmude.de/wp-content/theo-physik1-zettel.zip" title="Theoretische Physik f&#252;r Lehramtskandidaten 1 Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
<p><strong>Aus dem SoSe 09</strong></p>
<ul>
<li>Computer Vision (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-computer-vision" title="Computer Vision Mitschrift" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/cv-zettel.zip" title="Computer Vision Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Mobile Communications</li>
<li>K&#252;nstliche Intelligenz (<a href="http://www.najavonschmude.de/wp-content/ki-zettel.zip" title="K&#252;nstliche Intelligenz Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
<p><strong>Aus dem WS 08/09</strong></p>
<ul>
<li>ALP V (<a href="http://www.najavonschmude.de/wp-content/alp5-zettel.zip" title="ALP V Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Telematik</li>
<li>H&#246;here Algorithmik (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-hoehere-algorithmik" title="H&#246;here Algorithmik Mitschrift" target="_self" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/ha-zettel.zip" title="H&#246;here Algorithmik Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Mustererkennung (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-mustererkennung" title="Mustererkennungsmitschrift" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/mustererkennung-zettel.zip" title="Mustererkennung Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
<p><strong>Aus dem SoSe 08</strong></p>
<ul>
<li>ALP IV (<a href="http://www.najavonschmude.de/wp-content/alp4-zettel.zip" title="ALP IV Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>TI IV (<a href="http://www.najavonschmude.de/wp-content/ti4-protokolle.zip" title="TI IV Protokolle" target="_blank" class="lizip">Protokolle</a>)</li>
<li>Datenbanksysteme (<a href="http://www.najavonschmude.de/wp-content/dbs-zettel.zip" title="Datenbanksysteme Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Softwaretechnik (<a href="http://www.najavonschmude.de/wp-content/swt-zettel.zip" title="Softwaretechnik Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Physik-Praktikum</li>
</ul>
<p><strong>Aus dem WS 07/08</strong></p>
<ul>
<li>MAFI III (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-zu-mafi-3" title="MAFI 3 Mitschrift" target="_self" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/mafi3-zettel.zip" title="MAFI III Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>ALP III (<a href="http://www.najavonschmude.de/uni/vorlesungsmitschrift-alp-3" title="ALP 3 Mitschrift" target="_self" class="liexternal">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/alp3-zettel.zip" title="ALP III Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>TI III (<a href="http://www.najavonschmude.de/wp-content/ti3-zettel.zip" title="TI III Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>Physik f&#252;r Nebenf&#228;chler (<a href="http://www.najavonschmude.de/wp-content/physik-vorlesung.pdf" title="Physik Mitschrift" target="_blank" class="lipdf">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/physik-zettel.zip" title="Physik Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
<p><strong>Aus dem SoSe 07</strong></p>
<ul>
<li>MAFI II (<a href="http://www.najavonschmude.de/wp-content/mafi-ii-vorlesung.pdf" title="MAFI II Mitschrift" target="_blank" class="lipdf">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/mafi2-zettel.zip" title="MAFI II Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>ALP II (<a href="http://www.najavonschmude.de/wp-content/alp-ii-vorlesung.pdf" title="ALP II Mitschrift" target="_blank" class="lipdf">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/alp2-zettel.zip" title="ALP II Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>TI II (<a href="http://www.najavonschmude.de/wp-content/ti2-zettel.zip" title="TI II Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>GTI (<a href="http://www.najavonschmude.de/wp-content/gti-vorlesung.pdf" title="GTI Mitschrift" target="_blank" class="lipdf">Mitschrift</a> / <a href="http://www.najavonschmude.de/wp-content/gti-zettel.zip" title="GTI Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
<p><strong>Aus dem WS 06/07</strong></p>
<ul>
<li>MAFI I (Mitschrift (unvollst&#228;ndig) / <a href="http://www.najavonschmude.de/wp-content/mafi1-zettel.zip" title="MAFI I Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>ALP I (Mitschrift (unvollst&#228;ndig) / <a href="http://www.najavonschmude.de/wp-content/alp1-zettel.zip" title="ALP I Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
<li>TI I (<a href="http://www.najavonschmude.de/wp-content/ti1-zettel.zip" title="TI I Zettel" target="_blank" class="lizip">&#220;bungen</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/alle-mitschriften-und-uebungszettel-loesungen/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/alle-mitschriften-und-uebungszettel-loesungen</feedburner:origLink></item>
		<item>
		<title>Software-Praktikum</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/8sZgFVasH70/software-praktikum</link>
		<comments>http://www.najavonschmude.de/uni/software-praktikum#comments</comments>
		<pubDate>Tue, 15 Apr 2008 16:14:37 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Reversi]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/?p=132</guid>
		<description><![CDATA[In den Semesterferien habe ich, wie f&#252;r die Diplom-Studenten des dritten Semesters vorgesehen, das Softwarepraktikum besucht. In drei Wochen sollte dort in Gruppen von eigentlich 10 Leuten (letztendlich hatte keine Gruppe mehr als 8/9 Leute) eine Webapplikation des Spiels Reversi programmiert werden. Dabei sollte das, wie von vielen zun&#228;chst f&#228;lschlich angenommen, kein Applet werden, sondern [...]]]></description>
			<content:encoded><![CDATA[<p>In den Semesterferien habe ich, wie f&#252;r die Diplom-Studenten des dritten Semesters vorgesehen, das <a href="http://http//www.inf.fu-berlin.de/lehre/WS07/DBS-SW-Praktikum/index.html" title="Softwarepraktikum" target="_blank" class="liexternal">Softwarepraktikum</a> besucht. In drei Wochen sollte dort in Gruppen von eigentlich 10 Leuten (letztendlich hatte keine Gruppe mehr als 8/9 Leute) eine Webapplikation des Spiels Reversi programmiert werden.<br />
Dabei sollte das, wie von vielen zun&#228;chst f&#228;lschlich angenommen, kein Applet werden, sondern eine durch Java generierte dynamische Webseite, die mit Hilfe eines Frameworks erstellt werden sollte.</p>
<p>Zus&#228;tzlich sollte das Spiel eine Netzwerkschnittstelle enthalten, mit der es m&#246;glich sein sollte, sich zu anderen Reversi-Spielen zu verbinden bzw. selber einen Spielserver zu Verf&#252;gung zu stellen. Dazu wurde uns ein Netzwerkprotokoll an die Hand gegeben, welches wir umsetzten mussten. Dies war &#252;brigens auch mit mein Part, zus&#228;tzlich durfte ich noch (mehr schlecht als recht ;-) ) das Projekt managen.</p>
<p>Nat&#252;rlich sollte man nicht nur Mensch gegen Mensch spielen k&#246;nnen, sondern auch gegen einen Computergegner antreten, weswegen ein solcher nat&#252;rlich auch integriert werden musste. Das war auch der komplexeste Aufgabenbereich des Projekts und bietet bei meiner Gruppe noch viele Verbesserungsm&#246;glichkeiten.</p>
<p>Meine Gruppe (7) hat zum Schluss auch eine gut spielbare Version abgeliefert. <span style="text-decoration: line-through;">Das Projekt und unser Ergebnis ist &#252;brigens unter SplineForge  als Projekt &#8220;Reversi&#8221; gehostet</span>. (Update: SplineForge war gestern. Heute hei&#223;t es dev.spline.de und dahin wurde das Projekt allerdings nicht migriert.) Wer Interesse hat kann sich an mich wenden &#8211; f&#252;r Fragen bin ich auch offen &#8230;</p>
<p>Ich muss sagen, mir hat das sehr viel Spa&#223; gemacht, war zwar extrem viel Arbeit, aber ein gr&#246;&#223;eres Projekt umzusetzen, bei dem man ein Ziel vor Augen hat, ist doch wesentlich motivierender als die sonstigen Programmieraufgaben, die es in ALP 1-3 zu erledigen galt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/software-praktikum/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/software-praktikum</feedburner:origLink></item>
		<item>
		<title>Übungszettel-Lösungen</title>
		<link>http://feedproxy.google.com/~r/NajasBlog/~3/wZGuEH4LXhk/uebungszettel-loesungen</link>
		<comments>http://www.najavonschmude.de/uni/uebungszettel-loesungen#comments</comments>
		<pubDate>Wed, 23 Jan 2008 22:58:35 +0000</pubDate>
		<dc:creator>Naja</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[ALP]]></category>
		<category><![CDATA[Lösungen]]></category>
		<category><![CDATA[MAFI]]></category>

		<guid isPermaLink="false">http://najavonschmude.de/uni/uebungszellel-loesungen</guid>
		<description><![CDATA[Auf mehrfachen Wunsch kommen hier meine L&#246;sungen der ALP III und Mafi III &#220;bungen, zu TI III gibt es im Netz ja bereits vollst&#228;ndige. Aber kein Gew&#228;hr, dass meine richtig sind, sie sind so wie abgegeben ;-) Hab aber insgesamt gut 80-90% der Punkte, da wird also der Gro&#223;teil stimmig sein &#8230; MAFI III-L&#246;sungen (Zettel [...]]]></description>
			<content:encoded><![CDATA[<p>Auf mehrfachen Wunsch kommen hier meine L&#246;sungen der ALP III und Mafi III &#220;bungen, zu TI III gibt es im <a href="http://cst.mi.fu-berlin.de/teaching/WS0708/19513-V-TI-III/index.html" title="TI L&#246;sungen" target="_blank" class="liexternal">Netz</a> ja bereits vollst&#228;ndige.</p>
<p>Aber kein Gew&#228;hr, dass meine richtig sind, sie sind so wie abgegeben ;-) Hab aber insgesamt gut 80-90% der Punkte, da wird also der Gro&#223;teil stimmig sein &#8230;</p>
<p><a href="http://www.najavonschmude.de/wp-content/mafi3-zettel.zip" title="MAFI III Zettel" class="lizip">MAFI III-L&#246;sungen</a> (Zettel 1-13, ohne 9)<br />
<a href="http://www.najavonschmude.de/wp-content/alp3-zettel.zip" title="ALP III Zettel" class="lizip">ALP III-L&#246;sungen</a> (Zettel 1-12)</p>
<p>Ach, ist jemand eigentlich auch an Physik Ergebnissen interessiert? Die Klausur ist jetzt zwar vorbei, aber trotzdem. Fragen kostet ja n&#252;schts &#8230;</p>
<p>(warum informiert mich niemand, dass ich &#220;bungsze<strong>ll</strong>el geschrieben habe?)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.najavonschmude.de/uni/uebungszettel-loesungen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.najavonschmude.de/uni/uebungszettel-loesungen</feedburner:origLink></item>
	</channel>
</rss>
