7. Часто задаваемые вопросы

7.1. Для чего нужен blunderDB?

blunderDB позволяет создать персонализированную базу данных позиций. Его сила заключается в отсутствии каких-либо классификаций a priori. Это даёт пользователю свободу запрашивать позиции с большой гибкостью, комбинируя по своему усмотрению различные критерии (гонка, структура, куб, счёт, пионы в засаде, пионы в зоне, шансы на выигрыш/гэммон/бэкгэммон, …).

Ещё одно удобное применение blunderDB — это составление каталогов эталонных позиций. Благодаря возможности помечать позиции пользователь может структурированно собрать все свои эталонные позиции в одном файле. Я хочу, чтобы blunderDB упрощал обмен позициями между игроками.

7.2. Что побудило создать blunderDB?

Я привык хранить интересные позиции или бландеры в разных папках. Однако у меня возникали трудности с поиском позиций по критериям, не предусмотренным изначальным выбором тематических категорий. Например, если позиции отсортированы по типу игры (гонка, holding game, блиц, бэкгейм, …), как найти все позиции при определённом счёте или при заданном уровне куба? Кроме того, некоторые старые позиции имели тенденцию забываться. Мне хотелось инструмент, который агрегирует все мои позиции без предположений a priori о тематических категориях, а затем позволяет задавать вопросы к базе данных. При таком гибком подходе новые фильтры могут добавляться без нарушения организации позиций. Подобное программное обеспечение широко распространено в шахматах, например ChessBase.

7.3. Как сохранить текущую базу данных?

База данных изменяется немедленно после выполнения запросов. Явного сохранения не требуется.

7.4. Нужно ли создавать разные базы данных для разных категорий позиций?

Если нет чётко обозначенных причин, крайне важно не распределять позиции по отдельным базам данных: в противном случае их невозможно будет связать в будущих поисках. Философия blunderDB состоит в том, чтобы не предполагать категории позиций a priori и позволять пользователю гибко их запрашивать. Когда позиции были встречены в особых условиях или по конкретным причинам, может быть целесообразно хранить их в отдельных базах данных. Например, можно создать отдельные базы данных позиций для:

  • эталонных позиций,

  • бландеров на реальных турнирах,

  • бландеров в онлайн-игре.

7.5. Как объединить несколько баз данных?

Если у вас несколько баз данных blunderDB, которые вы хотите объединить, используйте функцию «Import Database»:

  1. Откройте основную базу данных (ту, в которую будут импортированы позиции)

  2. Нажмите кнопку «Import Database» на панели инструментов

  3. Выберите базу данных для импорта

  4. 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) — более точная мера, чем простой пипкаунт, для оценки позиций снятия шашек. Калькулятор EPC в blunderDB использует базу данных снятия шашек с 6 пунктов GNUbg и в реальном времени вычисляет EPC, среднее число бросков, стандартное отклонение, пипкаунт и 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?

Я хотел, чтобы интерфейс оставался доступным, но прежде всего продумывал его для продвинутой и интенсивной работы, когда позиции и запросы идут одна за другой. Командная строка, открываемая нажатием клавиши ПРОБЕЛ, и сочетания клавиш служат такой работе, но не являются обязательными.

Кроме того, я хотел, чтобы blunderDB был лёгким, автономным, не требующим установки и доступным для разных платформ, отсюда мой выбор языка Go и библиотеки Svelte. Для сериализации базы данных формат файлов должен быть кроссплатформенным и подходящим для хранения базы данных. Формат файлов SQLite оказался как нельзя кстати.

Мне также было важно, чтобы база оставалась обычным файлом, который можно скопировать, сохранить или отправить другому игроку.

Наконец, blunderDB больше не ограничивается настольным приложением: тот же исполняемый файл предоставляет интерфейс командной строки и необязательный серверный режим, который может опираться на PostgreSQL для многопользовательских развёртываний. Тем не менее обычным способом использования остаётся настольное приложение. См. Интерфейс командной строки (CLI) и Безголовый режим (сервер).

7.13. Какова программная архитектура blunderDB?

  • Бэкенд написан на Go. Он отвечает за все операции с базой данных SQLite, в которой хранятся позиции.

  • Фронтенд написан на Svelte. Он отвечает за отображение графического интерфейса и доски для нард.

  • Приложение упаковано с помощью Wails, что позволяет создавать нативные настольные приложения для Windows, Linux и macOS.

  • База данных управляется SQLite.

  • Необязательный серверный режим может опираться на PostgreSQL вместо SQLite для многопользовательских развёртываний.

Для получения дополнительной информации см. репозиторий blunderDB на GitHub.

7.14. На каких платформах работает blunderDB?

blunderDB работает на Windows, Linux и Mac.

7.15. Откуда взята иконка blunderDB?

Иконка blunderDB — это смайлик «goggling» из серии SMirC.