Organisierter Code

dotnetpro, 7.2013

Eine der stärksten Fähigkeiten von Git ist die Möglichkeit, Code in Branches auf recht einfache Weise verwalten und umstrukturieren zu können. dotnetpro stellt das Konzept vor.

Mehr als "Hallo Welt"

dotnetpro, 7.2013

Die einen lieben sie, die anderen hassen sie: die Konsole. Um sie anzusteuern, enthält .NET die Console-Klasse im Namensraum System. Die kann weit mehr, als nur einzeilige Meldungen ausgeben. dotnetpro erklärt, was.

Ausnahmezustand

dotnetpro, 6.2013

Für die meisten Entwickler ist Fehlerbehandlung gleichbedeutend mit der Verwendung von Ausnahmen. Doch das ist nicht immer so. dotnetpro erklärt, wann der Einsatz von Ausnahmen sinnvoll ist und was es dabei zu beachten gibt.

Modellsammlung

iX, 6.2013

Wer strukturierte Webanwendungen programmieren will, findet Unterstützung bei Backbone.js. Models mit den Daten und der fachlichen Logik sind schnell definiert. Beim Verwalten und Speichern dieser Objekte helfen spezielle Container: die Collections.

Mit logischer Struktur

iX, 5.2013

Um die zunehmende Komplexität von Single-Page-Anwendungen bewältigen zu können, greifen Entwickler immer häufiger auf spezialisierte Frameworks zurück. Eines der bekanntesten ist Backbone.js, das aber einigen Einarbeitungsaufwand erfordert. Ein dreiteiliges Tutorial soll dabei helfen.

Unit testing with Node.js

The H Developer, 4.2013

Consistent unit testing is a basic quality requirement in modern software development and Node.js is very much a modern software platform. With Mocha, TJ Holowaychuk has created a framework for writing and executing Node.js unit tests; its biggest strength lies in the testing of asynchronous code and it can also be executed in a web browser.

Zeichensalat - nein danke

dotnetpro, 4.2013

.NET beherrscht den Unicode-Standard von Haus aus. Warum also Gedanken an Encodings & Co. verschwenden - UTF-8, UTF-16, ISO 8859-1 ...? In der Theorie erspart .NET dem Entwickler all dies. dotnetpro zeigt die Praxis.

Mit dem Stream schwimmen

dotnetpro, 3.2013

Die meisten Daten, ob Dateien, Netzwerk- oder sonstige Daten, werden nicht en bloc übertragen, sondern sequenziell, Byte für Byte. Das .NET Framework kennt für solche Daten bereits seit seiner ersten Version eine Vielzahl von Typen.

Hochgepusht

dotnetpro, 3.2013

Das Einrichten von Webanwendungen ist eine Kunst für sich, die Verfahren reichen von XCOPY über FTP bis hin zu eigenen Protokollen. Nun gibt es auch noch git-push-Deployment.

Das Vokabelheft

dotnetpro, 3.2013

Das Potenzial der Versionsverwaltung Git erschließt sich über die zahlreichen Befehle der Kommandozeile. Als kleine Gedächtnisstütze präsentiert dotnetpro die wichtigsten im Überblick.

Verteiltes Glück

dotnetpro, 3.2013

Anders als Subversion, der Team Foundation Server & Co. ist Git eine verteilte Versionsverwaltung. Das bietet viele Vorteile, erfordert zugleich jedoch grundlegendes Umdenken.

Mocha gefällig?

heise Developer, 3.2013

Der konsequente Einsatz von Unit-Tests ist ein grundlegendes Qualitätsmerkmal zeitgemäßer Softwareentwicklung. Das gilt ebenfalls unter Node.js. TJ Holowaychuk stellt mit Mocha ein Framework zum Schreiben und Ausführen von Unit-Tests zur Verfügung, dessen größte Stärke im Testen asynchronen Codes besteht. Außerdem lässt es sich im Webbrowser ausführen.

Web-Echtzeit mit Socket.io

Weave, 2.2013

Sie wollen den Besuchern Ihrer Webseite Neuigkeiten schnellstmöglich anzeigen? Leider verursachen regelmäßige Serverabfragen unnötige Netzwerklast. Golo Roden zeigt Ihnen, wie Sie Ihre Webseite mit der JavaScript-Library Socket.io ohne große Umschweife echtzeitfähig machen.

Kurz gesagt

dotnetpro, 2.2013

In seiner neuen Kolumne nimmt Golo Roden die Grundlagen von .NET unter die Lupe. Los geht es mit einem nicht technologischen, trotzdem aber ungemein wichtigen Thema: Abkürzungen und Akronyme wie CLR, BCL & Co.

Reine Typsache

dotnetpro, 2.2013

Die Websprache JavaScript hat bei Entwicklern nicht den besten Ruf, gilt sie doch "nur" als umständliche Skriptsprache. Es wird Zeit, mit Vorurteilen aufzuräumen und JavaScript ins richtige Licht zu rücken.

Verknüpft

heise Developer, 2.2013

Kenntnisse in den Frameworks Connect und dem darauf aufbauenden Express gehören für Node.js-Entwickler zu den Grundlagen. Sie erweitern das grundlegende Request-Response-Modell von Node.js um häufig benötigte Funktionen wie Middleware und Routing. Was liegt also näher, als in einem zweiteiligen Tutorial mit ihnen REST-Webservices in Node.js zu entwickeln?

Ruckzuck

heise Developer, 2.2013

In einem früheren Artikel wurde Connect als hilfreiche Grundlage für die Entwicklung von Node.js-Anwendungen vorgestellt. Darauf aufbauend geht es nun um das Framework Express, mit dem sich einfach REST-Webservices in Node.js entwickeln lassen.

TypeScript: Microsofts neue typisierte Skriptsprache

iX Developer, 1.2013

Am 1. Oktober 2012 hat Microsoft die neue Programmiersprache TypeScript vorgestellt. Sie ist zwar vollständig abwärtskompatibel zu JavaScript, liefert aber einige in JavaScript fehlende Bausteine wie ein statisches Typsystem, Klassen und Module nach.

Zeitgemäße Webanwendungen mit Node.js entwickeln

iX Developer, 1.2013

Node.js ist ein Framework zur Entwicklung serverseitiger Webanwendungen in JavaScript, das sich besonders gut für skalierbare, hochperformante und echtzeitfähige Webanwendungen eignet. Zudem ermöglicht es Webentwicklern die einheitliche Verwendung von JavaScript für Client und Server. Dieser Artikel erklärt, was Node.js auszeichnet, und erläutert die grundlegenden Konzepte.

Weißt Du noch, damals?

dotnetpro, 12.2012

Mit Cassini gab es mal einen leichtgewichtigen ASP.NET-Server. Er machte das Entwickeln mit ASP.NET einfach und schnell. Er hat einen Nachfolger: UltiDev Web Server Pro.

Völlig losgelöst

dotnetpro, 12.2012

JavaScript enthält keine Sprachkonstrukte zum Verwalten und Auflösen von Abhängigkeiten. Dennoch lässt sich Code in dieser Hinsicht strukturieren – mit der Bibliothek RequireJS.

Zurechtgeschnitten

heise Developer, 10.2012

Am 1. Oktober 2012 hat Microsoft die neue Programmiersprache TypeScript vorgestellt. Sie ist zwar vollständig abwärtskompatibel zu JavaScript, liefert aber einige in JavaScript fehlende Bausteine wie ein statisches Typsystem, Klassen und Module nach.

Gestatten, Node.js

heise Developer, 10.2012

Node.js ist ein Framework zur Entwicklung serverseitiger Webanwendungen in JavaScript, das sich besonders gut für skalierbare, hochperformante und echtzeitfähige Webanwendungen eignet. Zudem ermöglicht es Webentwicklern die einheitliche Verwendung von JavaScript für Client und Server. Dieser Artikel erklärt, was Node.js auszeichnet, und erläutert die grundlegenden Konzepte.

Angekommen?!

dotnetpro, 9.2012

Nach vierundzwanzig Folgen "Golos scharfes C" ist es an der Zeit, zurückzublicken und Abschied zu nehmen - aber nicht für lange.

Subtil volatil

dotnetpro, 8.2012

Zu den am häufigsten missverstandenen Schlüsselwörtern in C# gehört volatile, weshalb es die meisten Entwickler meiden. dotnetpro erklärt, wozu es gut ist.

Multifunktional

dotnetpro, 7.2012

using ist in C# als Anweisung und als Direktive enthalten und hat mehrere Bedeutungen - was die meisten Entwickler eher beiläufig wahrnehmen. Zeit, das zu ändern!

Blockadenbau

dotnetpro, 6.2012

Das Schlüsselwort lock gehört zu den elementaren Grundlagen der nebenläufigen Programmierung und wird doch leider häufig falsch eingesetzt. Dabei ist die korrekte Anwendung gar nicht schwierig.

Felder oder Eigenschaften?

dotnetpro, 5.2012

Anders als beispielsweise C++ und Java kennt C# das Konstrukt der Eigenschaften, das den kontrollierten Zugriff auf Felder erlaubt. Bei reinen Datenklassen erscheint es jedoch umständlich. Dieser Schein trügt.

Veränderliche Konstanten

dotnetpro, 4.2012

Was ist der Unterschied zwischen den beiden Schlüsselwörtern const und readonly? Definieren nicht beide eine Konstante? Nein, und dotnetpro erklärt, warum nicht.

Bauchgefühl mal zwei

dotnetpro, 4.2012

Der Kunde will eine auf sein Problem zugeschnittene Software. Und er will vorher wissen, wie lange er darauf warten muss und was ihn das kostet. Ist dieser Wunsch seriös überhaupt zu erfüllen?

Scriptease.js: Über den Umgang mit Funktionen

heise Developer, 4.2012

Das Anheben von Variablendeklarationen bei JavaScript betrifft nicht nur Werte und Objekte, sondern unter Umständen auch Funktionsausdrücke: Schließlich sind Funktionen in der funktionalen Sprache nichts anderes als Objekte. heise Developer erläutert, worauf es beim Verwenden von Funktionen zu achten gilt.

Für und Wider, Teil 2

dotnetpro, 3.2012

Das letzte "Scharfe C" hat die Theorie hinter den Begriffen Ko- und Kontravarianz beschrieben. Nun ist es Zeit für die Praxis.

Auf Wolke sieben

dotnetpro, 2.2012

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.

Für und Wider

dotnetpro, 2.2012

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.

Glückliche Hühner

Visual Studio One, 1.2012

Meine Schwiegermutter macht den weltbesten Kartoffelsalat. Alternativ auch meine Mutter, je nachdem, wer diesen Artikel gerade liest. Wahrscheinlich behaupten das die meisten verheirateten Menschen. In meinem Fall stimmt es aber wirklich, denn es gibt eine geheime Zutat, ...

Auf den Punkt gebracht

dotnetpro, 1.2012

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.

Scriptease.js: Umgang von JavaScript mit Variablen

heise Developer, 1.2012

Mit Variablen in JavaScript klarzukommen, ist gewöhnungsbedürftig: Der auf Funktionen bezogene Gültigkeitsbereich von Variablen und das Anheben von Variablendeklarationen stiften zumindest anfänglich durchaus Verwirrung. heise Developer erläutert, worauf es bei der Verwendung von Variablen zu achten gilt.

Von zweifelhaftem Wert

dotnetpro, 12.2011

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.

Scriptease.js: Vergleiche mit typsicheren Operatoren

heise Developer, 12.2011

Zwei Variablen zu vergleichen ist eine der grundlegenden Aufgaben jeder Programmiersprache. Erst einmal scheint die Aufgabe trivial: Wenn beide Variablen den gleichen Wert enthalten, sind sie gleich, ansonsten ungleich. Auf den zweiten Blick entdeckt man jedoch einige Stolperfallen.

Event Based Components: Architektur von Software in neuem Licht

iX Developer, 12.2011

Je weniger Abhängigkeiten innerhalb von Code bestehen, desto einfacher fallen dessen Wartung und Pflege aus. Dieser hinlänglich bekannten Erkenntnis begegnen Entwickler auf Komponentenebene in der Regel mit dem Entwurfsmuster "Inversion of Control", indem sie beispielsweise einen Dependency-Injection-Container (DI) zur dynamischen Auflösung der Abhängigkeiten verwenden. Doch genügt diese Art der Entkopplung, um isolierte Komponenten zu entwickeln?

Mächtiges Werkzeug

web developer, 12.2011

In Kombination mit DOM und dem Einsatz moderner Ajax-Techniken ist JavaScript heute ein mächtiges Werkzeug, für das eine Reihe von umfangreichen Bibliotheken zur Verfügung steht.

Der gordische Knoten

dotnetpro, 11.2011

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?

Catch Me If You Can

dotnetpro, 11.2011

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.

NoSQL für jeden Zweck

dotnetpro, 10.2011

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.

Unter die Haube geguckt

dotnetpro, 10.2011

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.

Explizite Schnittstellen

dotnetpro, 10.2011

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.

Von as bis typeof

dotnetpro, 9.2011

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.

Von Hummeln und Menschen

heise Developer, 9.2011

Die Community um das serverseitige JavaScript-Framework Node.js mag noch verhältnismäßig klein sein - doch sie wächst stetig, gewinnt zunehmend an Professionalität und begeistert. Nur so ist zu erklären, dass sich rund 250 Menschen aus ganz Europa auf den Weg nach Brescia zur ersten Node.js Conference Italy machten.

Nächste Station: Web

dotnetpro, 8.2011

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.

Quo vadis?

dotnetpro, 8.2011

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?

Mut zum Anfang

dotnetpro, 8.2011

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.

Mit weniger mehr erreichen

dotnetpro, 7.2011

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 zum Vorteil gereicht.

Von Freund zu Freund

dotnetpro, 7.2011

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.

Verteilt + repliziert = besser

dotnetpro, 6.2011

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.

hg WieGingDasNochGleich?

dotnetpro, 6.2011

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.

Die Alternativen

dotnetpro, 6.2011

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.

Vereint, verstreut, verteilt

dotnetpro, 6.2011

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.

Windows 8, HTML5 und die Folgen für .NET?

heise Developer, 6.2011

Lange Zeit war die Roadmap von .NET so verlässlich wie unspektakulär - seit der PDC 2010 ist die Stabilität jedoch ins Wanken geraten. Was mit der beiläufigen Aussage "our strategy with Silverlight has shifted" begann, fand am 1. Juni 2011 seinen bisherigen Höhepunkt in der Ankündigung zu Windows 8, dass HTML5 und JavaScript zu "First Class Citizens" bei der Entwicklung von UIs werden. Welche Zukunftsaussichten ergeben sich daraus für .NET? Ist der Zenit des Frameworks bereits überschritten, oder gibt es noch Hoffnung?

Vertrauen ist gut, Kontrolle ist schlechter

dotnetpro, 5.2011

In der vergangenen Ausgabe der dotnetpro haben Sie ADF White kennen- und vielleicht schätzen gelernt, und möglicherweise wollen Sie nun ADF auch in Ihrem Team 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.

Event Based Components: Architektur von Software in neuem Licht

heise Developer, 5.2011

Je weniger Abhängigkeiten innerhalb von Code bestehen, desto einfacher fallen dessen Wartung und Pflege aus. Dieser hinlänglich bekannten Erkenntnis begegnen Entwickler auf Komponentenebene in der Regel mit dem Entwurfsmuster "Inversion of Control", indem sie beispielsweise einen Dependency-Injection-Container (DI) zur dynamischen Auflösung der Abhängigkeiten verwenden. Doch genügt diese Art der Entkopplung, um isolierte Komponenten zu entwickeln?

Keine Kunst?

Kaffeeklatsch, 4.2011

Wie lange brauchen Sie, um ein Osterei zu bemalen? Eins mit ein bisschen Wiese, einem Osterhasen, einer Sonne und einigen Wolken am Himmel. Einschließlich ausblasen, und schließlich den an ein Streichholz geknoteten Faden einfädeln. 10 Minuten? 15 Minuten? Eine halbe Stunde? Oder gar eine ganze Stunde?

Im Kleinen Großes bewirken

dotnetpro, 4.2011

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 ADF White.

Ach, C# kann das?

dotnetpro, 4.2011

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 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, 3.2011

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.

Best of Breed

dotnetpro, 3.2011

Ob Steinaxt, Füller oder Tunnelbohrmaschine: Ohne solche Werkzeuge fällt das Erschaffen von Neuem schwer. Auf den folgenden Seiten verraten dotnetpro-Autoren, welche Tools ihnen die liebsten sind. Einer schlägt dabei völlig aus der Art.

XP - agiles Basiswissen

Visual Studio One, 2.2011

Scrum, Feature Driven Development (FDD), Crystal, Kanban - sie alle haben eines gemeinsam: Sie behandeln eher den Prozess als das konkrete Vorgehen des einzelnen Entwicklers. Doch die Welt besteht aus mehr als Projektplanung und -organisation. Extreme Programming (XP) verfolgt daher einen anderen Ansatz: XP richtet sich - getreu dem Motto "Nomen est Omen" - explizit an Entwickler, die ein primär technisch geprägtes Fundament zur agilen Entwicklung suchen.

Richtig Schluss machen, Teil 2

dotnetpro, 2.2011

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.

Viel Wirbel um - nichts?

Visual Studio One, 1.2011

Scrum ist jene agile Methode, um die derzeit der meiste Wirbel gemacht wird: Wer agil sein will, macht Scrum. Oder zumindest das, was er dafür hält. Was also ist Scrum? Glaubt man dem Marketing, so ist Scrum eine agile Methode, die sich in fünf Minuten auf einer Serviette erklären lässt. Viel Wirbel um nichts also? Nicht ganz - denn obwohl Scrum auf den ersten Blick beinahe trivial wirkt, steckt der Teufel wie so oft im Detail. Visual Studio One erklärt, worauf Sie achten müssen.

Richtig Schluss machen, Teil 1

dotnetpro, 1.2011

Das Erzeugen von Objekten ist ein Leichtes von 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?

Vom Saulus zum Paulus

dotnetpro, 12.2010

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 erscheinen. Oft genug wird aber auch behauptet, Unit-Tests seien unverzichtbar. Ja, was denn nun?

StringBuilder + String.Concat

dotnetpro, 12.2010

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 herauszufinden, ist es hilfreich zu wissen, wie .NET Strings verwaltet.

Modifizierte Klaviatur

iX Developer, 12.2010

Mit Visual Studio 2010 und .NET 4.0 halten auch eine neue Version von C# und die Unterstützung agiler Methoden durch den Team Foundation Server Einzug in die Programmierwelt. Was auf den ersten Blick löblich erscheint, mag für den einen oder anderen Entwickler aber nicht umfassend genug umgesetzt sein.

Entwickeln mit verteilten agilen Teams

dotnetpro, 11.2010

Seit seinem Studienabschluss im Jahr 2001 ist Jörn Koch für die C1 WPS GmbH als Senior Softwarearchitekt in den Bereichen IT-Beratung, Coaching und Projektleitung tätig. Er verfügt über mehrjährige Erfahrung in der Leitung und im Coaching agiler Projekte sowie als Architekt in der Konstruktion, Bewertung und der Restrukturierung großer objektorientierter Anwendungssysteme für unterschiedliche Branchen.

XP verteilt

dotnetpro, 11.2010

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.

(K)eine teure Angelegenheit

dotnetpro, 11.2010

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?

Halbtonschritt

heise Developer, 11.2010

F# ist im Gegensatz zu C# eine funktionale Sprache. Was zunächst als Spezialsprache für mathematische Algorithmen erscheint, erweist sich schnell als flexible und gut geeignete Sprache für andere Anwendungsgebiete.

IArithmetic

dotnetpro, 10.2010

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? Kein Wunder: IArithmetic gibt es nicht.

"Wir müssen abwarten, was Java 7 leisten wird"

dotnetpro, 9.2010

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.

Operator Overloading 101

dotnetpro, 9.2010

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.

Gleich und doch nicht dasselbe

dotnetpro, 8.2010

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<T>-Schnittstelle ... und die IComparable- sowie die IComparable<T>-Schnittstellen, die auch noch irgendeine Rolle spielen - aber welche?

Murphy's Law hoch 10

dotnetpro, 8.2010

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, 7.2010

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, 7.2010

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, 6.2010

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.

Der Mensch im Mittelpunkt

dotnetpro, 6.2010

Agile Methoden unterscheiden sich im Wesentlichen 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 gemeinsames Wertesystem zugrunde.

Das Erbe von Java

dotnetpro, 6.2010

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

Nummer 5 lebt

Toolbox, 5.2010

Die Erfindung von HTML hat das Internet revolutioniert. Die derzeitige Version 4.01 ist bereits über zehn Jahre alt und nicht mehr zeitgemäß. HTML5 tritt nun an, dies zu ändern.

Projekt statt Murks

Visual Studio One, 5.2010

Crystal Clear ist die kleinste von verschiedenen Projektmanagement-Methoden der Crystal-Familie. Doch weder sie noch ihre Schwestern sind weitläufig bekannt - selbst Feature Driven Development (FDD) ist weiter verbreitet. Zu Unrecht, denn trotz einer gewissen Nähe zu Extreme Programming (XP) und Scrum weist Crystal Clear einige individuelle, interessante Aspekte auf.

Fahndung nach Zielpersonen

databasepro, 5.2010

Zur Cloud-Plattform Windows Azure gehören neben dem eigentlichen Betriebssystem noch einige weitere Komponenten. SQL Azure ist eine in der Cloud verfügbare relationale Datenbank.

yield return, yield break, yield ...

dotnetpro, 5.2010

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.

Feature Driven Development

Visual Studio One, 4.2010

Die meisten Entwickler denken bei dem Begriff "agile Methoden" an Extreme Programming (XP) oder Scrum. Andere Verfahren sind zumeist, wenn überhaupt, nur passiv bekannt. Dabei steht mit dem Feature Driven Development (FDD) eine agile und ausgesprochen leichtgewichtige Methode zur Verfügung, die zumindest auf den ersten Blick den Vergleich zu Scrum nicht zu scheuen braucht.

Ein bool ist ein int ist ein bool

dotnetpro, 4.2010

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.

Jeder für sich

dotnetpro, 4.2010

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.

Modifizierte Klaviatur

heise Developer, 4.2010

Mit Visual Studio 2010 und .NET 4.0 halten auch eine neue Version von C# und die Unterstützung agiler Methoden durch den Team Foundation Server Einzug in die Programmierwelt. Was auf den ersten Blick löblich erscheint, mag für den einen oder anderen Entwickler aber nicht umfassend genug umgesetzt sein.

Nummer 5 lebt

PHP Journal, 3.2010

Die Erfindung von HTML hat das Internet revolutioniert. Die derzeitige Version 4.01 ist bereits über zehn Jahre alt und nicht mehr zeitgemäß. HTML 5 tritt nun an, dies zu ändern.

Welchen Typ hat null?

dotnetpro, 3.2010

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?

Singularität im Kern

dotnetpro, 3.2010

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.

Aus Fehlern lernen

dotnetpro, 3.2010

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.

Unabhängigkeit ist die beste Basis für eine echte Community

heise Developer, 3.2010

myCSharp.de ist eine der wichtigsten Anlaufstellen für Programmierer, die sich mit den Themen C# und .NET befassen. heise Developer sprach mit Golo Roden, früherem Administrator und heutigem Poweruser der Community-Seite, über die Angebote und Ziele des Forums sowie seine Besucher.

Alternativen zu MySQL

PHP Journal, 2.2010

Obwohl in der Regel kostenlos, können Open-Source-Datenbanken mit den kommerziellen Vertretern dieser Zunft durchaus mithalten. Ein Marktüberblick.

Bildgalerien mit Zoom

Weave, 2.2010

Dank Deep Zoom Composer kann man seit Silverlight 2 stufenlos in hoch aufgelöste Bilder hineinzoomen. Golo Roden zeigt, wie Sie eine zoombare Galerie anlegen, bei der Ihre Kunden die Bilder selbst vorbereiten können.

Suchmaschinen-Optimierung

PHP Journal, 1.2010

Wer eine Webseite betreibt, möchte, dass diese auch gefunden wird. Das wichtigste Medium hierfür sind Suchmaschinen. Eine gute Positionierung ist das A und O eines erfolgreichen Webauftritts.

Frei und Business-tauglich

databasepro, 1.2010

Obwohl in der Regel kostenlos, können Open-Source-Datenbanken mit den kommerziellen Vertretern dieser Zunft durchaus mithalten. Ein Marktüberblick.

Abwarten und Tee trinken

dotnetpro, 12.2009

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.

ASP.NET auf Speed

dotnetpro, 12.2009

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

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

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.

Wer blufft, fliegt raus

dotnetpro, 11.2009

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

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

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.

Compatible with Windows 7 - aber wie?

dot.net magazin, 10.2009

Anwender achten beim Kauf von Software auf die Kompatibilitätslogos zu Windows. Gab es diese Logos unter Windows Vista noch in zwei Varianten, ist es bei Windows 7 nur noch eines. Doch welche Anforderungen muss eine Anwendung überhaupt erfüllen, um ein entsprechendes Logo tragen zu dürfen? Das dot.net magazin gibt einen Überblick.

Wider das Vergessen

dotnetpro, 10.2009

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.

Was noch zu beweisen wäre

dotnetpro, 10.2009

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.

7.0 = 6.1 - Worauf Entwickler in Windows 7 achten müssen

dot.net magazin, 9.2009

Am 22. Oktober 2009 wird das Warten ein Ende haben: An diesem Tag wird Microsoft mit Windows 7 eine neue Version seines Betriebssystems und damit den Nachfolger von Windows Vista veröffentlichen. Damit alle bestehenden Anwendungen auch auf Windows 7 laufen, sind eventuell einige Anpassungen notwendig. Das dot.net magazin zeigt Ihnen daher, was sich für Entwickler in Windows 7 ändert.

Interview mit Golo Roden: Jede Checkbox fordert vom Benutzer eine Entscheidung

dotnetpro, 9.2009

Was, wenn Sie als Entwickler plötzlich doch ein User Interface gestalten müssen? Wie wird das ganze dann für den Benutzer optimal bedienbar? Golo Roden gibt Ihnen in seinem Vortrag auf der prio.conference 2009 wichtige Regeln und Hilfen an die Hand, die Ihnen in so einer Situation garantiert weiter helfen.

Gemeinsam mehr erreichen

dot.net magazin, 8.2009

Wikis könnte man als eine Art einfaches Content-Management-System beschreiben. Allerdings grenzen sich diese von jenen durch eine spezielle und sehr charakteristische Eigenart ab: Benutzer können die in einem Wiki enthaltenen Informationen nicht nur lesen, sondern auch verändern - ein Wiki ist also eine ideale Community-Plattform. Das dot.net magazin hat sich deshalb die Software ScrewTurn Wiki näher angesehen.

Weniger ist mehr

dotnetpro, 8.2009

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.

Der Nummernkontrolleur

dotnetpro, 8.2009

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.

Die Nadel im Heuhaufen

dot.net magazin, 7.2009

Die Suche nach einem Content Management System (CMS), das auf ASP.NET basiert, kostenfrei, idealerweise Open Source und zudem leistungsfähig und skalierbar ist, gestaltet sich schnell so aufwändig wie die sprichwörtliche Suche nach der Nadel im Heuhaufen. Deshalb hat sich das dot.net magazin die Open-Source-Software Umbraco näher angesehen.

Die Eine-Million-Dollar-Frage

dotnetpro, 7.2009

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.

Flexible User Interfaces

Weave, 6.2009

Immer mehr Desktopanwendungen werden für das Web portiert. Das erfordert nicht zwingend ein grundlegendes Rewrite der Anwendung - man kann auch das bestehende Desktop-User-Interface einfach gegen ein Web-UI austauschen. Weave erklärt, welche Voraussetzungen erfüllt sein müssen, und stellt einen passenden Architekturentwurf vor.

Come together

dot.net magazin, 6.2009

Viele Communities im Web basieren auf einer Forensoftware - enthält eine solche doch bereits von Haus aus die meisten Features, die für eine Community wichtig sind - allem voran natürlich ausgefeilte Möglichkeiten, Diskussionen zu erstellen, daran teilzunehmen und diese zu moderieren. Einen ASP.NET-basierten Vertreter, der zudem Open Source zur Verfügung steht, hat sich das dot.net magazin angesehen: YetAnotherForum.NET.

Drum prüfe, wer sich ewig bindet

dotnetpro, 6.2009

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.

Liebes Tagebuch!

dot.net magazin, 5.2009

Wer ein Blog betreiben und dieses auf eigenem Webspace hosten will, benötigt eine geeignete Blogsoftware als Basis. Spätestens, wenn Anpassungen an der Software vorgenommen werden sollen, empfiehlt es sich für .NET-Entwickler, ein auf ASP.NET basierendes System zu wählen. Deshalb hat sich das dot.net magazin die Open-Source-Software BlogEngine.NET näher angesehen.

Für alle Event(-)ualitäten

dotnetpro, 5.2009

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, 5.2009

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.

Wahlfreiheit - wann ist es sinnvoll, WPF zu nutzen, und wann Silverlight?

dot.net magazin, 4.2009

WPF und Silverlight sind die aktuellen Technologien von Microsoft zur Entwicklung grafischer Oberflächen. Obwohl sie miteinander verwandt sind und aufeinander basieren, sind sie nicht beliebig austauschbar. Das dot.net magazin ist der Frage nachgegangen, wo die jeweiligen Stärken der Technologien liegen, und wann sie jeweils eingesetzt werden sollten.

[dev: Important(Prio.High)]

dotnetpro, 3.2009

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.

Silverlight 2.0, Teil 2: Umsetzung eines Projektes

dot.net magazin, 2.2009

Mit Silverlight als Technologie für grafische Oberflächen und .NET als Backend, verfügt Microsoft über eine mächtige Plattform, auf deren Basis es deutlich leichter ist als bisher, umfangreiche und komplexe Web-Anwendungen zu erstellen. Während es im ersten Teil dieser Artikelserie vorrangig um Silverlight als Plattform und die entsprechende Infrastruktur seitens Microsoft ging, beschäftigt sich der vorliegende zweite Teil dieses Artikels mit der Planung, Entwicklung und Bereitstellung eines Silverlight-Projektes.

.NET kompromittiert

dotnetpro, 2.2009

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.

F# = f(C#)?

dotnetpro, 2.2009

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.

Fliegender Zirkus für Entwickler

dotnetpro, 2.2009

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.

Silverlight 2.0, Teil 1: Theorie und Grundlagen

dot.net magazin, 1.2009

Seit das World Wide Web im Jahr 1993 vollständig öffentlich zugänglich gemacht wurde, haben sich die zu Grunde liegenden technischen Standards nicht relevant verändert: Seit inzwischen 15 Jahren basiert das Web auf den Standards HTTP, HTML und URL. Auf dem Desktop hingegen gab es in der gleichen Zeit gleich einige Revolutionen - mit Silverlight schickt Microsoft nun einen Kandidaten ins Rennen, der eine solche Revolution auch im Web leisten soll.

SOA, WOA, was?

dotnetpro, 1.2009

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.

Keineswegs auf Sand gebaut

dotnetpro, 12.2008

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.

Top Ten: Hochwertiger Code

dotnetpro, 10.2008

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, 8.2008

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, 8.2008

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, 7.2008

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, 5.2008

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, 4.2008

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, 3.2008

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, befriedigt 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, 2.2008

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, 1.2008

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.

Social Engineers gehen phishen

InfoWeek, 17.2007

Wer hat das nicht schon erlebt: Eines Tages erhält man eine E-Mail von einem Kreditinstitut, mit der Bitte, sich mit PIN und TAN auf Grund eines Fehlers im Onlinebanking neu zu authentifizieren - und das, obwohl man überhaupt kein Kunde dieses Kreditinstituts ist. Bei solchen Betrugsversuchen handelt es sich um sogenanntes Phishing, das eine besonders perfide Form des Social Engineerings darstellt.

Mit Vertrauen zu geheimen Daten

InfoWeek, 16.2007

Ein wesentliches Element von Angriffen, die auf Social Engineering basieren, ist der Aufbau von Vertrauen und das anschließende Ausnutzen dieses Vertrauens. Warum Vertrauen so wichtig ist, und welche Tricks ein Angreifer üblicherweise anwendet, um Vertrauen aufzubauen, zeigt dieser Artikel.

Sicherheitsrisiko Mensch

InfoWeek, 15.2007

Sicherheit wird in der IT groß geschrieben. Täglich finden Angriffe auf Anwendungen oder die Infrastruktur an sich statt. Die Industrie versucht hingegen, unter anderem mit Hilfe von Intrusion Detection-Systemen, Firewalls und Virenscannern, ihre Anwendungen vor sämtlichen Bedrohungen zu schützen. Doch unabhängig von der Höhe des getriebenen Aufwands, dem größten Risiko wird man mit technischen Mitteln nie beikommen können: Dem Menschen.

Sichere Kennwörter

InfoWeek, 12.2007

Auch wenn Kennwörter in der Regel nicht absolut sicher sind, so lässt sich unter Beachtung einiger weniger Tipps und Tricks ein verhältnismäßig sicheres Kennwort erzeugen, das sich der Benutzer zudem noch leicht merken kann. Die wichtigsten Regeln zeigt dieser Artikel auf.

Die Zukunft von Mono

dotnetpro, 12.2007

Novell bietet mit Mono eine zu .NET 2.0 weitestgehend kompatible Plattform zur Entwicklung 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.

Sicherheit und Web 2.0

InfoWeek, 11.2007

Mit der zunehmenden Verbreitung von AJAX-gestützten Webanwendungen entstehen auch neue Gefahren und Risiken. So erleben zurzeit nicht nur Cross-Site-Scripting-Angriffe eine Renaissance, auch die sogenannte "JSON-Problematik" tritt immer häufiger zu Tage. Berücksichtigt man diese Gefahren bereits bei der Entwicklung, lassen sich Anwendungen effektiv vor den entsprechenden Angriffen schützen.

Hohe Hürden gegen Angreifer

InfoWeek, 10.2007

Eine Grundregel lautet, sich nicht auf "Security by obscurity" zu verlassen. Das heißt, dass es theoretisch bedenkenlos möglich sein sollte, alle Implementierungsdetails einer Anwendung offenzulegen, ohne damit ein Sicherheitsrisiko einzugehen. Dennoch ist es ratsam, einem Angreifer diesbezüglich so wenige Informationen wie möglich zuzuspielen, um einen Angriff so schwierig wie möglich zu machen.

Applikationsschutz per Kryptographie

InfoWeek, 9.2007

Verschlüsselung und digitale Unterschriften sind wesentliche Bestandteile der Sicherheit von Webanwendungen. Um dabei nicht einer trügerischen Sicherheit zu erliegen, sondern eine wirkliche Sicherheit gewährleisten zu können, gilt es einige Regeln zu befolgen. Zudem kann es äußerst nützlich sein, die Vor- und Nachteile verschiedener Verfahren einschätzen zu können.

Zwölf Gebote für sichere Webanwendungen

InfoWeek, 8.2007

Zahlreiche Angriffe auf Webanwendungen basieren auf der Manipulation von Benutzereingaben, die entweder fehlerhaft verarbeitet oder nicht ausreichend überprüft werden. Zudem bieten die Authentifizierung und Autorisierung von Benutzern weitere Angriffsflächen, die leicht ausgenutzt werden können. Fast alle dieser Angriffe lassen sich aber verhindern, wenn einige grundlegende Regeln beachtet werden.

Schützen von Netzwerk und Host

InfoWeek, 7.2007

Die Basis jeder Webanwendung sind die Server, auf denen die Anwendung ausgeführt wird, und das Netzwerk, an das diese Server angeschlossen sind. Da Angriffe nicht nur die Anwendung als direktes Ziel haben können, sondern auch die zu Grunde liegende Infrastruktur, ist es wichtig, die Schwachstellen des Netzwerks und der Server zu kennen, um sie absichern zu können.

Bedrohungen und Vorgehensmodelle

InfoWeek, 6.2007

In den vergangenen fünfzehn Jahren hat das Internet zunehmend an Bedeutung gewonnen und ist aus dem heutigen Alltag nicht mehr wegzudenken. Allerdings haben sich durch die weltweite Vernetzung auch neue Sicherheitsrisiken und Angriffsmöglichkeiten ergeben, auf die entsprechend eingegangen werden muss, um eine Webapplikation gegen Angriffe abzusichern.

AJAX sinnvoll einsetzen

InfoWeek, 5.2007

In den vergangenen Monaten hat AJAX einen ungeahnten Höhenflug erlebt. Auf immer mehr Webseiten werden AJAX-gestützte Komponenten eingesetzt, und insbesondere der Hype um Web 2.0 lebt hauptsächlich auf Grund von AJAX. Dennoch gibt es - wie bei jeder neuen Technologie - auch Stolperfallen, die es zu berücksichtigen gilt.

Mehr Speed für Vista

InfoWeek, 4.2007

Neben zahlreichen neuen Funktionen bringt Windows Vista auch sehr gehobene Ansprüche an die zu Grunde liegende Hardware mit, insbesondere Arbeitsspeicher ist unter Windows Vista wichtiger denn je. Da mit einer Aktualisierung auf Windows Vista nicht bei jedem Benutzer automatisch auch neue Hardware verbunden ist, gibt es einige Kniffe, um mehr aus seinem Windows heraus zu holen.

Produktiver arbeiten mit Vista

InfoWeek, 3.2007

Windows Vista enthält einige neue Features, welche die Produktivität deutlich steigern können - sofern man weiß, wie man sie einsetzen muss. Dazu zählen neben der fast überall integrierten und von Windows XP in Ansätzen bekannten Desktopsuche der ActiveSync-Nachfolger namens Synchronisierungscenter und die Windows-Sidebar.

Daten sichern mit Windows Vista

InfoWeek, 2.2007

Mit dem Thema "Datensicherheit" assoziieren die meisten Anwender technische Produkte wie Firewalls, Viren- oder Spywarescanner. Insbesondere durch die gestiegene Verbreitung von mobilen Endgeräten ist aber ein weiteres Risiko hinzugekommen, das oft unterschätzt wird - wie werden Daten geschützt, wenn Notebook oder Mobiltelefon gestohlen werden oder verloren gehen?

Interview zu Microsoft CLIP

MSDN Magazin, 2.2007

CLIP ist ein Betreuungsprogramm von Microsoft für alle Betreiber deutschsprachiger, nicht-kommerzieller Online- und Offline-Communities, die sich mit Produkten, Services und und Technologien rund um Microsoft beschäftigen. Was es bedeutet, Mitglied bei CLIP zu sein, verrät Golo Roden in einem Interview.

Windows Vista - Desktop Security

InfoWeek, 1.2007

Spätestens seit Windows XP wegen seiner Anfälligkeit für Viren und sonstige Schadsoftware unrühmlich in die Schlazeilen geriet, ist "Sicherheit" für Microsoft das wesentliche Thema bei der Entwicklung von Software geworden. Windows Vista ist nun das erste Windows, das vollständig nach neuen Richtlinien zur Entwicklung sicherer Software gestaltet wurde.

Special: Office 2007

InfoWeek, 1.2007

Seit der Veröffentlichung von Microsoft Office 97 gegen Ende des Jahres 1996 hat sich in Office zumindest für den Privatanwender nicht mehr viel verändert. Einige Funktionen für Teams kamen hinzu, die Technologien SharePoint und InfoPath wurden veröffentlicht, doch diese richteten sich eher an Firmenkunden. Die wesentliche Neuerung für Privatanwender war eine jedes Mal neu gestaltete Oberfläche - und mit dieser Tradition bricht auch Office 2007 nicht.

Special: Windows Vista

InfoWeek, 1.2007

Windows Vista - der Nachfolge des inzwischen fünf Jahre alten Windows XP - steht vor der Tür. Auch wenn sich um den endgültige Erscheinungstermin immer noch Gerüchte ranken, scheint sicher, dass es spätestens im Frühjahr 2007 so weit sein wird. Dieser Artikel beleuchtet die neuen Features und zeigt deren Nutzen, insbesondere im Hinblick auf den Firmendesktop.

Vista-Aufstieg leicht gemacht

InfoWeek, 22.2006

Voraussichtlich am 30. Januar 2007 werden viele Anwender endlich eine DVD mit einer der zahlreichen Editionen von Windows Vista in Händen halten. Bevor das neue System seine Arbeit auf dem heimischen Computer aufnehmen kann, muss es zunächst im Rahmen einer Neuinstallation oder einer Aktualisierung eingerichtet werden. Anders als bei Windows XP bietet Microsoft für Windows Vista zahlreiche Varianten der Installation an, welche im folgenden erläutert werden.

Intelligenter Türsteher

InfoWeek, 21.2006

Im August dieses Jahres hat Microsoft mit dem Internet Security and Acceleration Server 2006 die nächste Version seines integrierten Firewall-, VPN- und Cache-Servers veröffentlicht. Die Neuerungen stecken im Detail und betreffen vornehmlich die Server- und Webveröffentlichungen sowie die

ASP.NET 2.0 mit AJAX aufpolieren

InfoWeek, 20.2006

Asynchronous JavaScript and XML, kurz AJAX, hat das Web in den vergangenen zwei Jahren dermaßen revolutioniert wie kaum ein anderes Konzept zuvor. Die Möglichkeit, innerhalb einer Webseite lediglich einen Bereich oder reine Nutzdaten dynamisch nachladen zu können, bildet die Grundlage für das vielbeschworene Web 2.0. Mit den ASP.NET 2.0 AJAX Extensions leistet nun auch Microsoft mit einem eigenen Framework seinen Beitrag zu dieser Entwicklung.

WCF: Multitalent für SOA-Umgebungen

InfoWeek, 15.2006

In den vergangenen Jahren haben zwei Technologien beziehungsweise Ansätze die Entwicklung maßgeblich geprägt - mit der Einführung von .NET waren Web Services auf einmal in aller Munde, nachdem sich .NET im Markt etabliert hatte, war es SOA. Während Web Services von vornherein als integrale Komponente in .NET unterstützt wurden, bietet Microsoft nun mit der Windows Communication Foundation Unterstützung für SOA.

Cardspace: Digitale Identitäten

InfoWeek, 13.2006

"Wer bin ich?" - diese Frage ist so alt wie die Menschheit selbst. Mit Windows CardSpace führt Microsoft ein System ein, um digitale Identitäten zu verwalten und deren Austausch und Integration zu ermöglichen.

Mehr Performance für ASP.NET-Anwendungen

Computerworld, 11.2006

Mit ASP.NET lassen sich von Hause aus Webapplikationen bauen, die deutlich besser skalieren und performanter ausgeführt werden als klassische ASP-Applikationen. Um das Potenzial von ASP.NET noch besser auszureizen, sollte man einige Aspekte bei der Architektur und Entwicklung beachten.

IIS 7: Modularer Webbaukasten

InfoWeek, 9.2006

Voraussichtlich zu Anfang des kommenden Jahres wird im Rahmen von Windows Vista auch die neue Version 7 der Internet Information Services veröffentlicht, der sich in fast allen Aspekten außer dem Namen wesentlich von seinem Vorgänger unterscheidet.

Eine Einführung in das neue Atlas-Framework

dot.net magazin, 9.2006

Atlas ist der Name für ein neues Framework von Microsoft, welches das Einbinden von asynchronem Javascript und XML innerhalb von ASP.NET 2.0-Anwendungen erheblich vereinfachen soll. Welche Vorteile bringen diese AJAX-Techniken wirklich und wie stellt sich Microsoft die neue Welt des Web 2.0 im Detail vor? Der Artikel beantwortet nicht nur diese Fragen, sondern stellt an kleinen Beispielen das Atlas-Framework vor.

Multithreading in .NET

Visual Studio One, 6.2006

Während es in einfachen Applikationen ausreicht, alle Vorgänge nacheinander – also sequentiell – auszuführen, kann dies in komplexeren Szenarien durchaus gefordert sein. Sei es zur Erledigung umfangreicher Berechnungen, zur Abarbeitung gestapelter Aufgaben oder zur Verbesserung der Reaktivität der Benutzeroberfläche, Threads können in all diesen Fällen helfen. Aber sie bergen auch etliche Gefahren und Fallstricke, die nicht leicht zu entdecken sind.

Internet Information Services 7

dot.net magazin, 4.2006

Auf der Professional Developers Conference 2005 (PDC) hat Microsoft zum ersten Mal eine Vorschau auf den eigenen Webserver Internet Information Services (IIS) in der neuen Version 7 vorgestellt, die aller Voraussicht nach Bestandteil des kommenden Windows Vista sein wird. Wie schon beim Übergang von Version 5 auf Version 6 wurde auch bei der Entwicklung des IIS 7 wieder von vorne begonnen, sodass die kommende Version mit ihrem Vorgänger im Wesentlichen nur den Namen gemeinsam haben wird. Man darf daher sehr gespannt sein, was den Entwicklern bei Microsoft eingefallen ist, um Marktführer Apache bleich aussehen zu lassen.

Die Zukunft von C# 3.0

dot.net magazin, 1.2006

Auf der Professional Developers Conference 2005 (PDC) hat Microsoft erstmals die Version 3.0 von C# vorgestellt und erste Ausblicke auf deren neue Sprachelemente gegeben. Wesentliches Merkmal ist die in C# integrierte, SQL-ähnliche Abfragesprache, mit der jede Art von Collections auf einfache Art und Weise abgefragt werden kann.

Entwickeln nach Zahlen

ASP.mag, 5.2005

Entwurfsmuster sind in der modernen Softwareentwicklung unverzichtbar. Sie erleichtern nicht nur die Kommunikation im Team, sondern erhöhen auch die Wiederverwendbarkeit einzelner Komponenten und erleichtern den Aufbau der Architektur einer Software. Außer einer Einführung in die Thematik sollen in diesem Artikel auch einige Entwurfsmuster vorgestellt werden.

Der Pinguin serviert

ASP.mag, 5.2005

Auch wenn der IIS der meist eingesetzte Webserver für ASP.NET ist, heißt das nicht, dass ASP.NET nicht auch auf einem anderen Webserver lauffähig wäre. Neben Cassini, einem kleinen Webserver von Microsoft für Testzwecke, stehen mit dem Mono-Projekt gleich zwei alternative Webserver zur Verfügung: XSP als eigenständiges Programm und mod_mono zur Integration in Apache.

Entwickeln wie unter Windows

dot.net magazin, 1.2005

Software-Entwicklung mit .NET unter Linux ist inzwischen dank des Mono-Projektes weitgehend problemlos möglich. Neben Compilern für C# und Visual Basic .NET stehen dem Entwickler viele nützliche Werkzeuge zur Verfügung. Es scheitert zumeist lediglich an der Installation und Konfiguration, die mehr Handarbeit erfordert, als es ungeübte Benutzer von Windows gewohnt sind. Aber die Arbeit lohnt sich: Dafür arbeitet man ausschließlich mit kostenfrei als Open Source verfügbarer Software und ist zudem nicht mehr an Windows als Betriebssystem gebunden.