<?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>0x101010.com</title>
	<atom:link href="http://www.0x101010.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.0x101010.com</link>
	<description>Websicherheit, Flash &#38; Actionscript</description>
	<lastBuildDate>Wed, 12 May 2010 08:39:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Parsley &#8211; #4 &#8211; Messaging</title>
		<link>http://www.0x101010.com/?p=55</link>
		<comments>http://www.0x101010.com/?p=55#comments</comments>
		<pubDate>Tue, 11 May 2010 19:30:54 +0000</pubDate>
		<dc:creator>Seb</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[parsley]]></category>

		<guid isPermaLink="false">http://www.0x101010.com/?p=55</guid>
		<description><![CDATA[Parsley Tutorial Nummer 4: Messaging ist meiner Meinung nach eines der nützlichsten Features von parsley. Das Framework stellt die Möglichkeit bereit, global und vollständig voneinander entkoppelt Nachrichten zu versenden. Entwickelt Person A beispielsweise die Hauptnavigation, müssen von dort aus nur Nachrichten versendet werden, welcher Inhalt auf der Seite angezeigt werden soll. Person B entwickelt den [...]]]></description>
			<content:encoded><![CDATA[<p>Parsley Tutorial Nummer 4: Messaging ist meiner Meinung nach eines der nützlichsten Features von parsley. Das Framework stellt die Möglichkeit bereit, global und vollständig voneinander entkoppelt Nachrichten zu versenden. Entwickelt Person A beispielsweise die Hauptnavigation, müssen von dort aus nur Nachrichten versendet werden, welcher Inhalt auf der Seite angezeigt werden soll. Person B entwickelt den ContentContainer und weiß, dass irgendwann die Nachricht &#8220;HOME&#8221; kommt. Trifft diese Nachricht ein, muss der aktuelle Inhalt ausgeblendet und der Inhalt mit dem Namen &#8220;HOME&#8221; angezeigt werden.</p>
<p>Für Person A ist es also vollkommen egal, was mit dieser Nachricht gemacht wird und Person B kann total egal sein, wo die Nachricht herkommt. Wichtig ist nur eins: Die Nachricht exisitiert und die Anwendung muss darauf reagieren.</p>
<p><strong>Schritt 1: Versenden von Nachrichten:</strong><br />
Damit ein Objekt Nachrichten versenden kann, muss dem Framework mitgeteilt werden, welche Nachrichten innerhalb der Klasse für die Außenwelt bestimmt sind. Dazu definiert man einfach in einem Metatag die entsprechenden Konstanten.</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package &nbsp;<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;<br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">EventDispatcher</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span>ManagedEvents<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;switchLocale&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ClassA <span style="color: #0066CC;">extends</span> EventDispatcher <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ClassA<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//...</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> dispatcher<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dispatchEvent<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Event<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;switchLocale&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Jetzt leitet parsley alle Events über das MessagingFramework, die in der Klasse dispatcht werden und mit der String-Konstante übereinstimmen. Werden Events dispatcht, die nicht in der Deklaration erwähnt sich, werden sie wie normale Flash-Events behandelt und nicht weiter beachtet. In obigen Beispiel leitet das Framework also das Event &#8220;blubb&#8221; global weiter, das Event &#8220;bla&#8221; wird aber nicht weiter beachtet.</p>
<p>Der Lesbarkeit halber sind hier in den Beispielen Strings als Event-Types benutzt. In eigentlichen Anwendungen machen Konstanten vom Typ XYZEvent.HOME natürlich mehr Sinn.</p>
<p><strong>Schritt 2: Empfang von Nachrichten:</strong><br />
Wieder ist zu beachten, dass das Objekt zum Context hinzugefügt wurde &#8211; denn ohne Context, keine Verbindungen.</p>
<p>Damit das Event verarbeitet werden kann, muss es vom gleichen Typ sein, der auch in der Funktion angegeben ist. Wird über das Framework ein LoginEvent verschickt und der Handler verarbeitet nur PageEvents, wird die Message ignoriert und nicht an die Funktion übergeben. So wird Typensicherheit sichergestellt.</p>
<p>Beispiel:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package &nbsp;<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ClassB <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ClassB<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//...</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span>MessageHandler<span style="color: #66cc66;">&#40;</span>selector=<span style="color: #ff0000;">&quot;switchLocale&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> dispatcher<span style="color: #66cc66;">&#40;</span>event : Event<span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">//...</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Kein Anmelden, einfach ausführen, was gibt es schöneres?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0x101010.com/?feed=rss2&amp;p=55</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Parsley &#8211; #3 &#8211; Dependency Injection</title>
		<link>http://www.0x101010.com/?p=54</link>
		<comments>http://www.0x101010.com/?p=54#comments</comments>
		<pubDate>Tue, 11 May 2010 19:00:47 +0000</pubDate>
		<dc:creator>Seb</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[dependency injection]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[parsley]]></category>

		<guid isPermaLink="false">http://www.0x101010.com/?p=54</guid>
		<description><![CDATA[Ein weiteres Feature von parsley ist Dependency Injection. Das klingt erstmal komplizierter, als es eigentlich ist. Hier zum Verständnis ein einfaches parsley Tutorial dazu &#8211; eigentlich bloß ein selbsterklärender Codeschnipsel.
Hier ein einfaches Beispiel:
Ohne parsley:

package
&#123;
&#160; public class OhneParsley
&#160; &#123;
&#160; &#160; public var _model : Model;

&#160; &#160; public function OhneParsley&#40;&#41;
&#160; &#160; &#123;
&#160; &#160; &#160; _model = Model.getInstance&#40;&#41;;
&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Ein weiteres Feature von parsley ist Dependency Injection. Das klingt erstmal komplizierter, als es eigentlich ist. Hier zum Verständnis ein einfaches parsley Tutorial dazu &#8211; eigentlich bloß ein selbsterklärender Codeschnipsel.</p>
<p>Hier ein einfaches Beispiel:</p>
<p>Ohne parsley:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> OhneParsley<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> _model : Model;<br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> OhneParsley<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; _model = Model.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Mit parsley (muss natürlich wieder dem <a title="ActionScriptContextBuilder" href="http://www.0x101010.com/?p=40" target="_self">Context</a> hinzugefügt sein):</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MitParsley<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#91;</span>Inject<span style="color: #66cc66;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> _model : Model;<br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> MitParsley<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Spart Zeit, Nerven und verschlankt den Code. Außerdem muss das aktuelle Objekt nicht wissen, wo sich das einzusetzende Objekt befindet, da es von außen injiziert wird. Wie mit einer Spritze. Daher Injection.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0x101010.com/?feed=rss2&amp;p=54</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parsley &#8211; #2 &#8211; Metatags</title>
		<link>http://www.0x101010.com/?p=49</link>
		<comments>http://www.0x101010.com/?p=49#comments</comments>
		<pubDate>Tue, 11 May 2010 18:30:40 +0000</pubDate>
		<dc:creator>Seb</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[metatags]]></category>
		<category><![CDATA[parsley]]></category>

		<guid isPermaLink="false">http://www.0x101010.com/?p=49</guid>
		<description><![CDATA[Nachdem wir im parsley Tutorial Teil #1 den Context der Anwendung initialisiert haben, wollen wir nun das Framework natürlich auch nutzen. Dazu müssen wir zuerst verstehen, wie parsley arbeitet. Parsley funktioniert über Metatags, die vor Variablen oder Funktionen gestellt werden und das Framework anweisen, etwas zu tun. Als erstes Beispiel nutzen wir das [Init] Metatag. [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir im parsley Tutorial Teil #1 den Context der Anwendung initialisiert haben, wollen wir nun das Framework natürlich auch nutzen. Dazu müssen wir zuerst verstehen, wie parsley arbeitet. Parsley funktioniert über Metatags, die vor Variablen oder Funktionen gestellt werden und das Framework anweisen, etwas zu tun. Als erstes Beispiel nutzen wir das [Init] Metatag. Weitere Tags findet ihr in der Dokumentation, die selbsterklärend sein sollten, sobald man verstanden hat, wie man sie benutzen kann.</p>
<p>Mit [Init] kennzeichnet man Funktionen, die aufgerufen werden sollen, nachdem alle Elemente dem Context hinzugefügt und geladen worden sind. Das hat den Vorteil, dass der Aufruf so lange hinausgezögert wird, bis beispielsweise Sprachvariablen, oder Grafikdaten geladen sind, die zum Funktionsaufruf vorhanden sein müssen. Lästiges Eventlistener registrieren, nachher wieder entfernen und sich darum kümmern, wo der Eventlistener überhaupt registriert werden muss.. fällt alles weg!</p>
<p>Codebeispiel als Ergänzung zum Context aus #1:</p>
<p>Das Objekt wird mittels der Methode aus #1 zum Context hinzugefügt und dann wird anschließend automatisch die init() Methode aufgerufen.</p>
<p>KlasseXYZ.as:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; <span style="color: #66cc66;">&#91;</span>Init<span style="color: #66cc66;">&#93;</span><br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span><br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;init!&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; <span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Metatags funktionieren natürlich ebenfalls in den Klassen, die bereits in der Config instantiiert und mit dem <a title="ActionScriptContextBuilder" href="http://www.0x101010.com/?p=40" target="_self">ActionScriptContextBuilder</a> zum Context hinzugefügt wurden.</p>
<p>Auf die gleiche Art und Weise lassen sich die weiteren Funktionen des Frameworks ebenfalls mittels Metatags steuern. Beispiele für <a title="Dependency Injection" href="http://www.0x101010.com/?p=54" target="_self">Dependency Injection</a>, <a title="Messaging" href="http://www.0x101010.com/?p=55" target="_self">Messaging</a> und Localisation folgen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0x101010.com/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parsley &#8211; #1 &#8211; Context</title>
		<link>http://www.0x101010.com/?p=40</link>
		<comments>http://www.0x101010.com/?p=40#comments</comments>
		<pubDate>Tue, 11 May 2010 18:00:21 +0000</pubDate>
		<dc:creator>Seb</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[parsley]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.0x101010.com/?p=40</guid>
		<description><![CDATA[Da ich selbst keine deutschsprachigen Tutorials zum Thema parsley gefunden habe und es generell für reine Actionscript Entwickler nur sehr wenige Anlaufstellen gibt, hier ein paar kleine Code Schnipsel, die den Einstieg in das Framework vereinfachen sollten.
Zuerst zum Verständnis ein paar Infos:
Parsley gibt dem Entwickler keine Struktur vor und wird komplett lose an die Anwendung [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich selbst keine deutschsprachigen Tutorials zum Thema parsley gefunden habe und es generell für reine Actionscript Entwickler nur sehr wenige Anlaufstellen gibt, hier ein paar kleine Code Schnipsel, die den Einstieg in das Framework vereinfachen sollten.</p>
<p>Zuerst zum Verständnis ein paar Infos:<br />
Parsley gibt dem Entwickler keine Struktur vor und wird komplett lose an die Anwendung gekoppelt. Das bedeutet, dass keine vorgegeben Klassen extended werden, sondern man durch das Framework nur Hilfsmittel bekommt, die einem die Entwicklung deutlich vereinfacht.</p>
<p>Anwendung initialisieren:<br />
Damit die einzelnen Komponenten miteinander kommunizieren können und Parsley weiß, dass es sich um deren Verwaltung kümmern muss, läuft die Applikation in einem sogenannten Context. Dieser Context muss entweder über Actionscript, oder über XML initialisiert werden. Ich bevorzuge die Initialisierung über Actionscript und füge die Lokalisierung nachträglich mittels XML hinzu, doch dazu ein anderes mal.</p>
<p>Initialisierung über Actionscript mit dem ActionScriptContextBuilder:</p>
<p>Config.as:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Config<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> main : MainView = <span style="color: #000000; font-weight: bold;">new</span> MainView;<br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Main.as:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">spicefactory</span>.<span style="color: #006600;">parsley</span>.<span style="color: #006600;">asconfig</span>.<span style="color: #006600;">ActionScriptContextBuilder</span>;<br />
&nbsp; <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">spicefactory</span>.<span style="color: #006600;">parsley</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">context</span>.<span style="color: #006600;">Context</span>;<br />
<br />
&nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;<br />
<br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> Sprite<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _mainContext : Context;<br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; _mainContext = ActionScriptContextBuilder.<span style="color: #006600;">build</span><span style="color: #66cc66;">&#40;</span>Config<span style="color: #66cc66;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; addChild<span style="color: #66cc66;">&#40;</span>_mainContext.<span style="color: #006600;">getObjectByType</span><span style="color: #66cc66;">&#40;</span>MainView<span style="color: #66cc66;">&#41;</span> as MainView<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Objekte nachträglich zum Context hinzufügen:<br />
Da einige Objekte erst zur Laufzeit erstellt werden und ebenfalls mit parsley in Verbindung stehen sollen, müsst ihr sie nachträglich zum Context hinzufügen. Das geht durch zwei einfache Schritte:</p>
<p>Ergänzung der Main.as:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">spicefactory</span>.<span style="color: #006600;">parsley</span>.<span style="color: #006600;">asconfig</span>.<span style="color: #006600;">ActionScriptContextBuilder</span>;<br />
&nbsp; <span style="color: #0066CC;">import</span> org.<span style="color: #006600;">spicefactory</span>.<span style="color: #006600;">parsley</span>.<span style="color: #006600;">core</span>.<span style="color: #006600;">context</span>.<span style="color: #006600;">Context</span>;<br />
<br />
&nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;<br />
<br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> Sprite<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _mainContext : Context;<br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// wir markieren dieses Objekt als ContextRoot mittels &quot;this&quot;</span><br />
&nbsp; &nbsp; &nbsp; _mainContext = ActionScriptContextBuilder.<span style="color: #006600;">build</span><span style="color: #66cc66;">&#40;</span>Config, <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; &nbsp; addChild<span style="color: #66cc66;">&#40;</span>_mainContext.<span style="color: #006600;">getObjectByType</span><span style="color: #66cc66;">&#40;</span>MainView<span style="color: #66cc66;">&#41;</span> as MainView<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Dispatchen eines Events im neuen Objekt:</p>
<pre>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;<br />
&nbsp; <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;<br />
<br />
&nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Objekt <span style="color: #0066CC;">extends</span> Sprite<br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Objekt<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ADDED_TO_STAGE</span>, onAddedToStage<span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onAddedToStage<span style="color: #66cc66;">&#40;</span>event : Event<span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; dispatchEvent<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Event<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;configureView&quot;</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
</pre>
<p>Jetzt wird das Objekt von parsley verwaltet und reagiert auf Metatags.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0x101010.com/?feed=rss2&amp;p=40</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Anomalieerkennung in Webanwendungen</title>
		<link>http://www.0x101010.com/?p=7</link>
		<comments>http://www.0x101010.com/?p=7#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:56:15 +0000</pubDate>
		<dc:creator>Seb</dc:creator>
				<category><![CDATA[Websicherheit]]></category>
		<category><![CDATA[anomaly]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.0x101010.com/?p=7</guid>
		<description><![CDATA[Seminararbeit 2008 Klick.

Auszug:
Die Sicherheit von Webanwendungen ist nicht nur ein Thema dieses Blogs, sondern wird immer wichtiger, je mehr Anwendungen in das Internet ausgelagert werden. Durch neuste Techniken ist es möglich für nahezu alle herkömmlichen Programme eine Webversion zu entwickeln, die über die gleichen Features verfügt, aber standortunabhängig betrieben werden kann. Da diese Anwendungen über [...]]]></description>
			<content:encoded><![CDATA[<p>Seminararbeit 2008 <a href="?page_id=5">Klick</a>.</p>
<blockquote>
<p style="text-align: justify;">Auszug:<br />
Die Sicherheit von Webanwendungen ist nicht nur ein Thema dieses Blogs, sondern wird immer wichtiger, je mehr Anwendungen in das Internet ausgelagert werden. Durch neuste Techniken ist es möglich für nahezu alle herkömmlichen Programme eine Webversion zu entwickeln, die über die gleichen Features verfügt, aber standortunabhängig betrieben werden kann. Da diese Anwendungen über das Internet erreichbar sind, werden sie oft Ziel von Angriffen und benötigen wirkungsvolle Schutzmechanismen&#8230;</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.0x101010.com/?feed=rss2&amp;p=7</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
