| 
				
				[РЕШЕНО] YAML или XML ? Конфиги, сохранения
				 | 
 | 
| robertono | Дата: Четверг, 15 Августа 2013, 01:20 | Сообщение # 1 |  
 
Чокнутый Кот 
Сейчас нет на сайте 
 
 | Что лучше использовать для сохранения огромного количества переменных ? XML или YAML ? Чем легче пользоваться? И чем они отличаются ? Мне кажется, визуально - абсолютно ничем! Я прав?
 
 Сообщение отредактировал robertono - Суббота, 17 Августа 2013, 23:11  |  
| 
 | 
 |    | 
| PoqXert | Дата: Четверг, 15 Августа 2013, 03:43 | Сообщение # 2 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Преимущества XML: 
   1. Для XML уже существуют готовые парсеры; 
   2. Можно применять стандартные действия, например, XSLT-преобразования; 
   Недостатки XML: 
   1. Документы на XML неудобны для восприятия человеком. (И не надо, чтобы игрок конфиги читал) 
   2. Документы на XML занимают больше места. 
   Преимущества YAML: 
   1. Удобны для чтения и редактирования человеком; 
   2. Занимают мало места; 
   Недостатки YAML: 
   1. Приходится писать собственный парсер. 
   2. Для каждого нового типа элемента приходится придумывать собственную синтаксическую конструкцию и реализовывать её в парсере. 
   3. Нельзя применять стандартные преобразования. 
   4. Нельзя создавать составные документы.
  Расширения для Unity3D   Блог программиста - PoqXert.ru
 
 Сообщение отредактировал PoqXert - Четверг, 15 Августа 2013, 03:44  |  
| 
 | 
 |    | 
| Dash_Ravo | Дата: Четверг, 15 Августа 2013, 09:12 | Сообщение # 3 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | Самый быстрый путь - знакомый путь. Просто бери, что лучше знаешь. Кое-где потанцуешь с бубном, в любом случае это сделать придется, так что тут выбирать из "делать и кое-где помучиться" и "делать и кое-где помучиться"
 |  
| 
 | 
 |    | 
| Vinchensoo | Дата: Четверг, 15 Августа 2013, 09:17 | Сообщение # 4 |  
 
Злобный социопат с комплексом Бога 
Сейчас нет на сайте 
 
 | Цитата (PoqXert) 1. Приходится писать собственный парсер.        Да есть уже все, даж на википедии лежит. 
   Бери xml. Зачем что-то придумывать? 
   Если количество данных сильно большое и нужно, чтобы они обрабатывались сильно быстро, то лучше использовать какой-нить бинарный формат хранения, а не текстовый.
 
  
 |  
| 
 | 
 |    | 
| Alastar | Дата: Четверг, 15 Августа 2013, 10:18 | Сообщение # 5 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!
  Big Boobs (+18 only!)
 |  
| 
 | 
 |    | 
| afrokick | Дата: Четверг, 15 Августа 2013, 11:44 | Сообщение # 6 |  
 
участник 
Сейчас нет на сайте 
 
 | Цитата (robertono) Что лучше использовать для сохранения огромного количества переменных ?     Цитата (Alastar) Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!    
   Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры.
 |  
| 
 | 
 |    | 
| robertono | Дата: Четверг, 15 Августа 2013, 12:02 | Сообщение # 7 |  
 
Чокнутый Кот 
Сейчас нет на сайте 
 
 | Ну тогда буду использовать xml , так как он мне хорошо знаком и мне просто с ним работать  
 |  
| 
 | 
 |    | 
| Vinchensoo | Дата: Четверг, 15 Августа 2013, 12:05 | Сообщение # 8 |  
 
Злобный социопат с комплексом Бога 
Сейчас нет на сайте 
 
 | Цитата (afrokick) Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры.        Он тоже текстовый. Все зависит от ситуации, что и когда использовать.
 
  
 |  
| 
 | 
 |    | 
| robertono | Дата: Четверг, 15 Августа 2013, 12:14 | Сообщение # 9 |  
 
Чокнутый Кот 
Сейчас нет на сайте 
 
 | Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ?  
 |  
| 
 | 
 |    | 
| Archido | Дата: Четверг, 15 Августа 2013, 12:32 | Сообщение # 10 |  
 
Сэнсэй 
Сейчас нет на сайте 
 
 | Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа. 
   При разработке, конечно, их удобно использовать для "настройки игровых параметров" таки в небольших количествах, но перед продакшеном их, как правило, пересохраняют в бинарник. И почти всегда это xml.
  C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
 |  
| 
 | 
 |    | 
| Vinchensoo | Дата: Четверг, 15 Августа 2013, 12:48 | Сообщение # 11 |  
 
Злобный социопат с комплексом Бога 
Сейчас нет на сайте 
 
 | Цитата (robertono) Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ?        LINQ. Xml- лишь часть возможностей.   Цитата (Archido) Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа.        Иногда геймдизайнеры просят xml, чтобы конфигурировать игровую логику без знаний программирования, кстати.   Но чаще всего это именно конфиги. Т.е. вещи, которые вычитываются 1 раз при старте сервера, а дальше уже хранятся в виде объектов в памяти.   Тогда на накладные расходы можно забить, нет разницы, 9 секунд запускается сервер или 10.  
 
  
 |  
| 
 | 
 |    | 
| smoke_water | Дата: Среда, 11 Сентября 2013, 15:31 | Сообщение # 12 |  
 
был не раз 
Сейчас нет на сайте 
 
 | лучше всего xml
  Час це вода.:)
 |  
| 
 | 
 |    |