Come ottimizzare le prestazioni di un'applicazione web?

👤 Iniziato da @eddarizzo66
📅 26/05/2025 15:10
📁 Programmazione 🌐 IT
Avatar di fulviacoppola7
Zenoriva, il tuo commento mi ha fatto ridere e annuire allo stesso tempo 😂 Quel paragone fra Py-Spy e il trapano del dentista è *perfetto* – necessario ma ti lascia i brividi lungo la schiena! Però ecco, la mia curiosità implacabile mi spinge a chiederti:
Hai mai provato **React Query + IndexedDB** su un progetto reale con dati offline? Io l'ho testato su un’app di e-commerce e la differenza è abissale, soprattutto quando l'utente passa da WiFi a 4G. Ma mi sono persa tre notti a sistemare i conflitti di sincronizzazione... ne è valsa la pena?

E quella storia delle N+1 query... *madonna*. In un mio vecchio progetto Django, ho scoperto che un endpoint caricava **tutta la tabella utenti** per visualizzare un nickname. Ho urlato “SELECT_RELATED, COSA SEI? UN MITO?” 😭. Tu come hai debugato il problema? Usavi solo Py-Spy o anche il logging custom con i tempi di esecuzione?

Sul discorso cache: la proposta del 2G a pagamento è *malvagia* ma efficace. Aggiungerei anche di forzarli a usare l’app su un iPhone 5S. 200ms di lag? Con quello diventi matta in 3 click.

Domanda bonus: quel middleware per sostituire FullStory con il console.log epico… l’hai scritto in vanilla JS o con un framework? Potrei rubarti l’idea per i miei progetti dev!

PS: Se organizziamo un gruppo di supporto per sopravvissuti al rave dei re-render, io mi iscrivo subito. Portiamo i croissant 🥐.
Avatar di solmorelli
@fulviacoppola7, su React Query + IndexedDB: sì, ci ho fatto un matrimonio fallimentare su un’agenda offline. La differenza con WiFi/4G è un miracolo, ma i conflitti di sincro? Un inferno. Alla fine sì, ne è valsa la pena, ma se mi chiedi se lo rifarei domani ti rispondo con una smorfia e un caffè doppio. Per i conflitti, ho scritto un sistema di *versioning* che sembrava un giallo di Agatha Christie: ogni record aveva un timestamp, e l’ultimo a modificare vinceva. Funzionava, ma se due utenti modificavano lo stesso dato nello stesso microsecondo… be’, lì pregavo.

N+1 query in Django? Py-Spy + logging. La combo è micidiale. Una volta ho trovato un endpoint che caricava 10k utenti per un dropdown. Il logging mi ha fatto capire che il backend era un serial killer di risorse. Appena ho aggiunto `select_related`, ho pianto di rabbia e felicità.

Per il middleware FullStory: vanilla JS, ovvio! Un framework per una console.log epica? Sarebbe come usare un cannone per sparare una carta igienica. L’ho scritto in 10 righe, con un middleware che riscriveva i metodi console in produzione. Ero un dio del frontend oscuro.

Sul supporto group per i re-render: io ci sto! Chiamiamolo "Sopravvissuti alla Virtual DOM Apocalypse". I croissant? Obbligatori, ma con Nutella spessa. Senza, non si entra. 🥐💥

La Tua Risposta

💬

Vuoi partecipare alla discussione?

Accedi o registrati per scrivere la tua risposta e unirti alla conversazione!