Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Есть ли книги в которых подробно показываются различные методики сохранения разнообразных данных на диск. То есть чтобы понять какие проблемы могут быть, в чём сложности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2013, 21:23 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
спецификациии TIFF, EXIF, DNG, MPEG-4 Part 14, AVI, MKV, RTF, BIFF ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2013, 21:33 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Изопропилспецификациии TIFF, EXIF, DNG, MPEG-4 Part 14, AVI, MKV, RTF, BIFF ..... Ух.. Не хочу читать спецификации. Есть ли книги на русском с подробным объяснением и рассуждением? Ну или хотя бы, в крайнем случаи если уж совсем пусто то на английском техническом(без лишней ненужной воды). Например подробно про boost::serialize? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2013, 21:42 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Сериализация как наука - неинтересна IMHO. Потому как там нет науки. А вот оптимизация доступа для специализированных типов файлов - такое думаю есть. Для баз данных. Блочный доступ. Random access. Serial access. Дисковая сортировка. Различные режимы OS для открытия файлов. Блокировки. Файловые системы. Это важнее и интереснее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2013, 23:53 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingЕсть ли книги в которых подробно показываются различные методики сохранения разнообразных данных на диск. Какие ещё методики? Существует ровно один способ сохранения данных на диск: подготавливается буфер и передаётся специальной функции ОСи. Всё остальное она сделает сама. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 00:03 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmankingЕсть ли книги в которых подробно показываются различные методики сохранения разнообразных данных на диск. Какие ещё методики? ... Ну я думал будет понятно, что речь идёт о записи определенной совокупности структур и классов данных из памяти на накопитель. То есть как сохранения в играх. maytonСериализация как наука - неинтересна IMHO. Потому как там нет науки. Нет, ну если у меня пара структур с 5 переменными то проблем нет. Быстро записал их, затем загрузил в том же порядке. Но ведь если структур порядка 50, в каждой в среднем по 10 данных(есть сложные stl конструкции которые содержат другие указатели на другие структуры). Есть ООП с наследованием. Вот такое же, от балды не сохранишь. А если сохранишь то получишь множество несоответствий при загрузке. Или это просто догадки и здесь сложности особой нет? Просто не хочется потом рефакторить этот код, из-за того что невнимательно изучил процесс, поэтому и спрашиваю. Вот есть такая книга Мартина Фаулера "Рефакторинг". И там очень грамотно книга разбита на множество проблем, показана проблема и идёт решение. Может что то подобное есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 00:42 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingИли это просто догадки и здесь сложности особой нет? Может и есть, но лично я её не вижу. Придётся, конечно, много понажимать на кнопочки, программируя методы Save и Load для каждого класса, но такая уж у программистов работа. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 01:15 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingНо ведь если структур порядка 50, в каждой в среднем по 10 данных(есть сложные stl конструкции которые содержат другие указатели на другие структуры). Есть ООП с наследованием. Вот такое же, от балды не сохранишь. А если сохранишь то получишь множество несоответствий при загрузке. Сохраняй данные. Не сохраняй указатели. Сохраняй данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 01:17 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
White Owl, хорошая мантра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 01:23 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
maytonWhite Owl, хорошая мантра.Теперь бы еще manking её понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 01:28 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Ну а как быть в такой ситуации? Я бы сразу понял правильно понимаю сериализация или это нечто другое. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 01:45 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankinga.save(); // сохраняю key int, и у меня есть пара для него указатель на B*. Что в данном случаи делать? Разумеется, сохранять соответствующие B, что же ещё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 02:53 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
MasterZivРазумеется, сохранять соответствующие B, что же ещё... То есть нужно дублировать данные? Но ведь когда восстановлю vector<B> vec; и задам например vector[4].переменная = 7; То map<int,B*> map_arr[10], который ссылался на vector[4], будет ссылаться на что то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 12:05 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingТо есть нужно дублировать данные? Нет, достаточно вообще не сохранять B*, а строить связи заново при загрузке. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 12:10 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingMasterZivРазумеется, сохранять соответствующие B, что же ещё... То есть нужно дублировать данные? Но ведь когда восстановлю vector<B> vec; и задам например vector[4].переменная = 7; То map<int,B*> map_arr[10], который ссылался на vector[4], будет ссылаться на что то другое? Зачем дублировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 12:19 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 12:31 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНет, достаточно вообще не сохранять B*, а строить связи заново при загрузке. А.. ну понятно. Вообще я использую boost::serialize и там сохранять указатели можно,но там просто пишутся сами данные. И мне казалось, что в продвинутых материалах могут рассматривать дополнительные возможности вроде задания связей для указателей. Но наверное в самой библиотеке такого нет. Без этого конечно будет нудновато :((. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 12:47 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПридётся, конечно, много понажимать на кнопочки, программируя методы Save и Load для каждого класса, но такая уж у программистов работа. А потом оказывается, что в новой версии программы в классах данных чуточку побольше, а обратную совместимость протокола/сохраненных файлов поддерживать надо. В результате один load превращается в load_version_1, load_version_2, ... Которые еще и почти одинаковые, тк изменений все-таки не много(пару полей к десятку существующих добавилось). А потом еще выясняется, что прогу надо спортировать на архитектуру с другой endianness и все эти load_* приходится старательно причесывать на предмет связанных с этим ошибок. Книжку по Best Practices все-таки хотелось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 14:02 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
maytonmanking, почитай еще про http://ru.wikipedia.org/wiki/EBML для общего развития Для общего развития можно читать вообще все, что там же на странице 'Comparison of data serialization formats' упоминается. Вот только это не очень сильно помогает понять, где грабли разложены при попытках написать еще один свой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 14:07 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingВообще я использую boost::serialize и там сохранять указатели можно,но там просто пишутся сами данные. И мне казалось, что в продвинутых материалах могут рассматривать дополнительные возможности вроде задания связей для указателей. Но наверное в самой библиотеке такого нет. Без этого конечно будет нудновато :((. В доке boost::serialize есть куча инфы как сохранять связи и прочее . Прочтите ее для начала. Там язык простой. А потом уже книги ищите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 14:10 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 14:15 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
manking, Чтобы снять все вопросы, достаточно, я думаю, изучить код одной из реализаций сереализации в существующих библиотеках. Я тебе предлагаю поглядеть, как это сделано в библиотеке MFC, там достаточно просто, но все, что надо, есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 15:53 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Беарне Стровструп, "Программирование. Принципы и практика использования C++", главы 10 и 11. Имхо лучше английский вариант, т.к. несмотря на то, что на обложке написано "Исправленное издание!", выборочная проверка сразу же выявляет , что это враньё, с расчётом на замануху очередных покупателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2013, 17:52 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmankingЕсть ли книги в которых подробно показываются различные методики сохранения разнообразных данных на диск. Какие ещё методики? Существует ровно один способ сохранения данных на диск: подготавливается буфер и передаётся специальной функции ОСи. Всё остальное она сделает сама. А я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2013, 17:07 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zвсю жиСТЬ думал Короткая же у тебя жисть. MMF появились не так уж давно, и всё равно они - костыль. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2013, 17:56 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zА я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM... Если бы не отличалась, то например такой структуры данных как b-tree (множества других, учитывающих блочность дисков) бы не было :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2013, 22:39 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyzА я то, темный, всю жиСТЬ думал, что модель дисковой памяти ( для программиста ) по сути ничем не отличается от RAM... Если бы не отличалась, то например такой структуры данных как b-tree (множества других, учитывающих блочность дисков) бы не было :) - Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши... - FILE это не указатель на массив данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 20:48 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
z- Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши... Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком. А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные. z- FILE это не указатель на массив данных? Нет. Это не указатель на массив данных FILE - это буфер для эффективного посимвольного обращения к файлу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 21:41 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyz- Блочность дисков? как это коррелирует с seek/lseek ? Да хоть по одному байту читай/пиши... Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком. А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные. z- FILE это не указатель на массив данных? Нет. Это не указатель на массив данных FILE - это буфер для эффективного посимвольного обращения к файлу. Да ну? Кернигана и Ричи читать. Немедленно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 21:51 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zКернигана и Ричи читать. Немедленно! Вообще-то по K&R FILE - это структура... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 21:56 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, "Файловый указатель — это указатель на структуру, содержащую набор данных о файле." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 21:59 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumzКернигана и Ричи читать. Немедленно! Вообще-то по K&R FILE - это структура... Почти угадал Токмо не СТРУКТУРА, в указатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:00 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zПочти угадал Токмо не СТРУКТУРА, в указатель. Я не гадаю, а точно знаю. FILE - структура. Указатель обозначается так: FILE*. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:03 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zAnatoly Moskovsky, "Файловый указатель — это указатель на структуру, содержащую набор данных о файле." А причем здесь "массив данных"? А если вдаваться дальше в дебри, то FILE не содержит абсолютно никаких данных о файле (ни размер, ни дата, ни владелец, ни права не могут быть получены из этой структуры данных - только файловый дескриптор можно извлечь, а потом уже из него пытаться это получить, и то не все из этого). Более того, стандартом не описывается какие поля есть в этой структуре. Описано только ее назначение - буферизированный ввод/вывод. Так что это никоим образом ни "массив данных", ни "набор данных о файле" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:20 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, Чудны дела твои, ЕГЭ ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:35 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
stdio.h Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:40 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
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. И что? Ну теперь пример, как писать/читать не через указатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:45 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zИ что? Ну теперь пример, как писать/читать не через указатель. istream\ostream\iostream? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:52 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumzИ что? Ну теперь пример, как писать/читать не через указатель. istream\ostream\iostream? Дескрипторы потока... Дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 22:58 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zДескрипторы потока... Дальше. Что "дальше"? Ты спросил: zНу теперь пример, как писать/читать не через указатель. как альтернатива - используя обозначенные мною классы, тогда не придётся заморачиваться с FILE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2013, 23:04 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zAnatoly Moskovskyпропущено... Вот ваш алгоритм читает из файла число размером в несколько байтов не заботясь о блоках. И если это число находится частично в одном блоке, частично в другом, то будут считаны оба блока, хотя при правильном выравнивании можно было бы обойтись и одним блоком. А алгоритмы, которые знают про блоки, размещают данные так чтобы минимизировать число блоков в которых находятся зависимые друг от друга данные. пропущено... Нет. Это не указатель на массив данных FILE - это буфер для эффективного посимвольного обращения к файлу. Да ну? Кернигана и Ричи читать. Немедленно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 09:45 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Вы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 09:53 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
InkelyadВы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож. mmap это всего лишь абстракция для представления доступа к диску как к памяти. Физических свойств дисков она не отменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 11:24 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
InkelyadВы, товарищи, еще про существование mmap забыли. Результат работы которого ну никак на поток данных не похож. Не забыли. Я с маппированием устройств постоянно занимаюсь, на дню по 20 раз... Потому и написал, что в концепцию С/С++ специально заложили абстрактную модель ввода/вывода. И мне, допустим как программисту, трахтором, с какой памятью работать, то ли диск, ОЗУ, NANDFLASH, много чего там... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 12:46 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zв концепцию С/С++ специально заложили абстрактную модель ввода/вывода. Которая хороша пока абстрактный программист пишет сферического коня в вакууме. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 13:19 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
zНе забыли. Я с маппированием устройств постоянно занимаюсь, на дню по 20 раз... Потому и написал, что в концепцию С/С++ специально заложили абстрактную модель ввода/вывода. И мне, допустим как программисту, трахтором, с какой памятью работать, то ли диск, ОЗУ, NANDFLASH, много чего там... И потом оказывается, что замапили файл на СХД на другом конце земного шара... Программисту, конечно, все равно, а вот пользователя программы результат может не устроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 13:22 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме. Ерунду написали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 13:25 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumDimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме. Ерунду написали. Для дельфиниста - намана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 14:08 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovzв концепцию С/С++ специально заложили абстрактную модель ввода/вывода. Которая хороша пока абстрактный программист пишет сферического коня в вакууме. Ветку жар-птицы так засрали, что присесть некуда. Тут погадить решили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 14:13 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Ну м по сути топика: нет единого рецепта, да и быть не может. Опредилитесь, что делать то нужно? Обмен данными - XML (TinyXML вполне закроет потребность, процентов в 80-90 случаях мне хватает XML из wx) Что то иное - думайте сами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 14:35 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumDimitry SibiryakovКоторая хороша пока абстрактный программист пишет сферического коня в вакууме. Ерунду написали. Откуда инфа? Из уроков по основам С++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 14:48 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyОткуда инфа? Из уроков по основам С++? Т.е. вы согласны с Dimitry Sibiryakov? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 14:52 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumТ.е. вы согласны с Dimitry Sibiryakov? Я согласен с тем, что абстракций С++ недостаточно для написания эффективных программ. Во многих случаях нужно знать больше (например принцип действия оборудования) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:03 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЯ согласен с тем, что абстракций С++ недостаточно для написания эффективных программ. Во многих случаях нужно знать больше (например принцип действия оборудования) Абстракции для того и создавались, чтобы скрыть подобного рода особенности. Если вы будете писать код, ориентированный на конкретное оборудование, то существует вероятность того, что только с этим оборудованием он и будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:07 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
CompositumАбстракции для того и создавались, чтобы скрыть подобного рода особенности.угу, закон дырявых абстракций , только, не забываем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:14 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Compositum, Я не говорил писать под конкретное оборудование. Но учитывать принцип действия оборудования надо. Например диски - блочные устройства. Если вы не будете это учитывать, то максимального эффекта не достигнете, хоть по 20 раз на день занимайтесь мапированием устройств в память :) Или например скорость доступа к памяти зависит от выравнивания в памяти и в кэшах. Или например что у SSD скорость перезаписи не равна скорости записи, как у HDD. Здесь про конкретное оборудование речь не идет, а идет про классы устройств. С/С++ про это ничего не говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:17 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, В подобных случаях, насколько я понимаю, вы напишете свой вариант реализации потоков, учитывающий физические особенности вашего оборудования. Однако в коде, который будет пользоваться вашим классом, вы, скорее всего, будете использовать ссылки вроде istream& , дабы в случае необходимости можно было быстро подставить любой источник: консольный ввод, обычный файловый ввод, либо же ваш оптимизированный файловый ввод, заточенный под ваше оборудование. При этом основной код получается абстрагированным от конкретной реализации потока и, даже если реализация вашего класса пока не готова то, тем не менее, программа может работать используя обычный ifstream, пусть и не такой быстрый как специализированный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:42 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Compositum, Тут уже давно пытаются сказать, что 'оптимизировать под оборудование' - это может быть не только оптимизированный вариант iostream, но может вынуждать к использованию различных алгоритмов уровнем выше. Пример: возьмем mmap здоровенного файла на архивном массиве из магнитных лент. И попытаемся отсортировать полученный кусок 'памяти' при помощи обычных быстрых алгоритмов. Внезапно вся процедура оказывается совсем не такой быстрой, какой могла бы быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:58 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyCompositum, Я не говорил писать под конкретное оборудование. Но учитывать принцип действия оборудования надо. Например диски - блочные устройства. Если вы не будете это учитывать, то максимального эффекта не достигнете, хоть по 20 раз на день занимайтесь мапированием устройств в память :) Или например скорость доступа к памяти зависит от выравнивания в памяти и в кэшах. Или например что у SSD скорость перезаписи не равна скорости записи, как у HDD. Здесь про конкретное оборудование речь не идет, а идет про классы устройств. С/С++ про это ничего не говорит. Вернемся к сериализации. Идея то и возникла из желания унифицировать обмен данными. Т.е. по сути - абстрагироваться от реализаций (приложений), железа и пр. Я не прав? Про скорость HDD: я вас уверяю, что на дисковых массивах скорость не будет отличаться от SDD. И в том и в другом случае все упрется в канал. Здесь уже рулит экономика и мода. Да и оптимизировать обращение к стораджу... это особым талантом нужно обладать. Опять - абстракция... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 15:59 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
InkelyadCompositum, Тут уже давно пытаются сказать, что 'оптимизировать под оборудование' - это может быть не только оптимизированный вариант iostream, но может вынуждать к использованию различных алгоритмов уровнем выше. Пример: возьмем mmap здоровенного файла на архивном массиве из магнитных лент. И попытаемся отсортировать полученный кусок 'памяти' при помощи обычных быстрых алгоритмов. Внезапно вся процедура оказывается совсем не такой быстрой, какой могла бы быть. Все относительно. и про ленты тоже. Ибо производители оборудования, ленточных библиотек в частности тоже работают. Установка нужной ленты в привод не более минуты. Скорость поиска метки файла не более 40 сек. Обмен данными 600 и более мбайт/сек. Как видим и эти "засранцы" стремятся к абстрации... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 16:08 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Compositumнапишете свой вариант реализации потоков, учитывающий физические особенности вашего оборудования Нет. Применю алгоритм который спроектирован с учетом особенностей оборудования. Например есть специальные аглоритмы для сортировки данных на ленте, которые учитывают что позиционирование по ленте медленное, а последовательный доступ - быстрый. Этот алгоритм может использовать те же самые потоки С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 16:34 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
Выбрал boost::serialization. Оказалось ничего сложного нет. Про восстановление связи указателей ничего не нашел(хотя в самих созданных архивах XML формата вроде бы есть параметры в тэгах где указаны id исходного объекта. Но как их задавать не нашел инфо), но их довольно просто восстановить вручную. Проблемы есть только с особыми данными вроде boost graph (boost::graph_traits, boost::property_map),пока не знаю как это в файл поместить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 21:08 |
|
||
|
Книги про сериализацию и сохранение данных.
|
|||
|---|---|---|---|
|
#18+
mankingВыбрал boost::serialization. Правильное решение. mankingПро восстановление связи указателей ничего не нашел(хотя в самих созданных архивах XML формата вроде бы есть параметры в тэгах где указаны id исходного объекта. Но как их задавать не нашел инфо), но их довольно просто восстановить вручную. Не надо в ручную. Пожалейте если не своих коллег, кто будет после вас работать с этим кодом, то хотя бы себя через полгода :) Разбирайтесь дальше с boost::serialization. Я к сожалению ничем не смогу помочь, т.к. давно туда не лазил, а времени копаться нет. Но никаких сложностей со связями не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2013, 21:32 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2020128]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 10ms |
| total: | 177ms |

| 0 / 0 |
