Artikel von Golo Roden
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 03/2012,
Seite 118)
Das letzte „Scharfe C“ hat die Theorie hinter den Begriffen Ko- und Kontravarianz beschrieben. Nun ist es Zeit für die Praxis.
(
dotnetpro 02/2012,
Seite 134)
Die Unterstützung für Ko- und Kontravarianz von Schnittstellen ist die interessanteste Neuerung von C# 4.0 – und zugleich leider auch die am wenigsten verstandene. dotnetpro erläutert, was es mit Ko- und Kontravarianz auf sich hat und in welchen Situationen sie genutzt werden können.
(
dotnetpro 02/2012,
Seite 46)
Ein neues Software Development Kit ist der Knackpunkt: Damit bringen Sie die Serversoftware Node.js in das
Cloud-Betriebssystem von Microsoft. Der Artikel zeigt die nötigen Schritte.
(
dotnetpro 01/2012,
Seite 128)
Im Pentium-Prozessor hat Intel erstmals einen mathematischen Coprozessor in den Chip integriert. Damit konnten Entwickler wesentlich leistungsfähigere Algorithmen entwickeln als zuvor. Inzwischen gehören Dezimalbrüche zwar zum Alltag, sie wirken aber nach wie vor oft exotisch. Allerdings nur auf den ersten Blick.
(
dotnetpro 12/2011,
Seite 118)
Dass Parameter nützlich sind, um Werte an Methoden zu übergeben, ist eine Binsenweisheit - schließlich ist genau das ihr eigentlicher Sinn und Zweck.
Aber was kann man darüber hinaus mit ihnen anstellen? dotnetpro klärt auf.
(
dotnetpro 11/2011,
Seite 134)
Eine Reihe von Sprachkonstrukten in C# hat Aufsehen erregt, beispielsweise LINQ, das die Abfrage von Daten jedweder Datenquelle mit einer SQLähnlichen Syntax direkt in die Sprache einbaut. Andere Merkmale schaffen es aufgrund ihrer Exotik kaum ins Rampenlicht und bleiben weithin unbekannt. Dazu gehören Closures.
(
dotnetpro 11/2011,
Seite 50)
Kaum eine Programmiersprache hat in den vergangenen 15 Jahren derart Karriere gemacht wie JavaScript. Was 1995
als einfache, aber exotische Skriptsprache für Webseiten und Clients begann, treibt heute Megasites wie Facebook
oder Twitter an und nimmt auch Desktops und mobile Geräte ins Visier. Und wo bleibt JavaScript auf dem Server?
(
dotnetpro 10/2011,
Seite 118)
Das Implementieren von Schnittstellen gehört zum täglichen Handwerk jedes Entwicklers, der mit objektorientierter Programmierung halbwegs vertraut ist. C# bietet dafür zwei Wege: die implizite und die explizite Implementierung.
(
dotnetpro 10/2011,
Seite 36)
Sogenannte NoSQL-Datenbanken wie beispielsweise Redis und MongoDB machen – vor allem in der Webwelt –
zunehmend von sich reden. dotnetpro erläutert, was NoSQL eigentlich bedeutet, wie diese Datenbanken arbeiten und
wann ihre Verwendung sinnvoll ist.
(
dotnetpro 10/2011,
Seite 28)
NoSQL-Datenbanken gibt es wie Sand am Meer – und viele von ihnen haben spezielle Eigen- und Besonderheiten.
Dennoch weisen einige eine höhere Verbreitung auf als andere. dotnetpro stellt die beiden NoSQL-Datenbanken Redis
und MongoDB exemplarisch vor und zeigt, wie sie eingesetzt werden können.
(
dotnetpro 09/2011,
Seite 128)
Die Vielzahl an Schlüsselwörtern, Operatoren und Methoden zum Umgang mit Typen in C# wirkt zunächst schier erschlagend: typeof, GetType(), is, as, (). Dabei ist alles eigentlich ganz einfach, denn jedes Konstrukt hat seine spezielle Aufgabe und seine Vor- und Nachteile. Die Verwirrung ist schnell beseitigt.
(
dotnetpro 08/2011,
Seite 98)
Das Agile Development Framework hat Sie in der Theorie überzeugt und Sie haben auch den Chef dafür begeistert,
so dass Sie sich nun an die Einführung machen können. Doch wie gestaltet sich das Ganze in der Praxis?
dotnetpro hat die 20 wichtigsten Fragen gesammelt und beantwortet.
(
dotnetpro 08/2011,
Seite 44)
Das Internet hat das Leben in den vergangenen zehn Jahren in hohem Maß verändert. Mit dem Erfolg mobiler
Endgeräte ist das Web endgültig allgegenwärtig geworden. Soziale Netzwerke beeinflussen gar das Weltgeschehen.
Und wie steht es in dieser Welt um ASP.NET?
(
dotnetpro 08/2011,
Seite 36)
Sie entwickeln für den Desktop, und bis gestern war die Welt noch in Ordnung. Und nun das: Ein Kunde fragt so
nebenbei, ob Sie die für ihn erstellte Software nicht webfähig machen könnten – schließlich sei das ja modern.
dotnetpro hat für Sie den Fahrplan, um schnell ins Web zu kommen.
(
dotnetpro 07/2011,
Seite 110)
Die vergangenen vier Ausgaben der dotnetpro haben ADF im Allgemeinen und anschließend die einzelnen Stufen
White, Blue und Gray im Speziellen vorgestellt. Wer nun auch seinen Chef davon überzeugen will, dass er von ADF nur profitieren kann, findet hier die zehn wichtigsten Gründe, warum das agile Rahmenwerk dem Unternehmen zumVorteil gereicht.
(
dotnetpro 07/2011,
Seite 68)
Stellen Sie sich einen Datenspeicher vor, der Ihre Daten mehrfach redundant hält, hochverfügbar und selbstoptimierend ist und ohne einen schwergewichtigen und pflegebedürftigen Server auskommt - und das ohne Administrationsaufwand. Kademlia macht‘s möglich.
(
dotnetpro 06/2011,
Seite 98)
Wie sich im Rahmen des Agile Development Frameworks verschiedene Entwickler über ADF Blue zu einem Team
zusammenfinden, hat dotnetpro in der letzten Ausgabe beschrieben. Teams sind allerdings in der Regel verstreut.
Dieser Herausforderung nimmt sich die dritte Stufe des Agile Development Frameworks an: ADF Gray.
(
dotnetpro 06/2011,
Seite 22)
Der Team Foundation Server ist der Porsche unter den ALM-Werkzeugen - für viele ein Traum, aber auch unerreichbar.
Zu umfangreich, zu aufwendig oder zu teuer wäre ihnen sein Einsatz. Mit Kiln und FogBugz stehen würdige Alternativen zur Verfügung, die zwar schlanker und einfacher sind, aber kaum minder leistungsfähig.
(
dotnetpro 06/2011,
Seite 20)
Wer das volle Potenzial der Versionsverwaltung Mercurial nutzen will, bedient sie über die zahlreichen Befehle
der Kommandozeile. Als kleine Gedächtnisstütze bietet dotnetpro die wichtigsten Mercurial-Kommandos
mit den wichtigsten Parametern im Überblick.
(
dotnetpro 06/2011,
Seite 12)
Nahezu jeder professionelle Entwickler verwendet eine Versionsverwaltung. Die Bandbreite reicht dabei von einfachen
Open-Source-Werkzeugen bis zu komplexen kommerziellen Anwendungen. Nun gibt es etwas Neues: das Konzept
der verteilten Versionsverwaltung. dotnetpro erklärt, was es damit auf sich hat.
(
dotnetpro 05/2011,
Seite 96)
In der vergangenen Ausgabe der dotnetpro haben Sie ADFWhite kennen- und vielleicht schätzen gelernt, und möglicherweise wollen Sie nun ADF auch in IhremTeam einführen. Dazu dient ADF Blue – die zweite Stufe des Agile Development Frameworks. Sie enthält außer Regeln für das Team auch einen Prozess, der sich gleichermaßen durch Flexibilität und hohe Zuverlässigkeit auszeichnet.
(
dotnetpro 04/2011,
Seite 110)
Der Artikel zu ADF in der vorigen dotnetpro hat Ihren Chef inspiriert: Nun haben Sie den Auftrag, das Agile Development
Framework im Unternehmen einzuführen – bloß wie? Ganz einfach: Schritt für Schritt. Das ist der Vorteil von ADF: drei aufeinander aufbauende Stufen, die Sie nach und nach umsetzen können. Den Anfang bildet ADFWhite.
(
dotnetpro 04/2011,
Seite 16)
Eine neue Programmiersprache zu lernen, fällt leicht. Der gravierendste Unterschied zu einer bereits bekannten Sprache ist in der Regel die Syntax, revolutionär neue Konzepte sind rar. Ganz anders ist es mit den Feinheiten einer Sprache.
Diese zu ergründen, fällt schon nicht mehr so leicht. So gibt es bei C# für jeden immer noch etwas zu entdecken.
(
dotnetpro 03/2011,
Seite 88)
Scrum, XP & Co sind in den vergangenen Jahren in der Softwareentwicklung salonfähig geworden und erfolgreich.
Doch ein Problem besteht nach wie vor: Eine einzelne Methode genügt in der Regel nicht. Beim Kombinieren
agiler Methoden lauern jedoch Stolpersteine und Reibungspunkte. Das Agile Development Framework tritt an, dieses
Problem zu lösen.
(
dotnetpro 02/2011,
Seite 134)
Zu den wirklich schönen Dingen bei .NET gehört die automatische Speicherverwaltung, bei der sich der Entwickler um nichts kümmern muss - außer er will es unbedingt, etwa um kritische Vorgänge kontrolliert zu beenden, ehe ein Objekt aus dem Speicher verschwindet. Auch dafür stellt .NET Funktionen bereit. Dreh- und Angelpunkt dafür ist die IDisposable-Schnittstelle.
(
dotnetpro 01/2011,
Seite 134)
Das Erzeugen von Objekten ist ein Leichtes in C# – doch wie sieht es mit dem Löschen aus? Ein Blick in die Sprachreferenz verwirrt eher, als dass er nützt: Destruktoren, Finalizer, GC.Collect & Co buhlen um die Aufmerksamkeit. Im Web finden sich zudem jede Menge halbgarer Tipps und Tricks zum Thema.
Doch wie macht man denn nun richtig Schluss?
(
dotnetpro 12/2010,
Seite 128)
Es gibt etliche Varianten, Zeichenfolgen in C# zu verbinden: den +-Operator, die Klasse StringBuilder, die String.Concat-Methode – und ebenso vielfältig sind die Ansichten darüber, welche die beste sei. Um sie zu herauszufinden, ist es hilfreich zu wissen, wie .NET Strings verwaltet.
(
dotnetpro 12/2010,
Seite 22)
Es gibt mehrere Möglichkeiten, den Verzicht auf Unit-Tests zu begründen: zu aufwendig, zu teuer, zu umständlich.
Die Frage ist, ob diese Gründe hieb- und stichfest sind oder ob sie nur mangels besseren Wissens plausibel scheinen. Oft genug wird aber auch behauptet, Unit-Tests seien unverzichtbar. Ja, was denn nun?
(
dotnetpro 11/2010,
Seite 128)
In nahezu jeder Diskussion über Exceptions fällt irgendwann die Bemerkung, sie seien „(zu) teuer“. Doch was bedeutet das? Ab wie vielen Ausnahmen leidet die Ausführung eines Programms? Und warum? Gilt diese Aussage denn überhaupt? Oder handelt es sich vielleicht eher um einen modernen Mythos?
(
dotnetpro 11/2010,
Seite 78)
Extreme Programming propagiert räumliche Nähe, zwischen Team und Kunde sowie innerhalb des Teams. Doch was,
wenn dies nicht zu leisten ist, weil sich die Mitglieder eines Teams an verschiedenen Standorten und vielleicht
sogar in unterschiedlichen Zeitzonen befinden? dotnetpro zeigt, wie die XP-Techniken angepasst werden können,
um agile Entwicklung in verteilten Teams zu ermöglichen.
(
dotnetpro 10/2010,
Seite 124)
Die Schnittstelle IArithmetic schmückt alle Typen, die sich in Berechnungen
verwenden lassen. Dies ist beispielsweise für generische Methoden
praktisch, denn IArithmetic beschränkt Parameter auf Typen, für welche
die vier Grundrechenarten zur Verfügung stehen.
Sie kennen IArithmetic nicht? KeinWunder: IArithmetic gibt es nicht.
(
dotnetpro 09/2010,
Seite 130)
Während wohl jeder Entwickler schon Methoden überladen hat, sieht das bei Operatoren ganz anders aus. Dabei birgt das Thema ungeheures Potenzial. Es zu verstehen kann nicht nur zu effizienterem Code führen, sondern macht auch die Hintergründe von .NET und seinen Sprachen verständlicher.
(
dotnetpro 09/2010,
Seite 12)
Das .NET Framework ist sicherlich noch nicht in die Jahre gekommen, aber die Jugendzeit hat es definitiv hinter sich.
Jon Skeet ist MVP für C#,Autor des Buches „C# in Depth“ und weiß, was .NET im Innersten zusammenhält. dotnetpro-Autor Golo Roden hat mit ihm über C#, über funktionales Programmieren und über die Zukunft der Programmiersprache gesprochen.
(
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 77)
Eine Scheibe Brot fällt immer auf die belegte Seite, eine Katze dagegen landet unbeschadet immer auf den Pfoten –
so sagt es jedenfalls der Volksmund. Auch wenn weder das eine noch das andere je naturwissenschaftlich nachgewiesen
wurde, gilt beides – zumindest in gewissem Sinne – als Gesetz. In der Informatik gibt es ebenfalls vermeintliche, aber auch
empirische und tatsächliche Gesetze. dotnetpro stellt die zehn für die Softwareentwicklung wichtigsten Gesetze vor.
(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 07/2010,
Seite 61)
Im VIP-Tipp stellt ein Experte Bücher vor, die er persönlich für besonders lesenswert hält. Der VIP-Tipp soll
als Entscheidungshilfe für Softwareentwickler bei der Auswahl der passenden Fachlektüre dienen.
Die Aktion ist eine Kooperation zwischen der Fachbuchhandlung Lehmanns (www.lob.de/viptip), dem Seminaranbieter
Professional Developer College (www.prodevcollege.de) und dotnetpro (www.dotnetpro.de).
(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 06/2010,
Seite 58)
Ähnlich wie .NET ist auch die Java-Plattform prinzipiell mehrsprachenfähig. Bislang hat jedoch nur Java selbst eine
nennenswerte Verbreitung erreicht. Seit einiger Zeit drängen allerdings neue Sprachen für die Java-Plattform auf
den Markt, von JRuby über Jython bis hin zu Clojure. Besonders bemerkenswert ist Scala, und davon gibt es auch
eine .NET-Version.
(dotnetpro 06/2010,
Seite 32)
Agile Methoden unterscheiden sich imWesentlichen durch ihre Praktiken.Während etwa Extreme Programming
alle Entwickler in die Verantwortung nimmt, ordnet das „Feature-Driven Development“ jeder Klasse einen einzigen
Eigentümer zu. Scrum lässt die Frage unbeantwortet.Aber allen liegt ein gemeinsamesWertesystem zugrunde.
(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 133)
Dass eine einzige Installation einer Anwendung zugleich mehrere Benutzer bedienen soll, ist eine häufig geforderte
Funktion. Dafür ist jedoch eine korrekte Datentrennung notwendig. dotnetpro zeigt, wie Multimandantenfähigkeit
bereits auf Basis der Datenbank hergestellt werden kann.
(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 132)
Mit LightCore steht ein Microkernel zur Verfügung, der quasi nebenbei auch als Dependency-Injection-Container dient:
Er ist leichtgewichtig, kompakt und vor allem schnell – ohne dass man dabei Features vermissen würde.
(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 03/2010,
Seite 112)
Zeitplanung und Aufwandschätzung gehören zu den wenig geliebten Pflichten vieler Softwareentwickler.
Doch zumeist sind sie unumgänglich, weil sie gefordert werden.Aber wenn man nicht umhinkommt, solche Schätzungen durchzuführen, warum sich die Arbeit dann nicht wenigstens so einfach wie möglich machen?
dotnetpro stellt Evidence-Based Scheduling vor.
(dotnetpro 12/2009,
Seite 28)
ASP.NET eignet sich zur Entwicklung hochperformanter Anwendungen: Der Verzicht auf einen Interpreter, die
Integration der Runtime in den Webserver und ein schlankes Ausführungsmodell tragen ihren Teil dazu bei. Dennoch
lässt sich fast jede ASP.NET-Anwendung noch optimieren. dotnetpro stellt die besten Performancetipps vor.
(dotnetpro 12/2009,
Seite 22)
Im Oktober 2008 hat Microsoft Silverlight 2 veröffentlicht. Die wichtigste Neuerung war die Unterstützung von .NET.
Entwickler können Anwendungen nun in C# schreiben und kompilieren. Das allein macht eine Silverlight-Anwendung
aber noch nicht automatisch schnell. Zehn Tipps erklären, was Sie dazu tun können.
(dotnetpro 12/2009,
Seite 16)
Die Anzeige von WPF-Oberflächen basiert auf DirectX. Daraus zu schließen, dass WPF-Anwendungen so schnell laufen
wie DirectX-Anwendungen, ist leider falsch: Probleme lauern an jeder Ecke. dotnetpro gibt einen Überblick, wie Sie
WPF-Anwendungen deutlich beschleunigen können.
(dotnetpro 12/2009,
Seite 14)
Es kann ausschlaggebend für den Erfolg einer Anwendung sein, das Letzte aus ihr herauszuholen. Das darf aber
nicht auf Kosten und zu Lasten anderer Aspekte der Anwendungsentwicklung gehen. Die Frage ist also, wann
der richtige Zeitpunkt gekommen ist, um sich mit dem Thema Optimierung zu befassen.
(dotnetpro 11/2009,
Seite 54)
Wer eine Webseite betreibt, möchte, dass diese auch gefunden wird. Das wichtigste Medium hierfür sind die
verschiedenen Suchmaschinen von Google bis Bing. Und hier kommt es darauf an, möglichst gleich am Anfang der
Ergebnisseiten zu erscheinen. dotnetpro sagt, was man tun und lassen sollte, um gut gefunden zu werden.
(dotnetpro 11/2009,
Seite 24)
Wie groß Anwendungen dargestellt werden, hängt von der Bildschirmauflösung und den gewählten DPI-Einstellungen
ab. Allerdings müssen Anwendungen mit unterschiedlichen DPI-Einstellungen umgehen können – sonst kommt es
zu Darstellungsfehlern. dotnetpro gibt einen Überblick, was in den UI-Technologien von .NET beachtet werden muss.
(dotnetpro 11/2009,
Seite 74)
Viele Communities und Webportale ermöglichen es ihren Benutzern, eigene Dateien hochzuladen. Das Spektrum reicht
von Office-Dokumenten über Fotos bis hin zu Audio- und Videodateien. Aus Sicherheitsgründen empfiehlt es sich
jedoch, diese Dateien auf Viren zu untersuchen. dotnetpro zeigt, wie Sie den Open-Source-Virenscanner ClamAV auch
unter .NET nutzen können.
(dotnetpro 10/2009,
Seite 46)
dotnetpro hat in Ausgabe 7/2009 die Frage gestellt, ob die Komplexitätsklassen P und NP äquivalent sind. Diese Frage ist nach wie vor unbeantwortet – und nach wie vor sind auf diese Antwort 1 Million Dollar ausgeschrieben. Alles, was Sie für diese Summe tun müssen, ist, eine polynomiale Lösung für ein beliebiges NP-vollständiges Problem finden. Damit Sie wissen, worauf Sie sich einlassen, stellt dotnetpro in dieser Ausgabe zehn NP-vollständige Probleme vor.
(dotnetpro 10/2009,
Seite 26)
Einem Fehler in einer bereits ausgelieferten Anwendung auf den Grund zu gehen, ist oft ausgesprochen schwierig. Selten hat der Entwickler direkten Zugriff auf das System des Kunden. Logging-Werkzeuge helfen, indem sie die Aktivitäten der Anwendung protokollieren. dotnetpro zeigt, wie eine Anwendung ihre Fehler richtig niederschreibt.
(dotnetpro 08/2009,
Seite 38)
Der Einsatz einer Versionsverwaltung ist für einen Entwickler Pflicht – egal, ob er allein oder in der Gruppe arbeitet.
Der Team Foundation Server bietet eine solche, aber nicht jeder kann ihn sich leisten. Es gibt jedoch eine kostenlose
und leistungsfähige Alternative: die Versionsverwaltung Subversion und einige ergänzende Werkzeuge dafür.
(dotnetpro 08/2009,
Seite 12)
Die neuen Sprachmerkmale von C# 4.0 dienen der besseren Zusammenarbeit von C# mit dynamischen Sprachen und
COM. Zu diesen Merkmalen gehören auch optionale Parameter, die Visual-Basic-Entwickler schon lange kennen.
Für den täglichen Einsatz sind sie allerdings nicht gedacht.
(dotnetpro 07/2009,
Seite 82)
Manche algorithmischen Probleme lassen sich schnell und unter Einsatz geringer Ressourcen lösen. Andere Aufgaben,
etwa die Zerlegung einer sehr großen Zahl in ihre Primfaktoren, sind ausgesprochen aufwendig. Oder geht das
auch schneller? Und es hat bloß noch keiner den richtigen Algorithmus gefunden? Diese Frage führt mitten in die
Untiefen der theoretischen Informatik.
(dotnetpro 06/2009,
Seite 60)
Der Wunsch, eine Datenbank irgendwann gegen eine beliebige andere austauschen zu können, ist alt. Die jeweiligen
spezifischen Merkmale einer Datenbank erschweren dies jedoch teils stark. Die Wahl der richtigen Datenbank will also von
Anfang an gut überlegt sein. dotnetpro hat Datenbanken für .NET verglichen, um Ihnen die Entscheidung zu erleichtern.
(dotnetpro 05/2009,
Seite 106)
Ereignisse und Delegaten sind die moderne und typsichere Version von Callbacks. In der Regel kümmert sich bei Windows-
Anwendungen die IDE um ihre Implementierung, aber sie lassen sich selbstverständlich auch für beliebige eigene
Objekte einsetzen. Eigentlich trivial, steckt der Teufel – wie so oft – im Detail. dotnetpro zeigt, was dabei zu beachten ist.
(dotnetpro 05/2009,
Seite 22)
Am 27. Oktober 2008 hat Microsoft Windows Azure vorgestellt: ein neues Windows-Betriebssystem als Basis für
cloudbasiertes Computing. Windows Azure tritt somit in Konkurrenz zu Produkten wie Amazon EC2 oder
Google Apps. Doch für wen eignet sich Cloud Computing überhaupt? dotnetpro ist dieser Frage nachgegangen.
(dotnetpro 03/2009,
Seite 24)
In einer .NET-Anwendung werden neben dem Code auch beschreibende Daten – die Metadaten – ausgewertet.
In C# ermöglicht das Konzept der Attribute, Code mit Metadaten zu versehen, die dann entweder vom
Compiler oder während der Ausführung ausgewertet werden. dotnetpro stellt die zehn wichtigsten Attribute vor.
(dotnetpro 02/2009,
Seite 28)
Seit den 90er Jahren ist die Verbreitung der Programmiersprache Python stetig gestiegen. Ihre Einfachheit und hohe
Flexibilität macht sie sowohl bei Einsteigern als auch bei Fortgeschrittenen beliebt. Mit IronPython steht auch eine
Variante für .NET und Mono zur Verfügung.
(dotnetpro 02/2009,
Seite 74)
Eine verwaltete Plattform wie .NET bietet einen wesentlichen Sicherheitsvorteil: Typische Sicherheitslücken wie
beispielsweise Buffer Overflows oder SQL Injection müssen nicht von jeder Anwendung einzeln berücksichtigt,
sondern können bereits von der Plattform abgefangen werden. Doch was, wenn die Plattform selbst kompromittiert
wird? dotnetpro ist dieser Frage nachgegangen.
(dotnetpro 02/2009,
Seite 38)
Mathematische Formeln sind das grundlegende Handwerkszeug für Ingenieure, Wissenschaftler und mehr oder
weniger seriöse Finanzberater. Es ist nicht immer leicht, solche Formeln in eine Programmiersprache wie C# zu gießen.
Da kommt F# gerade recht. Diese funktionale Programmiersprache ist dafür geschaffen, mit Formeln und Funktionen
umzugehen. Aber auch die herkömmliche objektorientierte Programmierung fällt mit ihr nicht schwer.
(dotnetpro 01/2009,
Seite 56)
Jahr für Jahr beschäftigt die IT-Industrie Entwickler und Anwender mit neuen „Hypes“ in Form von knackigen
Wortschöpfungen. Während die meisten bereits nach kurzer Zeit wieder verblassen, halten sich einige
hartnäckig über etliche Jahre. dotnetpro hat die zehn derzeit wichtigsten Begriffe entschlüsselt.
(dotnetpro 12/2008,
Seite 72)
Seit der ersten Version bietet C# die Möglichkeit, eigenen Code mit Anmerkungen im Stil einer Referenzdokumentation zu versehen. Allerdings fehlte zum einen lange Zeit ein Werkzeug, um diese Kommentare in eine menschenlesbare Form zu bringen, zum anderen war es nicht möglich, Endbenutzerdokumentation zu erzeugen. Besserung ist in Sicht.
(dotnetpro 10/2008,
Seite 36)
Anwendungen in C# programmieren zu können, ist eine Sache - die Sprache C# auch zu beherrschen, ist eine andere. Zum Beherrschen einer Sprache gehört insbesondere, ihre Eigenheiten zu kennen und zu wissen, wie man mit diesen umgehen sollte. dotnetpro stellt die zehn Merkmale vor, die qualitativ hochwertigen und robusten C#-Code auszeichnen.
(dotnetpro 08/2008,
Seite 129)
Seitdem das Model-View-Controller-Muster das Licht der Welt erblickt hat, haben sich die Ansätze zur Architektur von
Anwendungen weiterentwickelt. Um dieser Entwicklung gerecht zu werden, hat sich auch Model-View-Controller
angepasst. Seine jüngste Variante heißt Model-View-ViewModel.
(dotnetpro 08/2008,
Seite 62)
Jede neue Version von C# enthielt bislang neue Sprachkonstrukte, die ihren Weg in den Entwickleralltag zügig
gefunden haben. Doch daneben bietet C# auch etliche weniger bekannte Konstrukte, die ihr Schattendasein zu
Unrecht fristen. dotnetpro rückt zehn dieser Missachteten in das ihnen gebührende Licht.
(dotnetpro 07/2008,
Seite 102)
Das Projekt codeparser.net hat sich das Ziel gesteckt, einen hochgradig konfigurierbaren Parser für BBCode als .NET-Komponente zur Verfügung zu stellen. codeparser.net liegt inzwischen bereits als Version 1.4 vor. Sein Beispiel zeigt, wie ein solcher Parser intern aufgebaut ist.
(dotnetpro 05/2008,
Seite 66)
Für einen Entwickler, der sicheren Code entwickeln will, ist Misstrauen die erste Programmiererpflicht. Jede Eingabe könnte manipuliert sein, jede Ausgabe könnte missbraucht werden. Aber dotnetpro hat sie: die Top Ten für die Entwicklung von sicherem Code.
(dotnetpro 04/2008,
Seite 12)
In .NET 2.0 wurde ein äußerst leistungsfähiger, einfach zu handhabender und dennoch bis
heute weitgehend unbekannter Namensraum eingeführt: System.Transactions löst die
Transaktionsmodelle aus .NET 1.x ab und vereinfacht die Handhabung von lokalen wie auch
verteilten Transaktionen deutlich.
(dotnetpro 03/2008,
Seite 12)
Visual Studio stellt ohne Frage die Entwicklungsumgebung schlechthin zur Entwicklung von
Anwendungen auf Basis von .NET dar. Obwohl es von Version zu Version besser wird,
be friedigt die IDE noch immer nicht alle Wünsche. dotnetpro hat die interessantesten Werkzeuge
zusammengestellt, die den Umgang mit Code weiter erleichtern.
(dotnetpro 02/2008,
Seite 86)
Mit dem Namensraum Reflection.Emit bietet das .NET Framework dem Entwickler umfangreiche
Möglichkeiten an, Code dynamisch zur Laufzeit zu generieren. Allerdings ist
Reflection.Emit nicht nur mächtig, sondern auch ziemlich kompliziert. Mit RunSharp steht
nun ein Wrapper für Reflection.Emit zur Verfügung, mit dem Codeerzeugung zur
Laufzeit zum Kinderspiel wird.
(dotnetpro 01/2008,
Seite 66)
Objektrelationale Mapping-Tools ermöglichen den konsistent objektorientierten
Zugriff auf relationale Datenquellen. Dadurch eignen sie sich besonders, um
eigene Anwendungen flexibler zu gestalten. dotnetpro zeigt, wie ein solches Tool in
eine bestehende Anwendung integriert wird.
(dotnetpro 12/2007,
Seite 32)
Novell bietet mit Mono eine zu .NET 2.0 weitestgehend kompatible Plattform zur Ent -
wicklung von Software, die im Gegensatz zu Microsoft .NET allerdings nicht proprietär,
sondern frei verfügbar ist. Mit dem Olive-Projekt soll Mono nun der Anschluss an die
Version 3.x des Microsoft-Frameworks gelingen.