-
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.
|
SQL Server 2005: Custom Datatypes
12.02.06 - SQL Server Beitrag von Norbert Eder
Foxit Reader - ein flinker PDF Reader
10.02.06 - 3rd Party Tools Beitrag von Norbert Eder| | Seit einigen Tagen benutze ich den Foxit Reader für das Lesen sämtlicher PDFs. Und ich muss sagen, dass das Tool sehr sehr flink ist. Zudem muss es nicht extra installiert werden. Einfach irgendwohin kopieren und schon kanns losgehen.
Für 39$ gibts dann erweiterte Funktionen á la Kommentare usw. Zusätzlich gibt es das Teil auch für Pocket PC's, Linux usw.
Und wer dann noch PDFs editieren will, der kann zum Foxit PDF Editor greifen, der für unschlagbare 99$ mit sehr vielen Funktionen daherkommt.
Ich kann es nur empfehlen.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
OODBMS- Object Oriented DataBase Management Systems
07.02.06 - .NET, Datenverwaltung Beitrag von Norbert Eder| | Bezugnehmend auf den Eintrag von Thomas möchte ich hier noch ein paar Worte zu OODBMS verwenden.
Objektorientierte Datenbanken sind schon sehr nett, aber leider auch nicht für alles einsetzbar. Das schöne daran ist, dass die Objekte an sich gespeichert werden, nicht ein relationales Mapping davon. Dies bedeutet, dass das Mappen von relationalen Daten auf das ursprüngliche Objekt nicht mehr notwendig ist.
Allerdings sehe ich hier doch noch einige Probleme, die nicht unausgesprochen bleiben sollten:
1. Fehlende Standards
Einheitliche Standards zu ORDBMS bzw. OODBMS gibt es nicht - auch wenn es diese Systeme nicht erst seit gestern gibt. Dadurch ist es nicht gewährleistet, dass alle Systeme auf gleiche Art und Weise arbeiten. Object-oriented SQL (OSQL) ist ansich recht nett, aber auch hier gibts die gleichen "Fehler" wie beim herkömmlichen SQL -> Jeder implementiert eine eigene Variante.
2. Backup, Restore, Verteilung etc.
Objekte sind wesentlich komplexer als relationale Strukturen. Entsprechend komplexer wird dadurch auch ein Backup, ein Restore, eine Verteilung oder überhaupt nur die Aktualisierung der Daten, das Nachziehen von Referenzen usw. Diese Dinge sind mit hohem Aufwand verbunden, daher ist eine OODBMS in diesen Gebieten sicherlich langsamer als ein herkömmliches RDBMS.
3. Angst?
Das Thema OODBMS ist ansich genau so alt, wie es objektorientierte Sprachen sind. Letztere haben sich in einigen Bereichen (Enterprise etc.) durchgesetzt. Erstere nicht. Warum? Nun, relationale Datenbanken sind einfacher zu handhaben und wurden über lange Zeit erprobt. Viele haben davor Angst, auf eine "neue" Technologie zu setzen (Anm.: die jedoch nicht viel jünger ist). Dadurch fließt auch nicht soviel Entwicklungsarbeit in objekt-orientierte Ansätze bei Datenbank-Management-Systemen.
4. Fehlende Unterstützung?
Viele Lösungen entstehen und verschwinden entsprechend auch wieder, da die Nutzung nicht vorhanden ist. Ich persönlich kenne nur ein OODBMS welches sich lange gehalten hat. Caché. Alle anderen sind entweder "gemeinnützige" Projekte mit mehr oder weniger geringem Support.
Natürlich gibt es da noch andere Punkte. Der Vollständigkeit halber stehen dem jedoch auch sehr viele Vorteile gegebenüber - keine Frage. Allerdings sehe ich hier db4o nicht unbedingt das als Gelbe vom Ei an. Aber der Weg den db4o beschreitet ist prinzipiell nicht so schlecht.
Just my 2 cents.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Security unter dem .NET Framework 2.0
06.02.06 - Security Beitrag von Norbert Eder
Application Blocks für das .NET Framework 2.0
06.02.06 - Base Framework Beitrag von Norbert Eder
Microsoft Expression - Windows Presentation Foundation
05.02.06 - .NET, WPF Beitrag von Norbert Eder| | Eine Technologie mit vielen Namen und vor allem auch Gesichtern. WinFX. Bis jetzt hatte ich noch keine Zeit mir diese Technologie inkl. der bereits vorhandenen Produkte (im CTP-Status) näher anzusehen. Jetzt wirds aber Zeit.
In den nächsten Tagen werde ich mich ein wenig damit herumspielen und auch entsprechendes berichten.
Ich bin schon sehr gespannt.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Visual Studio und Build Events
02.02.06 - Visual Studio Beitrag von Norbert Eder| | Oft müssen beim Erstellen eines Releases etc. Daten naträglich in die Ausgabe-Ordner kopiert werden. Dies geht natürlich auch einfacher - automatisiert.
Dazu einfach die Projekteigenschaften öffnen (Menüpunkt Project / {Projectname} Properties).
Im darauf erscheinendem Fenster unter Common Properties / Build Events mit einem der beiden folgenden Einstellungen arbeiten:
- Pre-build Event Command Line
- Post-build Event Command Line
Wie der Name schon sagt, wird ersteres vor dem Build ausgeführt und zweiteres danach. Darin können nun die gewünschten Aktionen gesetzt werden. Beispielsweise das Kopieren von benötigten Dateien, die nicht ins Projekt eingebunden wurden etc. Einfach einmal auf den Erweiterungsbutton (der mit den 3 Punkten) klicken und im neuen Fenster auf "Macros >>". Darunter finden sich Eigenschaften die des öfteren benötigt werden. Aufgerufen werden diese Eigenschaften mit $(Eigenschaftsname).
Im schlimmsten Falle einfach den Help-Button betätigen ;-)
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
C#: Methode mit Parameter via ThreadStart aufrufen
29.01.06 - .NET, Base Framework Beitrag von Norbert Eder| | Im heutigen Beitrag zum Thema "C# Beginner" möchte ich ein Beispiel zeigen, wie mittels ThreadStart eine Methode inkl. Parameter aufgerufen werden kann.
Dazu ist einfach die entsprechende Methode in eine eigene Klasse mit den notwendigen Properties auszulagern:
private class TestClass {
private string parameter = null;
public string Parameter {
get { return this.parameter; }
set { this.parameter = value; }
}
public void Start() {
// code goes here
}
}
In der ursprünglichen Klasse wird der Thread wie folgt gestartet:
TestClass tc = new TestClass();
tc.Parameter = "test";
Thread t = new Thread(new ThreadStart(tc.Start)).Start();
Das wars dann auch schon wieder.
| | | 1 Kommentar
- 1231 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Bürgerkarte, A-Trust und der Spaß am Signieren
28.01.06 - Security Beitrag von Norbert Eder| | ... der sich aber vielleicht bald aufhört. A-Trust scheint es ja derzeit nicht besonders gut zu gehen. Noch dazu will niemand für A-Trust die Hand ins Feuer legen - zumindest sieht alles danach aus.
Was passiert aber, wenn A-Trust den Bach runter geht? Nun, einige mögen sagen: "Hey, die Zertifikate von A-Trust sind eh noch eine Zeit gültig.". Theoretisch schon. Praktisch wirds wohl eher ein Fall für die Revocation List. Sprich, die Zertifkate werden dann als abgelaufen bzw. zurückgezogen markiert und schon ists wieder vorbei mit der Bültigkeit des eigenen Zertifikats (Beispiel Bürgerkarte bzw. Signaturfunktion auf den Bankomatkarten).
Zahlen dann alle umsonst für ihre Signaturfunktion? Traut sich dann in Österreich überhaupt noch jemand über dieses Thema drüber? Oder müssen wir es vielleicht den großen Konzernen überlassen unsere Daten zu verwalten? Da hab ich meine Daten doch lieber beim Staat bebunktert, der hat diese Informationen ohnehin schon. Also Vater Staat, vielleicht weniger über ein paar Gemälde diskutieren und viel mehr A-Trust retten.
Und beim Thema "Fax und Signatur" stellts mir sowieso gleich die Haare auf ... aber das ist ein Thema für einen anderen Eintrag.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Connectionstrings unter C#, VB.NET
27.01.06 - SQL Server Beitrag von Norbert Eder| | Immer wieder wird nach den richtigen Connectionstrings für die unterschiedlichsten Datenbank-Systeme gefragt. Daher mein Tipp: einfach auf http://www.connectionstrings.com/ nachsehen. Da sollte das meiste zu finden sein.
Und wie wird dieser dann in C# bzw. VB.NET verwendet? Gut, hierfür kann ich ein kleines Beispiel geben (gilt für den Microsoft SQL Server):
C#
using System.Data.SqlClient;
...
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=(local);" +
"Initial Catalog=MyDatabaseName;" +
"Integrated Security=SSPI";
conn.Open();
VB.NET
Imports System.Data.SqlClient
...
Dim conn As SqlConnection = New SqlConnection()
conn.ConnectionString = "Data Source=(local);" & _
"Initial Catalog=MyDatabaseName;" & _
"Integrated Security=SSPI"
oSQLConn.Open()
Dies gilt nun für den Microsoft SQL Server, der lokal installiert ist. Für einen SQL Server der auf einem anderen Rechner installiert ist, muss lediglich der Connectionstring ausgetauscht und angepasst werden. Die entsprechenden Connectionstrings sind im oben angeführten Link zu finden.
Noch als Zusatzinfo: Die Beispiele funktionieren sowohl bei einem SQL Server 2000, als auch beim SQL Server 2005.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|