-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
Making of Community-Projects – Interview mit Norbert Eder
06.11.09 - .NET, Grundlagen, Base Framework, WPF, ASP.NET, Silverlight, Mobile Devices, Datenverwaltung, Visual Studio, Allerlei, Internet, Community Beitrag von Norbert Eder| | Gregor Biswanger hat mich vor einigen Tagen zum Thema Making of Community-Projects interviewt. Dabei ist ein nettes Gespräch entstanden, welches seit gestern bei ihm zu lesen ist. Es stand die Frage im Raum, wie es denn zu Community-Projekten kommt und wie man denn diese schließlich aufbaut. Ein nettes Gespräch, wo es wohl noch massig weitere Dinge zu sagen gäbe.
Zum Interview
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
.NET BlogBook wieder verfügbar
29.08.09 - Blog-Intern, .NET, Grundlagen, Base Framework, WPF, ASP.NET, Silverlight, Internet, Community Beitrag von Norbert Eder| | Wie auch mein Blog waren einige meiner Websites lange Zeit nicht online (bzw. sind es teilweise noch immer). Dies wird sich nun - durch einen Wechsel - wieder ändern.
Den Anfang macht dotnet-blogbook.com. Die Site steht ab sofort wieder zur Verfügung - jedoch noch nicht alle Downloads. Alle BlogBooks bis inklusive Version 3 können herunter geladen werden. Die weiteren Ausgaben werden in den kommenden Tagen hinzugefügt und stehen dann wie gewohnt zur Verfügung.
Gerade zum BlogBook habe ich sehr viele Anfragen bekommen. Das Projekt wird weitergeführt und es wird auch wieder aktualisierte Versionen geben.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Viele Beispiele zu Data Binding, MVVM, MVC und mehr
02.06.09 - .NET, Grundlagen, WPF Beitrag von Norbert Eder| | Du suchst WPF-Beispiele zu Data Binding (Datenbindung), MVVM, MVC oder anderen Bereichen? .NET GUI bietet mittlerweile zahlreiche Beispiele zu diesem Thema und es werden mehr. Diese stehen als vollständige Solutions zum Download bereit: .NET GUI Downloads.
Zu den meisten Beispielen finden sich auch dazupassende Artikel, die Hintergrundwissen vermitteln.
Diese Liste wird laufend um neue Beispiele und Artikel erweitert und stellt mittlerweile einen guten Anlaufpunkt dar.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Student BigDays 2009 – Packen wir’s an!
02.03.09 - .NET, Grundlagen, WPF, ASP.NET, Silverlight, Visual Studio, Internet, Community Beitrag von Norbert Eder| | Student BigDays ist eine Roadshow an Österreichs Universitäten, wo Informationen und Know How über aktuelle Microsoft-Themen vermittelt werden. Das Ziel ist, Informationen außerhalb des Studiums zu vermitteln, also Dinge die nicht im aktuellen Lehrplan stehen.
An folgenden Fachhochschulen und Universitäten werden die Student BigDays 2009 Halt machen:
- FH Salzburg
- Universität Salzburg
- FH Joanneum
- Universität Innsbruck
- FH Hagenberg
- Johannes Kepler Universität Linz
- Universität Salzburg
Die Teilnahme ist für alle Studenten kostenlos.
Weitere Informationen zu den Sessions, den Speakern etc. sind unter http://www.studentbigdays.at zu finden.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Einfache Messungen der Performance
22.01.09 - .NET, Grundlagen Beitrag von Norbert Eder| | Es ist schon lange her, da hatte ich im Beitrag Zeitmessung einfach gemacht auf die Klasse Stopwatch hingewiesen. Da nach wie vor sehr viele Entwickler diese Möglichkeit der sehr einfachen Messung nicht kennen, möchte ich nochmals darauf hinweisen.
Gerade beim Vergleich von Codestücken oder bei der Erhebung von Zeiten an bestimmten Stellen kann damit großer Aufwand eingespart werden und man erhält innerhalb kürzester Zeit Kennzahlen. Zusätzlich ist es damit einfach, ein eigenes Performance-Service zu implementieren, um an zentralen Stellen der Anwendung Messungen durchzuführen. Dadurch können auch im laufenden Betrieb Engpässe festgestellt werden.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Coding Standards als wichtiges Instrument
07.01.09 - Entwicklung, Diskussionen, Qualitätsmgmt., .NET, Grundlagen Beitrag von Norbert Eder| | Wichtigstes Ziel in der Softwareentwicklung ist es, Projekte zeitgerecht und qualitativ hochwertig abzuschließen. Damit dies auch funktionieren kann, bedarf es Coding Standards, die von allen Team-Mitgliedern eingehalten werden müssen.
Da es wieder Zeit wurde, die eigenen Coding Standards anzupassen, machte ich mich auf die Suche, um meinen Horizont diesbezüglich wieder etwas zu erweitern. Dabei stieß ich auf die Coding Standards Reference Documents von Clint Edmonson. Clint hat dabei grundlegende Coding Standards für VB.NET und C# aufbereitet und als Download zur Verfügung gestellt.
Folgende Themen werden behandelt:
- Golden Rules
- Formatting
- Commenting
- Capitatlization & Naming
- Programming
Diese Dokumente stellen eine gute Grundlage für jeden Softwareentwickler, als auch für gesamte Teams dar. Im Idealfall werden Ergänzungen gemacht und als Standardlektüre für jeden Entwickler im Team verpflichtend vorgesehen.
Weiters empfiehlt es sich, die Coding Standards auch entsprechend zu kontrollieren, damit sie tatsächlich Anwendung finden. Dies kann in Reviews passieren.
Der eine oder andere mag an dieser Stelle vielleicht die Meinung vertreten, dass zuviel Einschränkung schlecht ist. Dem kann ich allerdings nicht zustimmen. Ein Team an Entwicklern bedarf eine Führung und auch Rahmenbedingungen innerhalb derer sie sich zu bewegen haben. Nur dann kann ein (hoffentlich) optimales Ergebnis verfolgt und erzielt werden.
| | | 3 Kommentare
- 1475 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Hilfe! Ich werde verändert!
22.12.08 - Entwicklung, .NET, Grundlagen, Security Beitrag von Norbert Eder| | Im Artikel Ich werde beklaut! habe ich darüber geschrieben, wie einfach Ressourcen aus einer WPF-Anwendung entwendet werden können und warum es sich - aus meiner Sicht - nicht lohnt, diese Inhalte mit hohem Aufwand zu schützen.
Nun ist das Stehlen von Ressourcen (Layouts, Styles, Grafiken, etc.) wohl eine der häufigsten Arten, aber nicht die Schlimmste. Seltener, aber dennoch nicht zu unterschätzen ist es, wenn Software von Fremden bewußt verändert wird. Für viele Anwendungsbereiche mag das vielleicht kaum eine Relevanz haben, aber gerade im Security-Bereich kann dies äußerst unangenehme Folgen mit sich bringen. Aber wie kann man sich davor schützen?
Strong Named Assemblies
Der erste Ansatz ist, den eigenen Assemblies einen Strong Name zu verpassen. Die Identität der Assembly besteht hierbei aus ihrem Namen, der Versionsnummer und Informationen der Kultur (sofern diese gesetzt wurde) inklusive eines öffentlichen Schlüssels (Public Key), als auch einer digitalen Signatur. Dies ist ein einfacher Weg, der frei Haus durch .NET mitgeliefert wird, hat jedoch so seine Tücken als dass ein Strong Name sehr einfach entfernt werden kann. Danach kann die Software normal verwendet und auch verändert werden. Die veränderte Assembly kann zwar ohne Signatur nicht im den Global Assembly Cache (GAC) installiert werden, was aber in vielen Fällen auch nicht vorgesehen ist.
Nichts desto trotz sollte Strong Named Signing dennoch verwendet werden, da es doch eine zusätzliche Hürde darstellt und es daher für viele weniger attraktiv ist, die Software zu verändern. Alle Angreifer können damit allerdings nicht ausgeschlossen werden.
Wie vor Veränderung schützen?
Ein vollständiger Schutz ist nie möglich. Man kann es dem Angreifer aber erheblich schwerer machen. Es gibt zahlreiche Tools, die hier Abhilfe schaffen wollen. In diesem Zusammenhang werden oft Obfuscating-Tools genannt, die jedoch nicht vor Veränderung schützen. Andere Produkte fahren weit größere Geschütze auf. Eines davon ist CodeVeil. Dieses Tool bietet nicht nur Obfuscating-Mechanismen, sondern verschlüsselt zusätzlich auch MSIL. Weiters werden entschlüsselte Informationen nicht im selben Speicherbereich der Assembly geladen, wodurch eine Speicher-Dump erheblich erschwert wird.
Es gibt also durchaus Mechanismen, um sich bestmöglich zu schützen. Eine 100%ige Garantie wird es allerdings nie geben. Man kann also immer nur versuchen, einen Schritt vor den bösen Jungs zu sein bzw. es ihnen so schwer zu machen, dass die Attraktivität, die Software zu manipulieren, möglichst gering ist.
Wichtig ist zusätzlich, dass man sich als Entwickler über die Möglichkeiten der Angreifer informiert. Einen interessanten Einstieg bietet hier der Artikel Assembly Manipulation and C#/VB.NET Code Injection.
PS: Viele Tools unterstützen in den aktuellen Versionen weder WPF noch Silverlight. Hier bleibt zu hoffen, dass die Hersteller Mittel und Wege finden, uns Entwickler auch bei diesen Technologien mit Security zu unterstützen.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Gewinne ein BASTA! Spring 2009 Ticket
25.11.08 - Grundlagen, WPF, Silverlight, Internet, Community Beitrag von Norbert Eder| | Darf's ein Ticket für die Hauptkonferenz der BASTA! Spring 2009 sein? Auf .NET GUI gibt es ab sofort eines zu gewinnen!
Der Aufwand, um am Gewinnspiel teilzunehmen, ist sehr gering. So nimmt jeder teil, der bis 16. Januar 2009 einen How To-Beitrag schreibt. Natürlich ist es auch möglich, mehrere Beiträge zu schreiben - dadurch steigen auch die Chancen auf den Gewinn!
Der behandelte Themenbereich muss passend gewählt sein. D.h. alles aus dem Bereich Grafische Benutzeroberflächen unter .NET ist möglich. Dies inkludiert unter anderem
- Windows Presentation Foundation
- Silverlight
- Windows Forms
Also am besten gleich mal einen Beitrag schreiben, um sicher am Gewinnspiel teilzunehmen!
Zur News
Zu den How To's
| | | 2 Kommentare
- 790 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
.NET BlogBook geht in die 7. Runde
15.10.08 - Blog-Intern, .NET, Grundlagen, WPF, ASP.NET, Internet, Community Beitrag von Norbert Eder| | Heute ist der Tag der Wahrheit. Es steht mittlerweile die siebte Ausgabe des .NET BlogBooks zur Verfügung.
Diese Ausgabe bringt eine Reihe an Neuerungen mit sich:
- Es gibt aktuell kein gesamtes PDF mehr. Die einzelnen Teilbereiche wurden in einzelne Dateien verpackt. Damit bekommt jeder den Bereich, der in interessiert, Downloadgrößen und -zeiten werden dadurch minimiert.
- Alles wurde in ein neues Layout verpackt. Damit wird sichergestellt, dass die Lesbarkeit nun besser gegeben ist und auch die Ergebnisse beim Druck positiver ausfallen.
- Natürlich wurden auch neue Beiträge eingearbeitet.
Da dies einen relativ hohen Aufwand darstellt, steht zur aktuellen Zeit nur der Bereich Windows Presentation Foundation zur Verfügung. Die weiteren Teile werden im Laufe der kommenden Tage und der nächsten Woche nachgeliefert.
Auf jeden Fall würden wir uns über Rückmeldungen sehr freuen und hoffen, dass wir das erhaltene Feedback gut umsetzen konnten.
Weitere Informationen und Download-Möglichkeiten finden sich auf der Projekt-Homepage unter http://www.dotnet-blogbook.com
| | | 3 Kommentare
- 766 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Einstieg in NHibernate leicht gemacht
10.08.08 - .NET, Grundlagen, Datenverwaltung Beitrag von Norbert Eder| | Hibernate ist mittlerweile kein unbekannter O/R Mapper mehr. Ursprünglich aus der Java-Welt, gibt es bereits seit langer langer Zeit auch eine Portierung für .NET, NHibernate genannt.
Auch bei mir laufen einige meiner Projekte erfolgreich auf NHibernate. Demzufolge bekomme ich immer wieder Anfragen diesbezüglich. Meist geht es darum, wie denn ein erstes Projekt (egal ob Demo-Anwendung oder Real-World-Applikation) gestartet werden kann.
Da NHibernate jetzt nicht unbedingt meinem Hauptfokus entspricht, hatte ich mich immer geweigert, einen kurzen Artikel diesbezüglich zu verfassen. Und wie es auch sein sollte, stieß ich - auf der Suche nach einer guten Einführung - auf folgenden Artikel, den ich NHibernate-Einsteiger nur wärmstens empfehlen kann:
Your first NHibernate based application
Darin wird sehr gut in einfachen Schritten erklärt, wie man eine erste Anwendung basierend auf NHibernate umsetzen kann. Die weiteren Schritte liegen dann wohl darin, sich einen eigenen entkoppelten Layer zu basteln, welcher für weitere Anwendungen eingesetzt werden kann.
| | | 1 Kommentar
- 1692 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL | Weiter
|
|
|
|
|
|
|