Peter Bucher Ralf Westphal

Blog

Nutze den Augenblick
und teile der Welt mit, was Du zu sagen hast.

Review von Geschichten vom Scrum

Mittwoch, 3. März 2010, 18:55 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Es war einmal … mit diesen Worten beginnen üblicherweise Märchen – und genau darum handelt es sich bei dem Buch Geschichten vom Scrum von Holger Koschek, das am 1. November 2009 im dpunkt Verlag erschienen ist.

In einem weit entfernten Königreich lebten die Menschen mit sich und der Natur im Einklang. Sie betrieben Ackerbau und Viehzucht, waren in der Lage, sich selbst zu versorgen – und im Grunde wären sie glücklich und zufrieden gewesen, wenn ihre Lebensgrundlage nicht immer wieder Drachen zum Opfer gefallen wäre.

Zwar gab es Drachenfallen, doch die Drachen lernten schnell, so dass es ihnen immer wieder gelang, sich aus den Fallen zu befreien. Im Grunde herrschte ein beständiges Wettrüsten zwischen den Drachenbauern und den Drachen.

Eines Tages hatte der König genug von diesem ewigen Wettlauf und beschloss, ein Team zusammenzustellen, das die ultimative Drachenfalle bauen sollte: Da jedoch alle Drachenfallenbaumeister unentbehrlich waren, blieb dem König letztlich nichts anderes übrig, als ein zusammengewürfeltes Team zu akzeptieren.

Die ultimative Drachenfalle sollte gebaut werden von dem Aschenputtel, der Hexe, dem Großväterchen, dem Ritter und dem königlichen Schlossgespenst – unter Anführung des Prinzen.

Da nicht alle Anforderungen an eine solche Falle bekannt waren, wurde beschlossen, die Falle agil zu entwickeln – nach Scrum.

Unter diesen Voraussetzungen nimmt das Märchen seinen Lauf, und Holger Koschek schildert in einer wunderschönen Erzählweise, wie die einzelnen Personen nach und nach zu einem Team zusammenwachsen, auf welche Probleme sie dabei stoßen, wie sie Scrum umsetzen, …

Als Leser begleitet man das Team auf dieser Reise und fiebert mit, ob es ihnen gelingen wird, die hoch gesteckten Ziele zu erreichen, und welche Windungen die Geschichte dabei nehmen wird.

Insgesamt handelt es sich bei Geschichten vom Scrum um ein sehr ungewöhnliches, aber äußerst gelungenes Buch. Es gehört damit in die Reihe der wenigen Fachbücher, in denen nicht nur die fachliche Materie vermittelt wird, sondern deren Lektüre auch schlichtweg Spaß macht.

Wer sich für Scrum im Speziellen und agile Methoden im Allgemeinen interessiert, sollte auf jeden Fall einen längeren Blick in dieses Buch werfen.

Review von Cloud Computing mit der Windows Azure Platform

Dienstag, 5. Januar 2010, 14:51 Uhr
Permalink | Kommentare (3) | Kommentare als RSSRSS

Nachdem ich vor knapp zwei Wochen einen Review über das Buch Pragmatic Unit Testing veröffentlicht habe, begann ich mit der Lektüre des nächsten Buchs: Cloud Computing mit der Windows Azure Platform von Holger Sirtl.

Der Untertitel verspricht Informationen zu der Entwicklung, der Integration und dem Betrieb cloud-basierter Anwendungen – was dann jedoch auf den ersten 75 Seiten mehr als ausreichend beschrieben wird, sind die allgemeinen Vor- und Nachteile von Clouds im Allgemeinen und von Windows Azure im Speziellen.

Obwohl dies prinzipiell nicht verkehrt ist, weist es die Tendenz für den weiteren Verlauf des Buchs: Der Inhalt, der auf rund 350 Seiten vermittelt wird, würde problemlos auf 200 Seiten passen, würden die ständigen Wiederholungen entfallen. Ungewollt beschleicht einen immer wieder das Gefühl, bestimmte Formulierungen schon einmal gelesen zu haben.

Sobald das Buch zu seinem fachlichen Teil kommt, steigt die Qualität des Inhalts deutlich an: Alle wichtigen Konzepte von Windows Azure werden erläutert und mit Beispielen demonstriert:

  • Web Role und Worker Role
  • Blobs, Tables und Queues
  • Live Services
  • .NET Service Bus
  • .NET Access Control
  • Deployment

Allerdings lässt das Buch auch hierbei einen kompakten Schreibstil vermissen und besteht zum Großteil aus den immer gleichen Formulierungen.

Vermisst habe ich bei dieser Ausführlichkeit einige grundlegende Erklärungen, speziell das Kapitel zu den Live Services erläutert zahlreiche Begriffe nur äußerst knapp und verwendet diese danach wie selbstverständlich – für jemanden, der noch nie mit Windows Live entwickelt hat, gestaltet sich dieses Kapitel dadurch verhältnismäßig schwierig.

Abgerundet werden diese Themen durch einige Beispiele für den Software plus Services-Ansatz, vom Desktopclient über Web- bis hin zu mobilen Anwendungen ist alles dabei, was für einen Entwickler interessant sein könnte. Auch das Thema Interoperabilität mit Java, PHP und Ruby wird angesprochen.

Insgesamt erhält man einen guten Überblick zu Windows Azure, dem es allerdings auf der einen Seite teilweise an Tiefe fehlt, und der auf der anderen zu sehr in die Länge gezogen ist. Sofern man sich damit arrangieren kann, ist das Buch kein schlechter Einstieg in Windows Azure – wer ein rundum empfehlenswertes Buch erwartet, sollte Abstand nehmen.

Review von Pragmatic Unit Testing

Samstag, 26. Dezember 2009, 12:26 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Knapp mehr als drei Monate sind seit meinem letzten Review vergangen, in dem ich das Buch Painless Project Management with FogBugz besprochen habe. Viel ist seither geschehen – insbesondere habe ich die Interviewreihe .NET Professionals im Profil begonnen, für die inzwischen auch eine dedizierte Webseite besteht, auf der sämtliche Interviews verfügbar sind.

Am 1. November 2009 haben Peter Bucher und ich uns dann in unserem monatlichen Streitgespräch die Frage gestellt: Wie viel Sinn machen Unittests? Als Reaktion auf meinen Beitrag gab es zahlreiche Kommentare, wodurch ich mich bewogen sah, das Thema noch einmal zu überdenken.

Inzwischen stehe ich Unittests gänzlich anders gegenüber – meine Erfahrungen habe ich in den Blogeinträgen Auch Kirchen haben Kragsteine und Ein Ordnungssystem für Unittests beschrieben. Doch das war nur der öffentliche, nach außen sichtbare Teil meiner Beschäftigung mit Unittests.

Auf Empfehlung von David Tielke habe ich mich mit dem Buch Pragmatic Unit Testing von Andrew Hunt und David Thomas befasst.

Nachdem mich das Buch The Art of Unit Testing von Roy Osherove sehr enttäuscht hatte, war ich auf Davids Tipp mehr als gespannt. Um es kurz zu machen: Pragmatic Unit Testing ist wirklich empfehlenswert: Kompakt, direkt, pragmatisch und dennoch durchdacht erklärt es auf rund 190 Seiten nicht nur das Handwerkszeug, sondern auch – und das finde ich besonders wertvoll – zahlreiche Best Practices.

So wird zwar in den ersten drei Kapiteln darauf eingegangen, wie NUnit an und für sich funktioniert – danach ist dieses Thema jedoch abgehandelt und es geht in den folgenden sieben Kapiteln um die eigentlich relevanten Aspekte des Unittestings:

  • Welche Aspekte von Code erfordern besonderes Augenmerk beim Testen?
  • Welche Grenzwerte müssen gesondert beachtet werden?
  • Wie werden Stubs und Mocks eingesetzt?
  • Was zeichnet gute Tests aus?
  • Was muss beim Schreiben von Tests im Hinblick auf Teamentwicklung beachtet werden?
  • Wie wird Legacycode sinnvoll getestet?
  • Welche Rolle spielen Architektur und Refactoring für die Entwicklung von Tests?
  • Wie können UIs getestet werden?

All diese Themen sind ausgesprochen wichtig und werden kompakt, aber dennoch gut verständlich erläutert. Ein Anhang, der auf typische Stolperfallen und deren Vermeidung hinweist, rundet die zehn vorangegangenen Kapitel ab.

Alles in allem ist Pragmatic Unit Testing ohne Einschränkung empfehlenswert und so wohl für Einsteiger wie auch für Fortgeschrittene gleichermaßen geeignet. Wer sich also für den Einsatz von Unittests interessiert und noch auf der Suche nach einer geeigneten Lektüre ist, dem sei dieses Buch ans Herz gelegt.

Review von Painless Project Management with FogBugz

Freitag, 4. September 2009, 21:57 Uhr
Permalink | Kommentare (2) | Kommentare als RSSRSS

Vor einigen Monaten habe ich FogBugz als webbasierte Projektmanagementsoftware vorgestellt, die Peter Bucher und ich seit Ende letzten Jahres für ein gemeinsames Projekt einsetzen.

Mein damaliger erster Eindruck

FogBugz läuft dank intelligenter Nutzung von AJAX extrem schnell, arbeitet bislang fehlerfrei und ist vor allem ausgesprochen intuitiv bedienbar. Man merkt, dass die Software mit viel Liebe zum Detail erstellt wurde, und das Wort hochwertig trifft absolut zu.

hat sich inzwischen mehr als bestätigt: Selten habe ich eine Software erlebt, die derart ausgefeilt und durchdacht ist – und bei der man bereits während der Verwendung das Gefühl bekommt, dass die Anwendung auf sauberem Code im Sinne von Clean Code basiert.

In den vergangenen Tagen habe ich nun das dazugehörige Buch Painless Project Management with FogBugz von Mike Gunderloy gelesen, das sich auf die seit kurzem nicht mehr aktuelle Version 6.0 von FogBugz bezieht – aber dennoch für den Einstieg in FogBugz sehr lesenswert ist.

Nach einem unterhaltsamen Vorwort von Joel Spolsky behandelt das Buch in sechs Kapiteln die folgenden Themen:

  • Managing Projects with FogBugz: Das erste Kapitel beschreibt in einem groben Überblick die Philosophie von FogBugz und demonstriert an Hand eines fiktiven Beispiels, wie der Lebenszyklus eines Falls in FogBugz aussehen könnte.
  • Managing Cases: Das nächste Kapitel beschreibt die verschiedenen Kategorien von Fällen, deren Aufbau sowie die Navigation von FugBugz. Auch auf die verschiedenen Eingabemöglichkeiten für Fälle – vom Webformular über das Einlesen von E-Mails bis hin zur programmatischen Eingabe – wird eingegangen.
  • Making FogBugz Work for You: Das dritte Kapitel beschreibt die Konfiguration von FogBugz, mit einem besonderen Augenmerk auf der Multimandantenfähigkeit der Anwendung: Wie kann eine einzelne Installation von FogBugz so konfiguriert werden, dass sie sämtliche Projekte perfekt abbildet?
  • Getting the Big Picture: Das nächste Kapitel widmet sich ausgesprochen umfangreich dem Thema Projektmanagement und –planung. Dazu wird ausführlich das sogenannte Evidence Based Scheduling vorgestellt, das – zugegeben – die Möglichkeiten von TFS und Project weit in den Schatten stellt.
  • Communicating and Collaborating: Das fünfte Kapitel beschreibt die Möglichkeiten zur internen und externen Zusammenarbeit – insbesondere die Bereiche Wiki, Foren und E-Mail-Integration werden hier abgedeckt.
  • Integrating with FogBugz: Das letzte Kapitel enthält schlussendlich alle übrigen Themen, die sonst nirgendwo Platz gefunden haben. Dies reicht dabei von der Integration einer Versionsverwaltung über die REST-API von FogBugz bis hin zur automatischen Erstellung von Bugreports aus .NET heraus.

Alles in allem lernt man also ausgesprochen viel über FogBugz, zudem liest sich das Buch sehr flüssig. Außerdem ist positiv anzumerken, dass der Autor das Buch sehr kompakt gehalten hat – es umfasst gerade einmal 197 Seiten, enthält aber dennoch alle wissenswerten Details.

Gerade im Vergleich zu der doch sehr teuren und administrativ aufwändigen Alternative TFS in Verbindung mit Project ist FogBugz eine ganz klare Empfehlung wert – und dieses Buch ebenfalls.

Review von Computers and Intractability

Dienstag, 18. August 2009, 18:49 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Eines der besten und interessantesten Bücher, die ich je gelesen habe, ist Computers and Intractability von Michael R. Garey und David S. Johnson. Obwohl es erstmals bereits im April 1979 veröffentlicht wurde, hat es nichts von seiner Aktualität eingebüßt – im Gegenteil, es hat sich als Referenz etabliert.

Worum geht es in diesem Buch?

Prinzipiell wird die Theorie der NP-Vollständigkeit vorgestellt, über die ich auch in einem Artikel in der dotnetpro 07.2009 unter dem Titel Die Eine-Million-Dollar-Frage berichtet habe:

Manche algorithmischen Probleme lassen sich schnell und unter Einsatz geringer Ressourcen lösen. Andere Aufgaben, etwa die Zerlegung einer sehr großen Zahl in ihre Primfaktoren, sind ausgesprochen aufwendig. Oder geht das auch schneller? Und es hat bloß noch keiner den richtigen Algorithmus gefunden? Diese Frage führt mitten in die Untiefen der theoretischen Informatik.

Das Buch Computers and Intractability legt die Grundlagen für das Verständnis dieser Materie: Nachdem an Hand eines kompakten Beispiels gezeigt wurde, warum diese Frage überhaupt von Bedeutung ist, wird die zugehörige Theorie erläutert. Angenehm ist, dass dies nicht künstlich in die Länge gezogen wird, sondern sich auf das Wesentliche beschränkt – ohne wiederum Details auszulassen.

Ergänzt wird diese Einführung durch einige Beweise, die das Verständnis fördern. So wird beispielsweise für das Problem SAT initial gezeigt, dass es NP-vollständig ist, und erläutert, warum dies für alle weiteren NP-vollständigen Probleme eine so wichtige Grundlage darstellt.

Im Anschluss folgt – und dies macht den Großteil des Buches aus – eine geordnete Übersicht über mehr als 300 Probleme, die als NP-vollständig charakterisiert wurden. Jedes Problem wird dabei in formaler Form beschrieben, ergänzt um Anmerkungen und gegebenenfalls vorhandene Forschungsergebnisse, wie man sich der NP-Vollständigkeit des jeweiligen Problems algorithmisch nähern könnte.

Kurzum: Ein sehr empfehlenswertes Buch, das den Leser zwar geistig sehr fordert, aber gleichzeitig auch sehr viel Potenzial für das theoretische Verständnis von Algorithmen birgt.

Review von Silverlight 2 in Action

Freitag, 5. Juni 2009, 09:10 Uhr
Permalink | Kommentare (2) | Kommentare als RSSRSS

Nachdem ich Silverlight für einige Zeit nur als eine weitere Technologie zur Entwicklung von webbasierten Anwendungen wahrgenommen habe, habe ich nun in den vergangenen Wochen endlich die Zeit gefunden, mich ausgiebig damit zu beschäftigen.

Für den Einstieg habe ich mich daher zunächst mit Literatur versorgt, allen voran mit dem Buch Silverlight 2 in Action von Chad. A Campbell und John Stockton. Verlegt wird das Buch übrigens von Manning Publications, einem Verlag, den ich auf Grund seiner durchwegs sehr guten Bücher immer mehr schätze.

Der Klappentext von Silverlight 2 in Action verspricht eine umfassende und verständliche Einführung für Entwickler, die bereits über Erfahrung in .NET verfügen, wobei technische Details dennoch nicht zu kurz kommen:

It lays out clearly the core techniques you need in order to build Silverlight apps using Visual Studio, and it sparkles with keen insights into the developer/designer workflow.

Das Schöne ist: Dieses Versprechen wird in jeglicher Hinsicht eingehalten. Silverlight 2 in Action baut auf sehr durchdachte Art nach und nach Wissen auf, bleibt dabei jedoch immer verständlich und geht auch auf technische Details ein.

Neben dem grundsätzlichen Thema, wie mit Steuerelementen, Benutzereingaben und Databinding erste einfache Anwendungen erstellt werden können, geht es danach um speziellere Themen. Die Palette reicht dabei von der Integration von WCF über Audio- und Videounterstützung bis hin zu Grafik und Animation.

Abgerundet wird das ganze durch zwei Kapitel, in denen es um Theming, Verteilung und Best Practices im Allgemeinen geht.

Auch kleinere Themen wie beispielsweise die Nutzung des Isolated Storage, die Verwendung von DRM und der Einsatz der JavaScript-Bridge, die eine bidirektionale Kommunikation zwischen Silverlight und HTML ermöglicht, werden angesprochen und ausführlich erläutert.

Der einzige Nachteil von Silverlight 2 in Action ist, dass Silverlight 3 derzeit noch nicht behandelt wird – dies kann den Autoren jedoch nicht wirklich angekreidet werden, da Silverlight 3 hierfür schlichtweg zu neu ist.

Als Ergänzung zu Silverlight 2 in Action empfiehlt sich daher das Blog von Tim Heuer, insbesondere der Post A guide to Silverlight 3 new features.

Alles in allem ist Silverlight 2 in Action also ein sehr empfehlenswertes Buch für jeden Entwickler, der bereits über Erfahrung in .NET verfügt, und der sich einen umfassenden Überblick über Silverlight verschaffen will.

Review von RESTful .NET

Freitag, 10. April 2009, 10:16 Uhr
Permalink | Kommentare (3) | Kommentare als RSSRSS

In den vergangenen Tagen habe ich RESTful .NET von Jon Flanders gelesen – ein Buch über das Thema REST. Interessanterweise wird der Architekturstil REST allerdings nicht von Grund auf erklärt. Statt dessen konzentriert sich das Buch auf die Frage, wie REST-basierte Webservices in .NET 3.5 mit Hilfe von WCF modelliert werden können.

Der Effekt ist, dass das Buch angenehm kompakt ist, dennoch aber einen vollständigen und sehr verständlichen Einstieg in das Thema REST mit WCF bietet.

WCF war bislang für jemanden wie mich, der sich hauptsächlich mit Webentwicklung beschäftigt, ein verhältnismäßig komplexes Thema, bei dem man nie so recht wusste, wo man anfangen soll – zu viele Aspekte sind für reine Webentwicklung zunächst nicht von Bedeutung.

Mit RESTful .NET steht nun ein Buch zur Verfügung, das genau die Zielgruppe der Webentwickler bedient. Nach einer angenehm kurzen Einführung zum Thema REST gliedert sich das Buch in drei Teile:

  • Implementieren von REST-basierten Webservices: In den ersten fünf Kapiteln wird erklärt, wie das Lesen und Schreiben von Daten mit Hilfe von REST funktioniert, wie Methoden auf URIs gemappt werden können, und welche Möglichkeiten es gibt, REST-basierte Webservices zu hosten.
  • Anwendung von REST: Die nächsten fünf Kapitel widmen sich verschiedenen Anwendungsgebieten, die mit REST in WCF bedient werden können. Die Themen reichen dabei von Feeds über AJAX und JSON bis hin zu Silverlight.
  • REST und HTTP: Das letzte Kapitel geht schließlich auf die Zusammenhänge zwischen REST und WCF auf der einen und HTTP auf der anderen Seite ein, und klärt einige spezielle Fragen – wie beispielsweise HTTP-Statuscodes händisch gesetzt werden können.

Im Anhang findet sich zudem ein kompakter Überblick über die Neuerungen, die für WCF und REST in .NET 3.5 SP1 enthalten sind, was den Inhalt des Buches sehr schön ergänzt und abschließt.

Da es dem Autor gelingt, alle Aspekte sehr verständlich zu erklären, sind Vorkenntnisse zum Verständnis des Buches nicht zwingend notwendig, weshalb sich das Buch auch für Einsteiger in die REST-Thematik eignet.

Alles in allem – ein sehr empfehlenswertes Buch für jeden, der sich mit Webentwicklung beschäftigt, und dem WCF bislang zu Desktop-lastig war.

Review von Suchmaschinen-Optimierung

Sonntag, 15. Februar 2009, 20:44 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Nach meinem Review von jQuery in Action vor einigen Tagen habe ich inzwischen mit Suchmaschinen-Optimierung von Sebastian Erlhofer bereits das nächste Buch gelesen.

Im vergangenen Jahr habe ich mich sehr viel mit moderner Webentwicklung nach den aktuellen W3C-Standards beschäftigt, insbesondere aber mit der sauberen Trennung der einzelnen Aspekte in XHTML, CSS und JavaScript.

Als Ergebnis dessen habe ich im August 2008 so wohl meine persönliche Webseite wie auch mein Blog mit einem neuen Design ausgestattet, das nicht nur weitestgehend W3C-konform ist, sondern das in den gängigen Suchmaschinen auch eine bessere Positionierung bewirkt hat.

Da ich dieses Thema ausgesprochen spannend finde, war es nun an der Zeit, mich näher mit der Materie zu beschäftigen. Das Buch Suchmaschinen-Optimierung habe ich mir vor allem auf Grund der guten Bewertungen bei Amazon bestellt. Ebenso wie bereits jQuery in Action war es ein voller Erfolg.

Besonders gut gefallen hat mir, dass sich das Buch nicht nur mit dem Wie beschäftigt, sondern auch mit dem Warum. In den ersten Kapiteln geht es nämlich zunächst einmal darum, einen umfassenden Überblick zu erhalten, wie Suchmaschinen an sich überhaupt funktionieren - von der Suche nach neuen Dokumenten, deren Aufnahme in den Index, der Ermittlung relevanter Schlüsselwörter bis hin zu der Frage, wie Suchergebnisse sortiert werden.

Nachdem diese Grundlagen gelegt sind, geht es in den darauf folgenden vier Kapiteln ausführlich um die konkreten Optimierungsmöglichkeiten. Die einzelnen Kapitel beschäftigen sich dabei mit den folgenden Themen:

  • Keywords: Wie ermittelt man die für eine Webseite relevanten Keywords, wie bewerten Suchmaschinen die Keywords und wie optimiert man ein Dokument im Hinblick auf ausgewählte Keywords?
  • On-Page-Optimierung: Wie optimiert man eine Webseite durch Veränderung ihres XHTML-Codes und wie baut man eine sinnvolle semantische Struktur auf, die so wohl Suchmaschinen wie auch Anwendern zu Gute kommt?
  • Off-Page-Optimierung: Welche Möglichkeiten gibt es außerhalb der zu optimierenden Webseite, das Ranking zu verbessern? Hierzu zählen neben der Verlinkung auch technische Details wie die Auswahl eines geeigneten Webservers.
  • Spam: Welche vermeintlichen Optimierungen sollte man nicht nutzen, da sie von Suchmaschinen in der Regel als Spam gewertet und die entsprechende Webseite daher schlechter bewertet wird?

Ergänzt wurden diese Themen abschließend mit konkreten Tipps zur Verbesserung der Usability und Praxisbeispielen, unter anderem an Hand von Typo3 und WordPress.

Insgesamt - ein wirklich rundum gelungenes Buch, und durchaus eine Empfehlung für jeden interessierten Webentwickler wert!

Review von jQuery in Action

Donnerstag, 12. Februar 2009, 21:08 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Nachdem ich in den vergangenen Wochen ausschließlich Bücher zu C#, .NET und Entwicklung im Allgemeinen gelesen habe, wende ich mich nun verstärkt dem Thema Web zu: Vor einigen Tagen hat mir Peter Bucher die Beschäftigung mit dem ASP.NET MVC-Framework empfohlen, außerdem hat Microsoft für Visual Studio 2010 angekündigt, das JavaScript-Framework jQuery integrieren und unterstützen zu wollen. Grund genug also, sich mit beiden Themen näher zu befassen.

Den Anfang habe ich dabei mit dem Buch jQuery in Action von Bear Bibeault und Yehuda Katz gemacht, das wie bereits einige andere ausgesprochen empfehlenswerte Bücher wie beispielsweise C# in Depth und LINQ in Action bei Manning erschienen ist.

Was soll ich sagen? Das Buch erfüllt genau die Erwartungen, die ich im Vorfeld hatte. Zunächst werden in einer sehr ausführlichen und detaillierten Einführung nicht nur das jQuery-Framework an sich, sondern auch dessen Konzepte erläutert. Ergänzt wird diese Einführung durch Richtlinien zum Schreiben von sogenanntem Unobtrusive JavaScript. All dies führt zu einem tragfähigen Verständnis für die darauf folgenden Kapitel.

In diesen werden in der Regel zunächst das klassische Vorgehen und die sich daraus ergebenden Nachteile erläutert, bevor die kompakte und verbesserte Lösung auf Basis von jQuery vorgestellt wird. Nach und nach wird dabei auf sämtliche Features von jQuery eingegangen, die jeweils mit zahlreichen Beispielen illustriert werden.

Auch dem Thema Erweiterbarkeit von jQuery wird Rechnung getragen: Während sich ein Kapitel voll und ganz der Entwicklung eigener Plugins und deren Integration in jQuery widmet, zeigt ein anderes exemplarisch an Hand von bereits bestehenden Plugins, wie diese verwendet werden können, um die Kernfunktionalität zu erweitern.

Ein weiteres, relativ langes Kapitel behandelt das Thema AJAX. jQuery verfügt nämlich auch für die Programmierung mit AJAX über einige sehr interessante Funktionen, die das Absenden und Behandeln von AJAX-Anfragen verhältnismäßig einfach machen.

Den Abschluss von jQuery in Action bildet ein Kapitel, in dem einige fortgeschrittene JavaScript-Techniken erläutert werden, die teilweise zum Verständnis notwendig sind: Unter anderem werden in diesem Kapitel die Themen Delegates und Closures auf kompakte, aber verständliche Art erklärt.

Alles in allem ist jQuery in Action ein rundum gelungenes Buch, das man ohne zu zögern weiter empfehlen kann.

Review von Framework Design Guidelines

Freitag, 12. Dezember 2008, 21:47 Uhr
Permalink | Kommentare (2) | Kommentare als RSSRSS

In den vergangenen Jahren ist mein Konsum von Fachbüchern stetig gesunken. Schuld an dieser Entwicklung ist letztlich das Internet, das es mir ermöglicht, nahezu alle Informationen nicht nur schneller, sondern vor allem zielgerichtet, kostenlos und häufig auch in aktuellerer Form zu finden.

Speziell für Entwickler bieten so wohl Google wie auch die MSDN inzwischen so vielfältige und detaillierte Informationen, dass es nur noch selten sinnvoll ist, Fachbücher zu kaufen, deren Inhalt nach zwei oder spätestens drei Jahren nicht mehr dem technischen Stand der Dinge entspricht, und die in den wenigsten Fällen darauf ausgerichtet sind, nicht sequenziell gelesen zu werden.

Dennoch gibt es dem Internet und Trends wie den E-Books zum Trotz einige Perlen unter den Fachbüchern, die es meiner Meinung nach durchaus zu kaufen lohnt, alleine schon deshalb, weil man mit Büchern eben all das machen kann, was mit elektronischen Medien nicht geht: Das Spektrum an Argumenten reicht von der Ergänzung handschriftlicher Notizen bis hin zu der Möglichkeit, ein Buch auch im Bett oder im Park lesen zu können.

Eine dieser zeitlosen Perlen ist vor einigen Tagen in einer zweiten, speziell für C# 3.0 und .NET 3.5 aktualisierten Auflage erschienen: Framework Design Guidelines von Krzysztof Cwalina und Brad Abrams.

Dieses Buch widmet sich der Aufgabe, zu klären, welche Aspekte beim Entwurf eines Frameworks zu beachten sind, um ein konsistentes, durchdachtes und gleichzeitig erweiterbares Framework zu erhalten. Das ganze Buch ist dabei quasi als Liste von "Do"s und "Don't"s aufgebaut, so dass man gezielt zu jedem einzelnen Thema nachschlagen kann, wie man es machen sollte - und wie eben nicht.

Das Buch ist in Themenblöcken aufgebaut, die sich wie folgt gliedern:

  • Auswahl geeigneter Namen
  • Beziehungen zwischen Typen
  • Interner Aufbau von Typen
  • Vererbung und Erweiterbarkeit
  • Entwurf und Behandlung von Fehlern
  • Richtlinien für häufig verwendete Typen
  • Richtlinien für häufig verwendete Muster
  • Programmierrichtlinien für C#
  • Einsatz von FxCop

Insgesamt ist dieses Buch ein ausgesprochen praktischer Begleiter für jeden Entwickler und Architekten, und lehrt viel über guten Stil und beantwortet ganz nebenbei einige der Fragen, warum gewisse Dinge in .NET so und nicht anders umgesetzt wurden. Kurzum: Uneingeschränkt empfehlenswert!

Review von Windows PowerShell in Action

Donnerstag, 4. Dezember 2008, 19:31 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Nach meinem Review von LINQ in Action von Fabrice Marguerie, Steve Eichert und Jim Wooley habe ich mir das Buch Windows PowerShell in Action von Bruce Payette bestellt, dessen Lektüre ich nun abgeschlossen habe.

Meine Erwartungen an das Buch waren hoch gesteckt: Auf der einen Seite wollte ich eine detaillierte Einführung in die PowerShell und die ihr zu Grunde liegenden Konzepte, auf der anderen Seite allerdings auch einen Überblick über die verfügbaren Cmdlets, und zu guter letzt auch Tipps und Tricks zur Programmierung der PowerShell - quasi eine gelungene Mischung aus Einführung, Lehrbuch und Referenz.

Nachdem ich Windows PowerShell in Action nun durchgearbeitet habe, kann ich sagen, dass es als Lehrbuch und Referenz ausgesprochen gut geeignet ist, dass allerdings die Einführung deutlich zu kurz kommt. Zwar werden alle wichtigen Aspekte der PowerShell angesprochen, sämtliche Inhalte verbleiben aber auf einem verhältnismäßig theoretischen Niveau - die Praxis kommt für meinen Geschmack deutlich zu kurz.

Laut Rückentext zielt das Buch so wohl auf Administratoren wie auch Entwickler ab, und möchte diesen ein Tutorial an die Hand geben. Ein Tutorial ist aber, laut Wikipedia, eine

"schriftliche Gebrauchsanleitung, die mit Hilfe von [...] Beispielen Schritt für Schritt erklärt, wie man mit einem Computerprogramm umgeht oder bestimmte Ergebnisse erzielt."

Und genau diese Schritt-für-Schritt-Anleitung bietet Windows PowerShell in Action eben nicht. Wie gesagt, als Lehrbuch und Referenz ist das Buch unschlagbar, als Einführung ist es aber leider eher weniger geeignet.

Review von LINQ in Action

Donnerstag, 23. Oktober 2008, 10:58 Uhr
Permalink | Kommentare (5) | Kommentare als RSSRSS

Nachdem ich vor zehn Tagen das Buch C# in Depth zu Ende gelesen und einen entsprechenden Review geschrieben habe, war mein Interesse an einer grundlegenden Einführung und weiterführenden Details zu LINQ geweckt. Ich habe mir also direkt im Anschluss das Buch LINQ in Action von Fabrice Marguerie, Steve Eichert und Jim Wooley vorgenommen, dessen Lektüre ich nun gestern Abend abgeschlossen habe.

Prinzipiell gliedert sich das Buch in fünf Teile. Zunächst werden darin in kompakter Form die Grundlagen von LINQ erläutert, bevor im Anschluss die drei wichtigsten Ausprägungen von LINQ, die bereits in .NET 3.5 enthalten sind, ausführlich besprochen werden:

  • LINQ to Objects: An Hand der Abfrage von im Speicher befindlichen Collections werden zunächst die Arbeitsweise von LINQ und die Standard Query Operators erläutert. Auch Spezialitäten wie die verzögerte Ausführung und Überlegungen zur Performance von LINQ werden vorgestellt.
  • LINQ to SQL: Dieser Teil beschreibt, wie LINQ genutzt werden kann, um den SQL Server als relationale Datenbank anzusprechen. Neben der typischen CRUD-Methoden werden auch fortgeschrittene Themen wie Transaktionen, verschiedene Sperrverfahren und der Einsatz von gespeicherten Prozeduren beschrieben.
  • LINQ to XML: Schließlich wird auch noch LINQ to XML behandelt, wobei in diesem Teil besonderes Augenmerk nicht nur auf das Abfragen, sondern vor allem auch auf das Erzeugen von XML gelegt wird. Es werden die verschiedenen Achsenmethoden vorgestellt und an Hand von typischen Anwendungsszenarien gezeigt, wie LINQ to XML eingesetzt werden kann.

Als Abschluss werden im letzten Teil fortgeschrittene Themen wie das Schreiben eines eigenen LINQ-Providers und die Verwendung von LINQ in den diversen Schichten einer Anwendung besprochen.

Insgesamt steht mit LINQ in Action eine sehr ausführliche Einführung zur Verfügung, die jedem uneingeschränkt empfohlen werden kann, der in .NET entwickelt. Ein wesentlicher Aspekt, der nach der Lektüre dieses Buches deutlich wird, ist, dass sich LINQ nicht auf Datenbanken und XML beschränken muss, sondern dass zahlreiche Aspekte der tagtäglichen Anwendungsentwicklung durch den Einsatz von LINQ deutlich vereinfacht werden können.

Review von C# in Depth

Montag, 13. Oktober 2008, 10:18 Uhr
Permalink | Kommentare (3) | Kommentare als RSSRSS

Neben diversen großen Webseiten wie beispielsweise der MSDN oder Live, die man als Entwickler tagtäglich nutzt, gibt es auch einige äußerst lesenswerte private Webseiten oder Blogs. Eine solche Webseite, die ich seit Jahren sehr schätze, enthält eine Sammlung von Artikeln über .NET aus der Feder von Jon Skeet, einem Software Engineer bei Google.

Das Besondere an diesen Artikeln ist, dass Jon Skeet sich jeweils nur einen Aspekt der Sprache C# herauspickt, diesen dann aber in allen Details beleuchtet, und auch vor tiefgreifenden technischen Erklärungen nicht zurückschreckt. Insbesondere sein Artikel über das beforefieldinit-Flag des C#-Compilers hat es mir aus diesem Grund angetan.

Seit April 2008 ist nun auch sein erstes Buch mit dem Titel C# in Depth erhältlich, das sich - vereinfacht gesagt - mit C# 2 und 3 beschäftigt. Allerdings schlägt Jon Skeet darin den gleichen Weg ein, den er bereits mit seinen Artikeln gegangen ist: Er erläutert in diesem Buch nicht, wie zahlreiche andere Bücher es machen, wie LINQ eingesetzt wird. Statt dessen konzentriert er sich auf die relevanten Neuerungen der Sprache und erläutert detailliert, wie sich die Entwicklung dadurch in den einzelnen Versionen von C# verändert.

Allein auf Grund der Idee, zu überlegen, wie Sprachfeatures von C# 3 in einer früheren Version von C# umgesetzt werden mussten, lernt man eine ganze Menge über die Sprache, deren innere Konstrukte und die entsprechenden Paradigmen. Ein Kernaspekt, auf den Jon Skeet zu Recht äußerst ausführlich eingeht, sind Delegaten und deren Weiterentwicklungen wie anonyme Methoden in C# 2 und Lambdaausdrücke und Expression Trees in C# 3.

Selbstverständlich geht auch C# in Depth auf LINQ ein, denn zu wichtig ist dieses Sprachfeature von C# 3, als dass man es einfach unter den Tisch fallen lassen könnte. Allerdings ist diese Sektion bewusst kompakt gehalten, und Jon Skeet verweist an entsprechender Stelle auf geeignete Sekundärliteratur, wie beispielsweise das Buch LINQ in Action.

C# in Depth ist definitiv nicht für Anfänger geeignet, die sich einen Überblick über die Sprache C# verschaffen wollen. Darauf weist Jon Skeet bereits im Vorfeld zur Genüge hin. Wer aber schon einige Jahre mit C# gearbeitet hat, und nun mehr über die Interna der Sprache wissen möchte, und sich zudem dafür interessiert, warum manche Konstrukte so und nicht anders umgesetzt wurden, der wird dieses Buch sehr zu schätzen wissen.