Subscribe to RSS feed



log4Net

21. September 2007
log4net

Jeder Entwickler braucht manchmal eine Funktionalität die in einer Anwendung alles protokollieren kann (z.B. Debuginfos, Warnings, Errors etc.) und genau das bietet Log4Net an.

Ein Tutorial zum Thema Log4Net gibt es hier

Regular Expressions Tutorial

21. September 2007
regular-expressions-tutorial

Ein sehr hilfreiches und leicht zu verstehendes Tutorial zum Thema RegEx gibt es hier.

Multithreaded Speicherverwaltung beim GCC

21. September 2007
multithreaded-speicherverwaltung-beim-gcc

Wer unter C, Objective-C oder C++ mit dem GCC Compiler entwickelt sollte sich mal anschauen was Google unter dem Namen tcmalloc veröffentlicht hat.

Das ist eine Multithreaded Implementation des Speicherverwaltungstools malloc. Es soll erhebliche geschwindigkeitsvorteile bringen bei Applikationen die mit mehreren Threads arbeiten. Aufmerksam bin ich drauf geworden durch das DevRadio des Chaos Computer Clubs Ulm.

Delphi online Handbuch

20. September 2007
delphi-online-handbuch

Ein recht gelungenes Delphi/ObjectPascal Handbuch findet man online unter unter http://de.wikibooks.org/wiki/Delphi

Weitere Bücher zu IT Themen findet man ebenfalls unter http://de.wikibooks.org/wiki/Regal:Programmierung

WebService mit WebServiceStudio testen

20. September 2007
webservice-mit-webservicestudio-testen

Mit diesem Tool kann man sehr einfach WebServices testen. Es besteht die Möglichkeit alle WebServices und deren Funktioneninteraktiv zu testen.

Ein Beispiel

Das WebService beinhaltet 2 Funktionen:

  • HelloWorld() -liefert nur ein String “Hello World” zurück
  • BuildSum(int intA, int intB) – liefert A + B zurück

So kann man die Signaturen detailiert sehen und beide Funktionen interaktiv testen. Wie man sehen kann, ist es alles übersichtlich, einfach und besser als Standard von Microsoft.

WebServiceStudio

Was jeder SW-Entwickler braucht ist natürlich die REQUEST / RESPONSE Informationen

WebServiceStudio

..und natürlich das wichtigste – WSDL

WebServiceStudio

Das Tool ist hier zu finden:

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65A1D4EA-0F7A-41BD-8494-E916EBC4159C

Objekte sicher freigeben mit Delphi

18. September 2007
objekte-sicher-freigeben-mit-delphi

Jedem Entwickler, der mit Delphi anfängt, unterläuft häufig folgender Fehler:

Man öffnet ein Formular mit “frmBeispiel.Show;” und schließt es mit “frmBeispiel.Close;”.

Dabei geht man davon aus, dass der Speicher wieder freigegeben wird. Irrtum!

Gleiches gilt für alle Objekte!

Deshalb mit “FreeAndNil(objekt);” freigeben.

Dynamische Arrays gibt man mit “SetLength(array,0);” frei.

Sicherheitslücke bei OS X nutzen um neuen Adminaccount zu erstellen

18. September 2007
sicherheitsluecke-bei-os-x-nutzen-um-neuen-adminaccount-zu-erstellen

Auf HackMac.org ist ein Artikel erschienen der beschreibt wie man ohne ein bestehendes Adminpasswort zu kennen ein neues Adminkonto einrichten kann. Dazu bootet man den Mac im Single-User Modus. Das erfolgt mit betätigen von Apfel+S beim Booten. Sollte der Single-User Modus deaktiviert sein dann findet man hier die Anleitung wie man ihn aktiviert: http://hackmac.org/?q=node/18 . Beim Mac kommt jetzt leider keine Passwortabfrage, daher kann man das Laufwerk mounten und die Datei ‘/var/db/.applesetupdone’ löschen. Nach dem Neustart wird dann ein Dialog zum einrichten des Rechners gezeigt. Und schon kann man ein neuen Adminaccount anlegen und seine Daten retten (wir gehen mal davon aus das das der Zweck der Sache ist). Wenn man mal sein Passwort geändert hat und nicht mehr an die Daten rankommt ist das im moment ein schneller Weg die Daten zu retten. Aber hoffentlich behebt Apple das Problem bald.

Mehr dazu hier:
http://www.heise.de/newsticker/meldung/96164
http://www.hackmac.org/?q=node/4

Umschreiben eines CLX-Projektes zu einer normalen Win32-Anwendung

18. September 2007
umschreiben-eines-clx-projektes-zu-einer-normalen-win32-anwendung

Nachdem wir Anfangs auf der CLX-Schiene einige Projekte umgesetzt hatten, aber nun feststellen mussten, dass uns dies langfristig gesehen keine Vorteile gebracht hat, werden nun zunehmend die damals erstellten CLX-Projekte zu gewöhnlichen Win32-Applikationen umgeschrieben.

Falls jemand vor dem gleichen Problem steht, beschreibe ich meinen Weg, mit dem ich die Applikationen in kürzester Zeit umgeschrieben hatte (Voraussetzung hierfür ist, dass keine linuxspezifischen Befehle verwendet wurden):

1. Schritt:
Schließen Sie das Projekt, falls Sie es gerade offen haben. Für die Konvertierung wird Delphi nicht benötigt.

2. Schritt:
Benennen Sie Ihre *.xfm-Dateien in *.dfm um.

3. Schritt:
Öffnen Sie alle *.pas-Dateien ihres Projektes und ändern Sie: {$R *.xfm} in {$R *.dfm}

4. Schritt:
Bei den geöffneten *.pas-Dateien müssen Sie die uses durchgehen und prüfen, ob Sie CLX-Units verwenden. Diese beginnen immer mit einem großen Q. Entfernen Sie einfach das große Q, also z.B. QForms zu Forms.
Sollten Sie QTypes eingebunden haben, so müssen Sie diesen Verweis komplett entfernen.

5. Schritt:
Insofern Sie Forms verwendet haben, müssen Sie auch in der *.dpr-Datei die uses bearbeiten. Hier sollte auch QForms existieren. Ändern Sie es auf Forms ab.

6. Schritt:
Öffnen Sie nun Ihr Projekt und kontrollieren Sie die formatierungen Ihrer Objekte. Bei mir hatten einzelne Objekt als Color eine blaue Farbe. Desweiteren wird beim öffnen des Projektes vermutlich die Meldung erscheinen, dass Ihr Formular die Eigenschaft “TextWidth” nicht beinhaltet. Diese Meldung können Sie ignorieren.

Nun sollte alles geschafft sein. Erstellen Sie nun Ihr Projekt neu.

Gratis Fotos

17. September 2007
gratis-fotos

1a-Photoshop.de hat einen Überblick über einige Fotoentwicklungsservices’ aufgestellt, die Fotos praktisch gratis drucken. Bei Neuanmeldung oder Test-aktionen zahlt man lediglich die Versandkosten für eine bestimmte Anzahl an Fotos.
Das ist sehr praktisch da man hierbei einige der Anbieter in ihrer Qualität selbst testen kann.

Genaueres zu Preisen sowie die Liste selbst findet ihr hier!

Wer weder Zeit noch Lust hat die Anbieter auf eigene Faust zu testen, kann dort auch die Testergebnisse von 1a-photoshop einsehen.
Da sich der Service dieser Anbieter natürlich von Zeit zu Zeit ändert, macht es Sinn vor größeren online-Bestellungen erstmal dort vorbeizuschaun!

CSV Parsen und ins lokale Addressbuch schreiben

17. September 2007
csv-parsen-und-ins-lokale-addressbuch-schreiben

Anbei ein Beispielcode wie man eine CSV Zeile parst und diese ins lokale Addressbuch des Benutzers speichert:

#import "AdressController.h"
#import "AddressBook/ABAddressBook.h"
 
@implementation AdressController
 
- (IBAction)addAdress:(id)sender
{
	NSString *strName;
	strName = [Namefield stringValue]; //VALUE DES EINGABEFELDS
 
	ABAddressBook *addressBook;
	ABPerson *newPerson;
 
	addressBook = [ABAddressBook sharedAddressBook]; //LOKALES ADRESSBUCH
 
	/* CSV PARSING BOF */
	NSString *csvTest = @"dennis;müller"; //BEISPIEL CSV ZEILE
	NSString *separatorString = @";"; //TRENNZEICHEN DEFINIEREN
 
	NSScanner *csvScanner = [NSScanner scannerWithString:csvTest]; //CSV PARSER
 
	int anInt;
	[csvScanner scanInt:&anInt]; //ZÄHLER ÜBERGEBEN FÜR DIE SCANLOCATION
 
	NSString *name;
	[csvScanner scanUpToString:separatorString intoString:&name]; //NAME EINLESEN
 
	NSString *vorname;
	vorname = [[csvScanner string] substringFromIndex:([csvScanner scanLocation]+1)]; //VORNAME EINLESEN
	/* CSV PARSING EOF */
 
	/* CSV ZEILE EINFÜGEN BOF */
	newPerson = [[ABPerson alloc] init]; //SPEICHER RESERVIEREN FÜR DIE ABPerson
 
	[newPerson setValue:name forProperty:kABFirstNameProperty];
	[newPerson setValue:vorname forProperty:kABLastNameProperty];
	[addressBook addRecord:newPerson];
	[addressBook save];
 
	[newPerson release]; // SPEICHER FÜR ABPerson freigeben
	/* CSV ZEILE EINFÜGEN EOF */
}
 
@end