Re: Sito web Arcade Database
Inviato: 11/01/2023, 21:53
non per offendere l'utente medio (per me sono chiare ovviamente
) ma mi sembra un pò macchinoso/complesso

Il Forum di riferimento italiano per gli appassionati di Cabinati Arcade
https://www.arcadeitalia.net/
premetto che non ho letto tutto il thread e quindi non è che sono aggiornatissimo...ma mi baso solo sugli ultimi punti.motoschifo ha scritto: ↑11/01/2023, 20:35 Forse ho trovato il modo, ma vorrei capire se è leggibile.
Prima di ciascun valore metterò la condizione, una tra queste: UGUALE, DIVERSO DA, INTERVALLO, MAGGIORE, MAGGIORE, MINORE.
A queste di base si potrebbero aggiungere condizioni speciali, come VUOTO, NON VUOTO.
Le voci dei filtri in questo caso cambieranno, ovvero alla selezione di INTERVALLO compariranno due campi anzichè uno, alla selezione di VUOTO scomparirà tutto, ecc.
I campi però saranno tutti raggruppati per il tipo di filtro (ex. anno, serie, ecc.) e poi prima di ciascun valore si leggerà la condizione.
Per esempio potremo avere queste condizioni:
Anno=2003, Anno=2006, Anno>2010, Anno<>2013
che si legge in:
Tutti i giochi (insieme completo) con anno uguale a 2003 OR 2006 OR maggiore di 2010 AND diverso da 2013
Quindi le condizioni normali vanno in OR, quelle negate vanno in AND.
Ha senso una cosa di questo tipo? Io le leggo come query, quindi sono di parte e le trovo corrette, ma lette da persona non tecnica appaiono ancora corrette?
Se invece trattassi tutti i filtri in OR, non 2013 è sempre diverso da 2006 e quindi si escluderebbero a vicenda prendendo sempre tutto o nulla dell'insieme di partenza.
Tutte queste condizioni saranno salvabili rapidamente e con poco sforzo in ricerche dinamiche o tramutabili in liste statiche, così per poterle sfruttare più facilmente in altre condizioni.
non hai alternatiVe a questo "((anno uguale a 2003 OR 2006 OR maggiore di 2010) AND diverso da 2013)"motoschifo ha scritto: ↑11/01/2023, 20:35 Per esempio potremo avere queste condizioni:
Anno=2003, Anno=2006, Anno>2010, Anno<>2013
che si legge in:
Tutti i giochi (insieme completo) con ((anno uguale a 2003 OR 2006 OR maggiore di 2010) AND diverso da 2013)
Quindi le condizioni normali vanno in OR, quelle negate vanno in AND.
Ha senso una cosa di questo tipo? Io le leggo come query, quindi sono di parte e le trovo corrette, ma lette da persona non tecnica appaiono ancora corrette?
Se invece trattassi tutti i filtri in OR, "NOT 2013" è sempre diverso da 2006 e quindi si escluderebbero a vicenda prendendo sempre tutto o nulla dell'insieme di partenza.
Si l'ho inserito io per avere un nome generico a fronte di sigle e cloni vari.
Puoi cercarle usando i filtri avanzati (Extra / Immagini) e scegliere quale delle immagini considerare tra tutte quelle supportate:AntoPISA ha scritto: ↑13/01/2023, 16:43 GIà che stai facendo tutti questi lavori al sito (che apprezzo moltissimo) mi manderesti l'elenco delle macchine prive di immagini (escluso le SL)? Avrei intenzione di colmare le llacune, onde evitare che una ricerca effettuata su ADB mostri niente come risultato.
Inoltre vorrei sapere se in futuro tali ricerche più complesse saranno estese alle liste software.
noooooooooooooooomotoschifo ha scritto: ↑04/02/2023, 20:58 Oggi ho visto che il server si è "seduto" per le tante richieste, unite anche alle elaborazioni pesanti che sto cercando di migliorare riscrivendo tutto il sito. Ma questo arriverà più avanti.
Ho quindi fatto qualche indagine per capirne la causa ed ho visto che il recupero info da programmi esterni (scraping) non è gestito bene.
In poche ore di attività ho visto 300 mila richieste di giochi diversi (a volte lo stesso gioco dallo stesso ip, forse un errore di programmazione di qualcuno o un programma lanciato più volte).
Io ho scritto dappertutto che è consigliato, quando possibile, unire le richieste e magari ottenere dati su più giochi insieme e limitare il numero di connessioni totali allo stretto necessario, ma vedo che in pratica nessuno lo fa.
Così ho deciso in futuro di chiudere dei pezzi e limitare l'accesso ad un massimo giornaliero per indirizzo ip.
Oggi sto solo raccogliendo dati, ma il prossimo aggiornamento introdurrà questo tetto massimo di richieste per giornata.
Potrei impostarlo inizialmente a 30 mila e ridurlo poi man mano fino a 5 mila.
Ad esempio un set completo del Mame, ammesso che uno voglia averlo tutto (e già questo è discutibile, dato che si dovrebbe cercare sempre di andare per upgrade progressivi), "costa" fino a 50 mila richieste. Accodandole per gruppi di 400 giochi alla volta si ottiene un valore prossimo al centinaio, che è molto più gestibile e mi viene da dire anche più veloce per chi lo utilizza.
Quindi, anzichè scandagliare tutto ogni volta, bastarebbe gestire la data di ultima richiesta, farne al massimo 1 al giorno (quindi cache sul client) e unire tutte le richieste in uscita in poche chiamate cumulative.
Non ho deciso i dettagli, l'idea è questa e nei prossimi giorni dovrò lavorare al database per manutenzione ordinaria quindi il tutto rallenterà un pochino più del solito.
In ottica futura sto comunque rendendo le pagine e le elaborazioni molto più leggere (o meglio più "intelligenti") per avere meno carico possibile sul server e sul database. In pratica, con l'hardware attuale, si dovrebbe vedere un bel salto in qualità e velocità anche all'aumentare degli utenti. Ma di questo ne riparliamo a natale... spero...