domenica 3 aprile 2011

MAC OSX Beyond Compare

Mi capita spesso di utilizzare Beyond Compare su Windows per comparare strutture di Directory, adesso su MAC OSX ero alla ricerca di qualcosa di simile.

Il miglior prodotto gratuito che ho trovato e' : Diffmerge

Scaricabile all'indirizzo :  http://www.sourcegear.com/diffmerge

venerdì 1 aprile 2011

Mac OSX Apache - Forbidden su nuove pagine e risorse

Da poco tempo mi sono avvicinato al mondo Mac OSX, e sono alle prese con il "travasare" : documenti, siti e applicazioni sviluppate e create in ambiente Windows su ambiente Mac.

Spostando i vari siti sull'Apache gia' presente su Snow Leopard, al momento dell'apertura ricevevo un "Forbidden".

Su Internet la soluzione prevalente per la risoluzione del problema e' quella di cambiare httpd.conf per disabilitare il deny from all dalla direttiva .

Siccome non volevo modificare un impostazione di generale del server apache, ma volevo agire solo sulla parte lato utente (quindi sulla Root page che insiste su : "/Users//Sites"), ho risolto cambiando le impostazioni di sicurezza dei file da "-rwx------" a "-rwxr-xr-x" tramite il comando :

chmod -R uo+rx *

domenica 21 marzo 2010

Javadoc - plsqldoc

Una cosa delle molte cose su cui Java ha lasciato il segno e' la standardizzazione del modo di gestire la documentazione di utilizzo delle varie classi / interfacce e dei loro metodi, tramite Javadoc.

Molti altri linguaggi hanno adottato un approccio simile, anche Ruby ha il suo RDoc.

Anche per chi programma in Oracle Plsql, puo' appoggiarsi ad un tool che leggendo direttamente le informazioni su DB costruisce le API Reference.

Ci sono principalmente due progetti su questo argomento :
1) http://sourceforge.net/projects/plsqlutils/
2) http://pldoc.sourceforge.net/

Sono tutti e due progetti di qualche anno fa che non hanno avuto una loro evoluzione, anche se il primo sembra piu' "ufficiale", sul quale si appoggia anche un altro progetto "OraDoc", a mio avviso e' il secondo "pldoc" che risulta piu' immediato e maneggevole.
Una volta scaricato e' sufficiente eseguire il batch pldoc.bat (pldoc.sh) indicando il db e i package da leggere e sul percorso corrente (o specificato tramite -d) verranno creati i file html in puro stile Javadoc.
Un esempio di esecuzione e' :
  • pldoc.bat -doctitle testPLSQLDOC -d myfolder -url jdbc:oracle:thin:@mydbmachine:1521:mydbsid -user userx -password userxpassword -sql USERX.MYPACKAGE1,USERX.MYPACKAGE2
Attenzione : ad indicare sul parametro -sql l'utente/schema in maiuscolo altrimenti verra' rilanciato un errore di pacchetto non trovato.

La scrittura della documentazione deve essere fatta nello Spec del package e non nel body.

Se non si hanno troppe pretese, il tool funziona efficaciemente non possiede funzionalita' avanzate, come la possibilita' di trasferire via FTP la documentazione o un interfaccia GUI di gestione etc.. , ma se ne puo' fare tranquillamente a meno.

lunedì 8 marzo 2010

Rails - Controller Routing in Subdirectory

Al fine di razionalizzare e aggregare funzioni specifiche puo' essere utile far rispondere un determinato controller ad un webpath nidificato rispetto a quello normale.
Per fare questo e' sufficiente ci sono una serie di passi da effettuare :
  • creare un controller in subfolder della dir. controller (se desiderate tramite script/generate subfolder/controller, es. ruby script/generate admin/users ).
  • creare le view in un subfolder con lo stesso nome del subfolder.
  • se desiderate potete modificare il routing in routes.rb in modo da puntare la richiesta al nuovo percorso, tramite :
    map.connect 'subfolder/controller/:action/:id', :controller => 'subfolder/controller' o tramite il map.namespace.
Se siamo in presenza di un application layout o in ogni caso in cui occorra puntare al controller corretto indicare nel reference :controller :
  • "subfolder/controller" se si desidera puntare al controller nidificato.
  • "/controller" se si desidera puntare al controller in posizione root.

Utility - GIMP - dbp

Durante la costruzione di siti vetrina, capita di dover eseguire una serie di operazioni (ridimensionamento per i thumbnails, renaming, crop etc..),  su una grossa mole di immagini, per evitare di farne una ad una, esiste un plugin GIMP che viene in soccorso :

http://members.ozemail.com.au/~hodsond/dbp.html

L'interfaccia e' abbastanza spartana, ma efficace nel funzionamento.

Utility - Q-Dir

Spesso capita di avere a che fare con spostamenti, comparazioni, visualizzazione di files distribuiti su diverse directory ed e' cosi' che si inizia con qualche esplora risorse, aperto e si finisce con 10 e piu' finestre e via di interminabili ALT+Tab alla ricerca della finestra giusta.
Un utile strumento che ovviamente non risolve tutti i problemi, ma senza dubbio agevola l'utilizzo e' "Q-Dir" :

Tramite la visualizzazione contemporanea di piu' folder (fino a 4) e' possibile in modo agevole gestire i propri files.


domenica 7 marzo 2010

Ruby on Rails - Ambiente di sviluppo

Dopo il primo progetto costruito senza alcun ambiente di sviluppo, ma semplicemente da riga di comando e editor (cosa consigliabile per evitare di prendere per scontato in fase di apprendimento, concetti che l'uso di un RAD ti maschera), ho deciso di cercare un RAD che potesse un po' velocizzare lo sviluppo.
Abituato agli IDE per Java che, anche se molto potenti, sono sempre piu' invasivi nel progetto e spesso legati all'ambiente di runtime (vedi cartella nbproject di Netbeans, .settings di WebSphere, i vari xml di configurazione di Jdev per il deploy su OC4J), ho cercato per Ruby uno che potesse piu' possibile essere qualcosa di piu' di un semplice editor ad evitare il trauma nel caso di migrazione da RAD a RAD, dopo un po' di ricerche tra i prodotti, la mia scelta e' caduta su RadRails :

http://www.aptana.com/

anche se cerca di installare un po' di Gems utili al debug e altro, disabilitandole l'ambiente rimane pulito, sempre valido e funzionante da riga di comando o da altro RAD.
La piattaforma e' Eclipse e un solo file extra ".project" e' presente, sono presenti inoltre, in perfetto stile Eclipse, plugin di ulteriori funzionalita' quali l'aggancio a server di versioning, stile Subversion etc...