powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Книги про сериализацию и сохранение данных.
25 сообщений из 63, страница 1 из 3
Книги про сериализацию и сохранение данных.
    #38305429
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли книги в которых подробно показываются различные методики сохранения разнообразных данных на диск.
То есть чтобы понять какие проблемы могут быть, в чём сложности?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305435
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спецификациии TIFF, EXIF, DNG, MPEG-4 Part 14, AVI, MKV, RTF, BIFF .....
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305439
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилспецификациии TIFF, EXIF, DNG, MPEG-4 Part 14, AVI, MKV, RTF, BIFF .....

Ух.. Не хочу читать спецификации. Есть ли книги на русском с подробным объяснением и рассуждением?
Ну или хотя бы, в крайнем случаи если уж совсем пусто то на английском техническом(без лишней ненужной воды).
Например подробно про boost::serialize?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305514
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сериализация как наука - неинтересна IMHO. Потому как там нет науки.
А вот оптимизация доступа для специализированных типов файлов - такое
думаю есть. Для баз данных. Блочный доступ. Random access. Serial access. Дисковая сортировка.
Различные режимы OS для открытия файлов. Блокировки. Файловые системы.
Это важнее и интереснее.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305520
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingЕсть ли книги в которых подробно показываются различные методики сохранения
разнообразных данных на диск.
Какие ещё методики? Существует ровно один способ сохранения данных на диск:
подготавливается буфер и передаётся специальной функции ОСи. Всё остальное она сделает сама.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305549
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmankingЕсть ли книги в которых подробно показываются различные методики сохранения
разнообразных данных на диск.
Какие ещё методики? ...


Ну я думал будет понятно, что речь идёт о записи определенной совокупности структур и классов данных из памяти на накопитель.
То есть как сохранения в играх.


maytonСериализация как наука - неинтересна IMHO. Потому как там нет науки.
Нет, ну если у меня пара структур с 5 переменными то проблем нет.
Быстро записал их, затем загрузил в том же порядке.

Но ведь если структур порядка 50, в каждой в среднем по 10 данных(есть сложные stl конструкции которые содержат другие указатели на другие структуры).
Есть ООП с наследованием. Вот такое же, от балды не сохранишь. А если сохранишь то получишь множество несоответствий при загрузке.

Или это просто догадки и здесь сложности особой нет?
Просто не хочется потом рефакторить этот код, из-за того что невнимательно изучил процесс, поэтому и спрашиваю.
Вот есть такая книга Мартина Фаулера "Рефакторинг". И там очень грамотно книга разбита на множество проблем, показана проблема и идёт решение.
Может что то подобное есть?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305559
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingИли это просто догадки и здесь сложности особой нет?
Может и есть, но лично я её не вижу. Придётся, конечно, много понажимать на кнопочки,
программируя методы Save и Load для каждого класса, но такая уж у программистов работа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305560
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingНо ведь если структур порядка 50, в каждой в среднем по 10 данных(есть сложные stl конструкции которые содержат другие указатели на другие структуры).
Есть ООП с наследованием. Вот такое же, от балды не сохранишь. А если сохранишь то получишь множество несоответствий при загрузке. Сохраняй данные. Не сохраняй указатели. Сохраняй данные.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305564
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, хорошая мантра.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305567
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonWhite Owl, хорошая мантра.Теперь бы еще manking её понял...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305574
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а как быть в такой ситуации? Я бы сразу понял правильно понимаю сериализация или это нечто другое.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
struct B
{
};

struct A
{
map<int,B*> map_arr; // здесь B* ссылается на элемент объекта B "vector<B> vec;" из класса С.
};

struct C
{
vector<B> vec; // 
};

A a;
C c;
... // заполнил


Вот в данном случаи я сохраню 
c.save(); // c.vec будет записан в файл.

// дальше
a.save(); // сохраняю key int, и у меня есть пара для него указатель на B*. Что в данном случаи делать?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38305583
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankinga.save(); // сохраняю key int, и у меня есть пара для него указатель на B*. Что в данном случаи делать?


Разумеется, сохранять соответствующие B, что же ещё...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306031
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivРазумеется, сохранять соответствующие B, что же ещё...

То есть нужно дублировать данные?

Но ведь когда восстановлю vector<B> vec; и задам например vector[4].переменная = 7;
То map<int,B*> map_arr[10], который ссылался на vector[4], будет ссылаться на что то другое?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306040
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingТо есть нужно дублировать данные?
Нет, достаточно вообще не сохранять B*, а строить связи заново при загрузке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306054
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingMasterZivРазумеется, сохранять соответствующие B, что же ещё...

То есть нужно дублировать данные?

Но ведь когда восстановлю vector<B> vec; и задам например vector[4].переменная = 7;
То map<int,B*> map_arr[10], который ссылался на vector[4], будет ссылаться на что то другое?

Зачем дублировать?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306077
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
manking, почитай еще про
http://ru.wikipedia.org/wiki/EBML
для общего развития
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306098
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНет, достаточно вообще не сохранять B*, а строить связи заново при загрузке.

А.. ну понятно.

Вообще я использую boost::serialize и там сохранять указатели можно,но там просто пишутся сами данные.
И мне казалось, что в продвинутых материалах могут рассматривать дополнительные возможности вроде задания связей для указателей. Но наверное в самой библиотеке такого нет.
Без этого конечно будет нудновато :((.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306241
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovПридётся, конечно, много понажимать на кнопочки,
программируя методы Save и Load для каждого класса, но такая уж у программистов работа.

А потом оказывается, что в новой версии программы в классах данных чуточку побольше, а
обратную совместимость протокола/сохраненных файлов поддерживать надо. В результате один load превращается в
load_version_1, load_version_2, ... Которые еще и почти одинаковые, тк изменений все-таки не много(пару полей к десятку существующих добавилось).
А потом еще выясняется, что прогу надо спортировать на архитектуру с другой endianness и все эти load_* приходится старательно причесывать на предмет связанных с этим ошибок.

Книжку по Best Practices все-таки хотелось бы.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306251
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonmanking, почитай еще про http://ru.wikipedia.org/wiki/EBML для общего развития
Для общего развития можно читать вообще все, что там же на странице 'Comparison of data serialization formats' упоминается. Вот только это не очень сильно помогает понять, где грабли разложены при попытках написать еще один свой.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306255
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingВообще я использую boost::serialize и там сохранять указатели можно,но там просто пишутся сами данные.
И мне казалось, что в продвинутых материалах могут рассматривать дополнительные возможности вроде задания связей для указателей. Но наверное в самой библиотеке такого нет.
Без этого конечно будет нудновато :((.
В доке boost::serialize есть куча инфы как сохранять связи и прочее .
Прочтите ее для начала. Там язык простой.
А потом уже книги ищите.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306265
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306465
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
manking,

Чтобы снять все вопросы, достаточно, я думаю, изучить код одной из реализаций сереализации в существующих библиотеках.

Я тебе предлагаю поглядеть, как это сделано в библиотеке MFC, там достаточно просто, но все, что надо, есть.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38306667
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беарне Стровструп, "Программирование. Принципы и практика использования C++", главы 10 и 11. Имхо лучше английский вариант, т.к. несмотря на то, что на обложке написано "Исправленное издание!", выборочная проверка сразу же выявляет , что это враньё, с расчётом на замануху очередных покупателей.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38307448
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Dimitry SibiryakovmankingЕсть ли книги в которых подробно показываются различные методики сохранения
разнообразных данных на диск.
Какие ещё методики? Существует ровно один способ сохранения данных на диск:
подготавливается буфер и передаётся специальной функции ОСи. Всё остальное она сделает сама.

А я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38307476
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zвсю жиСТЬ думал
Короткая же у тебя жисть. MMF появились не так уж давно, и всё равно они - костыль.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Книги про сериализацию и сохранение данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]