Startseite > Techblog > Artikel von Martin Hey
nächste Seite
mhy

Was macht eigentlich einen professionellen Software-Entwickler aus? Mit dieser Frage starten Ralf Westphal und Stefan Lieser gern, wenn sie erklären, worum es bei der Clean-Code-Developer-Initiative eigentlich geht. Und auch genau mit dieser Frage startete die Keynote des dotnetpro Powerdays zum Thema CCD, der am 09.03.2010 in München die Einleitung zu einem dreitägigen Workshop bot. Und die Antworten aus dem Publikum sind sehr reichhaltig: “Man hat Spaß daran, guten Code zu schreiben” und “Man hat Erfahrung.” hört man aus der einen Richtung, “Jemand ist bereit, einem für ein Programm Geld zu geben” und “Man schreibt Code den andere verstehen” aus der anderen Richtung. Letztenendes ist klar: Dies sind nicht die Kriterien für einen professionellen Softwareentwickler, sondern Professionalität aus dem Blickwinkel von CCD ist eine Mischung aus Bewusstheit und Prinzipien. Mit viel Witz und mehren verschenkten Mausmatten als Belohnung für interessante Antworten führen die beiden durch die Keynote und bringen so jedem das Thema näher.

Mit einem kleinen Ausflug in die Softwarearchitektur und einer Betrachtung von Test Driven Development geht der Tag weiter. Klar ist, die beiden wissen was sie rüberbringen wollen und vertreten da auch ihre Meinung recht konsequent. Aussagen wie “Wozu brauche ich einen Debugger – meine Tests zeigen mir doch, wo der Fehler ist”, “Zum Erstellen einer Softwarearchitektur braucht man keine Tools – nur ein Flipchart” sorgen dafür, dass selbst langjährige und erfahrene Entwickler das Problem mal aus einer anderen Richtung betrachten – und wenn uns jemand nach einer Software-Architektur für ein Warenwirtschaftssystem gefragt hat, haben wir dann nicht alle mit einem einzigen “großen Kreis mit Bubbel in der Mitte” auf dem Flipchartpapier geantwortet?

Nach einem Abstecher in Richtung Event Based Programming mit den Hauptakteuren “Paula Portal”, “Anton Adapter”, “Frieda Filter” und “Zacharias Zähler” bestand der Nachmittag darin, eine “Brownfield-Anwendung” im Sinne von CCD sauber zu machen. Leider musste ich nach der Ermittlung der guten und schlechten Eigenschaften der Anwendung die Veranstaltung verlassen, weil sonst mein Flieger ohne mich gestartet wäre, aber ich denke das anschließende Refactoring der Anwendung war auch noch sehr interessant.

Zusammenfassend: Ja, ich mag diese Art von Stefan und Ralf, wie sie solche Veranstaltungen durchführen, unabhängig davon ob sie kostenfrei auf Usergroups sind oder ob sie Workshops durchführen. Denn so wird man abseits vom täglichen Geschäft dazu animiert, mal neue Wege einzuschlagen oder anders an ein Thema heranzugehen. Schade ist, dass es im Tagungsraum im Untergeschoss kein WLAN oder UMTS gab, denn sonst wären einige der Sprüche der beiden sicher sofort per Twitter in der virtuellen Welt gelandet.

Und der Ausspruch eines Teilnehmers “Ich bin der, der unbedingt hierher wollte, weil es interessant ist; mein Kollege hätte es aber eigentlich nötig gehabt, das mal mitzumachen.” zeigt, dass das Thema durchaus interessant ist, aber noch nicht alle die Notwendigkeit gesehen haben, wirklich professionell zu arbeiten.

kick it on dotnet-kicks.de

Kommentar Feed Trackback URL
mhy

SharePoint 2010 bietet mit der Assembly Microsoft.SharePoint.Linq.dll (zu finden im Ordner 14\ISAPI) die Möglichkeit, recht einfach Listeninhalte abzufragen. Wenn man sich etwas näher damit beschäftigt, kann man sehr viele Parallelelen zu LINQ to Objects und Linq to SQL entdecken.

Erster Schritt ist, eine Referenz auf die genannte Assembly hinzuzufügen. Ab diesem Zeitpunkt steht der Namespace Microsoft.SharePoint.Linq zur Verfügung. Dieser beinhaltet die Klasse DataContext, über die ähnlich wie bei LINQ to SQL auf die Inhalte zugegriffen werden kann. Die Initialisierung des Kontexts ist recht einfach – hierzu wird einfach im Konstruktor des Objekts die Url der zu verwendenden Site übergeben.

Vor dem Erfolg steht aber ein wenig Arbeit, denn der Zugriff ist typsicher und so müssen für die verwendeten Inhaltstypen Klassen angelegt werden. Auch hier zeigen sich wieder Parallelen zu bereits Bekanntem: Mit Hilfe des Tools SPMetal (zu finden im Ordner 14\BIN) können die Klassen auf Basis einer bestehenden Site automatisch erstellt werden.

Ab diesem Zeitpunkt ist es recht einfach, wie das folgende Beispiel zeigt:

DataContext data = new DataContext("http://mysite/");

EntityList<Page> wikiPages = data.GetList<Page>("Pages");
var filteredPages = from wikiPage in wikiPages
            where wikiPage.Name == "Inline-Process-Editor.aspx"
            select wikiPage;

foreach (var filteredPage in filteredPages)
{
    Console.WriteLine(filteredPage.Path);
}

Kommentar Feed Trackback URL
mhy

Das nächste Treffen der .NET Usergroup Dresden steht vor der Tür: Die .NET-Usergroup Dresden trifft sich das nächste Mal am 24.02. um 18:00 Uhr. Auch dieses Mal verspricht es wieder sehr interessant zu werden: Alexander Groß – vielen bekannt von der .NET Usergroup Leipzig – macht mit uns einen Rundgang durch sein aktuelles Projekt. Technisch wird das sehr interessant, denn mit dabei ist eine bunte Mischung von Technologien, Produkten und Frameworks – um nur wenige zu nennen: FubuMVC, NHibernate, MSpec, AutoMapper, ReSharper, Rake und MSDeploy. Ohne Slides aber dafür direkt am lebenden Objekt gezeigt, bleibt viel Raum für Diskussionen und Fragen.
Wir treffen uns dieses Mal in unseren Räumen. Nähere Informationen zum Termin gibt es im Xing und auf der Seite der .NET-Usergroup Dresden.

Kommentar Feed Trackback URL
mhy

Morgen findet das erste Usergroup-Treffen in diesem Jahr statt. Dieses Mal treffen wir uns bei der datafino GmbH am Waldschlösschen. Für alle, die noch nicht dort waren, gibt es auch eine Anfahrtsbeschreibung.

Thematisch gibt es auch dieses Mal eine interessante Mischung aus Entwickler- und Anwenderthemen:

Zunächst widmet sich Ronny Schattauer gemeinsam mit uns dem Thema Datenmodellierung in SharePoint mit Hilfe von Microsoft Visio. Dabei geht es sowohl um die Modellierung der Datenstrukturen in UML als auch um die automatische Generierung von Programmcode zur Verwendung in SharePoint Solutions aus eben diesen Modellen.

Im Anschluss daran setzen wir eine Diskussionsrunde zum Thema Web 2.0 Funktionen in SharePoint 2010. Bei der letzten Usergroup haben wir uns ja dem großen Thema SharePoint 2010 gewidmet. Dabei haben wir auch gesehen, dass sich sehr viel im Bereich Web 2.0-Funktionalität getan hat – um nur einige Features zu nennen: Wiki-Verbesserungen, Tagging und Kommentierung. Seitdem hat sicher der ein oder andere schon Eindrücke sammeln können, die wir gern diskutieren würden: Sind die bisherigen Ansätze überhaupt in der Praxis brauchbar?

Weitere Informationen und die Möglichkeit zur Anmeldung gibt es im Xing-Event.

Ansprechpartner für Rückfragen: Sascha Henning, Martin Hey

Kommentar Feed Trackback URL
mhy

Marko hat in seinem Blogeintrag Mitte des Jahres schon gezeigt, wie man mit Hilfe von Detail Formatern die Ausgaben von Eclipse während des Debuggings vereinfachen oder besser lesbar machen kann – ähnliche Funktionalitäten gibt es auch im Visual Studio.

Bei Objekten wird im Debugger in der Regel im Feld Value nur der Typ des Objekts angezeigt. Mit Hilfe des Plus-Zeichens kann man dann durch die Eigenschaften navigieren.

20091217_debugger01

Bei nur wenigen Eigenschaften ist das noch recht übersichtlich. Aufwändiger wird es, wenn man eine komplexe Objektstruktur hat.

Mit Hilfe des DebuggerDisplay-Attributes kann man die primäre Ausgabe noch anpassen und so direkt die wichtigsten Eigenschaften sichtbar machen ohne das Objekt im Debug-Fenster aufklappen zu müssen.

20091217_debugger02
20091217_debugger03

Kommentar Feed Trackback URL
mhy

Am 10.12. fand in Chemnitz ein Treffen der .NET Usergroup statt. Dieser Termin stand voll und ganz unter dem Thema SharePoint.

Da wir während unserer täglichen Arbeit sehr viel mit SharePoint zu tun haben und auch die SharePoint Usergroup hier in Dresden mit veranstalten, nutzten Anne Rüger, Torsten Hufsky und ich die Gelegenheit für einen Ausflug nach Chemnitz. Im TCC angekommen wurden wir sehr freundlich aufgenommen.

In einer ersten Präsentation gab ich einen kurzen Überblick über die Features von WSS 3.0 und MOSS 2007. An ein paar Beispielen zeigte ich, wie man Workspaces erstellt, Listen anlegt, mit Hilfe der Tools Central Administration und stsadm das Portal administrieren kann und im den SharePoint Designer einfache Workflows zu erzeugen.

Im weiteren Verlauf gaben Anne und Torsten einen kurzen Einblick, wie man serverseitig auf das Objektmodell zugreift und was man dabei beachten muss – als Stichworte hierfür: “Disposing von Objekten”, “Elevated Privileges”  – und wie man von einem Client mit Hilfe der integrierten Webservices auf Listen und Webs zugreift.

Das Feedback der anderen Teilnehmer war durchweg positiv und auch wir hatten viel Spaß dabei, das Produkt vorzustellen, etwas aus dem Nähkästchen zu plaudern und spannende Themen mit denjenigen zu besprechen, die schon Erfahrungen hatten und über ähnliche Probleme gestolpert sind und Erfolgserlebnisse zu teilen.

Ich bin schon sehr gespannt und freue mich auf weitere Treffen und auf gemeinsame Themen.

Kommentar Feed Trackback URL
mhy

Am 17.11.2009 fand nun mittlerweile zum fünften Mal ein Treffen der SharePoint UserGroup Dresden mit dem inhaltlichen Schwerpunkt SharePoint 2010 statt. Wie die große Teilnehmerzahl von 25 begeisterten UserGroup-Mitgliedern beweist, stößt genau dieses Thema aktuell auf großes Interesse. Nach ein paar einleitenden Worten von mir zeigten Sascha Henning und Torsten Hufsky welche Neuigkeiten es gibt.

20091119_SharePoint2010Pie

Da Sascha im Oktober bei der SharePoint Conference in Las Vegas und Christian im November bei der TechEd Europe in Berlin war, hatten wir auch zwei Teilnehmer dabei, die mit detaillierten Informationen dienen und Fragen beantworten konnten.

Zentraler Inhalt der einführenden Vorstellung war die neue SharePoint 2010 Pie. Anhand von Beispielen erläuterte Sascha, was es genau mit den einzelnen Bereichen auf sich hat und was es zu beachten gibt. Im Anschluss daran haben wir uns die neu sortierte Zentraladministration etwas näher angeschaut und Torsten zeigte wie einfach man Adminitrationsaufgaben mit Hilfe der PowerShell durchführen kann. Nach einer kurzen Stärkung und der Gelegenheit, sich dabei mit anderen Teilnehmern auszutauschen, gab es noch einen kurzen Überblick über Sachverhalte, die Entwickler mit der neuen Version des SharePoint beachten sollten. Es war ein sehr informativer Abend für alle Teilnehmer.

Thematisch passend veröffentlichte Microsoft am 18.11. die SharePoint 2010 Public Beta; damit kann nun das Gelernte direkt am System ausprobiert werden.

Kommentar Feed Trackback URL
mhy

Am 10.12.2009 findet ein Treffen der .NET Usergroup Chemnitz statt. Das Spannende daran ist, dass es diesmal für die Teilnehmer ein kleiner Blick über den Tellerrand wird. Der Termin hat nämlich das große Thema SharePoint. Aus diesem Grund wird es an diesem Tag 2 Vorträge geben, die das Thema etwas näher beleuchten und den Einstieg in die Entwicklung mit SharePoint geben sollen.

Kleiner Bruder – großer Bruder
Sowohl WSS als auch auch sein “großer Bruder” MOSS 2007 sind leistungsfähige Collaboration-Tools. In einer einführenden Präsentation wollen wir zeigen, wie die grundlegende Architektur dieser Lösungen aussieht und welche Gemeinsamkeiten und Unterschiede es inhaltlich gibt.  In wenigen No-Code-Beispielen wird demonstriert, wie ein Portal zusammengestellt und konfiguriert werden kann.

using (new SharePoint())
Für Entwickler am interessantesten sind immer Code-Beispiele und die sollen natürlich auch nicht zu kurz kommen, wenn wir auf einer Entwickler Usergroup sind. Über das Objektmodell und die bereitgestellten Webservices kann der SharePoint ganz leicht an eigene Bedürfnisse angepasst werden. Eigene WebParts, Workflows und Features können leicht in das Portal integriert werden und Funktionen bereitstellen, die es mit Standard-Boardmitteln nicht gibt.

Nähere Informationen zum eigentlichen Termin und unter anderem auch zu Ort und genauer Startzeit findet man auf der Seite der .NET Usergroup Chemnitz.

Kommentar Feed Trackback URL
mhy

Im letzten Treffen der .NET Usergroup Dresden ging es um das Thema Silverlight. In einem Workshop haben wir gemeinsam eine kleine mehrschichtige datengebundene Applikation zusammengebaut. Mit dabei waren Silverlight-Newbees, aber auch Professionals und Grafiker. So war es für alle recht interessant, da jeder seine Erfahrungen mit einbringen konnte und auch auf den ein oder anderen Stolperstein aufmerksam gemacht wurde oder Tricks verraten wurden.

Beim anschließenden Stammtisch-Treffen im Newtown kam dann die soziale Komponente noch etwas mehr zum tragen und bei dem ein oder anderen Bier kam es dann zu tiefgreifenden philosophischen Erkenntnissen.

Eine Downloadmöglichkeit für den Beispielcode wird bestimmt in den nächsten Tagen noch im Blog der Usergroup bereitgestellt.

Kommentar Feed Trackback URL
mhy

Am 29. und 30. September fand im Kultur- und Kongresszentrum in Rosenheim eine Konferenz  statt, die sich ganz dem Thema SQL-Server widmete – die SQLdays.

Der Morgen des ersten Tages begann mit einer Keynote von Steffen Krause (Technical Evangelist, Microsoft Germany), der einen Überblick über die Neuerungen in SQL Server 2008 R2 gab – mit dabei “Madison”, “Gemini”, Reporting Services und Complex Event Processing.

Durch diese Keynote und mein latent vorhandenes Interesse für Business Intelligence wurde auch mein Interesse für das Projekt Gemini geweckt und ich begab mich direkt im Anschluss in eine Session in der Markus Raatz tiefergehende Informationen und ein Beispiel für Gemini zeigte. Mittlerweile hat Gemini einen neuen Namen und heißt PowerPivot – trotzdem ist der Ansatz nach wie vor interessant und ich werde mich noch etwas mehr damit beschäftigen.

Da Steffen Krause bereits bei einer unserer UserGroup-Treffen über die Best Practises mit SQL Server und SharePoint gesprochen hat, zog es mich dann in die Session von Georg Gamsjäger, der Tipps und Tricks zum Auffinden problematischer Abfragen gab. Hier gab es zwar keine wesentlichen neuen Erkenntnisse für mich – aber es ist ja auch ein gutes Gefühl, zu wissen, dass man bisher alles richtig gemacht hat.

Im Anschluss daran gab Markus Raatz noch einen kleinen Überblick, welche hilfreichen Tools CodePlex für das Thema BI bereithält und nach einer kurzen Kaffeepause zeigte er, wie man Reporting Services als OLAP-Client verwenden kann und wie man mit Hilfe von MDX-Parametern komplexe Anforderungen umsetzen kann.

Den Abschluss des Abends bildete eine Abendveranstaltung, auf der soziale Kontakte gepflegt werden konnten und das ein oder andere Thema auch außerhalb von SQL-Server besprochen werden konnte.

Der zweite Tag begann für mich mit einer Präsentation von Klaus Aschenbrenner, der in seiner Session “Service Broker 0 to 100″ mit uns gemeinsam eine SOA-Anwendung basierend auf dem SQL Server Service Broker aufbaute.

Danach zog es mich in die Session von Peter Gentsch, der zeigte, wie Social Mining im Web 2.0 funktioniert und wie diese Daten so aufbereitet werden können, dass Trends erkennbar und auswertbar sind.

Im Anschluss daran zeigte Andreas Rauch anhand von ein paar No-Code-Beispielen wie man SQL-Server-Daten im SharePoint anzeigen kann und wies auf Fallstricke hin. Er fuhr dann auch gleich mit dem Thema “Performance Tuning” fort wobei er im Grunde zeigte, wie anhand von Ausführungsplänen nachvollzogen werden kann, was SQL Server eigentlich treibt und an welchen Stellen man wie optimierend eingreifen kann.

Die letzte Session bildete für mich dann ein Vortrag von Klaus Aschenbrenner, in dem er den syntaktischen Zucker zeigte, der mit T-SQL in der SQL-Server Version 2008 hinzugekommen ist.

Zusammengefasst waren es zwei informative Tage und auch wenn einiges aus der täglichen Arbeit schon bekannt war, so gab es doch den ein oder anderen nützlichen Hinweis – sowohl aus den Sessions als auch aus den Gesprächen während der Kaffeepausen.

Kommentar Feed Trackback URL
nächste Seite

Tag Cloud

Unsere Themen

Kommentare

  • SharePoint_Team: Rückblick zum Treffen der .NET Usergroup Dresden am 24.02.2010: im #Communardo #Techblog...
  • TorstenHu: Rückblick zum Treffen der .NET Usergroup Dresden am 24.02.2010: im #Communardo #Techblog...
  • SharePoint_Team: Neuer Blogpost zur #BastaCon im #Communardo #TechBlog: http://tinyurl.com/yjqyqpb This comment was...
  • SharePoint_Team: Nur noch etwa 1 Stunde, dann beginnt die .NET Usergroup… http://bit.ly/dxDoKg This comment was...
  • SharePoint_Team: RT @TorstenHu: ViS is waiting for an operation oder Warum Copy & Paste schlecht ist: #Communardo...

Twitter