Operatorüberladung und die Krux mit null

Am Wochenende konnte ich endlich wieder ein wenig an meinem privaten Projekt arbeiten und bin voll in eine Anfängerfalle gestolpert. Ich arbeite an einer Art Lottozahlengenerator und habe (natürlich) die Lottozahlen in eine eigene Klasse gepackt um Wertebereichsüberprüfung (Lottozahlen können nur zwischen 0 und 50 liegen) o.ä. direkt im Model abzufrühstücken (SoC) wobei die dahinter liegende Architektur natürlich etwas komplexer ist. Nun bringt es eine solche kleinteilige Datenhaltungsklasse mit sich, dass verschiedene Basisfunktionalitäten erneut auszuprogrammieren sind. Wie eben die Vergleichsoperatoren, nur hatte ich dort nicht an das böse Null und die Rekursionshexe gedacht.

Weiterlesen »

Link: C# Plugins mit AppDomains realisieren

In meiner Diplomarbeit hatte ich ein einfaches Pluginframework umgesetzt welches per Reflection eine Assembly nach einem bestimmten Interface durchsucht, um dann die entsprechende Klasse mit Hilfe des Activators zu instantiieren. Nachteil an dieser sehr geläufigen Lösung ist vor allem, der zunehmende Speicherverbrauch da die geladenen Plugins nicht entladen werden können. Denn ist eine Assembly einer Application Domain einmal hinzugefügt wird man diese zur Laufzeit nicht mehr los.

Weiterlesen »

Just about .NET

Nach einer kurzen Findungsphase habe ich eine neue Domain registriert und dieses Blog umbenannt. Aus dem .NET Notizblog unter www.hendrik-loesch.de ist deshalb jetzt Just about .Net unter der Domain www.just-about.net geworden. Ich werde hendrik-loesch.de zwar nicht abschalten lassen und weiter als Redict verwenden, die Nutzung der neuen Domain ist aber vorzuziehen. Viel Spaß damit.

Weiterlesen »

How To: Datensignierung mit .NET

Nach dem ich über Verschlüsselung und Hashing geschrieben habe, kommen wir zum Signieren von Daten. Dies dient vor allem dazu zu überprüfen ob Daten verändert wurden und ist zum Beispiel beim E-Mailverkehr notwendig. Da dort auf dem Weg vom Sender zum Empfänger Daten leicht verändert werden oder sich jemand anderes für einen mir bekannten Adressaten ausgeben könnte.

Weiterlesen »

Holy war prevention switch in Regionrate

Ich bin ein begeisterter Nutzer von #Region im Visual Studio. In meinen Augen kann diese kleine Funktionalität den Quellcode sehr gut ordnen und vor allem Codereviews sehr vereinfachen. Dennoch kann man damit auch viel Schindluder treiben. Robert Mühsig hat dazu vor kurzem ein Post geschrieben in dessen Kommentaren überzeugende Für und Wider zu finden sind. Offensichtlich ist aber auch hier ein ewiger Kampf der Überzeugungen wie er zum Beispiel zwischen Java- und .NET-, C#- und VB- oder Delphi- und ernsthaften Programmieren besteht.

Weiterlesen »

Hashingalgorithmen im .NET Framework

Häsch? Ich möchte nicht erst lang erläutern worum es sich bei Hashing handelt. Lapidar ausgedrückt wird beim Hashing eine mehr oder minder große Eingabemenge in einen Wert umgewandelt der nach Möglichkeit die Eingabemenge eindeutig repräsentiert. Weißt dieser Hashwert Mehrdeutigkeiten auf, besitzt er Kollisionen. Je weniger Kollisionen auftreten desto höher die Qualität einer Hashfunktion, weshalb kollisionsfreie Algorithmen angestrebt werden.

Weiterlesen »

Verschlüsselung mit .NET

Mein erster sinnvoller Post beschäftigt sich mit den Verschlüsselungsmechanismen die .NET anbietet und beziehe dabei einen Großteil meiner Informationen aus dem Self-Paced Training Kit für die 70-536 Prüfung. Ich werde bei den Erläuterungen höchstens am Rande auf die dahinterliegende Mathematik eingehen, viel wichtiger erscheint mir die Klassenstruktur sowie deren Verwendung. Wer mehr über die Hintergründe wissen möchte ist mit Wikipedia oder mit einem echten Lehrbuch zum Thema weit besser bedient. Für die im Framework vorhandenen und nicht erläuterten Verfahren bemühe man bitte die MSDN. Weiterhin ist zu sagen, dass hier nur die Standardimplementierungen behandelt werden. Für die Cryptography API Next Generation (CNG) die seit Windows Vista zur Verfügung steht wird es ein eigenes Blogpost geben.

Weiterlesen »

Der Anfang

Ich habe lange Zeit überlegt ob das Internet noch ein Blog braucht. Nun sehe ich diese Seite eher als ein Notizbuch in das ich für mich interessante Dinge schreibe. Wenn andere daran interessiert sind, schön. Wenn es ihnen nutzt umso schöner. Anfangen wird es wohl erst einmal mit Grundlagen. Denn ich bereite mich, immer noch oder schon wieder, auf die Zertifizierung vor und treffe dabei zunächst vor allem auf Dinge die nicht oft genutzt werden aber als fundamental gelten. Es sei mir daher verziehen wenn die ersten Posts etwas nach dem MCTS Self-Paced Training Kit von Tony Northrup riechen.

Weiterlesen »