Archive for August 2003

 
 

Bestellung einer Canon G3 DigiCam plaziert.

Tja, ich habe dann doch nicht die Sony DSC-V1 bestellt, sondern eine Canon G3. Die ganzen Features, die mir an der G3 besser als an der Sony gefallen, haben dann doch den Ausschlag gegeben.

Außerdem hatte Foto Brinker gerade ein günstige Angebot vorliegen.

Es handelt sich hier allerdings um "DemoWare", d.h. Vorführtmodelle, die technisch überprüft wurden, aber nur mir einer Händergarantie versehen sind. Naja, ich habe "sehenden Auges" bestellt. Ich hoffe, ich muß das nicht bereuen.

Chronicle Lite 1.2.002

Mein bis dato bevorzugter Blogging-Client ChronicleLite ist in einer neuen Version erschienen.

Seit es allerdings MozEX gibt, bevorzuge ich XEmacs zum Verfassen der Artikel.

JAlbum 3.5 verfügbar

Meinen bevorzugten Online-Fotoalbum Generator gibt es in einer neuen Version 3.5 unter

http://www.datadosen.se/jalbum

SONY DSC-V1 wahrscheinlich DigiCam der Wahl

Nach dem ich jetzt noch weitere Zeit zum Thema "Erwerb einer Digitalkamera" geforscht habe, scheinen meine Präferenzen in Richtung SONY DSC-V1 zu gehen.

Der primäre Grund ist die Geschwindigkeit. Die V1 und F717 von SONY sind aktuell die DigiCams mit dem schnellsten und sichersten Autofocus. Ich bin durch diverse Foren gegangen und habe im Zusammenhang mit der Canon G3 immer wieder Bemerkungen gefunden, die Probleme beim Fokusieren von bewegten Gegenständen hatten oder Hinweise, das die Canons bei wenig Restlicht lange brauchen, um zu fokusieren. Als Workaround wurde dann vorgeschlagen, auf manuellen Fokus umzusteigen. Genau der Autofokus ist aber eigentlich der Grund, warum ich meine alte Canon T70 ersetzen möchte. Ich möchte ein Kamera mit einem verlässlichen Autofokus. Was nützt eine schöne Canon G3 mit schwenkbarem Display und günstigen Speichermedien, wenn der Autofocus im entscheidenen Moment zu langsam ist.

Deshalb werde ich dann wohl die Nachteile der SONY, wie geringere Akkulaufzeit und teure Memorysticks in Kauf nehmen. Ein Vorteil der SONY ist die im Vergleich zur Canon geringere Baugrösse, die es leichter machen sollte, die Kamera unterwegs dabei zuhaben.

Hibernate ist ebenfalls ziemlich kühl.

Also, ich als Amateur Java und Datenbank Programmierer bin von Hibernate immer mehr begeistert.

Nachdem ich erst mal die Geschichte mit den JOINS einigermaßen verstanden hatte, war es mir dann fast im ersten Versuch möglich, den richtigen Query zu definieren.

Auf SQL Ebene würde die Abfrage in etwa so aussehen (als Eingabedaten sind die GP7*, PW0* und PP0* Produkt-IDs vorhanden):

 select distinct pf.*
   from parts p,  rlist_to_part rp, platform_to_rlist pr, platform pf
  where p.name in ('GP7B0C1RS', 'GP7E0B1RS', 'GP7E0B1S', 'PP020AP1S',
                   'PP020BP1S', 'PW020CP1S', 'PW020CR1S', 'PW040CS1S',
                   'PW040DR1S', 'PW060CR1S')
        and p.id=rp.part_id
        and rp.rlist_id=pr.rlist_id
        and pr.platform_id=pf.id;

Es werden vier verschiedene Tabellen miteinander verknüpft, die alle vorhanden Daten auf verschiedene Arten miteinander semantisch verknüpfen. Auf JDBC/SQL Ebene müsste ich mich außerdem noch darum kümmern, die Eingabe Daten entsprechend vorzubereiten und das Ergebnis aus dem ResultSet wieder abholen.

Mit Hibernate sieht die analoge Abfrage dann so aus (parts enthält bereits die Liste der Produkt-IDs)

Query query = session.createQuery("select distinct pf "
                                  + "from net.ridderbusch.RLISTManagement.Platform pf "
                                  + "join pf.rlists as rl "
                                  + "join rl.parts as part "
                                  + "where part.name in (:parts)");
query.setParameterList("parts", parts);

Als Ergebnis erhalte ich direkt ein weiter verwendbares Java-Objekt.

Auch für die Migration der Daten aus dem alten System in das Neue mache ich über Hibernate. Ich hatte ursprünglich vorgehabt mittels SQL die Tabellen im neuen System zu füllen, aber dank der vielen zusätzlichen Hibernate-Utilities, die z.B. aus einer Datenbanktabelle die Hibernate-Mapping Datei bauen und aus dieser mit einem weiteren Tool die zugehörigen Java-Klassen, war es letztendlich leichter die Migration über ein eigenes Java-Programm zumachen.

Wirklich alles sehr kühl!!