<?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>.NET Stories: Digitale Erfahrungen &#187; MVC</title>
	<atom:link href="http://www.gmbsg.com/tag/mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gmbsg.com</link>
	<description>So einfach wie möglich. Aber nicht einfacher.</description>
	<lastBuildDate>Tue, 31 Aug 2010 22:21:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Verschwörung beim .NET Open Space Süd in Karlsruhe</title>
		<link>http://www.gmbsg.com/verschworung-beim-net-open-space-sud-in-karlsruhe/</link>
		<comments>http://www.gmbsg.com/verschworung-beim-net-open-space-sud-in-karlsruhe/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 12:16:37 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Aktuell]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Code Kata]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Objekt-Orientierung]]></category>
		<category><![CDATA[Open Space]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Software Craftsmanship]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Unit Test]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.gmbsg.com/?p=1062</guid>
		<description><![CDATA[Dieses Wochenende war ich zum ersten Mal bei einem .NET Open Space, dem .NET Open Space Süd in Karlsruhe. 
Gleich vorneweg: Es war super! Nein, noch mehr, es war richtig super! Eine mehr als gelungene Veranstaltung. In diesem Wochenende habe ...]]></description>
			<content:encoded><![CDATA[<p>Dieses Wochenende war ich zum ersten Mal bei einem .NET Open Space, dem <a href="http://karlsruhe.netopenspace.de/2010/">.NET Open Space Süd in Karlsruhe</a>. </p>
<p>Gleich vorneweg: Es war super! Nein, noch mehr, es war richtig super! Eine mehr als gelungene Veranstaltung. In diesem Wochenende habe ich vieles gelernt und mitgenommen. Die Eindrücke dieser wahnsinnigen .NET-Veranstaltung wirken bei mir noch so immens, dass ich sie hier in einem Blog einfach niederschreiben muss.</p>
<h3>Mittendrin statt nur dabei!</h3>
<p>Samstag, 9:45 Uhr, ich gehe durch eine unscheinbare Tür, es gibt nur ein kleines Schild „.NET Openspace Süd 2010, 4. OG“. Ich laufe die Treppen hoch und werde von einem lächelnden Gesicht überrascht: „Na, ganz schön sportlich!“ rief die freundliche Check-In-Lady (neudeutsch für Empfangsdame ?!? ;)) mir entgegen. Wohl eher aus Höflichkeit, schließlich tat ich mir nach geleisteter Stufenarbeit merklich schwerer als sonst, das mir entgegengebrachte Lächeln mit einem Zurücklächeln zu erwidern.</p>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_133_S.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_133_S-150x150.jpg" alt="Sessionplanung" title="Sessionplanung" width="150" height="150" class="alignright size-thumbnail wp-image-1069" /></a> Nach dem obligatorischen Check-In mit Teilnehmerkarte und Event-Infos finde ich mich mittendrin in der Sessionplanung für den ersten Tag wieder. „Wahnsinn“ dachte ich mir, endlich sehe ich viele, die ich nur per Twitter, Blog oder anderweitig online kenne. Gleichzeitig freute ich mich, wieder in Gesichter zu blicken, die ich schon kannte. Und ich war gespannt, welche neuen Bekanntschaften ich mit dieser „Erfahrungsaustauschplattform“ Open Space machen würde. Doch zunächst galt es, die Sessionplanung konzentriert umzusetzen. Auf geht’s!</p>
<h3>WTF is a Monad?</h3>
<p>Die Antwort auf diese Frage hat mir auf anschauliche Art und Weise <a href="http://www.navision-blog.de/">Steffen</a> gegeben. Er folgte der Aufforderung von <a href="http://www.bjoernrochel.de/">Björn</a>, uns allen mal dieses komische „Monad-Ding“ in verständlicher Form widerzugeben. Ich ertappte mich selbst dabei mich nicht daran erinnern zu können, wie lange es her ist, so gespannt und magnetisiert einem Thema und seinem Vortragenden zuzuhören.</p>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_135_S.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_135_S-300x179.jpg" alt="WTF is a Monad?" title="WTF is a Monad?" width="300" height="179" class="alignleft size-medium wp-image-1072" /></a> Er erklärte unter Anderem, dass die Uhr ein <a href="http://de.wikipedia.org/wiki/Monoid">Monoid</a> sei und es nur 3 essentielle Kriterien für das in sich geschlossene System eines <a href="http://de.wikipedia.org/wiki/Monade_%28Typkonstruktion%29">Monaden</a> gibt. Das neutrale Element, die „SelectMany“ und „Id“ Methoden (also Bind &#038; Return) <i>[Anmerkung: Das ist mit großer Wahrscheinlichkeit mathematisch total falsch und wahrscheinlich auch nicht richtig - aber so habe ich es verstanden :-/ - Korrektur willkommen.]</i>. Es ging weiter mit der Vorstellung der Population in der Monaden-Welt: Identity, Maybe, Continuation, State. </p>
<p>Ich habe es sicherlich noch nicht richtig begriffen und bin selbst erst am Anfang, die funktionale Programmierung wieder in meine tägliche Programmier-Praxis einzuführen. Doch diese Session war für mich wie ein Paukenschlag zum Auftakt! Super.</p>
<h3>3D in your Pocket</h3>
<p>„Hmm, das ist schwer zu toppen“, dachte ich mir, noch gedanklich verworren in Monaden, als ich mich plötzlich in der 2. Session über XNA &#038; Windows Phone 7 von <a href="http://blogs.msdn.com/b/twendel/">Tom</a> wieder langsam aus der Monadenwelt lösen konnte. Doch meine Skepsis erwies sich als unberechtigt. Tom zeigte uns, das XNA keine Abkürzung für Spieleentwicklung ist, sondern eine Abkürzung ist für effektive &#038; professionelle Spieleentwicklung &#8211; mit einer für mein Empfinden niedrigen Lernkurve. </p>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_141_S.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_141_S-150x150.jpg" alt="XNA Windows Phone 7" title="XNA Windows Phone 7" width="150" height="150" class="alignright size-thumbnail wp-image-1077" /></a> Tom ist ein Verfechter von Fakten, also waren auch keine trockenen Slides angesagt – statt dessen gab es Visual Studio, Source Code und den Windows Phone 7 Emulator zu sehen. Ich durfte lernen, dass es gar nicht so schwer ist, Windows Phose 7 „anzuprogrammieren“ und sich auch kein Hexenwerk hinter „Worlds“, „Matrices“, „Meshes“ und „Shadern“ verbirgt. Macht Laune auf mehr.</p>
<h3>Design Drivers</h3>
<p>Und schon ging es weiter mit den Erkenntnissen in der von <a href="http://sergeyshishkin.spaces.live.com/">Sergey</a> angetriebenen Session über &#8220;TDD vs. BDD vs. ATDD&#8221;. Es war unerwarteterweise keine trockene Gegenüberstellung von „methodischen Religiösitäten“. Ganz im Gegenteil. Die Session war wohl eine der konstruktivsten Diskussionen über „Erwartungsgetriebene Softwareentwicklung“, bei denen ich dabei sein durfte.</p>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_144_S.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_144_S-150x150.jpg" alt="Testing Rules" title="Testing Rules" width="150" height="150" class="alignleft size-thumbnail wp-image-1078" /></a> Der Erfahrungsaustausch fand auf breiter Ebene statt, fast jeder konnte irgendwie dazu beitragen. Highlights waren sicherlich die Vorstellung von Fitnesse als Werkzeug für ATDD sowie die anschauliche Erklärung der <a href="http://lh3.ggpht.com/_X3kaawac_g4/S3VCgzOuyQI/AAAAAAAAAvw/aww4Ui2N7LU/agile-testing-quadrants.JPG?imgmax=800">Agile Testing-Quadranten</a> von Sergey.</p>
<p>Im Übrigen hatte wohl Sergey noch mehr „feine Info’s“ mitgebracht, denn er war es auch, der die „RX – Reactive Extensions Hands On“-Session kräftig mitgestaltete. Ach, ich könnte womöglich noch stundenlang über die weiteren, hochinteressanten Sessions auf diesem .NET Open Space schreiben. </p>
<h3>Know How Rollercoaster</h3>
<p>Zum Beispiel über die unglaublich erkenntnisreiche Session über „TDD/BDD Do’s and Dont‘s“  – das war geballtes Know-How über testgetriebene Entwicklung. Oder die Session über „verteilte Architekturen“ sowie die Session über „Skalierung &#038; Caching im Web“, die anschaulich die Best Practices dieser Themen an mich, den Teilnehmer transportieren konnten.</p>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_132_S.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_132_S-150x150.jpg" alt="Legalize Unit Testing" title="Legalize Unit Testing" width="150" height="150" class="alignright size-thumbnail wp-image-1079" /></a> Das „Daily Life“ wurde wertwoll angereichert durch die Sessions „Smart Tools for Smart People (Part I + II)“  von <a href="http://www.lennybacon.com/default.aspx">Daniel</a>. Das meistern spielerischer Herausforderungen wurde in der AntMe!-Session von Tom gezeigt, einen Kickstart von 0 auf 100 für ASP.NET MVC2 lieferte <a href="http://www.der-albert.com/Default.aspx">der Albert</a>. Die weise Erkenntnis der vielen Gemeinsamkeiten und wenigen Unterschiede von <a href=http://code.google.com/p/xunitbddextensions/">xUnit.BDDExtensions</a> zu <a href="http://github.com/machine/machine.specifications">MSpec</a> zu <a href="http://www.navision-blog.de/2009/02/23/introducing-naturalspec-a-dsl-for-testing-part-i/">NaturalSpec</a> wurde in der „United BDD“-Session deutlich. Unüberhörbar waren auch die Berichte von einer spannenden Session über die Erfahrungen mit und um DDD herum von <a href="http://webenliven-space.de/dotnetblog/">Gregor</a>.</p>
<p>Ach ja, es gab ja auch noch ein Coding Dojo. Ich als „Session-Host“ möchte nicht viele Worte darüber verlieren. Ich möchte viel mehr, dass jeder, der dabei war, seinen Eindruck mitnimmt und seine Meinung dazu bildet. Ich kann nur sagen: mir hat das Dojo mit so vielen interessierten und erfahrenen Entwicklern sehr viel Spass gemacht und ich konnte wieder einiges dazulernen.</p>
<h3>Environment.Cool();</h3>
<p><a href="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_150_s.jpg"><img src="http://www.gmbsg.com/wp-content/uploads/2010/06/IMAGE_150_s-300x179.jpg" alt="Organizers" title="Organizers" width="300" height="179" class="alignleft size-medium wp-image-1082" /></a>Doch dieses gesamte „Excitement“, der Erfahrungsaustausch, die Bekanntschaften, die wunderbar leichten Unterhaltungen am Mittagstisch, die Diskussionen über Vergangenheit, Gegenwart und Zukunft der Software-Entwicklung am gemütlichen Abend, die Betrachtungen über den eigenen Tellerrand hinaus – all das wäre nicht möglich gewesen, ohne die Motivation &#038; Organisation zum .NET Open Space Süd in Karlsruhe. Vielen Dank an die <a href="http://www.dotnet-ka.de/">DNUG Karlsruhe</a>, Alex, Ralf, Frank, Aydin und alle, die dabei waren! Ich bin beim nächsten Mal sicher wieder dabei!</p>
<p>Doch eine wichtige Frage bleibt nach dem .NET Open Space Süd immer noch offen: Planen <a href="http://twitter.com/ilkerde/status/16535252984">Steffen</a>, <a href="http://twitter.com/BjoernRochel/status/16575784869">Björn</a>, <a href="http://twitter.com/sshishkin/status/16610614472">Sergey</a>, <a href="http://twitter.com/BjoernRochel/status/16557247504">Alexander</a> eine <a href="http://twitter.com/BjoernRochel/status/16580674588">Verschwörung</a>? Bildet sich ein verschworene Monaden-Mafia? Welche Rolle spielt dabei „<b>Jean Closure</b>“ – ist er der neue Pate der testgetriebenen Untergrundgeschäfte? Vielleicht hat <a href="http://twitter.com/cdeger/status/16635635336">Christian</a> auch etwas damit zu tun?</p>
<p>Maybe Some&lt;IsTrue&gt;, Maybe None&lt;IsTrue&gt; &#8230; to be <a href="http://blogs.msdn.com/b/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx">Continuation-Monad</a>! ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmbsg.com/verschworung-beim-net-open-space-sud-in-karlsruhe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC is not XHTML compliant</title>
		<link>http://www.gmbsg.com/asp-net-mvc-is-not-xhtml-compliant/</link>
		<comments>http://www.gmbsg.com/asp-net-mvc-is-not-xhtml-compliant/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 21:58:10 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Aktuell]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[4.0]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[HtmlHelper]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Unit Test]]></category>
		<category><![CDATA[View]]></category>

		<guid isPermaLink="false">http://www.gmbsg.com/?p=639</guid>
		<description><![CDATA[Der Titel hat es in sich. ASP.NET MVC ist nicht XHTML konform! Zugegeben, eine etwas reißerische, provokante Aussage &#8211; aber völlig korrekt. Ich habe mich in letzter Zeit mit dem HtmlHelper und Erweiterungen zu dem Helper etwas näher beschäftigt. Wie ...]]></description>
			<content:encoded><![CDATA[<p>Der Titel hat es in sich. ASP.NET MVC ist nicht XHTML konform! Zugegeben, eine etwas reißerische, provokante Aussage &#8211; aber völlig korrekt. Ich habe mich in letzter Zeit mit dem HtmlHelper und Erweiterungen zu dem Helper etwas näher beschäftigt. Wie es so ist, wenn man Extensions zum HtmlHelper entwickelt, habe ich natürlich den TagBuilder eingesetzt.</p>
<p>Zügiger als es mir selbst lieb gewesen ist stellte ich durch meine Tests fest, daß der TagBuilder beim Element-Namen sowie allen Attribut-Namen Groß- und Kleinschreibung beachtet:</p>
<pre class="brush: csharp">
[Test]
public void Cms_Tag_With_Invalid_Slot_Returns_Div_Only()
{
  CmsTag cmsTag = new CmsTag();
  int invalidSlot = 0;

  string cmsContainer = cmsTag.GetContainer(invalidSlot);
  Assert.AreEqual("&lt;div&gt;&lt;/div&gt;", cmsContainer);
}
</pre>
<p>Der Test sieht ja ganz passabel aus. Aber als ich dann die Methode dazu implementiert habe, ungefähr so:</p>
<pre class="brush: csharp">
public string GetContainer(int slot)
{
  TagBuilder tagBuilder = new TagBuilder("DIV");

  if (slot < 1)
    return tagBuilder.ToString();

  // ab hier geht es mit dem echten slot weiter...
}
</pre>
<p>machte es mich stutzig, dass mein Test immer noch rot war. Wieso? Na klar, ich hatte im Konstruktor des TagBuilders den Element-Namen groß geschrieben ("DIV"), während ich es im Test klein schrieb ("&lt;div&gt;&lt;/div&gt;"). Hmm. Ich musste überlegen. Warum habe ich denn im Test das DIV klein erwartet?</p>
<p>Na Klar! Meine Gewohnheit hatte mich eingefangen. Denn ich bin es gewohnt, alle Tags und Attribute klein zu schreiben. Nicht nur etwa, weil mir es so besser gefällt - sondern aus einem ganz praktischen und gleichermaßen wichtigen Grund: <a href="http://de.wikipedia.org/wiki/Extensible_Hypertext_Markup_Language">XHTML</a>.</p>
<p><a href="http://www.w3.org/TR/xhtml1/#h-4.2">XHTML verlangt alle Element-Namen und Attribut-Namen explizit kleingeschrieben</a>. Also soetwas wie <code>&lt;DIV ID="test"&gt;</code> ist schon mal grundsätzlich nicht XHTML-konform.</p>
<p>Nach dieser lapidaren Feststellung, dass der Tagbuilder Tags und Attribute so annimmt, wie man sie angegeben hat, machte ich mit Gedanken über das "Wieso". Der Fix hin zur XHTML-Konformität ist ja schließlich trivial. Statt des großgeschriebenen "DIV" im Konstruktor des TagBuilders einfach ein kleingeschriebenes "div" - das sollte es gewesen sein. Doch damit wollte ich mich nicht zufrieden geben. Denn mir war klar, die gleiche Konvention gilt schließlich auch für Attribute. So etwas wie:</p>
<pre class="brush: csharp">
TagBuilder builder = new TagBuilder("div");
builder.Attributes.Add("Title", "This is strange.");
</pre>
<p> würde das Problem wieder hervorrufen. Im Übrigen ist das Problem gerade bei dem schönen "Syntactic Sugar" mit der Kombination Anonymer Typ + Objekt-Initialisierer wirklich mehr als unschön - ich würde sogar sagen absolut störend.</p>
<p>Konsequenterweise kann das nicht der Weisheit letzter Schluß sein. Nach ein paar Minuten gründlicher Überlegung und der Durchsicht des Source-Codes des TagBuilders kam ich zur unweigerlichen Einsicht, dass der TagBuilder nicht (oder nur halbherzig) für XHTML-konforme Dokumente entwickelt wurde. Schade, denn deutliche Hinweise gibt es ja (z.B. mit dem TagRenderMode). Das führt dann unweigerlich zur Frage, ob man generell den TagBuilder umschreiben sollte, oder um einen "XHTML-Konformitätsmodus" erweitern sollte. Im Raum stünden dann drei wesentliche Varianten:</p>
<pre class="brush: csharp">
// variante 1 - der existierende tagbuilder wird intern umgeschrieben
TagBuilder builder = new TagBuilder("DIV");
string tag = builder.ToString();

// variante 2 - der tagbuilder wird um einen xhtml-modus erweitert
TagBuilder builder = new TagBuilder("DIV");
string tag = builder.ToString(TagRenderConvention.XHtml);

// variante 3 - es gibt einen speziellen (warscheinlich von tagbuilder geerbten) builder
TagBuilder builder = new XHtmlTagBuilder("DIV");
string tag = builder.ToString();
</pre>
<p>Auf den ersten Blick würde ich mich persönlich wohl für die erste Variante entscheiden. Denn schließlich bedeutet XHTML-Konformität ja nicht, dass man nicht mehr HTML-Konform ist. Eine "abwärts"- bzw. "schlechtwärts"-Kompatibilität ist also gegeben. Überdies muss man auch bedenken, daß die meisten Websites heutzutage sowieso sich in Richtung XHTML bewegen (müssen). Ein weiterer Aspekt ist sicherlich die Zukunft mit HTML5, welche XHTML als Grundlage hat.</p>
<p>So, nach dem ich jetzt so viele Worte über ein Problem geschrieben habe, welches mit einem einfachen <code>ToLower()</code> lösbar ist, möchte ich noch ein wenig zur Lösung dieser kleinen Schwierigkeit mit Code beitragen. Doch wer jetzt denkt, ich würde ASP.NET MVC patchen, der hat sich getäuscht. Statt dessen habe ich ein kleines Set von <a href="/wp-content/uploads/2010/02/MvcTagBuilderIsNotXHTMLCompliant.zip">Tests zur XHTML-Konformität</a> geschrieben. Wenn alle Tests grün sind, dann ist der TagBuilder auch XHTML-Konform :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmbsg.com/asp-net-mvc-is-not-xhtml-compliant/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Über das Ziel von Coding Dojos</title>
		<link>http://www.gmbsg.com/uber-das-ziel-von-coding-dojos/</link>
		<comments>http://www.gmbsg.com/uber-das-ziel-von-coding-dojos/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:42:26 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Code Kata]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[MDD]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Objekt-Orientierung]]></category>
		<category><![CDATA[Software Craftsmanship]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Unit Test]]></category>

		<guid isPermaLink="false">http://www.gmbsg.com/stories/?p=415</guid>
		<description><![CDATA[Gestern gab es wieder mal ein .NET Coding Dojo für Einsteiger. Pete hat sich ein besonderes Kata ausgesucht, das KataBlog. Es hat mich anfangs nicht sehr überrascht, dass er den Einsteigern auch neue Technologien und &#8220;Fancy Stuff&#8221; wie ASP.NET MVC ...]]></description>
			<content:encoded><![CDATA[<p>Gestern gab es wieder mal ein .NET Coding Dojo für Einsteiger. Pete hat sich ein besonderes Kata ausgesucht, das <a href="http://www.gmbsg.com/works/index.php?title=MucNetDojo_-_Kata_Blog">KataBlog</a>. Es hat mich anfangs nicht sehr überrascht, dass er den Einsteigern auch neue Technologien und &#8220;Fancy Stuff&#8221; wie <a href="http://www.asp.net/mvc/">ASP.NET MVC</a> mitgeben wollte. Ich fand die Idee gut und unterstützte ihn dabei.</p>
<p>Kurz zum KataBlog: Das Kata ist logisch gesehen eine unfassbar einfache Aufgabe. Doch genau das macht das Kata so besonders und zum Teil auch besonders &#8220;herausfordernd&#8221;. Ein Blog mit ASP.NET MVC im vollen TDD zu lösen ist für Einsteiger eine nicht zu unterschätzende Aufgabe. Ebenso würden wahrscheinlich auch TDD Skeptiker sich mit diesem Kata schwer tun und sich auf den ersten Blick in Ihrer Meinung auch bestätigt fühlen. Doch KataBlog ist wohl (nach <a href="http://www.gmbsg.com/works/index.php?title=MucNetDojo_-_Kata_FizzBuzz">KataFizzBuzz</a>) der nächste große Schritt für Neulinge. Die Erkenntnisse aus dem Blog möchte ich dem passionierten Dojo- und Kata-Freund nicht gleich verraten &#8211; schließlich ist Selbsterkenntnis eine schöne Sache. ;)</p>
<p>Nun, wie dem auch sei: Im gestrigen Dojo waren wieder einmal gut aufgelegte und aktive Teilnehmer dabei. Zu meiner Überraschung interessierten sich die Teilnehmer sehr viel mehr über grundlegende Technologien wie HTTP, ASP.NET und das ASP.NET MVC als über die eigentliche Aufgabenstellung. Pete reagierte gut, indem er alle nochmals darauf hinwies, dass ein Coding Dojo ein einziges Ziel verfolgt: Die erfolgreiche Vermittlung von nutzbaren Lerneffekten &#8211; für jeden Teilnehmer. Er sagte dass ein Dojo keine feste, durchgeplante Veranstaltung mit fixem Programm oder Paradigma sei, sondern dass das Dojo primär die Teilnehmer und den Lerngedanken im Fokus hat. Er stellte die Einsteiger vor die Wahl: Wollen sie mehr über &#8220;das Handwerkszeug&#8221; ASP.NET &#038; ASP.NET MVC erfahren, oder mehr über die Lösung der Aufgabe per TDD und professionellen Entwicklungs-Prinzipien?</p>
<p>Die Teilnehmer überlegten eine Weile, bevor man sich dann einhellig für eine tiefere Behandlung der Technologie entschied. Pete &#038; ich gingen auf diesen Wunsch ein und erklärten die Technik. Anfangs noch ein wenig theoretisch. Es wurden Fragen beantwortet wie z.B. &#8220;Was ist MVC?&#8221; oder &#8220;Was ist der Unterschied zu Web Forms?&#8221;. Nach einem kurzen Theorie-Exkurs am Flipchart ging es dann endlich Hands-On mit ASP.NET MVC auf zum Blog.</p>
<p>Pete zeigte die ASP.NET Templates, die Einbindung der Unit-Test Frameworks NUnit und xUnit in diese und die einzelnen Wizards für den Controller und die Views. Gelöst haben wir dann das Blog indem wir und Stück für Stück mit den Views an die Grundfunktionen &#8220;Anzeigen&#8221;, &#8220;Editieren&#8221;, &#8220;Erstellen&#8221;, &#8220;Löschen&#8221; und &#8220;Auflisten&#8221; herangewagt haben. In Anbetracht der Tatsache, dass es so viele Fragen zu MVC gab (Stichwort: Routes, Convention over Configuration, Partial Views usw usf.) ging es auch relativ flüssig durch. Nach knapp 3 Stunden waren wir soweit und hatten den Blog am laufen.</p>
<p>Ich kann jedem empfehlen, der sich mit TDD ernsthaft auseinandersetzen möchte, sich (nach den Erkenntnissen von KataFizzBuzz), die nächste Stufe Richtung sauberen Code und erweiterbarem Design zu erklimmen und das Kata zu lösen. Die Fortgeschrittenen TDD&#8217;ler werden schnell sehen, worum es bei dem Kata geht. Ich finde es besonders mutig und gut, dass Pete so eine technisch wie auch methodisch herausfordernde Aufgabe im Einsteiger-Dojo vorgestellt hat. Noch bewundernswerter war allerdings das aktive &#8220;erfassen &#038; erkennen&#8221; der Teilnehmer, die sich keineswegs davor gescheut haben, sondern die ganzen 3 Stunden über mit voller Konzentration dabei waren. Ich kann nur sagen: Hut ab &#038; Danke!</p>
<p>Was soll ich sagen, mein Fazit wird langsam eintönig, aber es ist nun mal so: In zwei Wochen ist schon wieder <a href="https://www.xing.com/events/net-coding-dojo-experten-416950">Experten-Dojo (18.11.2009 18:00 Uhr)</a> und ich freue mich jetzt schon wahnsinnig. Es wird sicherlich wieder eine erkenntnisreiche, spannende und spassige Sache!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmbsg.com/uber-das-ziel-von-coding-dojos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Technical Summit 08: Teil 2</title>
		<link>http://www.gmbsg.com/technical-summit-08-teil-2/</link>
		<comments>http://www.gmbsg.com/technical-summit-08-teil-2/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 22:43:44 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[4.0]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[M]]></category>
		<category><![CDATA[MDD]]></category>
		<category><![CDATA[MSBuild]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Oslo]]></category>
		<category><![CDATA[Projektmanagement]]></category>
		<category><![CDATA[Prozess]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Unit Test]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WF]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.gmbsg.com/stories/?p=229</guid>
		<description><![CDATA[Yep, die Summit habe ich nun hinter mir. Mein Log:
Session 1: Dariusz zu Besuch in Oslo
Abstrakte Kost zum Wachwerden für müde Entwickler-Hirne präsentierte Dariusz mit der ersten Session des zweiten TS-Tages: Oslo &#8211; Modellgetriebene Entwicklung. Was ist denn Oslo?
Zunächst einmal ...]]></description>
			<content:encoded><![CDATA[<p>Yep, die Summit habe ich nun hinter mir. Mein Log:</p>
<h3>Session 1: Dariusz zu Besuch in Oslo</h3>
<p>Abstrakte Kost zum Wachwerden für müde Entwickler-Hirne präsentierte Dariusz mit der ersten Session des zweiten TS-Tages: Oslo &#8211; Modellgetriebene Entwicklung. Was ist denn Oslo?</p>
<p>Zunächst einmal wäre da die grundsätzliche Definition einer Entwicklungs-Umgebung und entsprechenden Tools, die eine modellgetriebene Software-Entwicklung ermöglichen sollen. Microsoft verfolgt hier den Ansatz des &#8220;neu erfindens&#8221;. Mit Oslo wird eine komplett neue Landschaft angeboten, statt bestehende Systeme zu erweitern.</p>
<p>Zum einen wäre da die &#8220;textuelle Modellierungssprache&#8221; M &#8211; M wie Modell. M ist natürlich keine klassische Programmiersprache, sondern dient der Beschreibung von DSL&#8217;s. Im Fokus ist nicht die Objektorientierung, sondern Daten- und Strukturorientierung. M hat eine Reihe von eigenen DSL&#8217;s (also Untertypen zu M), darunter MGrammar, um Grammatiken und Syntax für die eigene Textsprache zu definieren, MEntity um verhaltens- und modellbezogene Objekte zu modellieren, sowie MSchema, eine Sprache zur Definition von (relationalen) Datenstrukturen. Dariusz zeigte ein paar Beispiele mit dem neuen &#8220;Intellipad&#8221; (dem M-Editor), der schon seit einiger Zeit im Netz als das &#8220;Emacs.NET&#8221;-Gerücht verbreitet wurde.</p>
<p>Modellierung geht natürlich auch &#8211; oder besser primär &#8211; visuell. Dafür hat Microsoft einiges an Entwicklungsarbeit investiert und die neue Anwendung &#8220;Quadrant&#8221;. Quadrant ist so etwas ähnliches wie ein flexibler Diagramm-Designer. Die Flexibilität erreicht es zum einen über M selbst sowie auch über eigene &#8220;Meta-DSL&#8217;s&#8221;. Quadrant hat im wesentlichen eine Office-Style-Ribbon-Bar und eine &#8220;Workspace&#8221; genannte Zeichenfläche. Je nach definierten Modell oder DSL kann man verschiedene Entitäten und Objekte erstellen, auch neue Menü&#8217;s und der Kontext ist änderbar. Auf den ersten Blick sieht das Tool ganz nett aus &#8211; die Power, die in Quadrant stecken soll, konnte mir Dariusz in den 5 Minuten leider nicht ganz vermitteln.</p>
<p>Ein wesentlicher Teil von Oslo ist &#8220;Dublin&#8221;. Dublin soll eine Hosting Runtime für Oslo MDA&#8217;s werden. Realisiert als Erweiterung für den IIS ist es ein Quasi-Application-Server. Intern werkeln WCF &#038; WF kräftig auf dem Metadaten-Modell und sollen die mit den Oslo-Tools entworfenen Anwendungen ohne weiteres Zutun ausgeführt und zur Verfügung gestellt werden können. Dublin selbst ist noch in der Entwicklung &#8211; mal abwarten, wie es am Ende aussehen wird.</p>
<p>Am Rande erwähnt wurde auch, das die gezeigten Oslo-Komponenten (also M und Quadrant) wohl auch irgendwie mit Visual Studio gekoppelt werden &#8211; natürlich noch nicht zum VS10er-Release, aber eine Integration sei in Planung.</p>
<p>Fazit: Oslo ist in einer noch sehr frühen Phase, deutet aber schon an, wie MDD in Zukunft aussehen kann. Danke Dariusz. </p>
<h3>Session 2: Christian mit Rosario</h3>
<p>&#8220;Rosario&#8221; ist der Codename der neuen Version von Visual Studio Team System / TFS. Wer schon heute mit VSTS mit TFS verwendet, der weiß, das da noch einiges an Platz für Verbesserung vorhanden ist. Das scheint auch Microsoft erkannt zu haben, wenn man den Worten von Christian glauben darf. Bei den Worten wollte er es natürlich nicht belassen und zeigte ein paar Slides und Demos zu den Verbesserungen.</p>
<p>Zunächst einmal werden Kernelelemente wie Skalierungsfähigkeit, Maintenance und das Build- bzw. SCCS-Management verbessert. Wie hinlänglich bekannt, ist Installation und Administration von TFS / VSTS ja keine besondere Meisterleistung von Microsoft. Mit Rosario soll laut Chrisitan TFS innerhalb einer halben Stunde installiert und konfiguriert werden können &#8211; da lehnt er sich meiner Meinung nach ziemlich weit aus dem Fenster &#8211; aber ich will nicht von vornherein darüber urteilen.</p>
<p>Für den Continuous Build wird Build Agent Pooling und das &#8220;Gated Check-In&#8221; integriert. Das &#8220;Gated Check-In&#8221; erlaubt einen serverseitigen Buildrun mit den Änderungen, die eingecheckt werden sollen. Das neue &#8220;Branch Management&#8221; ist eigentlich nichts anderes als ein Backtracking und eine Visualisierung der Branches auf dem SCCS. Diese Features sind bei der Konkurrenz (siehe z.B. TeamCity) z.T. schon lange Standard &#8211; wenigstens schließt hier Microsoft ein wenig auf. </p>
<p>Im Project Management Bereich soll das Reporting und Templating besser ausgebaut werden. Interessant ist die Integration der Kernelemente von Scrum, wie z.B. das Dashboard und Excel Listen für Product Backlog, Sprint Backlog, Sprint Planung, Burndown Charts oder die User Story Work Items. Die Beziehungen der Work Items zueinander wird in Rosarion weiter verbessert. Man kann eine komplette Hierarchie aufbauen, aber auch andere &#8220;Link Relations&#8221; setzen, wie z.B. Predecessor (Vorgänger) oder Dependency (Abhängigkeit). Auch die Organisation der einzelnen Projekte wird überarbeitet. Über die schon existierenden Team Projects sollen nun organisatorisch mit &#8220;Team Project Collections&#8221; ganze Anwendungsfamilien verwaltet werden können. </p>
<p>Für das Qualitätsmanagement sollen die Tools für das Unit Testing weiter verbessert werden. Interessant ist, das ein komplett neues &#8220;Test Quality Center&#8221; aufgebaut wird (Codename: Camano). Neue Features wie Test Impact Analyse, Test Suites und ein neuer &#8220;Test Plan Manager&#8221; sollen den Testalltag vereinfachen. Auch die Test Cases sind als Work Items gespeichert und können mit Changesets, Tasks und Requirements verbunden werden. Gut gelungen finde ich die Verwaltung der Test Cases mit Test Runs und Test Settings. Ziel dieser feinen Testorganisation soll die Eliminierung der &#8220;No Repro Bugs&#8221; sein.</p>
<p>Dieses Ziel wird vor Allem durch den neuen &#8220;Manual Test Runner&#8221; unterstützt, mit dem manuelle oder explorative Tests durchgeführt werden können. Besonders prickelnd: Die Tests können mit einem Test Recorder aufgenommen und automatisiert werden. Weitere Test Tracking Features sind die Videoaufnahme, Log Sampling und Umgebungsanalyse. Übrigens, der Test Recorder soll eine Reihe von UI-Typen unterstützen können, wie z.B. Windows Forms, WPF, die IE Engine und sogar die Firefox Gecko Engine. Ein Highlight beim Qualitätsmanangement ist das &#8220;Environment Provisioning&#8221;, mit dem eine virtuelle Testumgebung angeboten werden kann. Wie das eben so ist mit virtuellen Maschinen, sind Checkpoints und Flashbacks auf ältere Stände möglich.</p>
<p>Abschließend ging Christian noch auf die neuen Diagramme und Analyse-Möglichkeiten von VSTS 2010 ein. Standard UML die Use Case, Activitiy, Sequence und das bekannte Class Diagram sind nun in VS direkt umsetzbar. Es wird zusätzlich noch das &#8220;Laer Diagram&#8221; und ein &#8220;Architecture Explorer&#8221; angeboten. Das Layer Diagram soll eine Tiered Architecture widerspiegeln. Durh Verknüpfung der einzelnen Elemente mit Namespaces ist sogar eine automatische Validierung zur Einhaltung der Layer-Regeln möglich. Der Architecture Explorer ist die visualisierte Fortführung des Object Explorers. Ausgehend von einem &#8220;Bird-Eye View&#8221; kann man in die einzelnen Namespaces, Klassen und Methoden navigieren und sich besondere Konstallationen näher ansehen. Ein NDepend-Ersatz ist es bei weitem nicht, aber ermöglicht  zumindest eine nette und schnelle Analyse.</p>
<p>Fazit: Die neuen Quality-, Test- und Diagramm-Features sind wirklich beeindruckend. Die Verbesserung von TFS ist längst überfällig. Vielversprechend!</p>
<h3>Session 3: Nochmal Dariusz mit WCF &#038; WF in .NET 4.0</h3>
<p>Da bin ich nun wieder in einer Session mit Dariusz gelandet. Diesmal: WF &#038; WCF in .NET 4.0. Wie immer zu Beginn ein Abriß der Themen. Generell wurde bei der Weiterentwicklung von WF und WCF an der Performance geschraubt. die Workflow Foundation Engine soll eine mindestens 10-fache Geschwindigkeitssteigerung erfahren haben. Doch nicht nur unter der Haube der WF wurde gewerkelt. Die API wurde verbessert, um noch einfacher mächtigere Activities entwickeln zu können. So werden mit 4.0 auch &#8220;Variablen&#8221; (besser: State Parameter) im Workflow unterstützt, die man relativ elegant mit den Klassen <code>InParameter&lt;T&gt;</code> und  <code>OutParameter&lt;T&gt;</code> ansprechen kann.</p>
<p>Besonders hob Dariusz den komplett neu aufgebauten Designer von WF hervor. Er wird nun komplett in WPF umgesetzt, bietet dementsprechend eine ansprechende UI und ist vor Allem besonders gut anpassbar. Auch die Verwendung des Designers in eigenen Programmen (das sog. Rehosting) wird deutlich verbessert und vereinfacht.</p>
<p>Auf der WCF-Seite werden die QoS-Merkmale Konfiguration, Monitoring und Deployment weiter verbessert. Das eigentlich Neue ist aber die engere Verzahnung mit der Workflow Foundation. Zwar ist es schon jetzt möglich, eine WF-Anwendung per WCF in wenigen Schritten zur Verfügung zu stellen &#8211; doch ein weiterer Ausbau sei geplant. Diese &#8220;Vereinigung&#8221; hat auch einen höheren Sinn, nämlich die Entwicklung von Dublin (siehe auch Session 1: Oslo).</p>
<p>Fazit: Kurz &#038; Knackig. Das Zusammenspiel von WCF &#038; WF war hervorzusehen, die Neuigkeiten über WF hören sich gut an. </p>
<h3>Session 4: Oliver Scheer über die Zukunft von ASP.NET</h3>
<p>Die Zukunft von ASP.NET &#8211; das interessiert mich. Also auf zur letzten Session der Technical Summit mit Oliver Scheer. Nach 5 Minuten dachte ich mir: Ups &#8211; schon wieder eine Themaverfehlung? Denn Oliver gab ein Überblick über das, was er in einer Stunde zeigen möchte: ADO.NET Data Services, Dynamic Data Sites, ASP.NET MVC, ASP.NET AJAX und AJAX Control Toolkit. Toll &#8211; Wo ist JQuery, wo sind die neuen HttpHandler und -Modules, wo sind die MVC-Controls? Anscheinend nicht auf der Technical Summit. Naja &#8211; vielleicht zeigt Oliver ein paar Minuten noch neue Features für ASP.NET MVC.</p>
<p>Zunächst zeigte Oliver eine Demo von ADO.NET Data Services. Schön einfach über das Entity Framework die Tabellen zusammenklicken, den Data Service erstellen und die Configzeilen reinschreiben. Fertig. Nix Neues. Punkt.</p>
<p>So &#8211; jetzt mal endlich etwas neues für ASP.NET &#8211; ASP.NET MVC. Oliver beschreibt die Grundlagen und zeigt die bekannten Getting-Started-Samples. Er geht flüchtig auf die Konventionen ein und beschreibt sehr oberflächlich die Idee des MVC. So, noch kurz das Routing gezeigt und ein wenig erklärt. Ok. Nix Neues. Punkt.</p>
<p>Oh &#8211; Oliver holt aus zum nächsten Thema &#8211; ASP.NET Dynamic Data Websites. Ich wundere mich jedes Mal, wenn ich das sehe, wer zum Teufel im Alltag den Anwendungsfall für so eine Art Website hat. Es scheint wohl einige zu geben, sonst hätte man nicht so eine Art von Website-Projekt wohl nicht realisiert. Egal &#8211; ich jedenfalls kenne niemanden der sowas brauchen kann. Nix Neues. Punkt.</p>
<p>Zu guter Letzt noch ein Ausflug in ASP.NET AJAX und ein Verweis auf das AJAX Control Toolkit. Oliver zeigt wieder mal die gewohnte Extender-Demo. Ok. Nix Neues. Halt! Zu guter Letzt doch noch JQuery! Zu schade &#8211; nur ein Hinweis auf die Integration und die Auslieferung mit ASP.NET 4.0. Als Entschädigung dafür zeigt Oliver in seiner letzten Demo, das die neuen, von Microsoft geschriebenen JS-Klassen einen Aufruf von WCF Diensten ohne jegliches serverseitiges Zutun durchführen können. Ok. Wenigstens ein wenig Neu. Punkt.</p>
<p>Fazit: Nahezu Nix Neues. Punkt.</p>
<p>Eine Anmerkung noch: ich finde es wirklich sehr Schade, das gerade die zwei Sessions über ASP.NET für mein Dafürhalten so schwach ausgefallen sind. Man kann ASP.NET mögen oder nicht &#8211; aber auf einer Konferenz wie der Technical Summit ASP.NET derart zu vernachlässigen ist spricht nicht gerade für technologische Überzeugung.</p>
<h3>That&#8217;s it</h3>
<p>So, das war also die Technical Summit 08, so wie ich sie erlebt und verstanden habe. Ich denke jetzt muss ich erstmal die Infos und die ganze Veranstaltung noch auf mich wirken lassen und verarbeiten. Im Großen und Ganzen war es eine gute und z.T. sehr aufschlußreiche Konferenz. Das absolute Highlight war für mich die Parallels-Session mit Steve, dicht gefolgt von den beeindruckenden VSTS-Demos von Christian und der hochinteressanten Microsoft-MDD-Interpretation Oslo mit Dariusz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmbsg.com/technical-summit-08-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BASTA! Spring 2008 &#8211; Ein erstes Fazit</title>
		<link>http://www.gmbsg.com/basta-spring-2008-ein-erstes-fazit/</link>
		<comments>http://www.gmbsg.com/basta-spring-2008-ein-erstes-fazit/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 11:27:55 +0000</pubDate>
		<dc:creator>Ilker Cetinkaya</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Multithreading]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.gmbsg.com/stories/?p=58</guid>
		<description><![CDATA[Diese Woche war ich auf der BASTA Spring und habe an zahlreichen Vorträgen teilgenommen. Vorab schon einmal ein Fazit für das ganze drumherum: Organisation gut, Hotel gut, Themen gut und Sprecher-Wahl auch gut. Summa summarum eine runde Sache &#8211; ohne ...]]></description>
			<content:encoded><![CDATA[<p>Diese Woche war ich auf der <a href="http://www.basta.net">BASTA Spring</a> und habe an zahlreichen Vorträgen teilgenommen. Vorab schon einmal ein Fazit für das ganze drumherum: Organisation gut, Hotel gut, Themen gut und Sprecher-Wahl auch gut. Summa summarum eine runde Sache &#8211; ohne den fachlichen Eindruck.</p>
<p>Mein Session-Plan:</p>
<ul>
<li>Alles, was Sie über C# 3 wissen müssen <i>(Oliver Sturm, Ian Cooper)</i></li>
<li>Workflow Foundation für Einsteiger <i>(Christian Binder)</i></li>
<li>Das ASP.NET Model View Controller (MVC) Framework <i>(Daniel Walzenbach)</i></li>
<li>Multithreading mit C# <i>(Rudolf Huttary)</i></li>
<li>Secure Coding <i>(Sebastian Weber)</i></li>
<li>.NET Framework Security &#8211; ein Überblick <i>(Dominick Baier)</i></li>
<li>Sichere Datenspeicherung mit .NET <i>(Dominick Baier)</i></li>
<li>Model-View-ViewModel-Pattern <i>(Christoph Pletz)</i></li>
<li>ASP.NET 3.5 &#8211; Neuigkeiten <i>(Holger Schwichtenberg)</i></li>
<li>Beyond the Basics: AJAX Solutions for Real-world Issues <i>(Dino Esposito)</i></li>
<li>ASP.NET Best Practices <i>(Holger Schwichtenberg)</i></li>
</ul>
<p>Alle Talks waren interessant, wobei ich ganz besonders die Session mit Oliver Sturm und Ian Cooper (C# 3) hervorheben möchte. Das Material wurde gut aufbereitet und von beiden Speakern sehr gut vermittelt. Hier sollte man nicht unerwähnt lassen, dass die Session eine guten Tiefgang in die Thematik geboten hat.</p>
<p>Natürlich waren auch die anderen Sessions gut und ich werde mich sicherlich mit dem einen oder anderen Thema noch tiefer auseinandersetzen. Aber &#8211; und diese kleine Kritik möchte ich dennoch äußern &#8211; in vielen Sessions hat mir ein wenig die fachliche Tiefe gefehlt. Natürlich bleibt einem Speaker bei knapp einer Stunde wenig Zeit, in Details einzutauchen. Jedoch hätten vereinzelte Talks sicherlich fachlich an Qualität gewonnen, wenn man sich auf vereinzelte Themen konzentriert hätte und ein Stückweit von der &#8220;umfassenden Vogelperspektive&#8221; weggerückt wäre.</p>
<p>Nichtsdestotrotz war es Alles in Allem eine gelungene Veranstaltung, in der ich auch ein paar Dinge zur weiteren Vertiefung mitnehmen konnte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmbsg.com/basta-spring-2008-ein-erstes-fazit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
