informazioni su: Ariel Techiouba

mercoledì 1 giugno 2011

Usare Google Spreadsheet come un database SQL

Google continua nella sua strada di aprire il più possibile i propri prodotti agli sviluppatori. Le API di Google ormai annoverano decine e decine di prodotti, con i quali interfacciarsi nelle proprie applicazioni Web e Desktop.

Ritengo che Spreadsheet sia uno dei migliori successi, tanto che per quanto mi riguarda, non sento minimamente la mancanza di Excel sui computer che uso. Per questo prodotto Google ha messo a disposizione le Google Data API, che fornisce un sacco di informazioni su come interrogare le tabelle che usiamo su spreadsheet e utilizzarle così all'esterno.

Nel caso poi volessimo rendere le nostre query presentabili, ci pensa un altro prodotto, Google Visualization, che consente di interagire tramite servizi REST con molti dei prodotti Google.

Per esempio ho trovato chi ha utilizzato le Google Spreadsheets come se fossero un database, potendo fare vere e proprie query SQL (con qualche limitazione) direttamente tramite 'url.
Per utilizzarle è necessario essere loggati con un account Google.

Ecco come provare a fare una query su una propria tabella:
  1. Fate il login su Google Docs: http://docs.google.com
  2. Create una nuova tabella con Spreadsheet
  3. Cliccate su Condivisione e pubblicate la tabella, quindi copiatevi l'URL restituito
  4. Create la vostra query: (esempio "select *"..) ricordandovi che i nomi delle colonne non sono le intestazioni che avete assegnato voi, bensì A, B, C e così via..
  5. Create la url per la visualizzazione:
  • URL base
  • Parametri da passare in GET , quindi in chiaro sull'indirizzo
    • tqx: formato di output, un valore tra "out:html" oppure "out:csv"
    • tq: la query, come ad esempio: "select *" (tutte le colonne) oppure select A,B .. fate attenzione che i nomi delle colonne sono CASE SENSITIVE (quindi la colonna "A" non è uguale alla colonna "a")
    • key: la chiave che potete recuperare dall'url che dovreste aver copiato

ecco un esempio:

giovedì 12 maggio 2011

Quando gli script bash non funzionano più..

..ma fino al giorno prima funzionavano, potrebbe essere colpa di qualcuno che li ha editati con il lettore sbagliato!

Se lanciando uno script bash si ottiene l'errore

bad interpreter: No such file or directory

potrebbe essere un problema di path, cioè non è stato trovato il bash (o il dialetto utilizzato) e bisogna esplicitarlo oppure il file è stato preparato con gli "a capo" stile windows (\r\n) anzichè stile unix (\n).


Come apprendiamo da questo link, in questi casi proviamo a editare con vi e digitiamo:

:set fileformat=unix

mercoledì 27 aprile 2011

Cosa sono i servizi RESTful?

Capita talvolta di dover accedere a servizi web esterni al nostro dominio. E' possibile in alcuni casi che questi servizi siano esposti in modo da facilitare la loro interrogazione, fornendo un URL univoco che resistuisce una risposta in XML.

In queste situazioni, sarebbe inutile e dispendioso in termini di tempo / risorse creare un client per l'interrogazione del web service, dal momento che possiamo ottenere le risposte semplicemente con una richiesta HTTP (in GET o in POST) e fare il parsing dell' XML restituito.

Come cita Wikipedia questo approccio (REST) ai web service si chiama REpresentational State Transfer , e consiste in un particolare approccio architetturale che prevede l'assenza di STATO nell'interrogazione del servizio, per cui la risposta è generata direttamente sulla base dei parametri inviati con la richiesta.

L'interrogazione di questi servizi si riduce quindi alla creazione della HttpRequest e della attesa di una HttpResponse contenente l' XML che rappresenta la risposta. Non c'è alcun passaggio attraverso SOAP e Remote Procedure Calls dal lato "client".

venerdì 22 aprile 2011

Eclipse e l'editor "a colonne"

Della serie "non tutti sanno che..", Eclipse è un IDE potentissimo, che permette tra le varie cose l'editing "a colonne".

In pratica si può selezionare un'area rettangolare in cui ogni carattere che digiteremo verrà replicato su tutte le righe dell'area.

Per passare alla modalità editing "a colonne" basta premere la combinazione di tasti: ALT + SHIFT + A quando il focus è sull'editor di codice di Eclipse.

Per tornare alla modalità normale, premere nuovamente ALT + SHIFT + A

Spero che questo hint vi sia utile

Segue qualche screenshot, perchè 1 immagine vale 1000 parole..




giovedì 21 aprile 2011

Google Visualization: creare grafici con Google

Google Visualization & Salesforce
Google Visualization Tools sono degli strumenti dedicati agli sviluppatori web che permettono di creare in poche righe di codice dei grafici per rappresentare i propri dati.
Sono disponibili diversi modelli, a seconda delle esigenze. Nella pagina introduttiva dedicata al progetto si possono vedere diversi esempi.

Uno degli strumenti più utili, perchè abbastanza unico nel suo genere è quello delle GeoMap. Con questi grafici è possibile creare mappe e configurarle in modo da essere interattive a piacimento. Le possibilità di customizzazione non sono moltissime, ma sufficienti per rappresentare dati su aree geografiche.

Va notato che a causa di alcuni bug, Internet Explorer non è compatibile al 100% con questo strumento, tanto che nemmeno le pagine di esempio di Google a volte funzionano correttamente.


Questo errore non viene nemmeno segnalato nella console JavaScript, e si presenta solo se il plugin non è all'ultima versione. Probabilmente Google Visualization utilizza alcune parti in Flash per il rendering delle mappe.

lunedì 14 marzo 2011

Le stringhe Java e i caratteri speciali


Capita spesso di dover fare il parsing di una stringa in Java, utilizzando come separatori i caratteri speciali. Sono tali, proprio perchè hanno un particolare valore all'interno di espressioni regolari.
Il metodo split() dell'oggetto String prende come argomento proprio una espressione regolare.

Nelle espressioni regolari il carattere " | " (detto "pipe") rappresenta l'operatore "OR". Nel caso volessimo ottenere sottostringhe separate proprio dal carattere | il codice da usare è il seguente:

String source = "testo|da|separare";
String[] parsed_result = source.split("\\|");
for(String s : parsed_result)
{
  System.out.println(s);
}

In tutti i casi in cui volessimo usare un carattere speciale nelle espressioni regolari, è necessario far precedere il carattere da un doppio backslash "\\". 

domenica 13 marzo 2011

Come fare per usare JQuery con le pagine VisualForce Salesforce

 
Questo piccolo tutorial illustra quali sono i passi da seguire per poter utilizzare jquery, insieme con tutti i suoi plugin vari, sulla piattaforma Salesforce.

Il procedimento è abbastanza semplice, grazie alla possibilità di includere Risorse Statiche nelle org di Salesforce. Questa funzionalità infatti permette di caricare foglie di stile, librerie JavaScript e anche file jar (da eseguire dentro applets o Java Web Start) e accederle dentro le proprie pagine create in VisualForce, il linguaggio dinamico proprietario della piattaforma SF.

Ecco i passi da seguire:
  1. Scaricare le librerie occorrenti. Come esempio supponiamo di voler installare jQuery e jQueryUI per usare queste librerie in una pagina VisualForce. Dal sito ufficiale jQuery, scarichiamo l'ultima versione di jQueryUI, scegliendo un tema che faccia al caso nostro. Il file zip conterrà al suo interno la libreria JavaScript di jQueryUI, il core jQuery, e i fogli di stile css necessari alla corretta visualizzazione dei componenti UI che vogliamo utilizzare. Nel mio esempio ho scaricato la versione 1.8 con tutti i componenti e il tema "lightness".
  2. Carichiamo il file zip come Static Resource: Eseguito il login su Salesforce, "Setup > Develop > Static Resources > New" , selezionare il file zip scaricato, e assegnare un nome (nell'esempio "JQueryUI")
  3. Creiamo la pagina VisualForce dove vogliamo usare jQuery. In questo esempio la pagina si chiamerà TestJquery. "Setup > Develop > Pages > New" e assegnare il nome ("TestJquery").
  4. Nella pagina importiamo le librerie contenute nello script: 
    1. Core di jQuery: <apex:includeScript value="{!URLFOR($Resource.JQueryUI, '/js/jquery-1.4.4.min.js')}" />
    2. Estensioni di jQueryUI: <apex:includeScript value="{!URLFOR($Resource.JQueryUI, '/js/jquery-ui-1.8.10.custom.min.js')}" />
    3. Fogli di stile di jQueryUI: <apex:stylesheet value="{!URLFOR($Resource.JQueryUI, '/css/ui-lightness/jquery-ui-1.8.10.custom.css')}" />
  5. Definiamo una variabile per jquery in modo da evitare i possibili conflitti. Infatti Salesforce già utilizza il simbolo $ per alcune librerie proprie. Nel mio esempio ho usato le tre lettere jqr per rappresentarmi le funzioni jquery: var jqr = jQuery.noConflict();
  6. Inseriamo il nostro codice all'interno della pagina VisualForce, per esempio aprendo un dialog: jqr("#dialog").dialog();
  7. Testiamo il codice all'indirizzo /apex/TestJquery
Per comodità riporto l'intero codice della pagina VisualForce TestJquery:

<apex:page>
    <apex:includeScript value="{!URLFOR($Resource.JQueryUI, '/js/jquery-1.4.4.min.js')}" />
    <apex:includeScript value="{!URLFOR($Resource.JQueryUI, '/js/jquery-ui-1.8.10.custom.min.js')}" />
    <apex:stylesheet value="{!URLFOR($Resource.JQueryUI, '/css/ui-lightness/jquery-ui-1.8.10.custom.css')}" />
    <h1>Test di utilizzo di jqeury</h1>
    <p></p>
    <div id="dialog">Questa &egrave; una finestra di dialogo fatta con jQueryUI (tema lightness)</div>
    <script type="text/javascript" language="JavaScript">
        var jqr = jQuery.noConflict();
        jqr("#dialog").dialog();
    </script>

</apex:page>