Startseite > Archiv > Artikel von Golo Roden

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.


Für und Wider, Teil 2

(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.

Für und Wider

(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.

Auf Wolke sieben

(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.

Auf den Punkt gebracht

(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.

Von zweifelhaftem Wert

(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.

Catch Me If You Can

(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.

Der gordische Knoten

(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?

Explizite Schnittstellen

(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.

Unter die Haube geguckt

(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.

NoSQL für jeden Zweck

(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.

Von as bis typeof

(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.

Mut zum Anfang

(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.

Quo vadis?

(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?

Nächste Station:Web

(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.

Mit weniger mehr erreichen

(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.

Von Freund zu Freund

(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.

Vereint, verstreut, verteilt

(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.

Die Alternativen

(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.

hg WieGingDasNochGleich?

(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.

Verteilt + repliziert = besser

(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.

Vertrauen ist gut, Kontrolle ist schlechter

(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.

Im Kleinen Großes bewirken

(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.

Ach, C# kann das?

(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.

Agil 2.0

(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.

Aufräumen mit Plan

(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.

Richtig Schluss machen

(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?

StringBuilder + String.Concat

(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.

Vom Saulus zum Paulus

(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?

(K)eine teure Angelegenheit

(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?

XP verteilt

(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.

IArithmetic

(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.

Operator Overloading 101

(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.

„Wir müssen abwarten, was Java 7 leisten wird“

(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.

Gleich und doch nicht dasselbe

(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?

Murphy’s Law hoch 10

(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.

V ... wie virtual

(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.

VIP-Tipp: Unbedingt lesen!

(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).

beforefieldinit

(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.

Das Erbe von Java

(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.

Der Mensch im Mittelpunkt

(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.

yield return, yield break, yield ...

(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.

Jeder für sich

(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.

Ein bool ist ein int ist ein bool

(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.

Singularität im Kern

(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.

Welchen Typ hat null?

(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?

Aus Fehlern lernen

(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.

ASP.NET auf Speed

(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.

Silverlight als Silberpfeil

(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.

WPF != DirectX

(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.

Abwarten und Tee trinken

(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.

Wer blufft, fliegt raus

(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.

Hochaufgelöst

(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.

Grippeimpfung für Webserver

(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.

Was noch zu beweisen wäre

(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.

Wider das Vergessen

(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.

Der Nummernkontrolleur

(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.

Weniger ist mehr

(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.

Die Eine-Million-Dollar-Frage

(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.

Drum prüfe, wer sich ewig bindet

(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.

Für alle Event(-)ualitäten

(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.

Für wen eignet sich Windows Azure?

(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.

Zehn Attribute, die Ihr Arbeitsleben verändern können

(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.

Einführung in IronPython

(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.

Rootkits in .NET

(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.

Die Sprachen F# und C# im Vergleich

(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.

Die zehn wichtigsten Modewörter der IT-Branche entschlüsselt

(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.

.NET-Code dokumentieren mit Sandcastle und MAML

(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.

TopTen: Hochwertiger Code

(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.

Vom Model-View-Controller zum Model-View-ViewModel

(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.

Zehn C#-Sprachkonstrukte, die ihr Schattendasein zu Unrecht fristen

(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.

Einen BBCode-Parser für .NET entwickeln

(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.

Top Ten: Sicheren Code entwickeln

(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.

Interne Arbeitsweise des Namensraums System.Transactions

(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.

Coding-Tools für .NET

(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.

RunSharp: Code zur Laufzeit dynamisch erzeugen

(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.

Migration einer Webanwendung auf NHibernate

(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.

Die Zukunft von Mono

(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.
Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Wie zufrieden sind Sie mit Ihrem Gehalt?




Ergebnis anzeigen