Grundlagen
Als Abonnent haben Sie vollen Zugriff auf alle Artikel im Archiv.
Zum Download eines Artikels und/oder der zugehörigen Quelltexte, klicken Sie
den gewünschten Artikel einfach an.
(
dotnetpro 08/2010,
Seite 114)
Zwei Werte in C# auf Gleichheit zu prüfen ist ein Leichtes: Hierfür gibt es den Operator ==…und die Methode Equals() ... und die statische Methode ReferenceEquals() ... und die IEquatable
-Schnittstelle ...
und die IComparable- sowie die IComparable-Schnittstellen, die auch noch irgendeine Rolle spielen – aber welche?
(dotnetpro 08/2010,
Seite 110)
UML ist kompliziert? Stimmt nicht.Wenn man nur drei Arten von Diagrammen nimmt, dann ist UML überschaubar
und verbessert die Kommunikation im Projekt.Wer aber nicht nur die projektinterne Kommunikation verbessern,
sondern aus dem UML-Modell auch gleich die Software generieren will, der braucht mehr UML. Er zieht dann aber
auch einen größeren Nutzen aus der Anwendung.
(dotnetpro 08/2010,
Seite 116)
Jede relationale Datenbank enthält Daten in Form von Tabellen. Der SQL Server speichert die Daten in einer MDF-Datei
im Dateisystem. Aber wie werden Datensätze innerhalb von Tabellen physisch in einer Datenbankdatei abgelegt?
dotnetpro erklärt den Aufbau des Dateiformats und zeigt, wie Sie mit geschicktem Datenbankdesign Performance-
Optimierungen durchführen.
(dotnetpro 07/2010,
Seite 124)
Das Schlüsselwort virtual dient dazu, ein Element eines Typs als virtuell zu deklarieren. Diese Erklärung ist korrekt, erläutert aber nicht, was es in letzter Konsequenz bedeutet, wenn ein Element als virtuell deklariert wird: wie sich dieses Schlüsselwort bei Übersetzung und Laufzeit auswirkt, wann sich sein Einsatz empfiehlt und wann nicht.
(dotnetpro 06/2010,
Seite 130)
Visual Studio kann es, ildasm.exe kann es, und .NET Reflector kann
es auch – aus kompilierten Assemblies wieder lesbaren MSIL-Code
machen. Das Interessante daran:Auch wer MSIL nicht kennt, versteht
die meisten Anweisungen auf Anhieb.Ausnahmen bestätigen die
Regel – wie das Schlüsselwort beforefieldinit.
(dotnetpro 05/2010,
Seite 122)
Das Schlüsselwort yield gehört seit Version 2.0 zum Sprachumfang von C#.
Fast jeder Entwickler hat schon einmal etwas darüber gelesen, doch mehr als die Erinnerung daran ist oft nicht geblieben. Dabei kann yield ausgesprochen hilfreich sein – zahlreiche Aufgaben lassen sich mit seiner Mitwirkung deutlich eleganter lösen. dotnetpro verhilft yield zu einem zweiten Frühling.
(dotnetpro 04/2010,
Seite 122)
Früher war die Welt noch in Ordnung: In C++ war eine Variable vom Typ bool ohne Weiteres in den Typ int konvertierbar, wovon zahlreiche Entwickler gerne und häufig Gebrauch machten. In C# ist dies nicht mehr möglich – oder doch? Was genau steckt eigentlich in .NET hinter dem Datentyp bool? Wie ist er implementiert?
Golo Roden klärt auf.
(dotnetpro 03/2010,
Seite 130)
Eine weitverbreitete Behauptung besagt, alle Typen in .NET seien von object abgeleitet. Da null nicht nur für alle Referenztypen verwendet werden kann, sondern auch explizit in diese Typen konvertiert werden kann, scheint die Behauptung zu stimmen – wären da nicht einige Sonderfälle, die nicht so recht ins Bild passen.Welchen Typ hat also null?
(dotnetpro 01/2010,
Seite 132)
Schon von Windows 2000 gab es eine 64-Bit-Variante. Dennoch setzen bis heute viele Anwender und auch Entwickler
ausschließlich die 32-Bit-Variante ein. Das sollte sich mit Windows 7 jetzt ändern.
(dotnetpro 04/2006,
Seite 134)
Wenn Sie versuchen, Ihre Systeme idiotensicher zu machen, wird es immer einen Idioten geben, der einfallsreicher ist als Sie.
Autor(en):
(dotnetpro 02/2006,
Seite 132)
Mehrbenutzerzugriffe bei Datenbanken
Die Entwicklung von Unternehmensanwendungen wirft in der Regel die Frage auf, wie die Applikation mit dem gleichzeitigem Zugriff mehrerer Anwender auf Datenbanken umgehen soll. Konflikte sind dann vorprogrammiert, doch die Lösung ist nicht kompliziert.
(dotnetpro 01/2006,
Seite 130)
Zehn einfache Sicherheitsabfragen, die funktionieren
Das Internet ist gefährlich. Als Anbieter oder Programmierer von Websites sollten Sie genau wissen, mit welchen Mitteln die bösen Hacker arbeiten. So hilfreich die Suchmaschine Google für seriöse Anwendungen ist, so hilfreich ist sie aber auch für Hacker. Der exklusive Auszug aus dem Buch „Google Hacking“ von Johnny Long zeigt, wie einfach Sie an bestimmte Informationen gelangen.
Autor(en):
(dotnetpro 02/2006,
Seite 124)
Die Move-Refactorings
Was tun, wenn Sie eine Methode in die falsche Klasse gesetzt haben, oder eine Child-Klasse eine Methode enthält, die besser in die Parent-Klasse passt? Was tun, wenn eine ganze -Klasse im falschen Namespace liegt? Die Refactorings Move Method, Pull Up Method und Move Class helfen, die Unstimmigkeiten zu berichtigen. Dotnetpro hat alle Refactorings unter die Lupe genommen, die Code-Elemente verschieben.
(dotnetpro 01/2006,
Seite 126)
Schwergewichtige Verwechslung
Die Begriffe „Überladen“ und „Überschreiben“ bezeichnen zwei völlig unterschiedliche -Zusammenhänge. Leider werden sie oft durcheinander gebracht, gelegentlich sogar in Fach-artikeln. dotnetpro sorgt für Aufklärung.
(dotnetpro 11/2005,
Seite 136)
Die .NET-Klassenbibliothek 2.0: System.Security
Sicherheit wird immer wichtiger. In der Version 2.0 der .NET-Klassenbibliothek dürfen daher Neuerungen zur Verbesserung der Sicherheit nicht fehlen. Dr. Holger Schwichtenberg hat den erweiterten Namensraum System.Security für die dotnetpro untersucht.
(dotnetpro 11/2005,
Seite 116)
Pufferüberlauf leicht gemacht
Das Szenario ist simpel: Ein Programm schreibt eine größere Datenmenge an eine Stelle im Speicher, als der Entwickler vorgesehen hat. In der Praxis geschieht das häufig in Variablen, die auf dem Puffer liegen. In dem exklusiv dotnetpro zur Verfügung gestellten Kapitel 8 aus dem Buch „Buffer Overflows“ erklärt Autor James C. Foster, wie einfach das unter Windows geht.
(dotnetpro 11/2005,
Seite 110)
Metriken für Softwarequalität
Die Qualität der Software soll möglichst hoch sein. Allseitige Zustimmung. Wie lässt sich die Qualität von Software bestimmen? Allseitige Ratlosigkeit. Es gibt zwar diverse Vorschläge für die Messung von Softwarequalität. Aber es ist schwierig, diese Metriken sinnvoll einzusetzen. dotnetpro bietet einen Grundkurs in Qualitätsvermessung.
(dotnetpro 11/2005,
Seite 124)
Aufbau eines Spam-Filter-Frameworks
Ein effektives Spam-Erkennungsverfahrens ist das Herzstück eines Spam-Filters. In dotnetpro 10/2005 wurde ein Körper entworfen, der dieses Zentrum aufnimmt. Der Spam-gequälte Ralf Westphal beleuchtet in dieser Ausgabe Implementationsentscheidungen als Beispiele für Best Practices, Trade-Offs und Missverständnisse, wie sie in allen Softwareprojekten vorkommen.
(dotnetpro 10/2005,
Seite 133)
Der fünfte dotnetpro.contest.
Stand beim dritten Programmierwettbewerb die Bewältigung von schierer Masse im Vordergrund, so setzt diese Ausschreibung einen anderen Schwerpunkt. Zwar geht es bei Spam auch um ein Massenphänomen, doch gefragt ist diesmal Quasi-Intelligenz: ein lernfähiger Anti-Spam- Filter, der die Flut unerwünschter Mails eindämmen kann.
Autor(en):
(dotnetpro 10/2005,
Seite 134)
Ein Framework für einen Anti-Spam-Filter.
Spam ist eine Plage, da gibt es keine zwei Meinungen. Aber wie der Spam-Flut Herr werden? Das Angebot an Filtern ist groß. Nur ihre Effektivität ist unterschiedlich. Warum also nicht gleich selbst Hand anlegen und einen maßgeschneiderten Spam-Filter bauen? Dabei lässt sich einiges über Softwarearchitektur lernen – und am Ende sogar etwas gewinnen!
(dotnetpro 9/2005,
Seite 140)
Sargnägel für die Registry
Die .NET-Klassenbibliothek wird sich zwischen Version 1.1 und Version 2.0 in etwa verdoppeln. Deutlich erweitert zeigen sich die Funktionen zur Anwendungskonfiguration und für Konsolenanwendungen.
(dotnetpro 7-8/2005,
Seite 140)
Der Zugriff auf Datenquellen ist heute Teil fast jeder Anwendung. .NET verfügt dazu über verschiedene Möglichkeiten wie ADO.NET oder die Klassen von System.Xml. Trotzdem ist der Umgang mit Daten immer noch kompliziert und fehleranfällig. Im Projekt Cω erforscht Microsoft, wie sich der Datenzugriff direkt in eine Programmiersprache integrieren lässt.
(dotnetpro 7-8/2005,
Seite 136)
Die .NET-Klassenbibliothek wird in der Version 2.0 stark erweitert. Dr. Holger Schwichtenberg stellt in mehreren Artikeln die interessantesten neuen Funktionen in der Klassenbibliothek vor. Diesmal geht es um den Datenzugriff mit XML und die Arbeit mit dem Dateisystem.
(dotnetpro 7-8/2005,
Seite 130)
Mit Erscheinen dieses Heftes dürfte die erste Beta von Indigo öffentlich verfügbar sein. Damit bietet sich Entwicklern die Gelegenheit, die neue Plattform für das Erstellen von verteilten Applikationen zu testen und zu bewerten. dotnetpro zeigt, wie einfach der Einstieg in die Welt der serviceorientierten Programmierung ist.
(dotnetpro 6/2005,
Seite 138)
Der Umfang der .NET-Klassenbibliothek wird sich zwischen Version 1.1 und Version 2.0 in etwa verdoppeln. Dr. Holger Schwichtenberg zeigt in einer fünfteiligen Serie die interessantesten neuen Funktionen in der Klassenbibliothek. In der ersten Folge geht es um den Datenzugriff mit ADO.NET 2.0.
(dotnetpro 5/2005,
Seite 144)
Wenige .NET-Konzepte stiften so viel Verwirrung wie die IDisposable-Schnittstelle. In Foren und Newsgroups liest man abenteuerliche Formulierungen wie „Dispose markiert ein Objekt für die Zerstörung durch die Garbage Collection”. Dieser Artikel beleuchtet die Hintergründe und erläutert den richtigen Einsatz von Dispose. Mülltrennung
(dotnetpro 5/2005,
Seite 137)
Um Programme, Komponenten und Steuerelemente vor unrechtmäßigem Gebrauch zu schützen, können Sie diese mit einem Mechanismus zur Lizenzierung ausstatten. Im .NET Framework ist die grundlegende Funktionalität zur Lizenzierung bereits enthalten. dotnetpro zeigt an praktischen Beispielen das Erstellen von Klassenbibliotheken und Steuerelementen, die durch Lizenzen abgesichert sind. Nur mit gültigem Ticket
(dotnetpro 4/2005,
Seite 124)
dotnetpro erklärt, wie Sie für eine Software die passende Architektur finden. Im ersten Teil des Artikels in der vorangegangenen Ausgabe haben Sie erfahren, wie Sie für eine Beispiel-Applikation den grundsätzlichen Aufbau erarbeiten. Nun geht es an die Implementierung.
(dotnetpro 3/2005,
Seite 134)
Erst denken, dann programmieren. Ungefähr so lautet das Motto der Software-Architekten in vereinfachter Form. dotnetpro demonstriert den Entwurf einer Anwendungsarchitektur an einem Beispiel. Auch eine vermeintlich kleine Anwendung lässt sich sinnvoll modularisieren.
(dotnetpro 3/2005,
Seite 140)
Mobiltelefone – neudeutsch auch Smartphones genannt – sind im Vergleich zu einem Desktop-PC ziemlich schwach auf der Brust. Doch mit einem entsprechenden Client können sie auch auf gestandene Business-Anwendungen zugreifen. Visual Studio 2003 und das Smartphone 2003 SDK machen die Programmierung entsprechender Winz-Anwendungen einfach.
(dotnetpro 11/2004,
Seite 140)
Fit für die Freiheit
Sind Sie unzufrieden mit Ihrem Job? Suchen Sie eine neue Stelle? Dann sollten Sie auch einmal überlegen, ob Sie sich vielleicht selbstständig machen können. Das muss nicht schwer sein. dotnetpro erklärt die Grundlagen: von der Gewerbeanmeldung über Kranken- und Rentenversicherung bis zur Einnahmen-Überschussrechnung.
(dotnetpro 10/2004,
Seite 136)
Einfach und schön
Nicht nur komplizierte Videorecorder bringen manchen Konsumenten zur Verzweiflung. Auch unübersichtliche Websites und umständliche Online-Shops frustrieren die Benutzer neuer Technologien. Dagegen ist ein Kraut gewachsen. Die Usability-Forschung weiß, was Benutzer wünschen. dotnetpro zeigt, wie Usability-Experten arbeiten.
(dotnetpro 10/2004,
Seite 140)
Zeigerklippen sicher umschiffen
Smart-Pointer sind ein sehr gutes Hilfsmittel zum Verwalten von Zeigern, wie sie in der Regel bei der Arbeit mit C-Interfaces auftauchen. Ein Beispiel für ein solches Interface ist das Win32-API. Es wird unter der MFC-Bibliothek in C++-Klassen gekapselt, kann aber auch direkt vom Programmierer genutzt werden.
Autor(en):
(dotnetpro 9/2004,
Seite 134)
Erst zählen, dann schätzen
Das Fachkonzept für die Anwendung steht. Nun soll das Software-Haus ein Angebot für die Realisierung unterbreiten. Manch einer schätzt „aus dem Bauch heraus”, aber das geht oft schief. Schätzen sollte man auch nicht mit Verhandeln verwechseln. Echte Profis zählen erst, und schätzen dann. dotnetpro stellt die Function-Point-Methode vor.
(dotnetpro 9/2004,
Seite 138)
Multikulturell
Die Dokumentation des .NET Frameworks befasst sich nur sehr rudimentär mit Globalisierung im Umfeld von ASP.NET. Manche von Windows Forms her vertraute Methoden lassen sich auch hier anwenden. Aber durch die Notwendigkeit, gleichzeitig unterschiedliche Kulturen zu unterstützen, ergeben sich neue Anforderungen. dotnetpro zeigt, worauf Sie achten müssen.
(dotnetpro 7/2004,
Seite 140)
Was hätten’s denn gern?
Was will der Kunde? Das sollte in der Leistungsbeschreibung stehen, die manchmal auch Pflichtenheft, Lastenheft oder Spezifikation genannt wird. Aber steht hier wirklich das, was der Kunde benötigt? Wurde etwas vergessen? Sind Passagen mehrdeutig? dotnetpro gibt Tipps, worauf Sie beim Erstellen der Leistungsbeschreibung achten müssen.
(dotnetpro 7/2004,
Seite 134)
Mit .NET auf Weltreise
Das .NET Framework ermöglicht die komfortable Globalisierung von Anwendungen. Wer bei der Internationalisierung seiner Applikationen aber nicht in einer Sackgasse enden will, muss die Zusammenhänge kennen. dotnetpro zeigt, wie Sie Ihre Anwendungen erfolgreich auf große Fahrt schicken.
(dotnetpro 6/2004,
Seite 140)
Das ganze Drumherum
Über Ressourcen kann der Entwickler externe Informationen in ein Programm aufnehmen. Er kann Icons und Bilder einbinden, Texte in Textdateien vorhalten und weitere Metainformationen speichern. Das .NET Framework bietet eine gute Unterstützung für Ressourcen. dotnetpro fasst zusammen, was Entwickler über Ressourcen wissen müssen.
(dotnetpro 3/2004,
Seite 138)
Von Mount bis Cache
Unter den Gerätetreibern des Kernel-Modus haben Dateisystemtreiber eine Sonderstellung: Sie steuern nicht unmittelbar Hardware und fügen sich nicht wie andere Filtertreiber in Geräte-Stacks ein. Dafür arbeiten sie eng mit anderen Komponenten des Betriebssystem-Kernels zusammen, von deren Existenz normale Gerätetreiber wenig Notiz nehmen. dotnetpro erläutert die Grundlagen.
(dotnetpro 5/2004,
Seite 142)
Darwin im Computer
Zu vielen Optimierungsproblemen existiert keine effiziente Lösung oder sie lässt sich nicht ohne weiteres mit vertretbarem Aufwand finden. Genetische Algorithmen können solche Probleme unter Umständen doch lösen. dotnetpro zeigt, wie es geht.
(dotnetpro 4/2004,
Seite 140)
Rund und gesund
Gute Programmierer sind Eigenbrötler, Diven oder – positiver ausgedrückt – kreative Einsiedler. Ein Software-Projektmanager, der solche Individuen hüten muss, hat es schwer. Wie bringt er die extremen Charaktere unter einen Hut und führt gleichzeitig das Projekt zum Erfolg? dotnetpro hat unter erfolgreichen Projektleitern nachgefragt und erläutert die Benimmregeln für Projektmanager.
(dotnetpro 4/2004,
Seite 134)
Deadlocks, Oplocks und andere Morlocks
Ein Betriebssystem, das Multitasking und Mehrprozessorsysteme unterstützt, stellt besondere Anforderungen an den Dateisystemtreiber. Zugriffe müssen synchronisiert und Deadlocks vermieden werden. Damit das Ganze auch noch schnell geht, muss Windows tief in die Trickkiste greifen. dotnetpro zeigt, wie Dateisystemtreiber schnell und zuverlässig arbeiten.
(dotnetpro 3/2004,
Seite 132)
Lass mich nur machen
Grundlage für die Textprozessierung bei Spam-Filterung, Eingabevalidierung oder Kompilierung ist das Erkennen von Symbolen nach lexikalischen Regeln. Um diese Symbolerkennung zu vereinfachen, liefert dotnetpro Rezepte für das Umsetzen von wiederkehrenden Regelmustern.
(dotnetpro 2/2004,
Seite 126)
IN PIRP Irp
Unter Windows gelten Treiber als Erweiterung des Betriebssystems. Dabei sind sie nicht immer dafür zuständig, den Zugriff auf eine bestimmte Hardware zu ermöglichen. dotnetpro stellt die Umgebung vor, in der Gerätetreiber ablaufen, und vermittelt Grundlagen des I/OSystems von modernen Windows-Versionen (NT 4 und Nachfolger).
(dotnetpro 2/2004,
Seite 140)
Erkennungsdienst
Grundlage für die Textprozessierung bei Spam-Filterung, Eingabevalidierung oder Kompilierung ist das Erkennen von Symbolen nach lexikalischen Regeln. Um diese Symbolerkennung zu vereinfachen, liefert der Artikel Rezepte für die Umsetzung von wiederkehrenden Regelmustern.
(dotnetpro 2/2004,
Seite 134)
Die Zukunft hat begonnen
Die Technical Preview von WS-Enhancements 2.0 wurde vor einigen Monaten veröffentlicht. Sie umfasst neue Features wie ein Policy-Framework, ein erweitertes Security-Modell und die aktuellsten Implementierungen verschiedener WSA-Spezifikationen. Dieser Artikel geht näher auf WS-Trust, WS-SecureConversation und WS-Policy ein.
(dotnetpro 2/2004,
Seite 106)
Help me if you can
Mit dem Help Integration Kit bietet Microsoft einen einfachen Weg das Hilfesystem von Visual Studio .NET um eigene Inhalte zu erweitern. Das ist für Komponentenhersteller interessant und für Teams, die Hilfetexte der eigenen Komponenten in die IDE integrieren möchten. dotnetpro stellt das Toolkit vor und gibt einen Überblick über den neuen Hilfestandard MS Help 2.
(dotnetpro 12/2003,
Seite 143)
Klassensystem
Bei der Sprache C++ verhält sich Visual Studio .NET 2003 weitgehend standardkonform. Dies zeigt sich vor allem im Bereich der generischen Programmierung. Hier stellen wir Ihnen die neuen Möglichkeiten der Vorlagenprogrammierung mit C++ vor.
(dotnetpro 12/2003,
Seite 136)
Kugelsichere Web Services
Microsoft, IBM und BEA erarbeiten gemeinsam die Spezifikationen für die Web Services Architecture WSA, ehemals GXA. Vor einigen Wochen hat Microsoft die Technical Preview von WS-Enhancements 2.0 veröffentlicht. Diese neue Version implementiert einige der neuen Spezifikationen und verbessert die bisher verfügbaren Features. dotnetpro stellt die Neuerungen in einer zweiteiligen Serie vor. Als Erstes geht es um den Bereich WS-Security.