Ricerca

Iscriviti ai Feed Rss

Login

 

Google AJAX Library: differenze tra jsapi e chiamata diretta

28 luglio 2010

Da molto tempo, in ogni mio progetto, utilizzo la Google AJAX Library. Questo fantastico servizio consente di richiamare jQuery, Prototype, jQueryUI ecc… direttamente dai server di Google con un notevole risparmio di banda, spazio e aumento della sicurezza. Vi consiglio una lettura interessante direttamente dal sito ufficiale!

Per utilizzare questo servizio esistono due modalità: la chiamata tramite jsapi o tramite il classico richiamo “script”

Oggi ho dedicato 5 minuti per un semplice confronto delle prestazioni ottenute con i due metodi. E il risultato è stato veramente interessante!
Ho creato una pagina html completamente vuota, solo head e body con i richiami alle tre librerie che utilizzo quotidianamente: jquery, jqueryui e swfobject.

Sono infatti abituato ad utilizzare il metodo seguente (JSAPI):

<script src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
  google.load("jquery", "1.4.2");
  google.load("jqueryui", "1.8.0");
  google.load("swfobject","2.2");
</script>
</script>

Grazie al nostro Firebug ho ottenuto questi dati (vi allego uno screenshot):

Caricamento tramite JSAPI

jsapi

Dimensione della pagina: 84.2 KB
Tempo di caricamento: 795ms

Fatto questo ho provato a modificare il richiamo alle librerie con il classico richiamo “script” come segue:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

Ho svuotato la cache e ricaricato il tutto. Questi sono i miei risultati ottenuti:

Caricamento tramite classico richiamo script

script diretto

Dimensione della pagina: 76.9 KB
Tempo di caricamento: 462ms

La differenza secondo me è notevole!
Il caricamento classico è infatti più leggero di 7.3 KB e la chiamata totale è più veloce di 333ms.
Dobbiamo infatti considerare che queste differenze sembrano minime, ma moltiplicate per “n” visitatori possono fare la differenza.

Ovviamente dobbiamo anche considerare che non tutte le chiamate avranno lo stesso peso e tempo grazie alla cache, ma posso comunque dire che da oggi utilizzerò di sicuro il classico richiamo script!

[OPTIMIZE TABLE] Ottimizzare le tabelle in Plesk

25 maggio 2010

Ho avuto la necessità di lanciare il comando di optimize table su tutte le tabelle di tutti i database in Plesk.
Le varie documentazioni che si trovano in rete si occupano dell’ottimizzazione di un singolo database.

Nel mio caso il server Plesk gestisce una cinquantina di database e questo comando mi ha risparmiato molto tempo :)

Loggatevi in ssh al vostro server Plesk e lanciate:

mysqlcheck -u admin -p --optimize --all-databases

Vi verrà richiesta la password del vostro Mysql (che di standard è quella del vostro Plesk).
Verrà quindi lanciato il comando di ottimizzazione delle tabelle su tutti i vostri database.

In base alla mole di dati potrebbe impiegarci un bel pò, nel mio caso è stato abbastanza rapido (5 minuti).

jQuery: prevenire il comportamento di default

26 aprile 2010

Se usate jQuery avrete di sicuro utilizzato spesso la sintassi:

<a href="#/" id="mylink">click me</a>
$('#mylink').click(function() {
  // azione da fare al click del link con id 'mylink'
  alert('clicked!!');
});

Al click del link con id mylink verrà visualizzato un semplice alert.
Come vedrete però nella barra degli indirizzi verrà visualizzato il “#/”, e non è elegante.

Con jQuery abbiamo la possibilità di prevenire le azioni di default dei nostri elementi, nel nostro caso il link. Sarà sufficiente scrivere:

$('#mylink').click(function(event) {
  // Prevent default
  event.preventDefault();
  // azione da fare al click del link con id 'mylink'
  alert('clicked!!');
});

Attenzione: ho passato come parametro della funzione l’event per poterlo richiamare.