blunderDB
blunderDB on ohjelma backgammon-positioiden tietokantojen luomiseen. Sen tärkein vahvuus on tarjota yksi paikka, johon pelaaja voi koota kohtaamiaan positioita (verkossa, turnauksissa) ja tutkia näitä positioita uudelleen suodattamalla niitä erilaisilla suodattimilla, joita voi yhdistellä vapaasti. blunderDB:tä voi käyttää myös referenssipositioiden luetteloiden kokoamiseen.
Tämä dokumentaatio on rakennettu seuraavasti:
lataus ja asennus -osio selittää, miten blunderDB hankitaan ja käynnistetään.
käyttöopas kuvaa blunderDB:n yleisen toiminnan.
käyttäjän opas on käytännönläheinen johdanto blunderDB:n nopeaan käyttöön.
komentojen luettelo sekä näppäimistön pikanäppäinten luettelo mahdollistavat blunderDB:n tehokkaan käytön.
komentorivikäyttöliittymä (CLI) -osio kuvaa käytettävissä olevat komennot massatuontiin, automatisointiin ja skriptaukseen.
UKK tarjoaa vastauksia yleisimmin esitettyihin kysymyksiin.
Versiohistoria
Versio |
Päivämäärä |
Muutosten syy ja/tai luonne |
|---|---|---|
0.1.0 |
31.12.2024 |
Beta-versio. |
0.2.0 |
6.1.2025 |
Erinäisiä virhekorjauksia. Lisätty ottelu-/TP/GV-taulukot. Lisätty hakusuodattimet (siirrot, tuplauspäätös, päivämäärä). Lisätty positioiden metatiedot. Tuonti-/vientitoiminto blunderDB-instanssien välillä. Lisätty tietokantojen metatietotoiminto. Versionumeroiden käyttöönotto (tietokanta ja sovellus). |
0.3.0 |
27.1.2025 |
Erinäisiä virhekorjauksia. Tallentaa ikkunan koon automaattisesti. Tuo mahdolliset kommentit XG:stä. |
0.4.0 |
3.2.2025 |
Erinäisiä virhekorjauksia. Lisätty kuvake blunderDB:lle. Suodattimien korjauksia. Lisätty macOS-tuki. |
0.5.0 |
4.2.2025 |
Lisätty uusia suodattimia (peilikuva, ei kosketusta, jan blot, outfield blot). |
0.6.0 |
13.2.2025 |
Lisätty suodatinkirjasto. Tietokannan version näyttäminen metatiedoissa. |
0.7.0 |
16.2.2025 |
Japanin- ja saksankielisten XG-vientien tuki. |
0.8.0 |
3.5.2025 |
Mahdollisuus piilottaa pip-laskuri. Satunnaisen position lataaminen. |
0.9.0 |
2.11.2025 |
Suodatinkirjaston virhekorjaus. Tietokannan tuonti/vienti. Nuolien näyttäminen valituille siirroille. Pikanäppäimet tuontiin/vientiin. |
0.10.0 |
25.2.2026 |
Otteluiden tuonti eXtreme Gammonista (XG/XGP), GNUbg:stä (SGF), Jellyfishistä (MAT/TXT) ja BGBlitzistä (BGF/TXT). Otteluiden selaaminen: tuodun ottelun siirtojen läpikäynti, pelatun siirron korostuksella. Ottelupaneeli: luettelo, lajittelu, suora muokkaus, pelaajien vaihto, turnauksen määritys. Rekursiivinen kansiotuonti ja vedä-ja-pudota-tuonti. EPC-laskuri (Effective Pip Count) sisäänrakennetulla GNUbg:n bearoff-tietokannalla. Kokoelmat: positioiden mukautettu ryhmittely. Turnaukset: otteluiden ryhmittely tapahtuman mukaan. Istunnon tilan tallennus ja palautus (viimeisin haku, nykyinen positio). Tietokantaskeeman automaattinen migraatio. Useiden moottoreiden näyttö analyysissä. Pelaajan 1 virheiden/blundereiden suodatin hauissa. Tietokannan vienti tarkalla valinnalla (ottelut, kokoelmat, turnaukset, pelatut siirrot). Otteluiden selauspainike. Pip-laskuri otteluiden selauksessa. Täydellinen komentorivikäyttöliittymä (CLI). Viimeisimmän tietokannan automaattinen uudelleenavaus. Parannettu työkalupalkki ja kuvakkeet. |
0.11.0 |
6.3.2026 |
Hakusuodatin nykyisissä positioissa. Lisätty ottelu- ja turnaussuodattimet. Laudan automaattinen tyhjennys hakupaneelia avattaessa. |
0.12.0 |
19.3.2026 |
eXtreme Gammon -positiotiedostojen (XGP) tuonti analyysin kanssa. |
0.13.0 |
28.3.2026 |
Käyttöliittymän yksinkertaistaminen: otteluiden ja kokoelmien selaus tapahtuu nyt suoraan paneeleiden kautta. Tilariviin integroitu komentorivi. Console-paneeli nimetty uudelleen Log-paneeliksi. Oma EPC-paneeli alapaneelissa. Position kopiointi/liittäminen hakupaneelissa. Vedä-ja-pudota kokoelmien, kokoelmien sisäisten positioiden sekä turnausten sisäisten otteluiden uudelleenjärjestämiseen. Turnaussarake ottelupaneelissa suoralla muokkauksella. Analyysipaneelin automaattinen näyttö haun jälkeen. |
0.14.0 |
30.3.2026 |
Oma Anki-paneeli kertausvälioppimiseen (FSRS-algoritmi). Kommenttien tuonti XG-tiedostoista. |
0.15.0 |
31.3.2026 |
Position vienti PNG-kuvana leikepöydälle (pelkkä lauta painikkeella Ctrl+X, tai lauta analyysin kanssa painikkeella Ctrl+X Ctrl+X). |
0.16.0 |
18.4.2026 |
Tietokantaskeema v2.0.0: positioiden deduplikointi Zobrist-hashilla, denormalisoidut suodatussarakkeet, bittilautakuvioiden esisuodatus, WAL-journalointi. Erätuonti >=3x nopeampi, suodatettu haku <=100 ms yli 10k positiolla. HUOM: v0.16.0:lla luotuja DB-tiedostoja ei voi avata vanhemmilla versioilla; vanhat DB:t migratoidaan automaattisesti paikallaan (ota ensin varmuuskopio). |
0.17.0 |
20.4.2026 |
Tallennuksen optimointi: analyysitietojen zlib-pakkaus (~80 %:n pienennys), positioiden kompakti koodaus (~90 %:n koon pienennys). Lisätty 5 puuttuvaa indeksiä hakusuorituskyvyn parantamiseksi. Korjattu tuplausvirheen mukaan tehtävä haku. Korjattu EDIT-tila haun jälkeen, kun tuloksia ei ole. Hakupaneelin tilan palautus välilehtiä vaihdettaessa. Poistettu 62 virheenkorjaustulostetta kriittisiltä poluilta. |
0.18.0 |
20.4.2026 |
Koodin laaja refaktorointi: db.go (10k riviä) jaettu 19 erikoistuneeseen tiedostoon, 7 palvelumoduulia eriytetty App.sveltesta (4888→469 riviä), modaali-/paneelivarastot konsolidoitu. Täydellinen migraatio Svelte 5 -runeihin. 9 taulukkomodaalia korvattu yleisellä DataTableModal-komponentilla. Lisätty ESLint + Prettier + vitest (125 frontend-testiä) CI:n kanssa. WCAG 2.1 AA -saavutettavuus (näkyvä fokus, ARIA-roolit, näppäimistönavigointi). Database-mutex päivitetty RWMutexiksi paremman lukurinnakkaisuuden vuoksi. Täydellinen CLI-dokumentaatio (CLI_USAGE.md + Sphinx FR/EN). README kirjoitettu uudelleen. Korjattu kaikki ESLint-varoitukset (46→0) ja Vite-varoitukset (6→0). |
0.19.0 |
7.5.2026 |
Lisätty Stats-paneeli: PR (Performance Rate)-, Snowie Error Rate- ja MWC cost (Match Winning Chance cost) -indikaattorit, suodatinpalkki (pelaaja, turnaus, päivämäärät, päätöstyyppi, ottelun pituus), Dashboard-välilehti tasokorteilla / liukuvalla PR:llä / pahimmilla blundereilla, Progression-välilehti turnauskohtaisella käyrällä ja ottelukohtaisella hajontakaaviolla, Errors-välilehti tuplaustoimintojen erittelyllä ja virheiden suuruuksien histogrammilla. Interaktiivinen porautuminen positioihin / otteluihin / turnauksiin kaikista indikaattoreista. Välitön PR / MWC -vaihto. CLI-komento list –type stats. PR / Snowie ER / MWC -indikaattoreiden yhtenäistäminen eXtremeGammonin ja gnuBG:n kanssa (0.16 equity-kynnys läheisille tuplauksille). Korjattu cube_error-laskenta Double/Pass-päätöksille. Tilastomallin dokumentaatio (Liite: Tilastomalli — XG / gnuBG / blunderDB -yhdenmukaisuus). Katso Stats-paneeli. |
0.20.0 |
31.5.2026 |
Lisätty Except-poissulkurakenne hakupaneeliin: poissulkee positiot, jotka sisältävät jonkin piirretyistä nappuloista, merkillä « täytyy olla tyhjä » (kaksoisnapsautus) ja rajoittamattomalla nappulamäärällä pistettä kohti (komento x). Lisätty « vain ensimmäinen noppa » -vaihtoehto noppasuodattimeen (D1-variantti, CLI-vaihtoehto –dice). Comments-paneeli: syöttökenttä fokusoidaan automaattisesti avattaessa ja muokkaa / poista -painikkeet ovat aina näkyvissä. Korjattu « Search Text » -suodatin, joka ei löytänyt kaikkia kommenttitageja. |
0.21.0 |
1.6.2026 |
Käyttöliittymän kansainvälistäminen: koko blunderDB (työkalupalkki, paneelit, viestit, ohje) voidaan nyt näyttää valinnan mukaan englanniksi, ranskaksi, saksaksi, italiaksi, espanjaksi, suomeksi, japaniksi, kreikaksi tai venäjäksi. Lisätty asetusikkuna, joka avataan työkalupalkin hammasrataspainikkeesta ja josta voi valita kielen. Kielivalinta säilytetään istunnosta toiseen. Katso Asetukset. |
0.22.0 |
2.6.2026 |
Lisätty headless-tila (palvelin), edistynyt ja valinnainen, joka täydentää työpöytäsovellusta: |
0.23.0 |
5.6.2026 |
Lisätty käyttöliittymän opastettuja kierroksia (yleiskierros, haku, ottelut, turnaukset), jotka voi toistaa työkalupalkista tai komennolla |
0.24.0 |
6.6.2026 |
Lisätty konttikuva (Docker) headless-tilaa varten: erillinen |
0.25.0 |
7.6.2026 |
Palvelintila (headless): kaksi uutta metodia aseman rakentamiseen tallentamatta sitä — |
0.26.0 |
9.6.2026 |
Käyttöliittymän näyttöasetukset asetusikkunassa: skaalausliukusäädin koko käyttöliittymän suurentamiseksi tai pienentämiseksi sekä paneelien sijainnin valinta (alhaalla, sivulla tai automaattinen) leveiden näyttöjen parempaa hyödyntämistä varten. Lisätty laudan yläpuolelle tietopalkki, joka näyttää pelaajat ja ottelun taustatiedot (tapahtuma, paikka, kierros, päivämäärä, pituus). Kun tietokanta avataan, otteluiden paneeli näytetään heti ja tarkastelu alkaa ensimmäisestä asemasta. Näppäimistöoikotiet ovat nyt riippumattomia näppäimistöasettelusta (AZERTY, QWERTY, QWERTZ…). Korjattu XGID-purku (Jacoby/Beaver-liput ja kuution arvo). Katso Asetukset. |
0.27.0 |
13.6.2026 |
Anki-paneeli: uusi vapaan harjoittelun (cram) tila, käytettävissä Cram-painikkeesta Study-painikkeen vierestä, joka näyttää satunnaisia asemia pakasta muuttamatta kertausaikataulua — ihanteellinen lämmittelyyn ennen turnausta tai pakan tehokkaaseen kertaamiseen sen järjestystä häiritsemättä. Haku: uusi komento |
Sisällysluettelo
- 1. Lataaminen ja asentaminen
- 2. Käyttöopas
- 2.1. Johdanto
- 2.2. Päätoiminnot
- 2.3. Käyttöliittymän kuvaus
- 2.4. Asetukset
- 2.5. Opastetut kierrokset ja esimerkkitietokanta
- 2.6. Asemien selaaminen
- 2.7. Asemien muokkaus
- 2.8. Komentorivi
- 2.9. Analyysipaneeli
- 2.10. Kommenttipaneeli
- 2.11. Hakupaneeli
- 2.12. Kokoelmapaneeli
- 2.13. Ottelupaneeli
- 2.14. Turnauspaneeli
- 2.15. Stats-paneeli
- 2.16. EPC-paneeli
- 2.17. Anki-paneeli
- 2.18. Metatietopaneeli
- 2.19. Lokipaneeli
- 3. Käyttöopas
- 3.1. Luo uusi tietokanta
- 3.2. Avaa olemassa oleva tietokanta
- 3.3. Tuo ja yhdistä tietokanta
- 3.4. Muokkaa asemaa
- 3.5. Lisää asema tietokantaan
- 3.6. Merkitse asema tunnisteella
- 3.7. Poista asema
- 3.8. Tuo asema XG:stä
- 3.9. Tuo ottelu
- 3.10. Tuo ottelukansio
- 3.11. Vedä ja pudota
- 3.12. Selaa ottelua
- 3.13. Hallitse ottelupaneelia
- 3.14. Hallitse kokoelmia
- 3.15. Hallitse turnauksia
- 3.16. Näytä suoritustilastot
- 3.17. Laske EPC
- 3.18. Näytä XG:stä tuodun aseman analyysi
- 3.19. Vie asema XG:hen
- 3.20. Tarkastele eri asemia
- 3.21. Hae asemia kriteerien perusteella
- 4. Komentoluettelo
- 5. Näppäimistöoikotiet
- 6. Komentoriviliittymä (CLI)
- 6.1. Johdanto
- 6.2. Yleinen syntaksi
- 6.3. Käytettävissä olevat komennot
- 6.4. create — Luo tietokanta
- 6.5. import — Tuo tietoja
- 6.6. export — Vie tietoja
- 6.7. search — Hae asemia
- 6.8. list — Luettele sisältö
- 6.9. match — Näytä ottelu
- 6.10. info — Tietokannan metatiedot
- 6.11. edit — Muokkaa metatietoja
- 6.12. verify — Tarkista eheys
- 6.13. delete — Poista tietoja
- 6.14. Työnkulkuesimerkkejä
- 6.15. Paluukoodit
- 7. Usein kysytyt kysymykset (UKK)
- 7.1. Mihin blunderDB:tä käytetään?
- 7.2. Mikä motivoi blunderDB:n luomiseen?
- 7.3. Miten nykyisen tietokannan tila tallennetaan?
- 7.4. Pitäisikö minun luoda eri tietokantoja eri asemaluokille?
- 7.5. Miten useita tietokantoja yhdistetään?
- 7.6. Mitä ottelutiedostomuotoja tuetaan?
- 7.7. Mikä on kokoelma?
- 7.8. Mikä on EPC?
- 7.9. Onko blunderDB:ssä komentorivikäyttöliittymä?
- 7.10. Voinko muokata, kopioida ja jakaa blunderDB:tä?
- 7.11. Mitä tietomuotoa blunderDB käyttää?
- 7.12. Mitkä olivat blunderDB:n suunnitteluperiaatteet?
- 7.13. Mikä on blunderDB:n ohjelmistoarkkitehtuuri?
- 7.14. Millä alustoilla blunderDB toimii?
- 7.15. Mistä blunderDB:n kuvake on peräisin?
- 8. Headless-tila (palvelin)
- 9. Liite: Suodattimien edistynyt käyttö
- 10. Windows-liite: blunderDB:n virheellinen tunnistus haittaohjelmaksi
- 11. Mac-liite: blunderDB:n mahdollinen esto
- 12. Liite: Tietokannan skeema
- 13. Liite: Tilastomalli — XG / gnuBG / blunderDB -yhdenmukaisuus
Yhteystiedot
Tekijä: Kévin Unger <blunderdb@proton.me>. Minut tavoittaa myös Heroes-palvelusta käyttäjänimellä postmanpat.
Kehitin blunderDB:n alun perin omaan käyttööni voidakseni havaita toistuvia kaavoja virheissäni. On kuitenkin hyvin palkitsevaa saada palautetta, etenkin kun on käyttänyt paljon tunteja suunnitteluun, koodaukseen ja virheenkorjaukseen… Älä siis epäröi ottaa yhteyttä ja jakaa kokemuksiasi. Kaikki (rakentava) palaute on tervetullutta.
Tässä useita tapoja keskustella:
liity blunderDB:n Discord-palvelimelle: https://discord.gg/DA5PpzM9En
lähetä minulle sähköpostia osoitteeseen blunderdb@proton.me,
keskustele kanssani, jos tapaamme turnauksessa,
GitHubissa,
avaa tiketti: https://github.com/kevung/blunderDB/issues
virhekorjauksia tai parannusehdotuksia varten luo pull request.
Lahjoita
Jos pidät blunderDB:stä ja haluat tukea sen mennyttä ja tulevaa kehitystä, voit
tarjota minulle juoman, jos meillä on ilo tavata!
tehdä pienen lahjoituksen PayPalilla osoitteeseen blunderdb@proton.me
Kiitokset
Omistan tämän pienen ohjelman kumppanilleni Anne-Clairelle ja rakkaalle tyttärellemme Perrinelle. Haluan kiittää aivan erityisesti muutamia ystäviä:
Tristan Remille, joka johdatti minut backgammonin pariin ilolla ja ystävällisyydellä; joka näyttää tien tämän upean pelin ymmärtämiseen; ja joka jatkaa minun kannustamistani vaatimattomista yrityksistäni pelata paremmin huolimatta.
Nicolas Harmand, iloinen kumppani jo yli kymmenen vuoden ajan hienoissa seikkailuissa, ja loistava pelikaveri siitä lähtien, kun hän sai backgammon-tartunnan.