|
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
|
|
В каком формате лучше хранить историю работы приложения?02.07.2015, 19:36. Показов 3754. Ответов 20
Метки нет (Все метки)
Подскажите, в чем обычно хранят данные различные игры под windows, которые не онлайн? Просто в бинарных файлах своей структуры без баз данных?
0
|
|
| 02.07.2015, 19:36 | |
|
Ответы с готовыми решениями:
20
В каком формате лучше хранить образ ОС? В каком формате лучше хранить локальную БД В каком формате лучше хранить текст для корректной обработки в дальнейшем? |
|
0 / 0 / 0
Регистрация: 23.06.2015
Сообщений: 2
|
|
| 02.07.2015, 20:22 | |
|
Это смотря где. Некоторые используют базы данных, но зачастую используется какие нибудь велосипедные бинарные форматы.
0
|
|
|
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
|
|
| 02.07.2015, 20:41 [ТС] | |
|
а может подскажите, что проще использовать? вообще говоря нужжно обмениваться информацией с сервером(иногда, условно загрузка обновленных данных и передача некоторых результатов) и хранить историю работы приложения
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 02.07.2015, 20:53 | |||
|
иногда ещё со своей иерархией каталогов. впрочем экспортировать базу в отдельный файлик умеет, пожалуй, любая уважающая себя база. Добавлено через 3 минуты
0
|
|||
|
|
|
| 02.07.2015, 21:54 | |
|
Если нужна простая БД без дополнительной установки и прочих манипуляций, то советую SQLite глянуть. Ее легко таскать с собой и конечный пользователь даже не будет знать, что где-то там какая-то БД используется. В проект добавляется легко - просто 1 (!) файл рядом положить.
0
|
|
|
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
|
|||
| 02.07.2015, 22:37 [ТС] | |||
|
А по скорости работы я смогу вести постоянную смену данных в файлах? Скажем так, хранить текущее состояние программы, то есть перезаписывать информацию довольно часто и на сколько это удобно? Ну и напоследок, есть ли какие-то критерии, когда лучше БД типа SQLite, а когда Serialization - Boost?
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.07.2015, 00:06 | |||
|
по возможности стремятся максимум данных держать в кэше (хранилище данных, расположенное в оперативной памяти). а на жесткий диск пишут лишь по необходимости. это вещи из разных категорий. БД - базы данных. хранилища информации, ориентированные на её быстрый поиск, и возможность подключаться одновременно нескольким клиентам. однако, прежде чем информация попадет в базу данных, её ещё нужно где то раздобыть. ваша программа должна сформировать какие то начальные данные, которые вы хотите сохранить. и вот, для того, что бы формировать эти данные, здесь на помощь приходят технологии "сериализации данных". сериализаторы типа boost.serialization позволяют удобным и простым способом извлекать данные из объектов различных классов, и объединять их в единую структуру: бинарный файл, xml/json, и тп представления.
0
|
|||
|
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
|
||
| 03.07.2015, 00:45 [ТС] | ||
|
0
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 03.07.2015, 01:00 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 03.07.2015, 01:11 | |||||||
|
что с этими данными будет дальше, сереализацию не интересует. задача сериализации: помочь программисту легко и быстро извлекать данные из объектов в какое либо представление (например - обычный текстовый файл). или напротив: имя на руках текстовый файл, на его основе легко и быстро воссоздавать в программе объекты. пример использования:
0
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 03.07.2015, 01:12 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 03.07.2015, 01:18 | ||||
|
а эти детали - не принципиальны. Добавлено через 5 минут при этом существует БД, которая предназначена для локальной работы (хранилище размещается в оперативной памяти). и существуют различные архивы: представления данных. например: xml. благодаря архивам можно например, легко и просто перегнать всю базу целиком из MSSQLSERVER в PostgreSQL, и обратно. то бишь, xml здесь выступает в качестве некого "унифицированного" представления данных, с которыми умеют работать все, поддерживаемые компанией базы. при этом внутренняя структура конкретного представления (будь то xml, или хранилище PostgresSQL) не имеет значения. она у разных баз своя собственная, и не зависит от окружения. в связи с этим, я нахожу ваш тезис безосновательным. Добавлено через 1 минуту
0
|
||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 03.07.2015, 01:26 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.07.2015, 01:34 | |||
|
базы случаются разными. принципиальное значение имеет только их функциональные возможности и интерфейс. а там, пусть хоть в сферическом астрале свои данные содержат. итак понятно, что раз у ТС такие вопросы, значит PostgreSQL ему сейчас точно не нужен. а вот сериализация понадобится по любому, если игрушка чутка сложнее тетриса.
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 03.07.2015, 01:44 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.07.2015, 02:09 | |||
|
я вам ещё раз повторяю: детали реализации конкретных баз не принципиальны. представьте себе: есть некий проект. у него есть некая оопнутая архитектура. кучка разных классов, которые агрегируют другие классы. есть множество объектов самых разных классов.. нужно сохранить данные. как именно вы предлагаете извлекать данные из объектов, и скармливать их front-end базы данных? СУБД ничего не знает про ваши бизнес-классы, и объекты. она знает только о своим собственном представлении данных, и больше ни о чем. она вообще не подозревает о существовании какой то там игрушки. что бы добавлять/извлекать из базы данные, вам придется написать код, который будет брать объекты, извлекать из них данные, и на основе этих данных формировать запросы в БД. вы конечно можете делать это каждый раз вручную, и затрачивать на эту рутину кучу времени. а можете вооружится механизмом сериализации, который автоматизирует для вас эту процедуру. и сможет формировать данные любых объектов независимо от их сложности. сериализатор не обязательно должен запихивать данные в plain-text/binary/xml/json файлы. с тем же успехом, он может накормить данными front-end библиотеку конкретной базы данных. и я вам ещё раз, и в последний раз делаю замечание: детали реализации конкретной СУБД не принципиальны. совершенно не важно, как конкретная СУБД сериализует/десереализует свои данные. это не имеет никакого отношения к бизнес-проекту (игрушке) пользователя.
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 03.07.2015, 03:55 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 03.07.2015, 11:50 | ||||
|
вот этот ваш кортеж на диске - продукт сериализации. сериализация - процедура преобразования объекта в некий формат по некоторым правилам. в более точной формулировке: процедура преобразования объектов в некую последоватольность байт по некоторым правилам. пример: если вы написали дружественную функцию, которая выводит состояние объекта в std::cout, то вы написали сериализацию для вывода в поток std::cout. просто её делать можно по уму (см boost.serialization/cereal), и поиметь кучу профита: писать минимум кода, возможность выбирать любые архивы, конвертировать данные из одного формата в другой, и тп. а можно по тупому: для каждого класса каждый раз в ручную писать логику сериализации в один единственный формат. и прибиться к нему намертво гвоздями. я же вам уже написал выше:
0
|
||||
|
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
|
|
| 03.07.2015, 15:09 [ТС] | |
|
Не по теме: hoggy, Renji, Хорошо бы какую-нибудь статью в раздел "Visual C++ и базы данных" с сравнением БД и полезными ссылками, думаю такие вопросы ни у одного меня возникают Добавлено через 1 час 15 минут Renji, может подскажите пару ссылок как подключить SQLite к проекту C++ на windows ?
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 03.07.2015, 15:15 | |||
|
0
|
|||
| 03.07.2015, 15:15 | |
|
Помогаю со студенческими работами здесь
20
Как Лучше Хранить Историю По Документу? В каком формате удобнее хранить данные? Как и в каком формате хранить координаты карты В каком формате хранить число, чтобы нули спереди не отбрасывались В каком формате хранить картинку в таблице MS SQL Server с прозачным фоном Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|