Nicht nur die .NET-Nicks, die für Vista entwickeln, sollten dieses kostenfreie Kit einmal auf den Inhalt prüfen.
Mittwoch, September 05, 2007
Volle Kiste
Nicht nur die .NET-Nicks, die für Vista entwickeln, sollten dieses kostenfreie Kit einmal auf den Inhalt prüfen.
2. .NET Information Day Herbst 2007
Der zweite .NET-Information Day, der von den Microsoft Student Partners und der .NET User Group Frankfurt organisiert und durchgeführt wird, findet am Samstag, den 24. November 2007, statt.
Weitere Informationen zu dieser Veranstaltung werden folgen ...
Samstag, September 01, 2007
Noch ein Literaturhinweis
Nicht nur bei mir kommt dieses Buch gut weg, sondern auch bei Slashdot ;-)
Freitag, August 31, 2007
Anonyme Methoden, Iteratoren und partielle Klassen
Für das fundamentale Verständnis der Funktionsweise von LINQ, Lambda Expressions & Co. ist der Artikel Erstellen eleganten Codes mit anonymen Methoden, Iteratoren und partiellen Klassen ein sehr guter Einstieg.
Aber auch nur für das Verständnis der Möglichkeiten der Programmierung mit C# und dem .NET Framework 2.0 ist dieser Artikel von Juval Löwy ideal.
Aber auch nur für das Verständnis der Möglichkeiten der Programmierung mit C# und dem .NET Framework 2.0 ist dieser Artikel von Juval Löwy ideal.
Kult-Autor des MSDN Magazin
Dino Espostio, der mehr als einhundert Artikel in der Kolumne Cutting Edge des MSDN Magazine veröffentlicht hat, wird während der kommenden BASTA! in Mainz auf dem nächsten Meeting der .NET User Group Frankfurt sprechen.
Ich freue mich sehr, dass ich den Kult-Autor des MSDN Magazin und Mentor bei Solid Quality Learning und Autor von "Programming Microsoft ASP.NET 2.0" in meiner Rolle als Leader der .NET User Group gewinnen konnte. Und so wie es zur Zeit aussieht wird das kommende Meeting der .NET User Group auch an einem speziellen Ort stattfinden.
Lassen wir uns also überraschen ...
Ich freue mich sehr, dass ich den Kult-Autor des MSDN Magazin und Mentor bei Solid Quality Learning und Autor von "Programming Microsoft ASP.NET 2.0" in meiner Rolle als Leader der .NET User Group gewinnen konnte. Und so wie es zur Zeit aussieht wird das kommende Meeting der .NET User Group auch an einem speziellen Ort stattfinden.
Lassen wir uns also überraschen ...
Labels:
.NET User Group Frankfurt,
ASP.NET
Montag, August 27, 2007
Noch immer Langeweile
Wer immer noch Langeweile hat und sich schon die Hand-On Labs zu C# 3.0 angeschaut hat, kann sich die Data Access Tutorials anschauen. Da findet man eine gute und kostenfreie Einführung in ASP.NET 2.0 and VS 2005.
Labels:
ADO.NET,
Architecture,
ASP.NET
Sonntag, August 26, 2007
Ruff un' Runner
Heute bin ich in diesem Sommer zu neunten Mal auf den Feldberg (880 m) im Taunus mit meinem Mountain Bike (Maria II) gefahren.
Meist fahre ich vom S-Bahnhof in Friedrichsdorf (190 m) über die Saalburg (430 m) und den Sandpacken (620 m) auf den Feldberg. Zurück geht’s dann runter meist auf dem anspruchsvollen Limes-Wanderweg, der einige Herausforderungen bietet und meist über verschwiegene Pfade im dichten Hochwald führt. Manchmal fahre ich auch von der Endstation Hohemark der U-Bahn in Oberursel über den Fuchstanz auf den Feldberg. Diese Strecke auf den Feldberg ist wesentlich kürzer als von Friedrichsdorf über die Saalburg und den Sandplacken, aber man muss auch auf der kürzeren Strecke viel mehr Höhemeter bewältigen.Heute bin ich von Butzbach über den Limes-Wanderweg über die Saalburg und den Sandpacken auf den Feldberg gefahren. Runter ging es in schneller Fahrt über den Fuchstanz zur Hohemark in Oberursel. Alles in allem 57,25 km mit 1191 Metern bergauf und 1160 Metern wieder runter. Die Tour habe ich sicher nicht zum letzen Mal gemacht.
Samstag, August 25, 2007
Administer $15 trillion in client assets on a Windows Plattform
Von vielen Administratoren und Entwicklern hört man oft immer wieder die Aussage, dass man auf einer Windows Plattform keine geschäftskritischen Applikationen erstellen und betreiben kann. Das mag vielerlei Gründe haben ...
Das diese Aussagen so jedoch ganz richtig zu sein scheint, zeigen verschiedene Geschäftsapplikationen von Firmen wie OTTO und nun auch von Thomson Financial, die ihr Portfolio Management System PORTIA mit .NET 3.0 (WCF, WF, WPF) auf eine Echtzeit-Transaktions-Applikation erweitert haben.
Damit setzt sich der Trend fort, Transaktionsanforderungen in geschäftskritischen Märkten auf Windows Plattformen und damit auch auf das .NET Framework zu portieren. Diese Domäne wurde bisher von Unix-Derivaten von SUN, IBM & Co. mit Applikationsservern von BEA, Tibco Software und Datenbanken von Oracle, Sybase dominiert.
Die Architekten von Windows und des .NET Frameworks haben wohl ihre Hausaufgaben erfolgreich gemacht, um die Lücke in diesem Segment zu schließen. Schauen wir einmal, wie die Mitbewerber auf .NET 3.5 mit LINQ & Co. reagieren werden, damit sich in ihren angestammten Sektionen keine anderen erfolgreichen Mitbewerber breit machen können.
Labels:
.NET 3.0,
Architecture,
WCF,
WF,
WPF
Mittwoch, August 22, 2007
Gegen Langeweile
Wer viel Langeweile hat kann sich einmal die Hands-On Labs zu den C# 3.0 Langauge Enhancements anschauen. Da vergeht die Langeweile für C#-Freaks schnell.
Freitag, August 03, 2007
NSTM - .NET Software Transactional Memory
Ralf Westphal hat in der Vergangenheit schon einige dolle Dinge ausgebrütet. Eingeweihte werden mir sicher widerspruchslos zustimmen! Oder?
Nun hat er eine mehrteilige Artikelserie zum Software Transactional Memory (STM) auf seinem Block veröffentlicht. Hier stellt er dieses Programmiermodell vor, welches auch schon in einer grob körnigeren Version in einem Artikel der MSDN von Juval Löwy vorgestellt wurde.
Darüber hat er auch seine eigene Implementierung NSTM eines Software Transactional Memorys auf CodePlex veröffentlicht. Diese frei verfügbare Implementierung ist auf jeden Fall ein Download und ein Test wert - zumal das Paket auch den Source Code des STMs enthält ...
Labels:
Architecture,
C#,
Framework
Donnerstag, August 02, 2007
Leonardo dreidimensional
Eigentlich was für die langen Abende im Winter! Paßt aber auch zum Latte Macchiato auf dem heimischen Balkon ...
Tiefe Einblicke in parallele Datenstrukturen und Algorithmen
Wie man in Joe Duffy's Weblog lesen kann, wird er sein Buch zur Concurrent Programming on Windows im Herbst fertig stellen. Sicherlich dauert es dann noch einige Zeit bis das Buch in gedruckter Form vorliegt.
Wer so lange nicht warten möchte kann seinen informativen Artikel Neun wiederverwendbare parallele Datenstrukturen und Algorithmen im MSDN Magazine lesen.
Sicherlich eine Fundgrube für alle .NET-Programmierer, die erkannt haben, dass die effiziente Nutzung vorhandener Ressourcen durch parallele Programmierung zu einer Leistungsverbesserung führen kann. Gerade in einer Zeit, in der mit Dual Core- und Multiprozessor-Rechnern und Speichern in Gigabyte-Bereich die notwendigen Ressourcen nicht nur auf Servern, PCs sondern auch auf den immer beliebteren Notebooks zur Verfügung stehen.
Wer so lange nicht warten möchte kann seinen informativen Artikel Neun wiederverwendbare parallele Datenstrukturen und Algorithmen im MSDN Magazine lesen.
Sicherlich eine Fundgrube für alle .NET-Programmierer, die erkannt haben, dass die effiziente Nutzung vorhandener Ressourcen durch parallele Programmierung zu einer Leistungsverbesserung führen kann. Gerade in einer Zeit, in der mit Dual Core- und Multiprozessor-Rechnern und Speichern in Gigabyte-Bereich die notwendigen Ressourcen nicht nur auf Servern, PCs sondern auch auf den immer beliebteren Notebooks zur Verfügung stehen.
Labels:
Architecture,
Framework,
Literatur
Dienstag, Juli 31, 2007
Neues Eisen
Montag, Juli 30, 2007
Im Westen geht die Sonne unter
LINQ: Csv To Xml
Wie kann man eigentlich mit LINQ schnell mal den Inhalt einer CSV-Datei in eine XML-Datei transferieren.
Wie nachstehende Abbildung zeigt, ist dies nicht so schwierig! Jedoch muss man ein wenig überlegen, wie man bei dem Select-Kommandos die erste Zeile überliest.
Als Lösung habe ich hier eine Outer-Variable gewählt, die - wie bei einer Outer-Variablen üblich - außerhalb des LINQ-Statements (bzw. einer Lambda-Expression = anonymen Methode) deklariert und mit 0 initialisert wird (int lineCounter = 0;). Mit einer Where-Klausel wird dann innerhalb des Statements geprüft ob lineCounter++ > 0 ist und schon wird die erste Zeile übersprungen.
Als Lösung habe ich hier eine Outer-Variable gewählt, die - wie bei einer Outer-Variablen üblich - außerhalb des LINQ-Statements (bzw. einer Lambda-Expression = anonymen Methode) deklariert und mit 0 initialisert wird (int lineCounter = 0;). Mit einer Where-Klausel wird dann innerhalb des Statements geprüft ob lineCounter++ > 0 ist und schon wird die erste Zeile übersprungen.
Samstag, Juli 28, 2007
iPhone in meinen Händen
Heute war ich bei Gravis, weil eine Freundin sich ein MacBook kaufen möchte und wie der Zufall so spielt, hatten sie das erste Mal ein iPhone zur Vorführung bereit. Diese Gelegenheit habe ich mir nicht nehmen lassen, da der Laden fast leer war und der freundliche Verkäufer mir das Handy für einen kurzer Test sogar übergab.
Und ich muss schon ehrlich sagen, dass das Handling dieses attraktiven Winzling extrem beeindruckend war.
Wenn dies nicht der Anfang einer neuen, langen Freundschaft war ...
Orcas Beta II
Nur noch kanpp 30 Minuten bis zum Ende des Downloads der Orcas Beta II. Ich habe mich, weil ich z.Z. auch mit dem VS Team System 2005 arbeite für dessen Nachfolger entschieden.
Es wird sicherlich recht interessant herauszufinden, welche Features sich im TS verbessert haben bzw. neu hinzugekommen sind nachdem ich schon viele Schritte mit der Beta 1 von Orcas gemacht habe.
Einen guten Einstieg in die einfache Installation der Beta II von Orcas bietet Scott Hanselman.
Einen guten Einstieg in die einfache Installation der Beta II von Orcas bietet Scott Hanselman.
Labels:
.NET 3.5,
Orcas,
Visual Studio
Donnerstag, Juli 26, 2007
Tool zur Optimierung der Freizeit
Jedem .NET-Programmierer, der seine (Frei-)Zeit gerne auf dem Sofa vorm Fernseher, der Stereoanlage oder Spielkonsole verbringt und für die Qualität der notwendigen Geräte ordentlich investiert hat, empfehle ich das Visual Studio Add-In ReSharper.
Zugegeben dieses Tool ist nicht kostenfrei. Jedoch weit preiswerter als die meiste Unterhaltungselektronik. Und durch den sinnvollen Einsatz dieses Tools kann leicht mehr Zeit für die Freizeit unter dem Strich herausspringen.
LINQ Where mit .NET 2.0
Mit LINQ ist es ab der kommenden Version 3.5 des .NET Frameworks möglich eine einheitliche Abfragesprache für alle IEnumerables zu verwenden. Diese Query Language ähnelt dem bekannten SQL und enthält auch ein Where-Kommando, um aus einer Collection alle die Elemente auszuwählen, die einer Bedingung entsprechen.
Ein solches Where-Kommando ist auch leicht mit Hilfe von Generics und anonymen Methoden (C#) ab .NET 2.0 zu erstellen. Mittels des folgenden Code-Schnipsels wird die Liste customerList mittels einer anonymen Methode auf Elemente überprüft, deren Eigenschaft Surname mit der Zeichenkette „Muster“ beginnt.
IEnumerable<Customer> names =
EnumerableEnhancement.Where(customerList,
delegate(Customer c)
{
return c.Surname.StartsWith("Muster");
});
Die Methode selbst kann wie folgt implementiert werden:
public static IEnumerable<T> Where<T>(IEnumerable<T> items, Predicate<T> predicate)
{
List<T> list = new List<T>();
IEnumerator<T> enumerator = items.GetEnumerator();
while (enumerator.MoveNext())
{
if (predicate(enumerator.Current))
list.Add(enumerator.Current);
}
return list;
}
Der als Parameter verwendete Delegate Predicate<T> ist als delegate bool Predicate<T> (T obj) in System deklariert. Die Implementierung dieses Delegates definiert einen Satz von Kriterien und bestimmt, ob das übergebene Objekt jene Kriterien erfüllt.
Falls die Kriterien erfüllt sind wird das Objekt der Liste, die zurückgegeben wird, hinzugefügt.
Beutzer von VB.NET können dies beinah auch so machen. Jedoch gibt es bei VB.NET keine anonymen Methoden. Aus diesem Grund dürfen VB.NET eine extra Methode implementieren, die der Signatur des Delegates Predicate<T> entspricht.
Ob dies in VB.NET wirklich so sinnvoll ist, bezweifele ich, da mittels einer Anonymer Methoden wie in C# mehr Möglichkeiten zur Verfügung stehen.
IEnumerable<Customer> names =
EnumerableEnhancement.Where(customerList,
delegate(Customer c)
{
return c.Surname.StartsWith("Muster");
});
public static IEnumerable<T> Where<T>(IEnumerable<T> items, Predicate<T> predicate)
{
List<T> list = new List<T>();
IEnumerator<T> enumerator = items.GetEnumerator();
while (enumerator.MoveNext())
{
if (predicate(enumerator.Current))
list.Add(enumerator.Current);
}
return list;
}
Montag, Juni 18, 2007
Architektur mit .NET
Einen guten Überblick und Einstieg in Architektur mit .NET bietet Skycrapr.
Bemerkenswert ist auch das englischsprachige Skyscrapr Archipedia auf der gleichen Site.
Bemerkenswert ist auch das englischsprachige Skyscrapr Archipedia auf der gleichen Site.
Abonnieren
Posts (Atom)
