powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Книги про сериализацию и сохранение данных.
63 сообщений из 63, показаны все 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
Книги про сериализацию и сохранение данных.
    #38307617
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zА я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM...
Если бы не отличалась, то например такой структуры данных как b-tree (множества других, учитывающих блочность дисков) бы не было :)
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308731
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Anatoly MoskovskyzА я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM...
Если бы не отличалась, то например такой структуры данных как b-tree (множества других, учитывающих блочность дисков) бы не было :)
- Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши...
- FILE это не указатель на массив данных?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308767
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
z- Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши...

Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком.
А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные.

z- FILE это не указатель на массив данных?
Нет. Это не указатель на массив данных
FILE - это буфер для эффективного посимвольного обращения к файлу.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308774
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Anatoly Moskovskyz- Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши...

Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком.
А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные.

z- FILE это не указатель на массив данных?
Нет. Это не указатель на массив данных
FILE - это буфер для эффективного посимвольного обращения к файлу.
Да ну?
Кернигана и Ричи читать. Немедленно!
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308775
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zКернигана и Ричи читать. Немедленно!
Вообще-то по K&R FILE - это структура...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308780
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Anatoly Moskovsky,
"Файловый указатель — это указатель на структуру, содержащую набор данных о файле."
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308783
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
CompositumzКернигана и Ричи читать. Немедленно!
Вообще-то по K&R FILE - это структура...
Почти угадал Токмо не СТРУКТУРА, в указатель.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308784
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zПочти угадал Токмо не СТРУКТУРА, в указатель.
Я не гадаю, а точно знаю. FILE - структура. Указатель обозначается так: FILE*.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308795
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zAnatoly Moskovsky,
"Файловый указатель — это указатель на структуру, содержащую набор данных о файле."
А причем здесь "массив данных"?

А если вдаваться дальше в дебри, то FILE не содержит абсолютно никаких данных о файле (ни размер, ни дата, ни владелец, ни права не могут быть получены из этой структуры данных - только файловый дескриптор можно извлечь, а потом уже из него пытаться это получить, и то не все из этого).
Более того, стандартом не описывается какие поля есть в этой структуре.
Описано только ее назначение - буферизированный ввод/вывод.
Так что это никоим образом ни "массив данных", ни "набор данных о файле"
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308806
я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я
Гость
Anatoly Moskovsky,
Чудны дела твои, ЕГЭ !
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308811
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stdio.h
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
/*
  * The structure underlying the FILE type.
  *
  * Some believe that nobody in their right mind should make use of the
  * internals of this structure. Provided by Pedro A. Aranda Gutiirrez
  * <paag@tid.es>;.
  */
#ifndef _FILE_DEFINED
#define	_FILE_DEFINED
typedef struct _iobuf
{
	char*	_ptr;
	int	_cnt;
	char*	_base;
	int	_flag;
	int	_file;
	int	_charbuf;
	int	_bufsiz;
	char*	_tmpfname;
} FILE;
#endif	/* Not _FILE_DEFINED */


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308815
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Dimitry Sibiryakovstdio.h
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
/*
  * The structure underlying the FILE type.
  *
  * Some believe that nobody in their right mind should make use of the
  * internals of this structure. Provided by Pedro A. Aranda Gutiirrez
  * <paag@tid.es>;.
  */
#ifndef _FILE_DEFINED
#define	_FILE_DEFINED
typedef struct _iobuf
{
	char*	_ptr;
	int	_cnt;
	char*	_base;
	int	_flag;
	int	_file;
	int	_charbuf;
	int	_bufsiz;
	char*	_tmpfname;
} FILE;
#endif	/* Not _FILE_DEFINED */



И что? Ну теперь пример, как писать/читать не через указатель.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308817
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zИ что? Ну теперь пример, как писать/читать не через указатель.
istream\ostream\iostream?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308825
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
CompositumzИ что? Ну теперь пример, как писать/читать не через указатель.
istream\ostream\iostream?
Дескрипторы потока... Дальше.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38308830
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zДескрипторы потока... Дальше.
Что "дальше"? Ты спросил:
zНу теперь пример, как писать/читать не через указатель.
как альтернатива - используя обозначенные мною классы, тогда не придётся заморачиваться с FILE.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309017
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zAnatoly Moskovskyпропущено...

Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком.
А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные.

пропущено...

Нет. Это не указатель на массив данных
FILE - это буфер для эффективного посимвольного обращения к файлу.
Да ну?
Кернигана и Ричи читать. Немедленно!
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309022
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309159
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadВы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож.
mmap это всего лишь абстракция для представления доступа к диску как к памяти. Физических свойств дисков она не отменяет.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309369
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
InkelyadВы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож.
Не забыли. Я с маппированием устройств постоянно занимаюсь, на дню по 20 раз...
Потому и написал, что в концепцию С/С++ специально заложили абстрактную модель ввода/вывода.
И мне, допустим как программисту, трахтором, с какой памятью работать, то ли диск, ОЗУ, NANDFLASH, много чего там...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309446
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zв концепцию С/С++ специально заложили абстрактную модель ввода/вывода.

Которая хороша пока абстрактный программист пишет сферического коня в вакууме.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309449
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zНе забыли. Я с маппированием устройств постоянно занимаюсь, на дню по 20 раз...
Потому и написал, что в концепцию С/С++ специально заложили абстрактную модель ввода/вывода.
И мне, допустим как программисту, трахтором, с какой памятью работать, то ли диск, ОЗУ, NANDFLASH, много чего там...
И потом оказывается, что замапили файл на СХД на другом конце земного шара...
Программисту, конечно, все равно, а вот пользователя программы результат может не устроить.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309455
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме.
Ерунду написали.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309531
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
CompositumDimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме.
Ерунду написали.
Для дельфиниста - намана.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309537
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Dimitry Sibiryakovzв концепцию С/С++ специально заложили абстрактную модель ввода/вывода.

Которая хороша пока абстрактный программист пишет сферического коня в вакууме.

Ветку жар-птицы так засрали, что присесть некуда. Тут погадить решили?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309571
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Ну м по сути топика:
нет единого рецепта, да и быть не может.
Опредилитесь, что делать то нужно?
Обмен данными - XML (TinyXML вполне закроет потребность, процентов в 80-90 случаях мне хватает XML из wx)
Что то иное - думайте сами...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309594
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumDimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме.
Ерунду написали.
Откуда инфа? Из уроков по основам С++?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309598
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyОткуда инфа? Из уроков по основам С++?
Т.е. вы согласны с Dimitry Sibiryakov?
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309616
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumТ.е. вы согласны с Dimitry Sibiryakov?
Я согласен с тем, что абстракций С++ недостаточно для написания эффективных программ.
Во многих случаях нужно знать больше (например принцип действия оборудования)
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309621
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЯ согласен с тем, что абстракций С++ недостаточно для написания эффективных программ.
Во многих случаях нужно знать больше (например принцип действия оборудования)
Абстракции для того и создавались, чтобы скрыть подобного рода особенности. Если вы будете писать код, ориентированный на конкретное оборудование, то существует вероятность того, что только с этим оборудованием он и будет работать.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309633
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumАбстракции для того и создавались, чтобы скрыть подобного рода особенности.угу, закон дырявых абстракций , только, не забываем
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309639
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,

Я не говорил писать под конкретное оборудование.
Но учитывать принцип действия оборудования надо.
Например диски - блочные устройства. Если вы не будете это учитывать, то максимального эффекта не достигнете, хоть по 20 раз на день занимайтесь мапированием устройств в память :)

Или например скорость доступа к памяти зависит от выравнивания в памяти и в кэшах.
Или например что у SSD скорость перезаписи не равна скорости записи, как у HDD.
Здесь про конкретное оборудование речь не идет, а идет про классы устройств.
С/С++ про это ничего не говорит.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309700
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

В подобных случаях, насколько я понимаю, вы напишете свой вариант реализации потоков, учитывающий физические особенности вашего оборудования. Однако в коде, который будет пользоваться вашим классом, вы, скорее всего, будете использовать ссылки вроде istream& , дабы в случае необходимости можно было быстро подставить любой источник: консольный ввод, обычный файловый ввод, либо же ваш оптимизированный файловый ввод, заточенный под ваше оборудование.

При этом основной код получается абстрагированным от конкретной реализации потока и, даже если реализация вашего класса пока не готова то, тем не менее, программа может работать используя обычный ifstream, пусть и не такой быстрый как специализированный.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309746
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Compositum,

Тут уже давно пытаются сказать, что 'оптимизировать под оборудование' - это может быть не только оптимизированный вариант iostream, но может вынуждать к использованию различных алгоритмов уровнем выше.

Пример: возьмем mmap здоровенного файла на архивном массиве из магнитных лент. И попытаемся отсортировать полученный кусок 'памяти' при помощи обычных быстрых алгоритмов. Внезапно вся процедура оказывается совсем не такой быстрой, какой могла бы быть.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309749
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Anatoly MoskovskyCompositum,

Я не говорил писать под конкретное оборудование.
Но учитывать принцип действия оборудования надо.
Например диски - блочные устройства. Если вы не будете это учитывать, то максимального эффекта не достигнете, хоть по 20 раз на день занимайтесь мапированием устройств в память :)

Или например скорость доступа к памяти зависит от выравнивания в памяти и в кэшах.
Или например что у SSD скорость перезаписи не равна скорости записи, как у HDD.
Здесь про конкретное оборудование речь не идет, а идет про классы устройств.
С/С++ про это ничего не говорит.
Вернемся к сериализации. Идея то и возникла из желания унифицировать обмен данными. Т.е. по сути - абстрагироваться от реализаций (приложений), железа и пр. Я не прав?
Про скорость HDD: я вас уверяю, что на дисковых массивах скорость не будет отличаться от SDD. И в том и в другом случае все упрется в канал. Здесь уже рулит экономика и мода. Да и оптимизировать обращение к стораджу... это особым талантом нужно обладать. Опять - абстракция...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309769
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
InkelyadCompositum,

Тут уже давно пытаются сказать, что 'оптимизировать под оборудование' - это может быть не только оптимизированный вариант iostream, но может вынуждать к использованию различных алгоритмов уровнем выше.

Пример: возьмем mmap здоровенного файла на архивном массиве из магнитных лент. И попытаемся отсортировать полученный кусок 'памяти' при помощи обычных быстрых алгоритмов. Внезапно вся процедура оказывается совсем не такой быстрой, какой могла бы быть.
Все относительно. и про ленты тоже. Ибо производители оборудования, ленточных библиотек в частности тоже работают. Установка нужной ленты в привод не более минуты. Скорость поиска метки файла не более 40 сек. Обмен данными 600 и более мбайт/сек.
Как видим и эти "засранцы" стремятся к абстрации...
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38309862
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositumнапишете свой вариант реализации потоков, учитывающий физические особенности вашего оборудования
Нет. Применю алгоритм который спроектирован с учетом особенностей оборудования.
Например есть специальные аглоритмы для сортировки данных на ленте, которые учитывают что позиционирование по ленте медленное, а последовательный доступ - быстрый.
Этот алгоритм может использовать те же самые потоки С++.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38310296
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбрал boost::serialization.
Оказалось ничего сложного нет.

Про восстановление связи указателей ничего не нашел(хотя в самих созданных архивах XML формата вроде бы есть параметры в тэгах где указаны id исходного объекта. Но как их задавать не нашел инфо), но их довольно просто восстановить вручную.

Проблемы есть только с особыми данными вроде boost graph (boost::graph_traits, boost::property_map),пока не знаю как это в файл поместить.
...
Рейтинг: 0 / 0
Книги про сериализацию и сохранение данных.
    #38310315
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingВыбрал boost::serialization.
Правильное решение.
mankingПро восстановление связи указателей ничего не нашел(хотя в самих созданных архивах XML формата вроде бы есть параметры в тэгах где указаны id исходного объекта. Но как их задавать не нашел инфо), но их довольно просто восстановить вручную.
Не надо в ручную. Пожалейте если не своих коллег, кто будет после вас работать с этим кодом, то хотя бы себя через полгода :)
Разбирайтесь дальше с boost::serialization.
Я к сожалению ничем не смогу помочь, т.к. давно туда не лазил, а времени копаться нет.
Но никаких сложностей со связями не должно быть.
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Книги про сериализацию и сохранение данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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