Home

Jul. 6th, 2008

Aggirare la cache del browser per le immagini contenute in un una pagina web

Un problema che mi sono trovato ad affrontare un paio di volte è quello del caching delle immagini da parte del browser.
Tutti i browser, di default, memorizzano le pagine e gli oggetti contenutivi (come appunto le immagini, o anche un filmato .swf) nella loro memoria cache per velocizzare l'esperienza di navigazione.
Purtroppo però questo rappresenta anche un fastidioso ostacolo per chi sviluppa web application.

Per forzare un browser (lato server) a non utilizzare la cache per una determinata pagina ci sono un paio di trucchetti, ma purtroppo questi non funzionano con le immagini (o altri oggetti) incorporate all'interno della pagina.

Ad esempio:
SCENARIO A.1 - Nessuna precauzione lato server e impostazioni di default del browser
si abbia una pagina [index.htm] che contiene una immagine [photo.jpg].
L'utente A richiede la pagina [index.htm]. Il server B la invia così com'è. Il browser dell'utente A la riceve, controlla tutti gli oggetti incorporati (tra cui l'immagine [photo.jpg]) e li richiede al server B, salvando tutto in cache.
Supponiamo che finita questa operazione, sul server B, l'immagine venga sostituita con una nuova mantenendo sempre il nome [photo.jpg].
L'utente A riaccede alla stessa pagina. Il browser dell'utente vede che la pagina e gli oggetti sono in cache e quindi li mostra a video all'utente senza richiedere quelli aggiornati al server B.
Risultato: l'utente NON vede l'immagine aggiornata.

SCENARIO A.2
Supponiamo che lato server si sia provveduto a far in modo che il browser dell'utente non utilizzi la cache per quel che riguarda la pagina.
L'utente A riaccede a [index.htm]. Il suo browser richiede la pagina al server B che la restituisce. Il browser dell'utente la scorre e cerca gli oggetti incorporati. Tra questi c'è anche l'immagine [photo.jpg] che è memorizzata in cache, per cui il browser non la richiederà al server B.
Risultato: l'utente ottiene la pagina aggiornata, ma NON l'immagine nuova!

SOLUZIONE:
Per ovviare a questo problema ho trovato una soluzione che permette di ingannare il browser, forzandolo a credere di dover cercare sempre un'immagine diversa.

Il codice per incorporare un'immagine in un file html è il seguente:

<img src="photo.jpg" />

Per convincere il browser che deve cercare una immagine diversa dalla precedente basta utilizzare l'invio di parametri fasulli.

<img src="photo.jpg?parametrofasullo=53876453" />

Come si può vedere l'attributo "src" del tag img è cambiato, ma il suo significato in realtà è rimasto lo stesso di prima. La stringa è diversa, ma tutti i caratteri che ci sono dopo il punto interrogativo non influenzano a livello gerarchico la ricerca del file [photo.jpg] sul server.
Cambiando tali parametri ogni volta che l'utente A riceve la pagina dal server B, convinceremo il browser a cercare anche l'immagine aggiornata, senza utilizzare la cache.

Infatti :

"photo.jpg" != "photo.jpg?53876453"

Per ottenere questa soluzione basta usare un piccolo script per linguaggi che operano lato server (PHP, eRuby, ASP) per ogni immagine che riteniamo necessario che non venga memorizzata in cache.

Esempio in PHP (la pagina dovrà quindi essere index.php):

<img src="photo.jpg<?php echo "?".rand(0,30000); ?>" />

Il codice PHP produrra tramite la funzione rand() un numero differente ogni volta.

Nov. 5th, 2007

PSOCOTTERI !!!!!!!!!!!!

Ora... vi racconterò una cosa SPAVENTOSA... una storia di cui nessuno vorrebbe esserne protagonista perchè ha del macabro e dell'orrido inside...

una mattina il nostro eroe, che per la privacy chiameremo "ME", si sveglia e decide di andare, come di consueto, al gabinetto e giocare contemporaneamente al DS mentre espleta i suoi bisogni solidi.

ME apre il DS e nota 4 piccoli puntini bianchi che si muovono e che logicamente paiono degli insetti. La cosa pare strana a ME che decide di controllare la mensola sulla quale era appoggiato il DS. Nota che anche lì è pieno di insetti simili...ME inizia a preoccuparsi...ma ME non si rendeva ancora conto della dimensione del probbbblema... piano piano controllando la camera nota che NESSUN PUNTO di essa è esente da quei maledetti insettucoli....LA CAMERA NE E' INVASA...

e quando dico invasa dico proprio DOVUNQUE!!! muri, mobili, cassetti... addirittura ME ne trova uno dentro un cassetto, dentro a una busta per CD mai aperta!!!
ME non li aveva mai notati perchè sono troppo piccoli, bianchi e l'unico modo per vederli è osservare attentamente la superficie incriminata a 20 cm di distanza...

IL PANICO...

ME comincia a pulire il muro come un forsennato ma sono talmente tanti che dopo neanche un ora questi lo hanno nuovamente invaso impadronendosene ...

ME cerca su internet informazioni su questi essere orrendi...e trova qualcosa...

si tratta di PSOCOTTERI...detti anche Pulci dei libri...

la causa probabilmente è la presenza di muffa! e infatti purtroppo la camera di ME è esposta a Nord e ciò, oltre a causare il clima peggiore di tutta la casa, è anche il motivo per il quale sul muro si può formare muffa...

e qui allora, conosciuto il nemico e i suoi punti deboli, si parte al contrattacco!

ME riesce a spostare da solo l'armadio a muro con ancora tutte le cose dentro (3 x 3.5 m di peso puro!) e dietro trova un muro di muffa...

ME pulisce il muro dalla muffa e dai PSOCOTTERI e poi dà una prima mano di pittura termica.

il giorno dopo e quello dopo ancora, ME pulisce a fondo l'armadio per eliminare qualsiasi traccia possibile di sporcizia e di insetti. Pulisce, ad uno ad uno i suoi vestiti e sigilla libri e altre cose chiaramente infestate.

ME ora operò è stanco e andrà a dormire. Domani lo attende un altro veloce ciclo di pulizia e una seconda mano di pittura sul muro.

MAI AVERE LA PROPRIA CAMERA A NORD!!!!!!!!!!

Oct. 11th, 2007

"Viva Forever"

OK.... qualcuno di voi ha mai visto o si ricorda di questo enigmatico video delle Spice Girls ?
l'ho rivisto ieri dopo tanto tempo e continuo a non capirne assolutamente il significato...

Per chi non se lo ricordasse questa è la trama...

Ci sono due bambini (uno dei quali è sessualmente non classificabile) che stanno giocando nel bosco...evidentemente (come tutti i bambini di 10-12 anni) non è che brillassero per tranquillità e difatti a un certo punto escono fuori da un cespuglio 5 fate decise a vendicarsi per essere state disturbate..
uno dei due bambini (quello dall'aspetto più sveglio e che chiaramente era pisello-dotato) fugge intelligentemente via lasciando l'altro essere in balia delle spicy-fatine...questi, con una faccia tutt'altro che sveglia rimane lì imbambolato di fronte alle 5 incazzate come draghi ma dall'aspeto dolce e angelico. Sono evidentemente decise a fargliela pagare: prima quella bionda gli sputa in faccia, quella di colore gli tira un pugno (piccolo, ma sempre un pugno eh!) e poi con l'inganno lo attirano vicino a un cubo di rubik gigante.
Nel frattempo l'amico che era fuggito, torna sui suoi passi ripensando alla sua tessera di volontario civile e pensando che se lo avessero scacciato dal corpo non avrebbe più avuto lo sconto per entrare al cinema. Il pavido però osserva l'amico (del quale nessuno ha ancora individuato il sesso dopo 5 minuti di video, e nessuno ci riuscirà fino alla fine) che si lascia sbefeggiare dalle 5 fatine senza intervenire. A questo punto l'ermafrodita viene spinto con l'inganno ad entrare nel cubo di rubik che si chiude facendolo scomparire nel nulla.
L'amico, sconsolato e al tempo stesso incazzato pensando alla perduta agevolazione per i cinema, decide di vendicarsi iniziando a giocare con il cubo di rubik rimasto per terra facendo ruotare le facce colorate tritura e spappola l'ermafrodita rimasto dentro.
Terminata la vendetta e sicuro di aver ucciso l'ex-amico dalla faccia enigmatica, giunge di fronte a un gigantesco bidone della spazzatura a forma di giocattolo e ci butta dentro il cubo di rubik per eliminare le prove.
Fine

Sep. 25th, 2007

"Apple da Supermercato"



http://www.melablog.it/post/4462/ipod-classic-peggiora-la-qualita-audio

Essì..quando tutti al MacWorld videro questa immagine, venne da chiedersi cosa avrebbe comportato..
i dubbi, le ipotesi oggi a mio avviso sono diventate chiare realtà..

Dopo i monitor scadenti del nuovo iMac (http://www.melablog.it/post/4405/imac-20-lcd-di-bassa-qualita) oggi c'è chi si è accorto del passo indietro fatto anche con gli iPod classic..
Chip più scadenti rispetto alla precedente generazione (la 5G)...
Eppure, dopo l'eliminazione del "Computer" dal nome dell'azienda, e dopo i ritardi di Mac OS X 10.5 Leopard, avrei scommesso che ormai l'unico vero business fossero gli iPod e l'iPhone...
credevo che avrebbero concentrato tutto su di essi, sfornando prodotti sempre all'altezza del nome e invece... corsa al risparmio...prodotti economici da supermercato...
Non mi ero sbagliato sul "cosa", ma mi ero sbagliato sul "come"...
Apple da oggi non è più sinonimo di qualità... è solo una azienda che punta al mercato..come tutte le altre...deludendo i suoi vecchi clienti...
il "think different" ora non significa più distinguersi dagli altri... ma distinguersi dalla Apple di un tempo...

Addio cara Apple Computer Inc..

Jul. 23rd, 2007

L'EROE e la feccia

http://www.repubblica.it/2007/07/sezioni/cronaca/jesolo-annegato/jesolo-annegato/jesolo-annegato.html

May. 28th, 2007

Cosa ne pensano di noi all'estero



Da rabbrividire...

May. 21st, 2007

Ruby on Rails - il framework delle meraviglie



Sto finalmente provando questo framework che tanto ha fatto parlare di sè in questi ultimi anni.
Lo stiamo testando per realizzare il progetto relativo al corso di Laboratorio di Basi di Dati.
Dopo un piccolo tentennamento iniziale (dovuto anche alla mia pigrizia nel cercare le documentazioni online) sto realizzando come questo framework possa accorciare di molto i tempi di sviluppo (e quelli di gestione!). Addirittura grazie all'ActiveRecord, è possibile interfacciare la propria applicazione con un DB come MySQL (ma sto di gran lunga preferendo PostgreSQL) senza conoscere nemmeno un comando SQL!
La mappatura ORM permette inoltre di trasformare immediatamente un progetto di una base di dati con modello ad oggetti in realtà.
Il linguaggio alla base del framework è Ruby, che pare davvero molto potente e conciso, a differenza di quel logorroico di Java. Trovo però che ci voglia decisamente un po' di tempo per assimilarlo bene, visto che si possono scrivere gli stessi comandi in una miriade di modi differenti, omettendo molte cose. Ciò può velocizzare la scrittura e la lettura del codice, ma per un programmatore alle prime armi, può confondere un pochino. Sicuramente serve un approccio più astratto e concettuale che basato sulla lettura "al carattere".
Questo tipo di programmazione può avere i suoi difetti, nessuno afferma il contrario , ma credo che nel prossimo futuro diverrà il metodo più utilizzato dagli sviluppatori.

Sito Ufficiale Ruby on Rails : http://www.rubyonrails.org/
Sito Ufficiale di Ruby : http://www.ruby-lang.org/en/

May. 17th, 2007

chi prima arriva...

http://www.melablog.it/post/3714/apple-brevetta-la-colla

proprio oggi ne stavo parlando con un amico...
ma possibile che (soprattutto negli Stati Uniti) si permettano brevetti del genere ?
idee spesso nemmeno implementate...almeno finchè qualcuno non se ne prende la briga...e dopo tutta la fatica , si ritrova a dover pagare la violazione di brevetto...

Crimen Sollicitationis

http://www.beppegrillo.it/2007/05/crimen_sollicit.html

...è "OVVIO" che il Papa è illuminato da Dio...

May. 16th, 2007

quel tale chiamato infam-ily day...

Sono Stufo!!!
Stufo di sentir sbandierare parole, frasi, concetti di cui non si conosce nemmeno il significato !

Gente che per giustificare la propria chiusura mentale si nasconde dietro a una maschera di BEATA e SANTIFICATA "Giustizia" (?????) dogmatica !

Gente che fa propri universali concetti ... ed anzi, vuole rendere universale la propria visione della realtà e della NATURA ! Si, proprio della Natura ! Di quella cosa che nessuno mai ha saputo spiegare il perchè in 10000 anni, se non tramite assunzioni religiose basate unicamente sulla fede (o meglio sul "fidate de me che sò cosa posso farti fare..."). Eppure certa gente pare avere un idea chiarissima di cosa E' NATURALE e cosa NON LO E'....

Sono cresciuto negli anni '80...in quegli anni dove a scuola si parlava così convintamente di lotta al razzismo... e tutto sommato questa campagna ha dato i suoi frutti...
ora nulla si può dire contro qualcuno di religione diversa, neanche se gli fai notare che ha la patta dei pantaloni aperta... non si può dire di no a un marocchino che nel pargheggio del carrefour ti vuole per forza vendere un pacco di calzini tubolari ad agosto quando stai girando in infradito...
eppure una parte della società pare che debba rimanere lì dov'è...chiusa nelle proprie case perchè è meglio non vederla per non dover accettare la sua esistenza... quella parte di cittadini che anche la chiesa si ostina a non riconoscere, cadendo anzi a mio avviso nel reato di istigazione al razzismo !

E' ora di svegliarsi..di smetterla di fare gli ipocriti all'italiana !

July 2008

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Advertisement

Syndicate

RSS Atom
Powered by LiveJournal.com