Gestione della raccolta di quiz

-3

Sto creando una semplice applicazione in cui agli utenti verranno mostrati dei quiz casuali uno alla volta e dovranno rispondere loro. Ogni quiz ha una categoria e molti tag, in questo momento ho memorizzato i quiz in un singolo file flat ma sembra che potrei aver bisogno di molti quiz nel prossimo futuro e quindi la mia soluzione non è affatto scalabile.

Quello che pensavo è di mantenere i quiz in cartelle separate che verrebbero denominate dopo la categoria, ma il problema è quindi come mantenere in ordine il numero di sequenza dei quiz.

C'è una soluzione migliore?

    
posta CodeYogi 20.01.2017 - 15:29
fonte

2 risposte

1

I file di testo sono probabilmente il modo migliore per andare, per ora. Puoi formattarli come vuoi. Se i tuoi metadati sono abbastanza semplici probabilmente non hai nemmeno bisogno di XML, solo un token per separare i dati di intestazione dal quiz attuale come:

tags: health, happines
title: Are you happy and Healthy?
----
Question 1: blah blah blah...

Qui hai le righe di intestazione che contengono i metadati, per indicare quali sono i tag per questo quiz e il titolo. Quindi un token molto semplice: ---- sulla propria riga, seguito dal resto del quiz, fino alla fine del file. Puoi aggiungere altre linee di intestazione se ne hai bisogno.

Se vuoi tenerli tutti dentro una volta, crea un token separato per separare i quiz. Qualcosa di semplice come //// su una propria linea dovrebbe funzionare. Sembrerebbero più quiz:

////
tags: health, happiness
title: Quiz 1
----
Question 1: blah blah blah...
(other questions)
////
tags: pets, cheese
title: Quiz 2
----
Question 1: bleh bleh bleh...
(other questions)
////

Dopo aver deciso un formato per i file del quiz, è possibile caricarli in una cache in memoria in modo da non dover continuare a ricaricarli. Costruisci la cache una volta, quando inizia il tuo programma, e il gioco è fatto!

Se trovi che hai così tanti quiz che il caricamento dei file di testo è troppo lento, o che i tuoi metadati diventano troppo complicati da conservare in semplici righe di intestazione, o vuoi iniziare i quiz e gli utenti con riferimenti incrociati "Risposte, potresti voler esaminare l'impostazione di un database relazionale (come MySQL o Postgres - entrambi sono gratuiti!) per memorizzare quiz e dati relativi ai quiz.

    
risposta data 20.01.2017 - 17:39
fonte
1

Ci vogliono molti quiz per avere problemi di scala.

In che formato stai salvando il testo?

In un file flat XML è comune. XML è progettato specificamente per i dati. Alcuni ottimi strumenti di ricerca per XML.

Il passato XML è un database completo. Molti database gratuiti disponibili.

    
risposta data 20.01.2017 - 15:40
fonte

Leggi altre domande sui tag