Vergangene Livecasts und Podcasts!

[21.10.2007] Datenzugriff mit SubSonic | Details | Download
[16.09.2007] ASP.NET Teil 3 - Enterprise Umgebungen | Details | Download
[02.09.2007] ASP.NET Teil 2 - Benutzerdefinierte Erweiterungen | Details | Download
[26.08.2007] Windows Live ID Development | Details | Download
[19.08.2007] ASP.NET Teil 1 - Basiswissen | Details | Download
Alle Livecasts (Insgesamt 9) | Alle Podcasts (Insgesamt 7)


 Wednesday, February 28, 2007
Leider hat uns gestern ereilt, wovon wir hofften, es möge nie eintreffen. Bedingt durch ein Skypecast-Problem konnte der Livecast nicht durchgeführt werden. Dies stieß nicht nur uns übel auf, sondern auch den Höhrern, die sich bereits auf den Livecast gefreut haben.

Was wir nun tun:
Wir sehen hier dringenden Handlungsbedarf und suchen daher eifrigst nach einer alternativen Lösung. Wer immer eine Anregung oder Idee hat, möge sich bitte mit uns in Verbindung setzen.

Wir hoffen dies schnellstmöglicht verbessern zu können.

PS: Der ausgefallene Livecast wird natürlich nachgeholt. Eine genaue Information diesbezüglich wird noch veröffentlicht.

posted on Wednesday, February 28, 2007 8:32:03 AM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Tuesday, February 27, 2007

Aufgrund der technischen Probleme seitens Skype hat sich die Url verändert. Sie lautet jetzt:

https://skypecasts.skype.com/skypecasts/skypecast/detailed.html?id_talk=483996

posted on Tuesday, February 27, 2007 8:05:08 PM (W. Europe Standard Time, UTC+01:00) by Kai Gloth  #    Comments [2] Trackback
Unsere Banner stehen nun zur Verfügung. Wer uns also unterstützen möchte, wird gebeten, einen der Banner in die jeweilige Homepage zu integrieren und zu verlinken. Im Falle einer Verlinkung wäre eine kurze Benachrichtigung erbeten.

Ein Banner aus der Serie:


posted on Tuesday, February 27, 2007 11:20:00 AM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
Eine kleine Erinnerung: Heute um 20:00 Uhr findet wieder wie gewohnt unser Livecast statt. Diesmal zum Thema Globalisierung. Durch die Show führt heute Kai Gloth. Genaue Informationen sind auf der Informationsseite zum 6. Livecast zu finden.

Ab Freischaltung des Livecasts kann man unter https://skypecasts.skype.com/skypecasts/skypecast/detailed.html?id_talk=481335 dem Livecast beitreten.

posted on Tuesday, February 27, 2007 8:44:17 AM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Friday, February 23, 2007
.NET Casts durfte die nächste Änderung erfahren. Einige haben es vielleicht schon gesehen, da es auf einer Seite bereits angekündigt wurde:

Nach reiflicher Überlegung haben wir uns entschieden, die Podcasts aufzulassen. Diese werden als nicht mehr angeboten. Der bereits aufgenommene bleibt also ein Unikat. Der Hintergrund liegt darin, dass wir unsere wöchentlichen Livecasts mit Themen ausgestattet haben und ein Livecast wesentlich dynamischer ist, als ein Podcast. Durch von Zuhörern gestellten Fragen erhöht sich der Praxisbezug. Dadurch ergibt sich für den Zuhörer ein weit verbesserter Nutzen.

Zusätzlich ergibt sich ein weiterer Vorteil - vor allem für die aktiven Teilnehmer - den wir an dieser Stelle jedoch noch nicht verraten möchte. Laßt euch überraschen.

Sollte ein Hörer/Leser diese Entscheidung nicht nachvollziehen können und sich weiterhin Podcasts wünschen, bitte einfach an uns unter Angabe von entsprechenden Argumenten wünschen.

Euer .NET Casts Team

posted on Friday, February 23, 2007 7:44:54 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Wednesday, February 21, 2007

Oft müssen Objekte zwischen unterschiedlichen Anwendungen (auch über Netzwerke hinweg) ausgetauscht oder einfach nur lokal persistiert (gespeichert) werden (um beispielsweise den Zustand eines Objektes zu speichern). Das Problem besteht nun darin, Objekte nicht ohne Weiteres transferiert werden können. Sie müssen dafür in eine spezielle Form gebracht werden. Dieser Vorgang nennt sich Serialisierung. Mögliche Formen (die durch das .NET Framework zur Verfügung gestellt werden) sind
  • Binary
  • XML
  • Soap

1. Binäre Serialisierung


Die binäre Serialisierung ist die Standardserialisierung im .NET Framework. Die Klasse BinaryFormatter stellt die Methoden Serializer() und Deserialize() zum Serialisieren bzw. Deserialisieren zur Verfügung.


1.1 Verwendete Namespaces in diesem Beispiel


  • System.IO
  • System.Runtime.Serialization
  • System.Runtime.Serialization.Formatters.Binary

1.2 Beispiel Standardverhalten

using System;
using System.Collections.Generic;
using System.Text;

namespace SerializationDemo
{
[Serializable]
public class Person
{
#region Members

private string _firstname = null;
private string _lastname = null;

#endregion Members

#region Properties

public string Firstname
{
get { return this._firstname; }
set { this._firstname = value; }
}

public string Lastname
{
get { return this._lastname; }
set { this._lastname = value; }
}

#endregion Properties
}
}

Mit folgendem Code kann die Serialisierung nun vorgenommen werden:

FileStream fs = new FileStream("SerializedObjekt.Binary.bin", FileMode.Create);

BinaryFormatter bf = new BinaryFormatter();

Person person = new Person();
person.Firstname = "Norbert";
person.Lastname = "Eder";

bf.Serialize(fs, person);

fs.Close();


1.3 Beispiel IDeserializationCallback

Durch die Implementierung des Interfaces IDeserializationCallback ist es möglich, direkt nach der Deserialisierung Aktionen einzuleiten. Als Beispiel wäre die Berechnung eines Wertes denkbar, der aufgrund seiner Berechnung nicht serialisiert wurde, da dieser Wert nach der Serialisierung neu generiert werden kann. Dadurch kann zusätzlich der Serialisierungs-Output klein gehalten werden, was bei einer Netzwerkübertragung von Vorteil ist.

Für dieses Beispiel wird eine Klasse verwendet, die einen berechneten Wert enthält. Dieser wird durch das Attribute [NonSerialized()] nicht serialisiert. Zu beachten ist, dass dieses Attribut nur auf Feld-Ebene vergeben werden kann. Eigenschaften können damit nicht gekennzeichnet werden.

[Serializable]
public class CalculatedData : IDeserializationCallback
{
#region Members

private int _number1 = 0;
private int _number2 = 0;

[NonSerialized()] public int Total = 0;

#endregion Members

#region Properties

public int Number1
{
get { return this._number1; }
set { this._number1 = value; }
}

public int Number2
{
get { return this._number2; }
set { this._number2 = value; }
}

#endregion Properties

#region IDeserializationCallback Members

public void OnDeserialization(object sender)
{
this.Total = this._number1 + this._number2;
}

#endregion
}

Zu beachten ist die Implementierung des Interfaces IDeserializationCallback. Dadurch muss die Methode OnDeserialization implementiert werden. Diese wird unmittelbar nach der Deserialisierung aufgerufen und übernimmt in diesem Beispiel die Berechnung des öffentlichen Feldes Total.

MemoryStream ms = new MemoryStream();

BinaryFormatter bf = new BinaryFormatter();
CalculatedData cd = new CalculatedData();
cd.Number1 = 1;
cd.Number2 = 3;

bf.Serialize(ms, cd);

ms.Position = 0;
CalculatedData cd2 = (CalculatedData)bf.Deserialize(ms);
Console.WriteLine(String.Format("Total: {0}", cd2.Total));

Wird dieser Code ausgeführt, ist ersichtlich, dass der Wert Total erfolgreich berechnet wurde.


1.4 Beispiel einer benutzerdefinierten Serialisierung


Eine Serialisierung kann der Entwickler auch selbst in die Hand nehmen. Neben einer kompletten Eigenentwicklung besteht auch die Möglichkeit das Interface ISerializeable zu implementieren. Dadurch steht die Methode GetObjectData zur Verfügung, die als Parameter ein SerializationInfo-Objekt und ein StreamingContext-Objekt erhält.

Dem SerializationInfo-Objekt kann nun mittels der Methode AddValue ein Key-Value-Paar übergeben werden. Diese Informationen werden dann durch den verwendeten Formatter zur Serialisierung herangezogen.

Des weiteren muss ein Konstruktor mit den genannten Parametern erstellt werden. Dieser wird in weiterer Folge für die Deserialisierung verwendet. Ebenfalls zu achten ist, dass ein parameterloser Konstruktor zur Verfügung steht.

[Serializable]
public class CustomSerializationPerson : ISerializable
{
#region Members

private string _firstname = null;
private string _lastname = null;

#endregion

#region Properties

public string Firstname
{
get { return this._firstname; }
set { this._firstname = value; }
}

public string Lastname
{
get { return this._lastname; }
set { this._lastname = value; }
}

#endregion

#region ISerializable Members

public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
info.AddValue("Firstname", this._firstname);
info.AddValue("Lastname", this._lastname);
}

public CustomSerializationPerson()
{
}

public CustomSerializationPerson(SerializationInfo info,
StreamingContext context)
{
this._firstname = info.GetString("Firstname");
this._lastname = info.GetString("Lastname");
}

#endregion
}

Diese Beispielklasse verfügt über alle notwendigen Methoden und Konstruktoren und kann daher zur Serialisierung verwendet werden:

MemoryStream ms = new MemoryStream();

BinaryFormatter bf = new BinaryFormatter();
CustomSerializationPerson csp = new CustomSerializationPerson();
csp.Firstname = "Norbert";
csp.Lastname = "Eder";

bf.Serialize(ms, csp);

ms.Position = 0;
CustomSerializationPerson cd2 = (CustomSerializationPerson)bf.Deserialize(ms);
Console.WriteLine(String.Format("Firstname: {0}, Lastname: {1}", csp.Firstname, csp.Lastname));


1.5 Serialisierungsereignisse


In der Standardserialisierung können insgesamt vier Ereignisse verwendet warden, um auf die Serialisierung bzw. auf die Deserialisierung zu reagieren.



Die Besonderheit dieser Ereignisse ist nun die, dass diese als Attribute gesetzt werden. Damit werden Methoden gekennzeichnet, die jeweils aufgerufen werden sollen. Zu beachten ist, dass diese Methoden als Rückgabetyp void besitzen müssen. Zusätzlich sind diese Ereignisse nur für die Standard-Serialisierung-Verfahren verfügbar.

Eine Erweiterung der Person-Klasse sieht wie folgt aus:

[Serializable]
public class Person
{
#region Members

private string _firstname = null;
private string _lastname = null;

#endregion Members

#region Properties

public string Firstname
{
get { return this._firstname; }
set { this._firstname = value; }
}

public string Lastname
{
get { return this._lastname; }
set { this._lastname = value; }
}

#endregion Properties

#region Private Methods

[OnDeserialized()]
private void OnDeserializedHandler(StreamingContext context)
{
if (this._firstname == null)
this._firstname = "[Not Given]";
if (this._lastname == null)
this._lastname = "[Not Given]";
}

#endregion
}

In diesem fall wird nach dem Deserialisierungsvorgang die Methode OnDeserializedHandler aufgerufen. In diesem werden die Member, wenn nicht gesetzt, auf [Not Given] gestellt. Wird nun bei der Serialisierung einer dieser Member nicht befüllt, kann das Ergebnis nach der Deserialisierung bewundert werden.


2. XML-Serialisierung

Die XML-Serialisierung zählt nicht zu den .NET Standardserialisierungs-Verfahren und ist daher auch in einem anderen Namespace zu finden:
  • System.Xml.Serialization

2.1 Beispiel

Die Verwendung dieses Serialisierungsverfahren funktioniert ähnlich zum BinaryFormatter. Gleich sind die angebotenen Methoden Serialize und Deserialize. Unter der Verwendung der bereits erwähnten Klasse Person sieht eine Serialisierung nun folgendermaßen aus:

System.IO.StringWriter sw = new StringWriter();
XmlSerializer xmlSer = new XmlSerializer(typeof(Person));

Person person = new Person();
person.Firstname = "Norbert";
person.Lastname = "Eder";

xmlSer.Serialize(sw, person);

StringBuilder sb = sw.GetStringBuilder();

Console.WriteLine(sb.ToString());

Die Ausgabe:

<?xml version="1.0" encoding="utf-16"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Firstname>Norbert</Firstname>
<Lastname>Eder</Lastname>
</Person>


2.2 XML-Serialisierungs-Attribute

Mit Hilfe von Attributen kann die XML Serialisierung gesteuert werden. Nachfolgend eine Übersicht der zur Verfügung stehenden Attribute.





3. Sonstiges

3.1.    Was passiert bei der Deserialisierung

Bei der Deserialisierung werden die zu deserialisierenden Daten streng sequentiell abgearbeitet und das ursprüngliche Objekt hergestellt. Dieser Vorgang kann mitunter sehr komplex werden. Dies ist dann der Fall, wenn das serialisierte Objekt Referenzen auf andere Objekte hält, welche ebenfalls serialisiert wurden. Dafür verwendet das .NET Framework einen ObjektManager. Dieser hält fest, was bereits deserialisiert wurde und welche Bereiche noch ausstehen. Hierbei wird zwischen zwei Arten von Verweisen unterschieden:
  • Rückwärtsverweis
  • Vorwärtsverweis

Ein Rückwärtsverweis kommt zustande, wenn ein referenziertes Objekt bereits deserialisiert wurde. Dieses ist mit einem Fixup versehen und wird daher nicht nochmals deserialisiert. Bei einem Vorwärtsverweis wurde das referenzierte Objekt noch nicht deserialisiert. Ist dieser Verweis deserialisiert, wird er als abgeschlossen markiert.


posted on Wednesday, February 21, 2007 10:15:51 AM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Tuesday, February 20, 2007

Der Mitschnitt des 5. Livecasts steht ab sofort zur Verfügung. Als Thema wurde die .NET Serialisierung recht ausführlich behandelt. Der Download ist dieses Mal etwas höher als die letzten Mitschnitte, da bewusst versucht wurde, die Qualität zu verbessern (sofern dies über Skypecasts möglich ist).

Heruntergeladen werden kann der Livecast unter DotNetCasts - Live!.

In Kürze werden wir ebenfalls einen Artikel zu diesem Thema bereitstellen, der das Besprochene zusammenfasst und anhand kleiner Beispiele die Verwendung zeigt.

 

 

posted on Tuesday, February 20, 2007 11:00:24 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
Heute um 20:00 Uhr findet der nächste Livecast statt. Diesmal dreht sich alles um das Thema .NET Serialisierung. Zusätzlich können natürlich auch wieder andere .NET betreffende Fragen gestellt werden. Eine vereinfachte Teilnahme ist ab der Freischaltung in der Box Nächste Livecasts unter dem Punkt Teilnehmen möglich.

Welche Punkte der .NET Serialisierung werden behandelt?

  • Allgemeine Grundlagen
  • Serialisierung / Deserialisierung (auch Internas)
  • Binary / XML
  • Benutzerdefinierte Serialisierung
  • und mehr
Wir freuen uns auch dieses Mal wieder auf eine rege Diskussion.

posted on Tuesday, February 20, 2007 3:53:27 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Monday, February 19, 2007
Aber natürlich!

In diesem Sinne dürfen wir voller Freude und Elan bekannt geben, dass sich unser Team verstärkt hat. Und nein, hier gesellt sich kein Nobody zu uns. Ein Vollblut-MVP für ASP.NET schimpft sich zukünftig .NET Casts-Mitglied. Lange Rede kurzer Sinn:



Peter Bucher
Microsoft MVP - Visual Developer ASP / ASP.NET
http://www.aspnetzone.de/blogs/peterbucher/default.aspx

Mit seinem Wissen und seinem Elan wird er uns tatkräftig unterstützen und weitere Verbesserungen bringen. Wir freuen uns sehr, dass Peter bei .NET Casts eingestiegen ist und uns, sowie unseren Lesern, Hörern und baldigen Sehern zur Seite steht.

Herzlich willkommen!

posted on Monday, February 19, 2007 8:30:05 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
Wer sich unseren ersten Podcast angehört hat, weiß, dass wir anstatt langer Links sogenannte Codes verwenden. Diese Codes können auf der Seite des Podcasts nachgeschlagen werden und liefern dann den entsprechenden Link auf die Ziel-Webseite.

Um dies ein wenig zu vereinfachen, gibt es ab sofort den .NET Casts Codes Resolver, der diese Aufgabe vereinfacht. Es handelt sich dabei um eine kleine Windows-Anwendung, die alle Informationen zu unseren Podcasts aktuell hält und auch sämtliche Codes bereitstellt. Für das Update sorgt dieses Tool von selbst. Genauere Informationen gibt es auf der Seite des .NET Casts Codes Resolver.

posted on Monday, February 19, 2007 12:33:44 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Sunday, February 18, 2007

In den letzten Tagen haben sich zahlreiche Änderungen auf .NET Casts eingefunden. Hauptaugenmerk liegt dabei aktuell bei der Anzeige von Informationen (wann findet was genau statt). Infolge dessen waren natürlich auch Änderungen am Layout notwendig.

Auf der rechten Seite finden sich nun zwei neue Sidebars:

  • Nächste Livecasts
  • Nächster Podcast

Damit ist auf einen Blick ersichtlich, wann welcher Livecast stattfindet, welches Thema behandelt wird inkl. dem Link zum Skypecast selbst (die Anmeldung selbst ist erst ab der Freischaltung des Livecasts möglich).

Ebenfalls überarbeitet wurden auch unsere Inhaltsseiten - hier wird es in den nächsten Tagen weitere Änderungen geben, um die Inhalte besser zu strukturieren.

Weitere Features sind bereits in Planung ...

 

posted on Sunday, February 18, 2007 2:00:18 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Thursday, February 15, 2007
Unsere Livecasts entwickeln sich weiter. Dies nicht nur bedingt durch unsere gemachten Erfahrungen, nein, auch Rückmeldungen geben hierzu einen entscheidenden Anhaltspunkt.

Zukünftig werden alle Livecasts unter einem bestimmten Thema stehen. Dieses Thema wird von uns rechtzeitig bekannt gegeben. Hier nun die Themen der nächsten drei Livecasts:

20. Februar 2007

    Serialisierung
  • Was ist Serialisierung?
  • Einsatzgebiete
  • Benutzerdefinierte Serialisierung
  • und mehr

27. Februar 2007

    Globalisierung / Lokalisierung
  • Unterschied Globalisierung und Lokalisierung
  • Ressourcen

6. März 2007


    Webservices
  • Grundlagen
  • Einsatzgebiete
  • und mehr
Die Livecasts beginnen stets um 20:00 Uhr.

Ablauf

Auch zum Thema Ablauf gibt es einige Änderungen. Wie bereits erwähnt, steht ab sofort jeder Livecast unter einem bestimmten Thema. Dieses Thema wird zuerst vorgetragen und anschließend in einer Diskussion besprochen. Anschließend können allgemeine Fragen gestellt werden.

Wer zu einem jeweiligen Thema bereits Fragen hat, kann uns diese gerne zusenden. Diese werden im Livecast von uns vorrangig behandelt. Fragen können auch an diesem Beitrag als Kommentar hinterlassen werden.

posted on Thursday, February 15, 2007 1:52:10 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Tuesday, February 13, 2007
Kaum zu glauben, aber es ist wieder Dienstag und somit DotNetCasts - Live! Tag. Beginn ist wieder um 20.00 Uhr. Wir freuen uns auf jede Teilnahme und hoffen wieder auf eine ordentliche Diskussionsrunde.

posted on Tuesday, February 13, 2007 3:04:10 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Friday, February 09, 2007
Am 07.02.2007 fand der dritte DotNetCasts -Live! Skypecast statt, hier nun das - zugegebenermaßen recht späte - Resumé des Abends.

Folgende Themen und Links wurden an diesem Abend besprochen bzw. im Chat geposted:

Qualitätssicherung

Unit Testing
http://www.nunit.org/
http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
http://mbunit.tigris.org/
http://testdriven.net/
http://www.jetbrains.com/unitrun/


Style Guides / Coding Conventions
http://www.textrush.com/coding-standard-cs.htm

Natürlich ist auch wieder ein Mitschnitt verfügbar, der im DotNetCasts - Live! Bereich der Seite runtergeladen werden kann.

An dieser Stelle vielen Dank für die Beiträge und fürs Zuhören. Rückmeldungen oder Anregungen sind natürlich jederzeit willkommen. Die Kontakdaten hierfür findet man auf der Projekt-Team Seite.

Der nächste DotNetCasts - Live! Skypecast findet am 13.02.2007 wieder um 20:00 Uhr statt.

posted on Friday, February 09, 2007 7:15:09 PM (W. Europe Standard Time, UTC+01:00) by Kai Gloth  #    Comments [0] Trackback
 Tuesday, February 06, 2007
Nicht vergessen! Heute um 20:00 Uhr findet der dritte DotNetCasts - Live! statt. Aus Erfahrung werden wieder interessante Themen, Antworten, als auch Diskussionen erwartet.

Wer sich einen kurzen Überblick über den Livecast verschaffen möchte, der sei eingeladen, sich den Mitschnitt des letzten Livecasts anzuhören.

Wie kann ich am Livecast teilnehmen?
Auf der rechten Seite befindet sich der Skypecasts-Banner über dessen Link gelangt man direkt auf die Livecast-Seite. Sobald der Cast gestartet wurde - sprich verfügbar ist - kann man über Jetzt teilnehmen in den Cast einsteigen. Hierzu ist Skype in der Version 3 notwendig. Ebenfalls ist es ratsam ein Mikro angeschlossen zu haben, sollten Fragen gestellt werden. Es gibt zwar einen Chat der während des Livecasts offen steht, allerdings eignet sich dieses Mittel lediglich zum Austausch von Links oder zur Beantragung von Sprachrechten. Für den Mitschnitt eher nicht. Dennoch sollte ein fehlendes Mikrofon keine Hindernisgrund zwecks Teilnahme sein.

posted on Tuesday, February 06, 2007 4:25:33 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Monday, February 05, 2007

Im Livecast vom 30. Jänner 2007 wurde über das Thema CLR Tracing diskutiert. Aufgrund diverser Recherchen bin ich auf einen Beitrag auf CodeProject gestoßen, den ich unseren Lesern und Zuhörern nicht vorenthalten möchte.

MethodLogger - Hook into method calls in .NET binaries

Dies scheint schon sehr nahe an die gewünschte Funktionalität heran zu reichen und ist auch durchaus interessant.

Eine weitere Möglichkeit besteht darin, einen Debugger zu implementieren. Auf diesen Weg lassen sich ebenfalls zahlreiche Informationen filtern.

Zudem möchte ich noch auf das Tool CLR Profiler (für .NET 2.0) verweisen, welches im Sourcecode vorliegt und hierzu ebenfalls Anregungen bieten kann.

 

posted on Monday, February 05, 2007 10:23:19 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback
 Sunday, February 04, 2007

Es ist vollbracht. Ab sofort steht unser erster Podcast zum Thema .NET Development Tools zum Download bereit. Behandelt werden unterschiedlichste Helferlein für .NET Entwickler, Vor- und Nachteile, Aufgabengebiete und Kosten. Im Gespräch mit Kai Gloth konnten viele wertvolle Informationen gesammelt und aufbereitet werden.

Unter Podcasts findet sich sowohl eine kurze Übersicht, der Download und die Codes die wir im Podcast anstelle von URLs verwendet haben.

Wie immer sind wir für Anregungen, Wünsche und Beschwerden sehr dankbar, denn auch weiterhin werden wir an der Verbesserung der Qualität (insbesondere der Aufnahmequalität) arbeiten.

In diesem Sinne, viel Spass beim Zuhören unseres ersten Podcasts!

posted on Sunday, February 04, 2007 1:26:56 PM (W. Europe Standard Time, UTC+01:00) by Norbert Eder  #    Comments [0] Trackback