« December 2005 | Main | February 2006 »

January 25, 2006

SQL Pretty Printer

Σε κάποιο project που πήρα μέρος, υπήρχε η ανάγκη να μεταφράσω «σεντόνι» κώδικα γραμμένο σε transact sql περίπου 1000 γραμμές με πολλά if και while και το κυριότερο κακογραμμένο και μη στοιχισμένο.
Μετά από λίγο ψάξιμο βρήκα το SQL Pretty print, ένα προγραμματάκι το οποίο κάνει beatify SQL statements, tsql , pl/sql κ.α, αρκετά παραμετροποιήσιμο και απλό.
Το μόνο του πρόβλημα είναι ότι είναι shareware και κοστίζει 30 ευρώ αλλά αξίζει με το παραπάνω τα λεφτά του.
sqlprint1.gif

sqlprint2.gif

January 15, 2006

Self signed ssl certificate και Java

Κάποιες φορές και ειδικά σε test περιβάλλοντα χρειάστηκε να κάνω access από java, web servers με ssl τα οποία όμως είχαν self-signed digital certificates. Στην περίπτωση αυτή εμφανίζεται το exception "javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: No trusted certificate found"
Επειδή δεν βρήκα κάποιο γρήγορο document παραθέτω το παρακάτω.

Έστω ότι θέλω με HttpRequest να καλέσω ένα url με ssl που έχει φτιαχτεί όπως στο Linux Home Server HOWTO (το συγκεκριμένο site είναι καταπληκτικό για κάποιον που θέλει να φτιάξει προσωπικό site σαν το δικό μου).

1. Από κάποιον ΙΕ import το certificate από το https://xxxxx, ως εξής : από το popup "Security Alert" -> View Certificate -> Install Certificate -> Next -> check το "Automatically select the ..." -> Next ->Finish -> "Do you want to install .." ->Yes -> "The import was successful"
2. Export από τον IE σε file: Tools -> Internet Options -> Content ->Certificates -> Trusted Root Certification Autorities Θα εμφανισθεί μία εγγραφή στη στήλη Issued To xxxx.xx (όπως το server name του server https://xxxxx) αφού επιλεγεί -> Export -> Next -> Base-64 ... -> Next -> στο file name κάτι π.χ c:\tmp\ssl.cer -> Next -> Finish -> "The export was successful"
3. Delete το certificate από τον IE (δεν το χρειαζόμαστε πια)
4. cd στο $JAVA_HOME\bin
5. Δημιουργία του keystore αρχείου με keytool -import -alias mysite -file "c:\tmp\ssl.cer" -keystore "c:\tmp\keystore". Στο password δίνουμε κάποιο password και στο "Trust this certificate" yes.
6. Προσθέτουμε στο java πρόγραμμα το entry -Djavax.net.ssl.trustStore="C:\\tmp\\keystore"
Αν όλα πήγαν καλά το πρόγραμμα θα λειτουργεί μια χαρά.

Dictionary Tooltip - Firefox Extension

Ο Vag μου έδειξε ένα καταπληκτικό extension για Firefox το Dictionary Tooltip
Dictionary Tooltip
Με double click μίας λέξης το tooltip ενεργοποιείται και εμφανίζεται ένα παράθυρο στην οθόνη το οποίο εμφανίζει την μετάφρασή της επιλεγμένης λέξης.
Χρησιμοποιεί μια πληθώρα από on line dictionaries όπως το www.thefreedictionary.com και το info.babylon.com. Tο τελευταίο υποστηρίζει μετάφραση και στα ελληνικά.

Oracle Jdeveloper 10g: Build Applications Using ADF

Πρίν από μερικές εβδομάδες παρακολούθησα ένα πολύ ενδιαφέρον σεμινάριο, το Oracle Jdeveloper 10g: Build Applications Using ADF.
Στο σεμινάριο καλύπτονται αρκετές τεχνολογίες όπως Struts, BC4J και βέβαια ADF.
Το όλο framework προσπαθεί να δημιουργήσει ένα περιβάλλον ανάπτυξης το οποίο φιλοδοξεί να φτάσει ή και να ξεπεράσει την παραγωγικότητα που δίνει το 4GL Oracle Forms και ενδιαφέρον είναι ότι στο εγχειρίδιο υπάρχουν παραπομπές για Forms developers. Αυτό που θα ήθελα το οποίο δεν μου φάνηκε αρκετό, είναι η εμβάθυνση στην εσωτερική αρχιτεκτονική των ADF business components δηλαδή τα BC4J όπως και κάτι παραπάνω για τα ADF data pages και το binding.
Βέβαια το σεμινάριο καλύπτει τόσα πολλά ενδιαφέροντα πράγματα που δύσκολα θα αφαιρούσα κάτι. Ίσως λοιπόν καλό θα ήταν να υπάρχει ένα ακόμα σεμινάριο που να καλύπτει πιο διεξοδικά τις παραπάνω Oracle τεχνολογίες.
Ευτυχώς πολλές από τις απορίες που είχα κυρίως για το binding λύθηκαν στο καταπληκτικό document του ΟΤΝ Oracle ADF Data Binding Primer and ADF/Struts Overview το οποίο το συνιστώ ανεπιφύλακτα αν και η μελέτη του απαιτεί αρκετό χρόνο