Lustiges in .Net

Dim converter As TypeConverter = TypeDescriptor.GetConverter(GetType(Long))

If Not converter.CanConvertFrom(GetType(Long)) then
    Return False
Else
    Return True
End If

Dieser Schnipsel zeigt eine lustige Eigenheit in .Net. Wenn man sich über den TypeDescriptor einen Converter für beispielsweise Long holt und diesen fragt, ob er in den selben Typ (Long) umwandeln kann, dann gibt die Funktion CanConvertFrom False zurück. Etwas seltsam, denn Konvertieren kann man das ja, bzw. einfach zuweisen ohne zu konvertieren. Ich finde diesen Rückgabewert etwas verwunderlich!

Windows CommandLine in Eclipse

Für Node.js wollte ich eine Windows Commandozeile in Eclipse haben.

Dieser Link: http://www.avajava.com/tutorials/lessons/how-do-i-open-a-windows-command-prompt-in-my-console.html führte zum schnellen Erfolg!

Als zusätzlicher Tip: Über den Button „Variables“ in der Konfiguration kann man auch Variablen, wie beispielsweise den Workspace einfügen.

Node.js mit Eclipse einrichten

Ich möchte einen Server für Fehlermeldungen erstellen. Dieser soll sehr dynamisch sein und deshalb werde ich Node.js und MongoDB oder eine andere NoSQL-Datenbank verwenden. Hier möchte ich festhalten, welche Schritte ich unternommen habe, um den Server zu entwickeln. Zunächst die Einrichtung von Node.js auf der Entwicklermaschine (Windows). Node.js von nodejs.org herunterladen. Ausführen. Fertig! Das war einfach.

Jetzt zur IDE. Ich möchte Eclipse benutzen, da dies, wenn auch manchmal etwas unhandlich, mir bis jetzt gute Dienste geleistet hat. Ich lade also die Eclipse Java Version von eclipse.org runter. Entpacken und den Workspace einstellen.

Als nächstes lade ich die Javascript Development Tools für Eclipse runter. Unter Help -> Install New Software kann man diese, wenn man „All available Sites“ auswählt, als Unterpunkt von Programming Languages finden. Anhaken und durchklicken. Fertig!

Nun noch schnell ein Javascript-Projekt mit den Standardoptionen erstellen. Dazu noch eine Javascript Source File im Projekt erstellen und folgendes eintragen:

console.log("Hello World!");

Jetzt möchte ich dies Debuggen. Dazu brauche ich den Eclipse Debugger für Googles V8 von http://code.google.com/p/chromedevtools/
I
n Eclipse wird einfach wieder Help -> Install new Software aufgerufen und als Site  http://chromedevtools.googlecode.com/svn/update/dev/ hinzugefügt.
Ausgewählt habe ich die Punkte „Chromium JavaScript Remote Debugger“ und „Chromium JavaScript Debugger Bridge to JSDT“ für die Javascript Development Tools.

Einen Link zur Einrichtung ist dieser: https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger

Viel Spaß damit. Ich probiere den Inhalt des Links jetzt selbst aus.

Neuentdecktes und TechTalk Online

Ich habe mir heute den Tech Talk Online angesehen. Es war sehr interessant und ich konnte neues Wissen über T-SQL, Windows Azure und Windows 7 erfahren. Freue mich schon auf weitere Online Tech Talks. Aber auch einen richtigen würde ich gerne wieder besuchen.

Außerdem habe ich mir heute interessante Techniken angesehen.
Node.js ist eine hochskalierbare effektive Möglichkeit Webanwendungen zu schreiben. Als Programmiersprache wird dabei Javascript eingesetzt. Dadurch, dass alle I/O-Operationen ansynchron aufgerufen werden, ist der Memory-Footprint sehr viel geringer als bei normalen Servern.

MongoDB ist eine objektorientierte Datenbank. Anstatt Tabellen zu benutzen, werden Objekte in Sammlungen abgelegt. Dabei muss vorher nicht bekannt sein, wie die Objekte aussehen. Als Format für die Objekte wird JSON verwendet. Dadurch eignet sich die Datenbank gut für Webanwendungen und sehr gut für Node.js geeignet, da hier Objekte bereits im richtigen Format vorliegen.

Stay tuned.

Bücher, die aktuell von mir gelesen werden

  • Objektorientiertes Testen und Testautomatisierung in der Praxis von Uwe Vigenschow
  • Pragmatic Unit Testing – In C# with NUnit von Andrew Hunt und David Thomas
  • Agile Muster und Methoden von Manfred Steyer
  • Agiles Coaching von Rachel Davies und Liz Sedley

Ich bin auf der Suche nach dem Thema für meine Masterarbeit und recherchiere deshalb im Bereich Testing, Agile Methoden und Clean Code.

Hat jemand Buchvorschläge, dann her damit!