7. Συχνές ερωτήσεις (FAQ)
7.1. Ποιος είναι ο σκοπός του blunderDB;
Το blunderDB επιτρέπει στους χρήστες να δημιουργήσουν μια εξατομικευμένη βάση δεδομένων θέσεων. Η δύναμή του έγκειται στο ότι δεν προϋποθέτει καμία κατηγοριοποίηση a priori. Έτσι δίνεται στους χρήστες η ελευθερία να αναζητούν θέσεις με μεγάλη ευελιξία, συνδυάζοντας κατά βούληση διάφορα κριτήρια (κούρσα, δομή, κύβος, σκορ, καθυστερημένα πούλια, πούλια στη ζώνη, πιθανότητες νίκης/γκάμον/μπακ-γκάμον, …).
Μια άλλη βολική χρήση του blunderDB είναι η δημιουργία καταλόγων θέσεων αναφοράς. Με τη δυνατότητα προσθήκης ετικετών στις θέσεις, ο χρήστης μπορεί να συγκεντρώσει το σύνολο των θέσεων αναφοράς του με δομημένο τρόπο μέσα σε ένα μοναδικό αρχείο. Ελπίζω το blunderDB να διευκολύνει τον διαμοιρασμό θέσεων μεταξύ των παικτών.
7.2. Τι ώθησε στη δημιουργία του blunderDB;
Συνήθιζα να αποθηκεύω σε διάφορους φακέλους ενδιαφέρουσες θέσεις ή blunders. Ωστόσο, αντιμετώπιζα δυσκολίες στην ανάκτηση θέσεων με βάση κριτήρια που δεν είχα προβλέψει αρχικά στην επιλογή των θεματικών μου κατηγοριών. Για παράδειγμα, αν οι θέσεις είχαν ταξινομηθεί ανά τύπο παιχνιδιού (κούρσα, holding game, blitz, backgame, …), πώς θα μπορούσα να ανακτήσω όλες τις θέσεις σε ένα συγκεκριμένο σκορ; ή σε ένα δεδομένο επίπεδο κύβου; Τέλος, ορισμένες παλιές θέσεις είχαν την τάση να ξεχνιούνται. Ήθελα ένα εργαλείο που να συγκεντρώνει όλες τις θέσεις μου χωρίς να προϋποθέτει a priori θεματικές κατηγορίες, και στη συνέχεια να μπορώ να θέτω ερωτήματα στη βάση δεδομένων. Με αυτή την ευέλικτη προσέγγιση, νέα φίλτρα μπορούν να προστεθούν χωρίς να διαταράσσεται η οργάνωση των θέσεων. Αυτός ο τύπος λογισμικού είναι αρκετά συνηθισμένος στο σκάκι, όπως το ChessBase.
7.4. Πρέπει να δημιουργώ διαφορετικές βάσεις δεδομένων για διαφορετικές κατηγορίες θέσεων;
Εκτός αν υπάρχουν σαφώς προσδιορισμένοι λόγοι, είναι ουσιώδες να μην διαχωρίζετε τις θέσεις σε ξεχωριστές βάσεις δεδομένων, καθώς αυτό θα μπορούσε να σας εμποδίσει να τις συσχετίσετε σε μελλοντικές αναζητήσεις. Η φιλοσοφία του blunderDB είναι να μην προϋποθέτει κατηγορίες θέσεων a priori, αλλά να επιτρέπει στον χρήστη να τις αναζητά με ευέλικτο τρόπο. Όταν οι θέσεις έχουν συναντηθεί υπό ιδιαίτερες συνθήκες ή για συγκεκριμένους λόγους, μπορεί να είναι συνετό να τις αποθηκεύετε σε ξεχωριστές βάσεις δεδομένων. Για παράδειγμα, μπορείτε να δημιουργήσετε διακριτές βάσεις δεδομένων θέσεων για:
θέσεις αναφοράς,
blunders από ζωντανά τουρνουά,
blunders από διαδικτυακό παιχνίδι.
7.5. Πώς να συγχωνεύσετε πολλαπλές βάσεις δεδομένων;
Αν έχετε πολλαπλές βάσεις δεδομένων blunderDB που θέλετε να συγχωνεύσετε, χρησιμοποιήστε τη λειτουργία «Import Database»:
Ανοίξτε την κύρια βάση δεδομένων (εκείνη που θα λάβει τις εισαγόμενες θέσεις)
Κάντε κλικ στο κουμπί «Import Database» στη γραμμή εργαλείων
Επιλέξτε τη βάση δεδομένων προς εισαγωγή
Το blunderDB θα συγχωνεύσει αυτόματα τις θέσεις
Κατά τη συγχώνευση, το blunderDB αποφεύγει τα διπλότυπα και συγχωνεύει έξυπνα τις αναλύσεις και τα σχόλια. Οι πανομοιότυπες θέσεις δεν θα αναπαραχθούν, αλλά οι αναλύσεις και τα σχόλιά τους θα συνδυαστούν.
Σημείωση
Συνιστάται να δημιουργήσετε ένα αντίγραφο ασφαλείας της κύριας βάσης δεδομένων σας πριν εισαγάγετε μια άλλη βάση δεδομένων.
7.6. Ποιες μορφές αρχείων αγώνων υποστηρίζονται;
Το blunderDB υποστηρίζει τις ακόλουθες μορφές αγώνων:
eXtreme Gammon (XG): αρχεία .xg, με πλήρη ανάλυση κινήσεων, αποφάσεων κύβου, κινήσεων που παίχτηκαν και υποστήριξη πολλαπλών μηχανών. Αρχεία .xgp για την εισαγωγή μεμονωμένων θέσεων με ανάλυση.
GNUbg: αρχεία .sgf (Smart Game Format), με ανάλυση.
Jellyfish: αρχεία .mat και .txt.
BGBlitz: αρχεία .bgf και θέσεις σε μορφή κειμένου.
Η εισαγωγή μπορεί να γίνει μέσω μεμονωμένου αρχείου, πολλαπλής επιλογής, αναδρομικού φακέλου, επικόλλησης από το πρόχειρο ή μεταφοράς και απόθεσης.
Το blunderDB εντοπίζει αυτόματα τα διπλότυπα και αποτρέπει την εισαγωγή ενός αγώνα που υπάρχει ήδη στη βάση δεδομένων.
7.7. Τι είναι μια συλλογή;
Μια συλλογή είναι μια προσαρμοσμένη ομαδοποίηση θέσεων. Σε αντίθεση με μια αναζήτηση με φίλτρα που είναι δυναμική, μια συλλογή είναι ένα σταθερό σύνολο θέσεων που επιλέγονται χειροκίνητα από τον χρήστη. Οι συλλογές επιτρέπουν, για παράδειγμα, την ομαδοποίηση θέσεων αναφοράς για ένα συγκεκριμένο θέμα.
7.8. Τι είναι το EPC;
Το EPC (Effective Pip Count) είναι ένα πιο ακριβές μέτρο από το απλό pip count για την αξιολόγηση θέσεων bearoff. Ο υπολογιστής EPC του blunderDB χρησιμοποιεί τη βάση δεδομένων bearoff 6 σημείων του GNUbg και υπολογίζει σε πραγματικό χρόνο το EPC, τον μέσο αριθμό ζαριών, την τυπική απόκλιση, το pip count και το wastage.
Στις θέσεις καθαρού bearoff, ο πίνακας εμφανίζει επίσης την πιθανότητα νίκης του παίκτη στη βολή και, όταν η θέση καλύπτεται από μια βάση two-sided (ενσωματωμένη βάση έως 6 πούλια ανά παίκτη, βάση με δυνατότητα λήψης έως 11), την ακριβή ετυμηγορία κύβου money. Εκτός αυτού του πεδίου, η πιθανότητα εκτιμάται με το περιθώριο σφάλματός της και η ετυμηγορία σκόπιμα δεν εμφανίζεται. Δείτε την ενότητα «Μεθοδολογία και υποθέσεις του πίνακα Bearoff» του εγχειριδίου για τις λεπτομέρειες των υποθέσεων.
7.9. Διαθέτει το blunderDB διεπαφή γραμμής εντολών;
Ναι, το blunderDB διαθέτει διεπαφή γραμμής εντολών (CLI) που επιτρέπει την εκτέλεση χωρίς γραφική διεπαφή λειτουργιών όπως η δημιουργία βάσεων δεδομένων, η εισαγωγή αγώνων, η εξαγωγή, η αναζήτηση θέσεων, η εμφάνιση στατιστικών, κ.λπ. Συμβουλευτείτε την τεκμηρίωση CLI για περισσότερες λεπτομέρειες.
7.10. Μπορώ να τροποποιήσω, να αντιγράψω, να μοιραστώ το blunderDB;
Ναι, απολύτως (και μάλιστα ενθαρρύνεται!). Το blunderDB διανέμεται υπό την άδεια MIT.
7.11. Ποια μορφή δεδομένων χρησιμοποιεί το blunderDB;
Η βάση δεδομένων είναι ένα απλό αρχείο SQLite. Έτσι, ελλείψει του blunderDB, μπορεί να ανοιχτεί με οποιονδήποτε επεξεργαστή αρχείων SQLite.
7.12. Ποιες ήταν οι αρχές σχεδιασμού του blunderDB;
Ήθελα μια προσιτή διεπαφή, σχεδιασμένη όμως πρωτίστως για προχωρημένη και εντατική χρήση, όπου εναλλάσσονται συνεχώς θέσεις και αναζητήσεις. Η γραμμή εντολών, που ανοίγει με το πάτημα του πλήκτρου SPACE, και οι συντομεύσεις πληκτρολογίου εξυπηρετούν αυτή τη χρήση, χωρίς να είναι υποχρεωτικές.
Ήθελα εξάλλου το blunderDB να είναι ελαφρύ, αυτόνομο, χωρίς εγκατάσταση και διαθέσιμο για διάφορες πλατφόρμες, εξ ου και η επιλογή μου της γλώσσας Go και της βιβλιοθήκης Svelte. Για τη σειριοποίηση της βάσης δεδομένων, η μορφή αρχείου έπρεπε να είναι πολυπλατφορμική και κατάλληλη για να περιέχει μια βάση δεδομένων. Η μορφή αρχείου SQLite φαινόταν η ιδανική επιλογή.
Μου ήταν επίσης σημαντικό μια βάση να παραμένει ένα απλό αρχείο, που μπορεί κανείς να αντιγράψει, να αποθηκεύσει ή να στείλει σε άλλον παίκτη.
Τέλος, το blunderDB δεν περιορίζεται πλέον στην εφαρμογή επιφάνειας εργασίας: το ίδιο εκτελέσιμο προσφέρει μια διεπαφή γραμμής εντολών και μια προαιρετική λειτουργία διακομιστή, η οποία μπορεί να βασιστεί στην PostgreSQL για εγκαταστάσεις πολλαπλών χρηστών. Η κανονική χρήση παραμένει ωστόσο η εφαρμογή επιφάνειας εργασίας. Δείτε Διεπαφή γραμμής εντολών (CLI) και Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής).
7.13. Ποια είναι η αρχιτεκτονική λογισμικού του blunderDB;
Το backend είναι γραμμένο σε Go. Είναι υπεύθυνο για το σύνολο των λειτουργιών στη βάση δεδομένων SQLite που αποθηκεύει τις θέσεις.
Το frontend είναι γραμμένο σε Svelte. Είναι υπεύθυνο για την απόδοση της γραφικής διεπαφής και του ταμπλό του Backgammon.
Η εφαρμογή ενσωματώνεται με το Wails, το οποίο επιτρέπει την παραγωγή εγγενών εφαρμογών επιφάνειας εργασίας για Windows, Linux και macOS.
Η βάση δεδομένων διαχειρίζεται από το SQLite.
Η προαιρετική λειτουργία διακομιστή μπορεί να βασιστεί στην PostgreSQL αντί της SQLite για εγκαταστάσεις πολλαπλών χρηστών.
Για περισσότερες πληροφορίες, δείτε το αποθετήριο GitHub του blunderDB.
7.14. Σε ποιες πλατφόρμες λειτουργεί το blunderDB;
Το blunderDB λειτουργεί σε Windows, Linux και Mac.
7.15. Από πού προέρχεται το εικονίδιο του blunderDB;
Το εικονίδιο του blunderDB είναι το emoticon «goggling» από τη σειρά SMirC.
7.3. Πώς να αποθηκεύσετε την κατάσταση της τρέχουσας βάσης δεδομένων;
Η βάση δεδομένων ενημερώνεται αμέσως μετά την εκτέλεση των ερωτημάτων. Δεν απαιτείται καμία ρητή ενέργεια αποθήκευσης.