Re: [RELEASE] FEEL FRONTEND 1.9 (attualmente v.1.9.5.4)
Inviato: 13/10/2016, 9:53
Concordo su tutto tranne che per la considerazione che la cache ti fa perdere la "freschezza" delle info:
Inserire una cache non serve solamente a consentire agli utenti offline di fruire di contenuti extra ma è una classica ottimizzazione per limitare il traffico di dati, non tanto per i client (che di solito utilizzano adsl flat) ma per il server che distribuisce i dati (ADB nella fattispecie)
Senza una cache in locale, che nel caso fosse presente una connessione dovrebbe avere una "lifetime" di 1 giorno od anche una settimana, ogni volta che un utente nel mondo scorre la lista e vuole visualizzare i dati di un gioco, il server ADB dovrebbe soddisfare una richiesta.
Considerando che i dati non sono cosi dinamici, non mi sembra una scelta molto efficiente!
Se fossi in te, dividerei la caratteristica in due parti:
1) Implementazione della connettività con ADB e del meccanismo di cache in locale. Quest'ultima se presente, eviterà ulteriori connessioni per un periodo stabilito (1 giorno, una settimana,ecc) e consentirà di fruire dei contenuti già scaricati. Tutto questo ovviamente ha una granularità a livello di "singolo gioco".
Esempio:
- Sono connesso ad internet ->Visualizzo le info di un gioco -> Trovo dati in locale aggiornati meno di un giorno fa:
SI: Non scarico nulla e li visualizzo
NO: Scarico nuovi dati in cache e li visualizzo
- Non sono connesso ad internet ->Visualizzo le info di un gioco -> Trovo dati in locale (non importa la scadenza):
SI: Li visualizzo
NO: Non faccio nulla
2) Estrazione dei dati dall'history.dat. Io procederei alla realizzazione di un parser di tale file ed alla memorizzazione nella medesima struttura utilizzata per la cache. In pratica usi l'history.dat come se fosse un piccolo server ADB
Questo ti consente: Indipendenza dalle eventuali variazioni del file history.dat ed uniformità dei dati in fase di visualizzazione!
ps. Grazie anche per la stimolante discussione! Non tutti i programmatori sono cosi ben disposti a chiacchierare dei propri progetti!
Inserire una cache non serve solamente a consentire agli utenti offline di fruire di contenuti extra ma è una classica ottimizzazione per limitare il traffico di dati, non tanto per i client (che di solito utilizzano adsl flat) ma per il server che distribuisce i dati (ADB nella fattispecie)
Senza una cache in locale, che nel caso fosse presente una connessione dovrebbe avere una "lifetime" di 1 giorno od anche una settimana, ogni volta che un utente nel mondo scorre la lista e vuole visualizzare i dati di un gioco, il server ADB dovrebbe soddisfare una richiesta.
Considerando che i dati non sono cosi dinamici, non mi sembra una scelta molto efficiente!
Se fossi in te, dividerei la caratteristica in due parti:
1) Implementazione della connettività con ADB e del meccanismo di cache in locale. Quest'ultima se presente, eviterà ulteriori connessioni per un periodo stabilito (1 giorno, una settimana,ecc) e consentirà di fruire dei contenuti già scaricati. Tutto questo ovviamente ha una granularità a livello di "singolo gioco".
Esempio:
- Sono connesso ad internet ->Visualizzo le info di un gioco -> Trovo dati in locale aggiornati meno di un giorno fa:
SI: Non scarico nulla e li visualizzo
NO: Scarico nuovi dati in cache e li visualizzo
- Non sono connesso ad internet ->Visualizzo le info di un gioco -> Trovo dati in locale (non importa la scadenza):
SI: Li visualizzo
NO: Non faccio nulla
2) Estrazione dei dati dall'history.dat. Io procederei alla realizzazione di un parser di tale file ed alla memorizzazione nella medesima struttura utilizzata per la cache. In pratica usi l'history.dat come se fosse un piccolo server ADB
Questo ti consente: Indipendenza dalle eventuali variazioni del file history.dat ed uniformità dei dati in fase di visualizzazione!
ps. Grazie anche per la stimolante discussione! Non tutti i programmatori sono cosi ben disposti a chiacchierare dei propri progetti!