due chiacchiere

Mettere i gravatar dei commenti in cache

Sono felice di annunciare che la conservazione casalinga di tutti i pezzi che compongono le pagine di questo blog è finalmente completa. Dopo aver seguito il consiglio di Emanuele di non caricare il font del blog dai server di Google, c’era ancora un tassello che dipendeva da qualcun’altro: la piccola immagine accanto al nome di chi lascia un commento, altrimenti nota come Gravatar. WordPress genera automaticamente il link in base all’indirizzo email che si utilizza per scrivere il proprio commento, ed io non mi ero inizialmente posto il problema in merito alla questione. Poi però ho notato che le pagine del blog impiegavano qualche fastidiosissimo secondo a finire di caricarsi, specialmente quando si saltava direttamente ai commenti. Il colpevole? Il server mondiale dei Gravatar.

Così una sera d’estate ho finalmente trovato il tempo per implementare una funzione in grado di scaricare l’immagine dal server remoto, e di conservarla per benino in una cache locale, da dove verrà servita da quel punto in poi. Come ho già detto, questo è uno dei motivi per cui ho sempre apprezzato WordPress rispetto ad altri sistemi (Drupal 🤮): mi è bastato scrivere qualche riga di codice ed attaccarla ad uno dei tanti ganci disponibili: get_avatar_url. Poi, dopo aver dato una spruzzatina di StackOverflow qui, una spolveratina di PHP lì, ho messo alla prova il frutto del mio lavoro, e con grande gioia anche dell’omino talebano seduto sulla mia spalla, abbiamo visto che la cartella della cache ha iniziato subito a popolarsi di immagini, rigorosamente convertite in formato webp dalla mia funzione. I più curiosi potranno dare una sbirciatina al codice nel mio repo su GitHub. Non ti resta che farmi sapere se noti qualcosa di strano.

Commenti

  1. Trap ha scritto:

    Ho visto il codice, carino 🙂 manca però la cache invalidation, troverai qualche spunto nel libro di Architettura 2 del Vanneschi che sicuramente hai sul comodino, eh eh

    Risposte al commento di Trap

    1. camu ha scritto:

      Non ti sfugge nulla 🙂 Per carità, non parlarmi di sistemi L2 e sistemi L3 che ancora a volte ho gli incubi. Uno degli argomenti più ostici della mia intera carriera universitaria, al pari con la programmazione funzionale del Levi. Comunque, tornando alla questione, ho pensato che questi avatar cambiano molto raramente, e che non valesse la pena far la fatica di ricrearli, che so, una volta al mese. Ci farò un pensierino…

      Risposte al commento di camu

      1. Trap ha scritto:

        Potresti aggiungere al tuo cronfile la seguente riga che cancella i gravatar più vecchi di 30 giorni:

        find /cartella/ -name "*.webp" -type f -daystart -mtime +30 -delete

        se vuoi fare un test prima di provocare danni, sostituisci “delete” con “print”

        Risposte al commento di Trap
        1. camu ha scritto:

          Si, uso una strategia simile per il cron job che si occupa di fare un backup del sito sul mio server casalingo. Buona idea.

  2. Samuele ha scritto:

    Sei sempre fonte di ispirazione.
    Ho appena finito di caricare i file woff2 sul mio server. 🙂

    Risposte al commento di Samuele

    1. camu ha scritto:

      😍 Ora mi toccherà versare un obolo ad Emanuele per i diritti d’autore per l’idea…

      Risposte al commento di camu

      1. Emanuele ha scritto:

        Bravissimo camu, posso giocarmi l’obolo con una rinfrescata al mio tema dato che non ho mai tempo di occuparmene? 🙂
        Ciao,
        Emanuele

        Risposte al commento di Emanuele
        1. Samuele ha scritto:

          Perché rinfrescarlo?
          Ho fatto un giro l’altro giorno e lo trovo lineare, pulito, elegante.
          Non modificarlo. Meraviglioso il titolo.

          Risposte al commento di Samuele
          1. camu ha scritto:

            Mi hai tolto le parole di bocca 🙂 A me il tema di Emanuele è sempre piaciuto (ma non diciamolo troppo, sennò si monta la testa). In più di un’occasione ho preso spunto da alcuni dettagli del suo sito per il mio blog. Comunque, Emanuele, scherzi a parte, per me va bene sul serio: se hai qualcosa in mente, sai dove trovarmi.

            Risposte al commento di camu
            1. Emanuele ha scritto:

              Innanzitutto grazie per l’apprezzamento (è un ottimo feedback, dato che probabilmente non ho mai provato a chiedere in giro come fosse visto). La mia intenzione non è quella di cambiarne l’aspetto estetico ma, semplicemente, avevo voglia di allinearne il motore dietro (il tema non supporta alcune delle funzionalità visive del nuovo editor e non ho mai avuto tempo/modo di iniziare a guardare che funzioni andrebbero sostituite per allinearlo).
              Ciao,
              Emanuele

              Risposte al commento di Emanuele
              1. camu ha scritto:

                Ammetto di non essere un grande fan di Gutemberg, ma capisco che sia uno strumento utile. Se vuoi posso darci un’occhiata…

Lascia un commento

Torna in cima alla pagina