blunderDB
Το blunderDB είναι ένα λογισμικό για τη δημιουργία βάσεων δεδομένων θέσεων τάβλι (backgammon). Η κύρια δύναμή του είναι να παρέχει ένα μοναδικό μέρος όπου ένας παίκτης μπορεί να συγκεντρώσει τις θέσεις που έχει συναντήσει (διαδικτυακά, σε τουρνουά) και να μπορεί να μελετήσει ξανά αυτές τις θέσεις φιλτράροντάς τες με διάφορα φίλτρα που μπορούν να συνδυαστούν αυθαίρετα. Το blunderDB μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία καταλόγων θέσεων αναφοράς.
Η παρούσα τεκμηρίωση είναι δομημένη ως εξής:
η ενότητα λήψη και εγκατάσταση εξηγεί πώς να αποκτήσετε και να εκτελέσετε το blunderDB.
το εγχειρίδιο περιγράφει τη γενική λειτουργία του blunderDB.
ο οδηγός χρήστη είναι μια πρακτική εισαγωγή για τη γρήγορη χρήση του blunderDB.
η λίστα των εντολών καθώς και η λίστα των συντομεύσεων πληκτρολογίου επιτρέπουν την αποτελεσματική χρήση του blunderDB.
η ενότητα διεπαφή γραμμής εντολών (CLI) περιγράφει τις διαθέσιμες εντολές για μαζική εισαγωγή, αυτοματοποίηση και scripting.
η ενότητα Συχνές Ερωτήσεις (FAQ) παρέχει απαντήσεις στις πιο συχνές ερωτήσεις.
Ιστορικό εκδόσεων
Έκδοση |
Ημερομηνία |
Αιτία ή/και φύση των αλλαγών |
|---|---|---|
0.1.0 |
31 Δεκεμβρίου 2024 |
Έκδοση beta. |
0.2.0 |
6 Ιανουαρίου 2025 |
Διάφορες διορθώσεις σφαλμάτων. Προσθήκη πινάκων αγώνων/TP/GV. Προσθήκη φίλτρων αναζήτησης (κινήσεις, αποφάσεις ντουμπλέ, ημερομηνία). Προσθήκη μεταδεδομένων στις θέσεις. Λειτουργία εισαγωγής/εξαγωγής μεταξύ στιγμιότυπων του blunderDB. Προσθήκη λειτουργίας μεταδεδομένων στις βάσεις δεδομένων. Εισαγωγή αριθμών εκδόσεων (βάσης δεδομένων και εφαρμογής). |
0.3.0 |
27 Ιανουαρίου 2025 |
Διάφορες διορθώσεις σφαλμάτων. Αυτόματη αποθήκευση του μεγέθους του παραθύρου. Εισαγωγή τυχόν σχολίων από το XG. |
0.4.0 |
3 Φεβρουαρίου 2025 |
Διάφορες διορθώσεις σφαλμάτων. Προσθήκη εικονιδίου για το blunderDB. Διορθώσεις φίλτρων. Προσθήκη υποστήριξης MacOS. |
0.5.0 |
4 Φεβρουαρίου 2025 |
Προσθήκη νέων φίλτρων (καθρέφτης, μη επαφή, jan blot, outfield blot). |
0.6.0 |
13 Φεβρουαρίου 2025 |
Προσθήκη βιβλιοθήκης φίλτρων. Εμφάνιση της έκδοσης της βάσης δεδομένων στα μεταδεδομένα. |
0.7.0 |
16 Φεβρουαρίου 2025 |
Υποστήριξη ιαπωνικών και γερμανικών εξαγωγών XG. |
0.8.0 |
3 Μαΐου 2025 |
Δυνατότητα απόκρυψης του pip count. Φόρτωση τυχαίας θέσης. |
0.9.0 |
2 Νοεμβρίου 2025 |
Διόρθωση σφάλματος της βιβλιοθήκης φίλτρων. Εισαγωγή/εξαγωγή βάσης δεδομένων. Εμφάνιση βελών για τις επιλεγμένες κινήσεις. Συντομεύσεις πληκτρολογίου για την εισαγωγή/εξαγωγή. |
0.10.0 |
25 Φεβρουαρίου 2026 |
Εισαγωγή αγώνων από eXtreme Gammon (XG/XGP), GNUbg (SGF), Jellyfish (MAT/TXT) και BGBlitz (BGF/TXT). Πλοήγηση στους αγώνες: περιήγηση στις κινήσεις ενός εισαγόμενου αγώνα, με επισήμανση της κίνησης που παίχτηκε. Πίνακας αγώνων: λίστα, ταξινόμηση, εσωτερική επεξεργασία, εναλλαγή παικτών, ανάθεση τουρνουά. Εισαγωγή με αναδρομικό φάκελο και εισαγωγή με μεταφορά και απόθεση. Υπολογιστής EPC (Effective Pip Count) με ενσωματωμένη βάση δεδομένων bearoff του GNUbg. Συλλογές: προσαρμοσμένη ομαδοποίηση θέσεων. Τουρνουά: ομαδοποίηση αγώνων ανά εκδήλωση. Αποθήκευση και επαναφορά της κατάστασης συνεδρίας (τελευταία αναζήτηση, τρέχουσα θέση). Αυτόματη μετάβαση του σχήματος της βάσης δεδομένων. Εμφάνιση πολλαπλών μηχανών στην ανάλυση. Φίλτρο σφαλμάτων/blunders του παίκτη 1 στις αναζητήσεις. Εξαγωγή της βάσης δεδομένων με λεπτομερή επιλογή (αγώνες, συλλογές, τουρνουά, κινήσεις που παίχτηκαν). Κουμπί πλοήγησης στους αγώνες. Εμφάνιση pip count στην πλοήγηση των αγώνων. Πλήρης διεπαφή γραμμής εντολών (CLI). Αυτόματο άνοιγμα ξανά της τελευταίας βάσης δεδομένων. Βελτίωση της γραμμής εργαλείων και των εικονιδίων. |
0.11.0 |
6 Μαρτίου 2026 |
Φίλτρο αναζήτησης μέσα στις τρέχουσες φιλτραρισμένες θέσεις. Προσθήκη φίλτρων ανά αγώνα και ανά τουρνουά. Αυτόματος καθαρισμός του ταμπλό κατά το άνοιγμα του πίνακα αναζήτησης. |
0.12.0 |
19 Μαρτίου 2026 |
Εισαγωγή αρχείων θέσεων eXtreme Gammon (XGP) με ανάλυση. |
0.13.0 |
28 Μαρτίου 2026 |
Απλοποίηση της διεπαφής: η πλοήγηση στους αγώνες και τις συλλογές γίνεται πλέον απευθείας μέσω των πινάκων. Γραμμή εντολών ενσωματωμένη στη γραμμή κατάστασης. Ο πίνακας Κονσόλα μετονομάστηκε σε πίνακα Log. Αποκλειστικός πίνακας EPC στον κάτω πίνακα. Αντιγραφή/επικόλληση θέσης στον πίνακα αναζήτησης. Μεταφορά και απόθεση για την αναδιάταξη συλλογών, θέσεων μέσα στις συλλογές, και αγώνων μέσα στα τουρνουά. Στήλη τουρνουά στον πίνακα αγώνων με εσωτερική επεξεργασία. Αυτόματη εμφάνιση του πίνακα ανάλυσης μετά από μια αναζήτηση. |
0.14.0 |
30 Μαρτίου 2026 |
Αποκλειστικός πίνακας Anki για μελέτη με επαναλαμβανόμενα διαστήματα (αλγόριθμος FSRS). Εισαγωγή σχολίων από τα αρχεία XG. |
0.15.0 |
31 Μαρτίου 2026 |
Εξαγωγή της θέσης ως εικόνα PNG στο πρόχειρο (μόνο το ταμπλό με Ctrl+X, ή το ταμπλό με ανάλυση με Ctrl+X Ctrl+X). |
0.16.0 |
18 Απριλίου 2026 |
Σχήμα βάσης δεδομένων v2.0.0: αφαίρεση διπλότυπων θέσεων μέσω hash Zobrist, αποκανονικοποιημένες στήλες φιλτραρίσματος, προ-φίλτρο μοτίβων bitboard, καταγραφή WAL. Μαζική εισαγωγή >=3x ταχύτερη, φιλτραρισμένη αναζήτηση <=100 ms σε 10k+ θέσεις. ΣΗΜΕΙΩΣΗ: τα αρχεία DB που δημιουργήθηκαν με την v0.16.0 δεν μπορούν να ανοιχτούν από παλαιότερες εκδόσεις· οι παλιές DB μεταβαίνουν αυτόματα επιτόπου (κάντε πρώτα ένα αντίγραφο ασφαλείας). |
0.17.0 |
20 Απριλίου 2026 |
Βελτιστοποίηση αποθήκευσης: συμπίεση zlib των δεδομένων ανάλυσης (~80% μείωση), συμπαγής κωδικοποίηση των θέσεων (~90% μείωση του μεγέθους). Προσθήκη 5 ευρετηρίων που έλειπαν για τη βελτίωση της απόδοσης αναζήτησης. Διόρθωση της αναζήτησης κατά σφάλμα ντουμπλέ. Διόρθωση της λειτουργίας EDIT μετά από αναζήτηση χωρίς αποτελέσματα. Επαναφορά της κατάστασης του πίνακα αναζήτησης κατά την εναλλαγή καρτελών. Αφαίρεση 62 εντολών εντοπισμού σφαλμάτων από τις κρίσιμες διαδρομές. |
0.18.0 |
20 Απριλίου 2026 |
Σημαντική αναδιάρθρωση του κώδικα: διαχωρισμός του db.go (10k γραμμές) σε 19 εξειδικευμένα αρχεία, εξαγωγή 7 ενοτήτων υπηρεσιών από το App.svelte (4888→469 γραμμές), ενοποίηση των stores των modal/πινάκων. Πλήρης μετάβαση στα Svelte 5 runes. Αντικατάσταση 9 modal πινάκων με ένα γενικό στοιχείο DataTableModal. Προσθήκη ESLint + Prettier + vitest (125 tests frontend) με CI. Συμμόρφωση WCAG 2.1 AA (ορατή εστίαση, ρόλοι ARIA, πλοήγηση με πληκτρολόγιο). Αναβάθμιση του mutex της Database σε RWMutex για καλύτερη παραλληλία ανάγνωσης. Πλήρης τεκμηρίωση CLI (CLI_USAGE.md + Sphinx FR/EN). Επανεγγραφή του README. Διόρθωση όλων των προειδοποιήσεων ESLint (46→0) και Vite (6→0). |
0.19.0 |
7 Μαΐου 2026 |
Προσθήκη του πίνακα Stats: δείκτες PR (Performance Rate), Snowie Error Rate και MWC cost (Match Winning Chance cost), γραμμή φίλτρου (παίκτης, τουρνουά, ημερομηνίες, τύπος απόφασης, μήκος αγώνα), καρτέλα Dashboard με κάρτες επιπέδου / κυλιόμενο PR / κορυφαία blunders, καρτέλα Progression με καμπύλη ανά τουρνουά και scatter plot ανά αγώνα, καρτέλα Σφάλματα με κατανομή ανά ενέργεια ντουμπλέ και ιστόγραμμα των μεγεθών. Διαδραστική εμβάθυνση προς τις θέσεις / αγώνες / τουρνουά από όλους τους δείκτες. Στιγμιαία εναλλαγή PR / MWC. Εντολή CLI list –type stats. Ευθυγράμμιση των δεικτών PR / Snowie ER / MWC με τα eXtremeGammon και gnuBG (όριο 0.16 equity για τα κοντινά ντουμπλέ). Διόρθωση του υπολογισμού του cube_error για τις αποφάσεις Double/Pass. Τεκμηρίωση του στατιστικού μοντέλου (Παράρτημα: Μοντέλο στατιστικών — ευθυγράμμιση XG / gnuBG / blunderDB). Δείτε Πίνακας Stats. |
0.20.0 |
31 Μαΐου 2026 |
Προσθήκη της δομής αποκλεισμού Except στον πίνακα αναζήτησης: αποκλείει τις θέσεις που περιέχουν οποιοδήποτε από τα σχεδιασμένα πούλια, με σήμανση « πρέπει να είναι κενό » (διπλό κλικ) και χωρίς όριο στον αριθμό πουλιών ανά σημείο (εντολή x). Προσθήκη της επιλογής « μόνο το πρώτο ζάρι » στο φίλτρο ζαριάς (παραλλαγή D1, επιλογή CLI –dice). Πίνακας Σχόλια: το πεδίο εισαγωγής εστιάζεται αυτόματα κατά το άνοιγμα και τα κουμπιά επεξεργασία / διαγραφή είναι πάντα ορατά. Διόρθωση του φίλτρου « Search Text » που δεν έβρισκε όλες τις ετικέτες σχολίων. |
0.21.0 |
1 Ιουνίου 2026 |
Διεθνοποίηση της διεπαφής: το σύνολο του blunderDB (γραμμή εργαλείων, πίνακες, μηνύματα, βοήθεια) μπορεί πλέον να εμφανιστεί κατ” επιλογήν στα αγγλικά, γαλλικά, γερμανικά, ιταλικά, ισπανικά, φινλανδικά, ιαπωνικά, ελληνικά ή ρωσικά. Προσθήκη ενός παραθύρου ρυθμίσεων, προσβάσιμου μέσω ενός κουμπιού σε σχήμα γραναζιού στη γραμμή εργαλείων, που επιτρέπει την επιλογή της γλώσσας. Η επιλογή της γλώσσας διατηρείται από τη μία συνεδρία στην άλλη. Δείτε Ρυθμίσεις. |
0.22.0 |
2 Ιουνίου 2026 |
Προσθήκη μιας λειτουργίας χωρίς γραφικό περιβάλλον (διακομιστής), προηγμένης και προαιρετικής, που συμπληρώνει την εφαρμογή γραφείου: ένας δαίμονας |
0.23.0 |
5 Ιουνίου 2026 |
Προσθήκη ξεναγήσεων του περιβάλλοντος (γενική ξενάγηση, αναζήτηση, αγώνες, τουρνουά), επαναλήψιμων από τη γραμμή εργαλείων ή με την εντολή |
0.24.0 |
6 Ιουνίου 2026 |
Προστέθηκε εικόνα κοντέινερ (Docker) για τη λειτουργία headless: ένα αποκλειστικό σημείο εισόδου |
0.25.0 |
7 Ιουνίου 2026 |
Λειτουργία διακομιστή (headless): δύο νέες μέθοδοι για την ανακατασκευή μιας θέσης χωρίς αποθήκευση — η |
0.26.0 |
9 Ιουνίου 2026 |
Ρυθμίσεις εμφάνισης της διεπαφής στο παράθυρο διαμόρφωσης: ένα ρυθμιστικό κλίμακας για τη μεγέθυνση ή σμίκρυνση ολόκληρης της διεπαφής, και μια επιλογή θέσης των πλαισίων (κάτω, στο πλάι ή αυτόματα) για την καλύτερη αξιοποίηση των πλατιών οθονών. Προστέθηκε μια γραμμή πληροφοριών πάνω από το ταμπλό που δείχνει τους παίκτες και το πλαίσιο του ματς (διοργάνωση, τόπος, γύρος, ημερομηνία, μήκος). Κατά το άνοιγμα μιας βάσης, το πλαίσιο των ματς εμφανίζεται αμέσως και η ανασκόπηση ξεκινά από την πρώτη θέση. Οι συντομεύσεις πληκτρολογίου είναι πλέον ανεξάρτητες από τη διάταξη του πληκτρολογίου (AZERTY, QWERTY, QWERTZ…). Διόρθωση της αποκωδικοποίησης XGID (δείκτες Jacoby/Beaver και τιμή του κύβου). Βλ. Ρυθμίσεις. |
0.27.0 |
13 Ιουνίου 2026 |
Πίνακας Anki: μια νέα λειτουργία ελεύθερης εξάσκησης (cram), προσβάσιμη από το κουμπί Cram δίπλα στο Study, που εμφανίζει τυχαίες θέσεις από την τράπουλα χωρίς να τροποποιεί το πρόγραμμα επαναλαμβανόμενης μελέτης — ιδανική για προθέρμανση πριν από ένα τουρνουά ή για εντατική επανάληψη μιας τράπουλας χωρίς να διαταράσσεται η σειρά της. Αναζήτηση: μια νέα εντολή |
Πίνακας περιεχομένων
- 1. Λήψη και εγκατάσταση
- 2. Εγχειρίδιο
- 2.1. Εισαγωγή
- 2.2. Κύριες αλληλεπιδράσεις
- 2.3. Περιγραφή της διεπαφής
- 2.4. Ρυθμίσεις
- 2.5. Ξεναγήσεις και βάση δείγματος
- 2.6. Πλοήγηση στις θέσεις
- 2.7. Επεξεργασία θέσεων
- 2.8. Η γραμμή εντολών
- 2.9. Πίνακας Ανάλυσης
- 2.10. Πίνακας Σχολίων
- 2.11. Πίνακας Αναζήτησης
- 2.12. Πίνακας Συλλογών
- 2.13. Πίνακας Αγώνων
- 2.14. Πίνακας Τουρνουά
- 2.15. Πίνακας Stats
- 2.16. Πίνακας EPC
- 2.17. Πίνακας Anki
- 2.18. Πίνακας Μεταδεδομένων
- 2.19. Πίνακας Καταγραφής
- 3. Οδηγός χρήσης
- 3.1. Δημιουργία νέας βάσης δεδομένων
- 3.2. Άνοιγμα υπάρχουσας βάσης δεδομένων
- 3.3. Εισαγωγή και συγχώνευση βάσης δεδομένων
- 3.4. Επεξεργασία θέσης
- 3.5. Προσθήκη θέσης στη βάση δεδομένων
- 3.6. Προσθήκη ετικέτας σε μια θέση
- 3.7. Διαγραφή θέσης
- 3.8. Εισαγωγή θέσης από το XG
- 3.9. Εισαγωγή αγώνα
- 3.10. Εισαγωγή φακέλου αγώνων
- 3.11. Μεταφορά και απόθεση
- 3.12. Πλοήγηση σε έναν αγώνα
- 3.13. Διαχείριση του πλαισίου αγώνων
- 3.14. Διαχείριση συλλογών
- 3.15. Διαχείριση τουρνουά
- 3.16. Εμφάνιση στατιστικών επιδόσεων
- 3.17. Υπολογισμός του EPC
- 3.18. Εμφάνιση της ανάλυσης μιας θέσης που εισήχθη από το XG
- 3.19. Εξαγωγή θέσης στο XG
- 3.20. Προβολή των διαφόρων θέσεων
- 3.21. Αναζήτηση θέσεων με βάση κριτήρια
- 4. Λίστα εντολών
- 5. Συντομεύσεις πληκτρολογίου
- 6. Διεπαφή γραμμής εντολών (CLI)
- 6.1. Εισαγωγή
- 6.2. Γενική σύνταξη
- 6.3. Διαθέσιμες εντολές
- 6.4. create — Δημιουργία βάσης δεδομένων
- 6.5. import — Εισαγωγή δεδομένων
- 6.6. export — Εξαγωγή δεδομένων
- 6.7. search — Αναζήτηση θέσεων
- 6.8. list — Εμφάνιση περιεχομένου
- 6.9. match — Εμφάνιση αγώνα
- 6.10. info — Μεταδεδομένα της βάσης
- 6.11. edit — Τροποποίηση μεταδεδομένων
- 6.12. verify — Έλεγχος ακεραιότητας
- 6.13. delete — Διαγραφή δεδομένων
- 6.14. Παραδείγματα ροών εργασίας
- 6.15. Κωδικοί εξόδου
- 7. Συχνές ερωτήσεις (FAQ)
- 7.1. Ποιος είναι ο σκοπός του blunderDB;
- 7.2. Τι ώθησε στη δημιουργία του blunderDB;
- 7.3. Πώς να αποθηκεύσετε την κατάσταση της τρέχουσας βάσης δεδομένων;
- 7.4. Πρέπει να δημιουργώ διαφορετικές βάσεις δεδομένων για διαφορετικές κατηγορίες θέσεων;
- 7.5. Πώς να συγχωνεύσετε πολλαπλές βάσεις δεδομένων;
- 7.6. Ποιες μορφές αρχείων αγώνων υποστηρίζονται;
- 7.7. Τι είναι μια συλλογή;
- 7.8. Τι είναι το EPC;
- 7.9. Διαθέτει το blunderDB διεπαφή γραμμής εντολών;
- 7.10. Μπορώ να τροποποιήσω, να αντιγράψω, να μοιραστώ το blunderDB;
- 7.11. Ποια μορφή δεδομένων χρησιμοποιεί το blunderDB;
- 7.12. Ποιες ήταν οι αρχές σχεδιασμού του blunderDB;
- 7.13. Ποια είναι η αρχιτεκτονική λογισμικού του blunderDB;
- 7.14. Σε ποιες πλατφόρμες λειτουργεί το blunderDB;
- 7.15. Από πού προέρχεται το εικονίδιο του blunderDB;
- 8. Λειτουργία χωρίς γραφικό περιβάλλον (διακομιστής)
- 9. Παράρτημα: Προχωρημένη χρήση των φίλτρων
- 10. Παράρτημα Windows: Εσφαλμένη ανίχνευση του blunderDB ως κακόβουλου λογισμικού
- 11. Παράρτημα Mac: Πιθανός αποκλεισμός του blunderDB
- 12. Παράρτημα: Σχήμα της βάσης δεδομένων
- 13. Παράρτημα: Μοντέλο στατιστικών — ευθυγράμμιση XG / gnuBG / blunderDB
Επικοινωνία
Συγγραφέας: Kévin Unger <blunderdb@proton.me>. Μπορείτε επίσης να με βρείτε στο Heroes με το ψευδώνυμο postmanpat.
Ανέπτυξα αρχικά το blunderDB για προσωπική μου χρήση, ώστε να μπορώ να εντοπίζω μοτίβα στα λάθη μου. Ωστόσο, είναι πολύ ευχάριστο να λαμβάνεις σχόλια, ειδικά όταν έχεις ξοδέψει πολλές ώρες σε σχεδιασμό, προγραμματισμό, αποσφαλμάτωση… Γι” αυτό μη διστάσετε να μου γράψετε για να μοιραστείτε την εμπειρία σας. Όλα τα (εποικοδομητικά) σχόλια είναι ευπρόσδεκτα.
Ακολουθούν διάφοροι τρόποι για να επικοινωνήσετε:
συμμετάσχετε στον διακομιστή Discord του blunderDB: https://discord.gg/DA5PpzM9En
στείλτε μου email στο blunderdb@proton.me,
μιλήστε μαζί μου, αν συναντηθούμε σε κάποιο τουρνουά,
στο Github,
ανοίξτε ένα ζήτημα: https://github.com/kevung/blunderDB/issues
για διορθώσεις σφαλμάτων ή προτάσεις βελτίωσης, δημιουργήστε ένα pull request.
Κάντε μια δωρεά
Αν εκτιμάτε το blunderDB και θέλετε να στηρίξετε την παρελθούσα και μελλοντική ανάπτυξή του, μπορείτε
να με κεράσετε ένα ποτό αν έχουμε τη χαρά να συναντηθούμε!
να κάνετε μια μικρή δωρεά μέσω PayPal στη διεύθυνση blunderdb@proton.me
Ευχαριστίες
Αφιερώνω αυτό το μικρό λογισμικό στη σύντροφό μου Anne-Claire και στη γλυκιά μας κόρη Perrine. Θέλω να ευχαριστήσω ιδιαίτερα μερικούς φίλους:
Tristan Remille, για τη μύησή μου στο τάβλι με χαρά και καλοσύνη· για το ότι μου δείχνει τον Δρόμο στην κατανόηση αυτού του υπέροχου παιχνιδιού· για το ότι συνεχίζει να με ενθαρρύνει παρά τις φτωχές μου προσπάθειες να παίξω καλύτερα.
Nicolas Harmand, χαρούμενος σύντροφος εδώ και πάνω από μια δεκαετία σε υπέροχες περιπέτειες, και φανταστικός συμπαίκτης από τότε που κόλλησε τον ιό του τάβλι.