The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Открыты исходные тексты игрового движка Storm, opennews (??), 02-Апр-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (1), 02-Апр-21, 20:46 
"систему файлов конфигурации в формате ".ini" на JSON"

Все, красный свет, закрывайте лавочку...

А если серъезно, то JSON и конфигурация это немного разные понятия)
Если у вас есть ".ini" то возьмите TOML чтоли....

Ответить | Правка | Наверх | Cообщить модератору

11. "Открыты исходные тексты игрового движка Storm"  –21 +/
Сообщение от Аноним (11), 02-Апр-21, 21:26 
не осилил? ini давно пора похоронить за плинтусом
Ответить | Правка | Наверх | Cообщить модератору

21. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (21), 02-Апр-21, 21:51 
> не осилил?

«Корсары: Чёрная Метка» оказалась неподъёмным грузом и убила студию - https://kg-portal.ru/comments/88075-korsary-chernaja-metka-o.../

Ответить | Правка | Наверх | Cообщить модератору

94. "Открыты исходные тексты игрового движка Storm"  +2 +/
Сообщение от Аноним (-), 03-Апр-21, 12:05 
> «Корсары: Чёрная Метка» оказалась неподъёмным грузом и убила студию

Как вы яхту назовете...

Ответить | Правка | Наверх | Cообщить модератору

24. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (24), 02-Апр-21, 22:32 
Давай теперь в pdf конфиги держать. Только отбитые будут конфиги сохранять в лагучем json.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

27. "Открыты исходные тексты игрового движка Storm"  +13 +/
Сообщение от bergentroll (ok), 02-Апр-21, 22:57 
Так вот чего веб тормозит. Это JSON лагает.
Ответить | Правка | Наверх | Cообщить модератору

51. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от КО (?), 03-Апр-21, 04:53 
Представь себе, куча зависимостей ради пары строчек кода - гениально, не правда ли?
Где же я это уже видел...
Ответить | Правка | Наверх | Cообщить модератору

90. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Урри (ok), 03-Апр-21, 11:59 
json тут при чем?
Ответить | Правка | Наверх | Cообщить модератору

101. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (-), 03-Апр-21, 12:22 
> json тут при чем?

При том что без либы не парсится. А чтоб еще и более-менее полноценно его абстракции реконструировать... хм... нет, если у вас браузер с жыэс он это сделает конечно :)

Ответить | Правка | Наверх | Cообщить модератору

136. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (11), 04-Апр-21, 07:09 
Прекрасно там всё парсится. Простые варианты вообще регулярками обходятся на ура. А если вы не знаете каким боком json до js, то это значит что вы к программированию примерно никаким боком и просто ерунду несёте
Ответить | Правка | Наверх | Cообщить модератору

148. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (-), 04-Апр-21, 11:52 
> Прекрасно там всё парсится. Простые варианты вообще регулярками обходятся на ура.

1) Регулярки гарантируют плохо предсказуемый перфоманс и странные факапы на краевых случаях, если вы не офигеть какой эксперт в этом.
2) "простые варианты" являются голимым субсетом а не JSON. Это не прожует arbitrary input и сломается.
3) Кстати в этом месте имею честь вернуть господам плюющимся на субдиалекты ini должок, чем это отличается? Утизмом?

> А если вы не знаете каким боком json до js, то это значит что вы к программированию
> примерно никаким боком и просто ерунду несёте

Там, как бы, в его названии все сказано. Во я Кэп.

Ответить | Правка | Наверх | Cообщить модератору

169. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (169), 06-Апр-21, 21:45 
Да. Вместо изобретения велосипеда для разбора конфигурации можно взять готовую библиотеку
Data mapping из json возможен даже в c++
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

68. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (-), 03-Апр-21, 08:42 
Еще бы он не лагал. Число 123 в бинарном формате занимает 1 байт и парсится за 1 команду проца по сути, в JSON - минимум три, плюс еще обвес, а выколупывание этого барахла займет 100500 инструкций.

Собссно по этой причине все кого интересовала эффективность и занялись бинарными протоколами, начиная с HTTP/2 и заканчивая телеговским мобильным протоколом. Да-да, даже смузижоры понимают в чем прикол, если встает вопрос об оплате этого нетормозит "из своих".

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

76. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Rus (??), 03-Апр-21, 09:18 
json имеет древовидную структуру, это полезно для хранения больших конфигов с множеством объектов. Да и парсится он не труднее ini
Ответить | Правка | Наверх | Cообщить модератору

81. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (-), 03-Апр-21, 11:20 
За "большие конфиги с множеством объектов" надо вообще кое-что отрывать, чтобы так делать было неповадно.
Ответить | Правка | Наверх | Cообщить модератору

110. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от YetAnotherOnanym (ok), 03-Апр-21, 14:35 
Ну зачем же. Сложный конфиг, в котором реализована логика работы программы, иногда даже на собственном языке, при том, что программа - это, фактически, интерпретатор этого конфига, достаточно простая сама по себе - такой подход тоже имеет право на существование и имеет свои преимущества.
Ответить | Правка | Наверх | Cообщить модератору

119. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 17:00 
> Ну зачем же. Сложный конфиг, в котором реализована логика работы программы, иногда
> даже на собственном языке, при том, что программа - это, фактически,
> интерпретатор этого конфига, достаточно простая сама по себе - такой подход
> тоже имеет право на существование и имеет свои преимущества.

Довольно специфичный подход. Ну и в весноте по этому поводу сделали как раз ini-like конфиги на простой случай а потом луа на сложный. И таки отдельные сценарии вменяемого размера.

...но положа руку на сердце, даже со всеми костылинами типа кэша, перфоманс Loading вот этого всего вот, даже на *быстром* компе, с SSDшника - оставляет желать много лучшего, мягко говоря. Жестко говоря, ждать полторы минуты ребилда кэша после установки аддона на такой конфиге и вообше гребаный стыд. У профессиональных игроделов в принципе таких времянок подобных операций не быает.

Ответить | Правка | Наверх | Cообщить модератору

91. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Урри (ok), 03-Апр-21, 12:01 
При чем тут json к http протоколу?

Вы там, в своей анонимэляндии, совсем дно необразованности пробили?

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

102. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 12:24 
> При чем тут json к http протоколу?

При том что сам по себе он - формат представления объектов JS. И не то чтобы сильно удачно маппится на другие языки и/или удобный в парсинге в произвольном виде.

> Вы там, в своей анонимэляндии, совсем дно необразованности пробили?

Это мощный аргумент вашей правоты.

Ответить | Правка | Наверх | Cообщить модератору

111. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от msgod (ok), 03-Апр-21, 14:37 
Нормально он мапится.
Хватит чушь нести
Ответить | Правка | Наверх | Cообщить модератору

120. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 17:03 
> Нормально он мапится.

Ниоткуда не сделует. Но вы можете показать это на примере, допустим, си.

> Хватит чушь нести

Так и не несите.

Ответить | Правка | Наверх | Cообщить модератору

113. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (113), 03-Апр-21, 15:17 
Ну храните в CBOR, спецально формат сделан с целью максимально плотной упаковки.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

126. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (126), 03-Апр-21, 18:54 
потому что в json кодировка как правила unicode, как и в js. Или юникод не нужен? Разве в XML не нужно примерно столько же инструкций?
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

150. "Открыты исходные тексты игрового движка Storm"  +2 +/
Сообщение от Аноним (-), 04-Апр-21, 12:27 
> потому что в json кодировка как правила unicode, как и в js.

Эксперты от яваскрипта пробили новое дно - вы вообще не понимаете как компьютеры реально хранят и обрабатывают информацию.

> Или юникод не нужен?

Для хранения и передачи integer'ов?! Примерно как для зайца стопсигнал.

> Разве в XML не нужно примерно столько же инструкций?

Да там даже и побольше бывает, а если еще всякие XSLT трансформации захотеть, там нехилая такая либа на несколько мегов образуется. Собственно по каким-то таким причинам на XML забили даже в XHR, больно уж полный вариант парсинга не прикольно жевать в arbitrary допущениях :D

Ответить | Правка | Наверх | Cообщить модератору

122. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 17:47 
json не умеет в комментарии
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

165. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (169), 05-Апр-21, 07:46 
Json5 умеет
Ответить | Правка | Наверх | Cообщить модератору

144. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (144), 04-Апр-21, 11:25 
>  ini давно пора похоронить за плинтусом

где же ты был когда потный Лёнька свою системдю начинал писать?

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

18. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Урри (ok), 02-Апр-21, 21:48 
Чем toml принципиально отличается от json? Ну, кроме того что для него нету библиотек, а для json их тонны разной степени оптимизированности и удобства?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

31. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (31), 02-Апр-21, 23:33 
Жсон, кстати, на практике, очень прекрасен для сериализации, и сжимается замечательно тем же deflate (только вчера сравнивал, из файла в 500мб получается файл 5мб, у всех альтернатив было ближе к 15мб). По скорости, ну, msgpack чуть быстрее, но он куда хуже жмётся. Не пробовал simdjson, тот и быстрее наверно. Главное, не использовать его как рокстары в их гта5.
Ответить | Правка | Наверх | Cообщить модератору

36. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Урри (ok), 03-Апр-21, 00:12 
Текст он и есть текст, как текст так и жмется.
Имхо yaml приятнее - не надо в строках экранировать ("). Но зато дебильнее, ибо требует отступы, а джейсон - нет.

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

Ответить | Правка | Наверх | Cообщить модератору

80. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от InuYasha (??), 03-Апр-21, 11:12 
Аксиома эскобара или теорема обмена шила на мыло.
Ответить | Правка | Наверх | Cообщить модератору

42. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (42), 03-Апр-21, 00:58 
Жмется даже лучше protobuf?
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

62. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (169), 03-Апр-21, 07:50 
Надо хранить конфигурацию в protobuf!
Ответить | Правка | Наверх | Cообщить модератору

71. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 08:47 
Если ее 500 мегов, об этом наверное стоит задуматься. OSM'щикам правда потребовалось сколько-то гигов чтобы осознать ошибки :)
Ответить | Правка | Наверх | Cообщить модератору

92. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Урри (ok), 03-Апр-21, 12:03 
Который ни прочитать, ни проверить, ни ошибку в случае чего найти.

Нет, спасибо. Конфиги никогда не были узким местом софта и тратить на них львиную часть времени разработчика - спасибо, не надо.

Даже игрописатели уже лет 20 как перешли на текстовые форматы со своих хитровыдоюченых бинарников, хотя казалось-бы вот где оптимизация во главе угла.

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

103. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 12:29 
> Который ни прочитать, ни проверить, ни ошибку в случае чего найти.

Так в этом плане INI как раз проще всего. Полная и честная валидация JSON - довольно таки рокетсайнс.

> Нет, спасибо. Конфиги никогда не были узким местом софта и тратить на
> них львиную часть времени разработчика - спасибо, не надо.

Именно протобуф, именно для конфигов - это все же как-то экзотика.

> Даже игрописатели уже лет 20 как перешли на текстовые форматы со своих
> хитровыдоюченых бинарников, хотя казалось-бы вот где оптимизация во главе угла.

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

Ну вон SSDшник ps5 + хардварный анпакер одного из radgametools'овских проприентарных форматов может что-то типа 5 Гб/сек выжать. Как ты понимаешь, у про вообще совсем другие времена loading и парсинга их ассетов, даже в ультра-качестве, на котором твой крап подохнет жесточайшей смертью. Впрочем, конфигов это естественно не касается, их для начала не должно сотнями мегов быть.

Ответить | Правка | Наверх | Cообщить модератору

70. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 08:46 
> прекрасен для сериализации, и сжимается замечательно тем же deflate (только вчера
> сравнивал, из файла в 500мб получается файл 5мб,

Это пока не попробуешь все это парсить и не очешуеешь от "эффективности" этого процесса.

А то что он текстовый, эм, лол, для начала сколько эдиторов на этой планете вообще 500 меговый JSON прожует?

Если кто не понял, OSM примерно на эти грабли и наступили. Только XML'ка и до 250 Гб разогналась. Ее конечно можно сжать, но декомпрессить 250 гигз одним чихом - еще интереснее чем 500 мегз.

В какой-то момент их терпение лопнуло и они сделали формат PBF. Который и весил при тех же условиях 20Гб и сжатие есть и процессить можно по кусочкам вменяемого размера, а не одним мега-шмотком 250Гб.

В общем вы привели отличный пример ЛАМЕРСКОГО подхода к работе с данными.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

78. "Открыты исходные тексты игрового движка Storm"  –2 +/
Сообщение от Аноним (31), 03-Апр-21, 09:44 
Так иногда большего и не нужно. Прекрасный формат для ипц, сохранения каких-то структур, передачи их по сети. Не для хранения сотен гигабайт понятно, но несколько гигабайт которые потом помещаются целиком в память - вполне. Хотя стримить жсон тоже можно, вполне вероятно, даже лучше xml будет. Так получается 50 гб надёжного жсон или 20гб костыльного бинаря, в котором могут быть ошибки.
Ответить | Правка | Наверх | Cообщить модератору

83. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (-), 03-Апр-21, 11:39 
> Так иногда большего и не нужно.

Если _уже_ есть 500 мегов гамна - ну, э, вы таки пробовали хотя-бы открывать этот шит редактором? И как вам такой, кхе-кхе, экспериенс? :)

> Прекрасный формат для ипц,

Аргументы, кроме синдрома утенка, за это будут? С обратной стороны, как IPC он неэффективен по размеру и достаточно сложен в парсинге. По поводу чего есть over 9000 более эффективных форматов сериализации как раз.

> сохранения каких-то структур, передачи их по сети.

С распуханием разиков в пять? :) Конечно можно и хуже, XML какой взять, тот и в 10 может, но это такой монстр что на него даже в XMLHTTP :D :D забили давно, т.к. парсить его в arbitrary виде не готовы даже полные вебмакаки.

> Не для хранения сотен гигабайт понятно, но несколько гигабайт которые потом
> помещаются целиком в память - вполне.

ЧСХ эти гигабайты...
1) Паринг сильно помножит на эн, особенно если это вебмакачьим кодом.
2) Декомпресс нескольких гигз (г)зипа за 1 присест сам по себе занимает заметное время.
3) Особенно прикольно если все это - для того чтобы понять что это не нужно/не валидно.
4) Прекрасно жмется? Про ZIP-бомбы слышали? Если это публично доступно, просто налить в ваш IPC сто мегов зипа - и посмотреть что с ним будет дальше. Скорее всего будет смешно.
5) При попытке с этим что-то сделать вы перестаните считать "хорошо жмется" за фичу.
6) Кстати очень круто, если смузихлеб на амазоне хостится, желательно с автомасштабированием инстансов и всем таким :)

> Хотя стримить жсон тоже можно, вполне вероятно, даже лучше xml будет.
> Так получается 50 гб надёжного жсон

50 гб надежного жсон звучит как пранк :). Попробуйте это вообще чем-нибудь открыть или распарсить, чтоли. Я хочу на это действо вообще посмотреть. И "стримить" это круто, а там точно есть средства _пакетизации_ с _заранее известным_ размером inbound куска, хотя-бы, чтобы оценить свои шансы в парсинге этого? А то с zip сжатием так-то я вам и кусок на терабайт налью, имхо... :)

> или 20гб костыльного бинаря, в котором могут быть ошибки.

Утятина такая утятина.

Ответить | Правка | Наверх | Cообщить модератору

98. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (31), 03-Апр-21, 12:13 
Прекрасно открывается и редактируется любым редактором бинарных файлов. Но вот только данные там не для того, чтобы их редактировали извне. Хэш не совпал и до-свидания. Что до сжатия, разжатие явно быстрее чем передача несжатых данных по сети или даже чтение с диска. При таком использовании записать блобом->передать->прочитать блоб, накладные расходы околонулевые. Ипц бывает разное, допустим между элексиром и нодой, и там ещё питон затесался. Вот да, только бинарного ипц там и не хватало, особенно с передачей между устройствами.
Ответить | Правка | Наверх | Cообщить модератору

104. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 12:39 
> Прекрасно открывается и редактируется любым редактором бинарных файлов.

WTF LOL. Вообще-то не так уж и прекрасно - они, видите ли, только in-place патчинг могут. Это для редактирования именно JSON как-то несколько не то. Как впрочем и XML.

> Но вот только данные там не для того, чтобы их редактировали извне. Хэш не совпал и до-свидания.

Ну дык посчитать хэш для вдесятеро меньшего pbf вдесятеро быстрее. Но это наверное не про конфиги все же, если у кого конфиг 500 мегов ему бошку срочно лечить надо.

> Что до сжатия, разжатие явно быстрее чем передача несжатых
> данных по сети или даже чтение с диска.

PBF видите ли несколько умнее сделан, особенно как у OSM. Так что не надо 500 мегов за присест распаковывать. Собссно именно поэтому он и эффективен в их применении - распаковывается чанками, жуется, опять распаковывается, жуется... по поводу чего софт и может это парсить без дикого жора ресурсов, кусочками. А кусочки отдельно таки жатые.

> При таком использовании записать блобом->передать->прочитать блоб,
> накладные расходы околонулевые.

Дык JSON не блоб. И более того - если надо именно бинарные данные (e.g. картинку) передать - такое порево сразу начинается... ну, как в жабире, или data:image, который обладает всеми минусами блоба (отредактировать его вообще болт) - только еще жирнее на треть.

> Ипц бывает разное, допустим между элексиром и нодой, и там ещё питон затесался.

Это да, эффективные форматы - не про смузижоров.

> Вот да, только бинарного ипц там и не хватало, особенно с
> передачей между устройствами.

Дык их таких немеряно. Загугли и подивись. А это, тебя не смущает что TCP/IP ни разу не текстовый?

Ответить | Правка | Наверх | Cообщить модератору

109. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (31), 03-Апр-21, 12:54 
Возможность посмотреть, что там и куда передаётся, всё таки дорогого стоит, и жсон хотя бы человекочитаемый и анализируется без проблем совершенно в любом редакторе. Редакторы бинарных файлов могут вполне редактировать как угодно. Да и у обычных текстовых редакторов проблема только с тем, что они читают файл целиком, особенно когда этот файл одна строка и в основном из-за подсветки синтаксиса. Что до остального, да, пихаю жсон в бд и не ведаю проблем, а данные при этом прекрасно жмутся. Не понимаю, что это за фиксация на 500 МБ конфигах, но если конфигами приходится обмениваться между разными стеками, то можно и так, обычно это всё же стейт какой-то и никаких проблем хранить такое в жсоне.
Ответить | Правка | Наверх | Cообщить модератору

118. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (118), 03-Апр-21, 16:48 
> Возможность посмотреть, что там и куда передаётся, всё таки дорогого стоит,

Красивая теория, а на практике в результате зачастую минимизации-оптимизации и вот вам неведома гадюка, ни 2 ни 1.5. Или офигенные base64 вставки, читабельные такие. Или, вот, юзеры пытающиеся структуру этой простынки сорвать методом бобби тэйблса.

> и  жсон хотя бы человекочитаемый и анализируется без проблем совершенно в любом редакторе.

Особенно на 500 мегов, в гзипе. А если попробовать подсветку синтаксиса... :)))

> Редакторы бинарных файлов могут вполне редактировать как угодно.

На уровне семантики ФС нет эффективной вставки сегмента данных в середину файла. Изменения можно либо дописать в хвост, либо поверх того что есть. Некоторые бинарные форматы по этому поводу нехило мухлюют, когда в начале - таблица смещений, и если новое не влезло in place поверх старого, ну, запишем в хвост, пропатчив in place только таблицу. Больше актуально конечно для архивов, но если на то пошло, архив и есть коллекция объектов как раз.

> Да и у обычных текстовых редакторов проблема только с тем, что они читают
> файл целиком, особенно когда этот файл одна строка

Ну да, небольшая проблема - прожевать 500 мегов или там сколько 1 куском :). Чтобы вообще например узнать что это нам не надо. Ну, э, более эффективных вариантов там так изначально тупо нет. Лукапнуть наличие объекта по индексу? Так низя :)

> и в основном из-за подсветки синтаксиса.

А также анализа структуры, разбивки на строки/их переноса и проч, и проч. А также потому что по кусочкам это все - многократно сложнее. И там вот прогеры тоже не хотят напрягаться :P. Да и не особо понятно как полное понимание например структуры вложенности без полного чтения от и до отстроить.

> Что до остального, да, пихаю жсон в бд и не ведаю проблем,

А бд зачем?! Ее на глаз уже вообще неудобно. Бинарная хрень! Непорядок, надо было в текстовые файлы валить. Правда, ФС тоже та еще бинарная хрень...

> а данные при этом прекрасно жмутся.

Что намекает на "эффективность" оных - избыточность конская.

> Не понимаю, что это за фиксация на 500 МБ конфигах, но если
> конфигами приходится обмениваться между разными стеками, то можно и так, обычно
> это всё же стейт какой-то и никаких проблем хранить такое в жсоне.

Да вон какой-то чудик с 500 мегами жысона вылез. Я на таких в OSM насмотрелся. И с неких пор качаю с них только PBF. Извините, 30 гигов которые можно довольно гранулярно процессить все же не то же самое что 250+ гигов XMLка в архиве, которую вообще крайне проблемно вменяемо обработать хоть там чем. Вплоть до того что даже если сделать блок архивера известного размера, мы понятия не имеем - закончится ли тэг этим блоком или надо еще хрен знает сколько читать, и поэтому мы даже структуру читаемого понять не можем пока все 250 гигз от корки до корки не сжуем. Эффективность такого подхода вызывает энные вопросы.

А заодно довольно позорно когда оригинал как в сабже работает в разы шустрее даже на ископаемом компе, в то время как опенсорц-блаблаба иллюстрирует только то что вебманки разучились програмить.

Ответить | Правка | Наверх | Cообщить модератору

121. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (31), 03-Апр-21, 17:04 
Xml можно стримить, к deflate стриму можно прикрутить индекс и по нему находить нужные данные. Какие-то фантазии, не буду комментировать.
Ответить | Правка | Наверх | Cообщить модератору

151. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (-), 04-Апр-21, 12:55 
> Xml можно стримить,

Спасибо, имел (не)счастье оценить как это работает в жабире. Особенно клево там передача файлов и картинок. Мало того что через тормозной сервак, так еще на треть распухает base64 кодированием. Пример как делать не надо. Ну весь мир и юзает телеграм с компактным бинарным протоколом, а не жабирский п...ц в результате.

> к deflate стриму можно прикрутить индекс и по нему находить нужные данные.

Ага, круто, сделали бинарный протокол с пакетами. Осталось теперь еще XML выкинуть, чтобы не мешался, т.к. сам по себе он на это натягивается как сова на глобус и парсинг тормозит.

> Какие-то фантазии, не буду комментировать.

Имел неудовольствие попользоваться вон теми фантазиями и ощутить на своем заду как это работает.

Ответить | Правка | Наверх | Cообщить модератору

156. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (31), 04-Апр-21, 14:02 
Кто юзает фсбшный мессенджер? Впервые слышу. Ну, кроме разных террористов и сепаратистов вроде никому и не интересен он? Ещё разные филы вроде тусовались там. Да его и не было тогда, когда это актуально было. И до пиар компании о нём никто и не знал в принципе, не больше людей, чем о wire или signal (а скорее куда меньше). Вотсап изначально был тот же самый xmpp, что и жаббер, гтолк, по-моему, тоже. Да мало ли их? Вон, мой сервак не тормозит, stun-сервер тоже, кто заставлял использовать шляпные сервера? Уже 10+ лет как ушёл с аськи на жаббер, никаких проблем совершенно. И вообще, никакой разницы xml там или нет, главное, что он относительно лёгкий и достаточно быстро парсится. Это какое-то излишне предвзятое отношение. Т.е. xml вполне подходит на роль для передачи данных. Ещё лучше он подходит для передачи сообщений (сложная гибкая система тегов и категорий это удобно опять же). Не знаю, откуда тут взялись бинарные данные (да в значительных количествах), но у xml область применения куда более широкая чем у json. Просто, чаще всего и json достаточно, и больше нечего придумывать (кто-то конечно считает, что и csv ему хватит, но это НЕ ТАК ПРЕКРАТИТЕ ИСПОЛЬЗОВАТЬ CSV).
Ответить | Правка | Наверх | Cообщить модератору

79. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (31), 03-Апр-21, 09:48 
Пс ЛАМЕРСКИЙ подход это воротить свои форматы для хранения данных там, где в них нет совершенно никакой нужды. Разработка намного дольше, будут возникать проблемы с передачей и хранением, нет универсальности и возможности импортировать их куда-то ещё. Так что,  /thread.
Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

85. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (-), 03-Апр-21, 11:43 
> Пс ЛАМЕРСКИЙ подход это воротить свои форматы для хранения данных там, где
> в них нет совершенно никакой нужды.

Дык вы не ответили вопрос - вы вообще пробовали 500 меговый JSON чем-нибудь открыть? Очень интересен экспериенс этого действа в смузихлебском редакторе :)

Ответить | Правка | Наверх | Cообщить модератору

93. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Урри (ok), 03-Апр-21, 12:04 
500-метровый конфиг? Мне кажется, или кто-то пытается спорить доведением до абсурда?
Ответить | Правка | Наверх | Cообщить модератору

105. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 12:41 
> 500-метровый конфиг? Мне кажется, или кто-то пытается спорить доведением до абсурда?

Я тоже удивился, но они там утверждают что это круто, особенно с объектами. Мне правда кажется что это сворее про выгрузку какую, и вот там OSMщики намекают что с подобными объемами это как раз уже не очень хорошо работает.

(а так поугарать, для JS :D :D есть парсер PBF - некоторые картежники vector maps так жуют, клиентсайд)

Ответить | Правка | Наверх | Cообщить модератору

128. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Kuromi (ok), 03-Апр-21, 20:50 
Да ладно конфиг, простой текстовый лог такого размера ( и меньшего, сотни мегабайт будет достаточно) большинство текстовых редакторов открыть не способны, просто зависнут и все.
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

152. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 04-Апр-21, 12:57 
> Да ладно конфиг, простой текстовый лог такого размера ( и меньшего, сотни
> мегабайт будет достаточно) большинство текстовых редакторов открыть не способны, просто
> зависнут и все.

Ну, как, попытки парсинга синтаксиса и какого там еще раскраса дополнительно пригрузят проц и оперативы скушают, можно будет как раз посмотреть что раньше - юзер заколебется ждать загрузки, или таки оно умрет по OOM? Можно даже тотализатор устроить :)

Ответить | Правка | Наверх | Cообщить модератору

160. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Kuromi (ok), 04-Апр-21, 20:06 
>> Да ладно конфиг, простой текстовый лог такого размера ( и меньшего, сотни
>> мегабайт будет достаточно) большинство текстовых редакторов открыть не способны, просто
>> зависнут и все.
> Ну, как, попытки парсинга синтаксиса и какого там еще раскраса дополнительно пригрузят
> проц и оперативы скушают, можно будет как раз посмотреть что раньше
> - юзер заколебется ждать загрузки, или таки оно умрет по OOM?
> Можно даже тотализатор устроить :)

Возможно ни то ни другое, пробовал грузить такие текстовые файлы в "простые редакторы", вроде mousepad, специально оставлял на долгое время - ничего не происходит, зависание насовсем.

Ответить | Правка | Наверх | Cообщить модератору

46. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (46), 03-Апр-21, 03:13 
Я не понял если они будут использовать Lua, то почему конфиги не хранить на Lua. В конце то концов он и создавался для того что бы хранить конфиги.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

72. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (-), 03-Апр-21, 08:49 
Потому что культурные люди разделяют код и конфигурацию/данные.
Ответить | Правка | Наверх | Cообщить модератору

127. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Keqing (?), 03-Апр-21, 19:51 
*angry .vimrc sounds*
Ответить | Правка | Наверх | Cообщить модератору

48. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от vantoo (ok), 03-Апр-21, 03:51 
JSON это хорошо, главное чтобы не YAML с отступами.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

57. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (57), 03-Апр-21, 06:55 
json это не хорошо и не плохо. Это формат. А вот там, где его использует разработчик уже или хорошо, или плохо.

Если подразумевается, что конфиг будет правиться в консоли, то выбор json это просто дибилизм чистой воды.
Если же нет, то пофиг где хранить, хоть в sqlite

Ответить | Правка | Наверх | Cообщить модератору

64. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (64), 03-Апр-21, 08:00 
JSON - это подмножество YAML, а INI - подмножество TOML
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

95. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Урри (ok), 03-Апр-21, 12:06 
Сказки это все про подмножество. yaml одной строкой не запишешь, а json - запишешь.
Ответить | Правка | Наверх | Cообщить модератору

135. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (135), 04-Апр-21, 02:51 
Запишешь
Ответить | Правка | Наверх | Cообщить модератору

63. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (64), 03-Апр-21, 07:58 
конфигурация микросервисов чаще всего в JSON. Коммерческих продуктов - YAML, реже TOML
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

67. "Открыты исходные тексты игрового движка Storm"  –2 +/
Сообщение от Аноним (169), 03-Апр-21, 08:08 
Json всем лучше ini. Замечательный и легко читаемый формат социализации во многих языках поддерживается прямо в стандартной библиотеке.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

73. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от andy (??), 03-Апр-21, 08:49 
> Json всем лучше ini. Замечательный и легко читаемый формат социализации во многих
> языках поддерживается прямо в стандартной библиотеке.

А теперь его распарси в командной строке, без утилит обработки а-ля jq. С ini это достаточно просто.

Ответить | Правка | Наверх | Cообщить модератору

77. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Rus (??), 03-Апр-21, 09:23 
Парсится он элементантарно регулярными выражениями, но зачем? У jsona своя специфика - он удобно хранит объекты, которые легко серелизовать в в объекты языка
Ответить | Правка | Наверх | Cообщить модератору

88. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 11:48 
> Парсится он элементантарно регулярными выражениями, но зачем?

Удачи в создании регулярок которые никогда не лажают и не ставят все р@ком.

> У jsona своя специфика -

Пихаться куда надо и нет, с поводом и без.

> он удобно хранит объекты, которые легко серелизовать в в объекты языка

При том - единственного языка, жыэс. Остальные могут иметь свои взгляды на тему удобства всего этого. ЧСХ на JS нормальные игры не пишут...

Нет, иногда json имеет смысл, скажем если есть вебморда с js и с ней перекидываются вот этим, парсер json всяко есть, и странно его не реюзануть. Но это, наверное, не про гамезу? Зачем ей вебморда? :)

Ответить | Правка | Наверх | Cообщить модератору

96. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Урри (ok), 03-Апр-21, 12:07 
Распарси в командной строке древовидный ini. Удачи.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

108. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (-), 03-Апр-21, 12:51 
> Распарси в командной строке древовидный ini. Удачи.

Ини не обязан быть древовидным. А JSON что, он слишком генерик и неумение жевать такое означает что вы не умеете на самом деле JSON, только частный субдиалект.

Ответить | Правка | Наверх | Cообщить модератору

117. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (117), 03-Апр-21, 16:16 
Костыляторство какое, регулярками парсить то для чего куча разных библиотек, которые распарсят В ТОЧНОСТИ то что нужно. А ещё у ini куча разных костыляторских багофич: кто-то семиколоны в конце каждой строки ставит, у кого-то знак равенства обязательно у кого-то нет. Идите со своими костылями к своему костыльному богу и там его регексами своими ублажайте, извращенцы.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

124. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Аноним (-), 03-Апр-21, 18:09 
а зачем его в командной строке парсить?

программа вообще не должна сама парсить текстовый или бинарный конфиг. Это должна делать отлаженная бибилиотека.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

133. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Ordu (ok), 03-Апр-21, 22:27 
> А теперь его распарси в командной строке, без утилит обработки а-ля jq.

А теперь попробуй ездить на велосипеде без ног. Или "а попробуй распарсить ini без coreutils". Попробуй скомпилировать сорец без компилятора.

Зачем создавать себе искусственные сложности?

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

166. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от andy (??), 06-Апр-21, 07:09 
> А теперь попробуй ездить на велосипеде без ног. Или "а попробуй распарсить
> ini без coreutils". Попробуй скомпилировать сорец без компилятора.

Как Вам без головы живется?

> Зачем создавать себе искусственные сложности?

Затем, что бывает нужно обработать текстовый файл в командной строке, в случае ini
мне хватит sed, awk, cut. JSON усложняет обработку в разы.

Ответить | Правка | Наверх | Cообщить модератору

167. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Ordu (ok), 06-Апр-21, 08:25 
>> Зачем создавать себе искусственные сложности?
> Затем, что бывает нужно обработать текстовый файл в командной строке, в случае
> ini
> мне хватит sed, awk, cut. JSON усложняет обработку в разы.

Не, json упрощает работу. Структурированность данных позволяет делать очень сложные выборки простым образом. Настолько сложные, что с не-json'ом ты переключишься из командной строки в текстовый редактор, чтобы написать скрипт. Все эти sed/awk/cut заточены работать только с последовательностью одинаковых записей-строк. Как только у тебя не строки, а что-то ещё, вот ты уже возишься с FS, как только там хотя бы двухуровневая древовидная структура, ты начинаешь городить такие костыли, что это начинает напоминать ту самую езду на велосипеде без ног. Да-да, даже парсинг ini при помощи coreutils -- это хрень, попробуй вынуть значение поля world из секции hello. С json'ом и jq это делается так: jq .hello.world и дальше не важно, сколько раз ключ world появляется в json'е, я выберу только те, которые в hello

Где ты тут увидел усложнение? Ну-ка покажи, как ты будешь то же самое делать с ini, и как это будет проще.

> мне хватит sed, awk, cut.

Вот я и говорю: искусственное усложнение. Поставим себе проблему "не пользоваться jq" и будем огребать последствия.

Ответить | Правка | Наверх | Cообщить модератору

170. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от andy (??), 07-Апр-21, 11:43 
> Где ты тут увидел усложнение? Ну-ка покажи, как ты будешь то же
> самое делать с ini, и как это будет проще.

А кто Вам сказал, что jq установлен в системе? Кто Вам сказал, что машине доступны репозитории из локальной или глобальной сети?


> Вот я и говорю: искусственное усложнение. Поставим себе проблему "не пользоваться jq"
> и будем огребать последствия.

Это не искусственное усложение, coreutils идет во многих дистрибутивах даже в их минимальной инсталляции, или есть busybox, который поддерживает в виде функций sed, cut. Вы программы для пользователей пишете, не забыли еще?

Ответить | Правка | Наверх | Cообщить модератору

171. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Ordu (ok), 07-Апр-21, 13:24 
>> Где ты тут увидел усложнение? Ну-ка покажи, как ты будешь то же
>> самое делать с ini, и как это будет проще.
> А кто Вам сказал, что jq установлен в системе? Кто Вам сказал,
> что машине доступны репозитории из локальной или глобальной сети?

Угу. Storm на машине, где недоступны репозитории? Расскажи об этой машине больше.

>> Вот я и говорю: искусственное усложнение. Поставим себе проблему "не пользоваться jq"
>> и будем огребать последствия.
> Это не искусственное усложение, coreutils идет во многих дистрибутивах даже в их
> минимальной инсталляции, или есть busybox, который поддерживает в виде функций sed,
> cut. Вы программы для пользователей пишете, не забыли еще?

Я не собираюсь ориентироваться на минимальную инсталляцию какого-то там дистра. Я не собираюсь ориентироваться на busybox -- вот ещё! Почему меня должна волновать минимальная инсталляция с бузибоксом? Даже если пользователь не может поставить на машину jq, он может примонтировать фс этой машины через sshfs из нормальной системы и работать с файлами из нормальной системы. Не хочет -- это не мои проблемы, я не заставляю.

Ответить | Правка | Наверх | Cообщить модератору

172. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от andy (??), 09-Апр-21, 16:07 
> Угу. Storm на машине, где недоступны репозитории? Расскажи об этой машине больше.

На момент установки были доступны, потом быть доступными перестали. Что не может быть?

> Я не собираюсь ориентироваться на минимальную инсталляцию какого-то там дистра. Я не
> собираюсь ориентироваться на busybox -- вот ещё! Почему меня должна волновать
> минимальная инсталляция с бузибоксом? Даже если пользователь не может поставить на
> машину jq, он может примонтировать фс этой машины через sshfs из
> нормальной системы и работать с файлами из нормальной системы.

А может скомпилированный бинарь принести на флешке и записать в /usr/local/bin так?

> Не хочет -- это не мои проблемы, я не заставляю.

То есть Вам, как разработчику покласть на удобство пользователя, верно?

Ответить | Правка | Наверх | Cообщить модератору

173. "Открыты исходные тексты игрового движка Storm"  –1 +/
Сообщение от Ordu (ok), 09-Апр-21, 16:37 
>> Я не собираюсь ориентироваться на минимальную инсталляцию какого-то там дистра. Я не
>> собираюсь ориентироваться на busybox -- вот ещё! Почему меня должна волновать
>> минимальная инсталляция с бузибоксом? Даже если пользователь не может поставить на
>> машину jq, он может примонтировать фс этой машины через sshfs из
>> нормальной системы и работать с файлами из нормальной системы.
> А может скомпилированный бинарь принести на флешке и записать в /usr/local/bin так?

Не, зачем. Я пишу в ~/.local/bin

>> Не хочет -- это не мои проблемы, я не заставляю.
> То есть Вам, как разработчику покласть на удобство пользователя, верно?

Да. Особенно если речь идёт о очень специальном пользователе, для которого установка jq рядом с моей программой является зашкваром. Такому пользователю я готов целенаправленно гадости делать, лишь бы он подальше от меня держался со своими тараканами: а вдруг они заразны? Не, я конечно мог бы включить jq в бандл с программой, но не, проще избавиться от такого отморозка.

Ответить | Правка | Наверх | Cообщить модератору

174. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от andy (??), 10-Апр-21, 13:20 
> Не, зачем. Я пишу в ~/.local/bin

Просто прекрасно. На дворе 21 век, откройте для себя пакетные менеджеры и репозитории.

> Да. Особенно если речь идёт о очень специальном пользователе, для которого установка
> jq рядом с моей программой является зашкваром. Такому пользователю я готов
> целенаправленно гадости делать, лишь бы он подальше от меня держался со
> своими тараканами: а вдруг они заразны? Не, я конечно мог бы
> включить jq в бандл с программой, но не, проще избавиться от
> такого отморозка.

А можете список разработанного софта кинуть, дабы я, не приведи Б-г не воспользовался
программами от такого горе разработчика.

Ответить | Правка | Наверх | Cообщить модератору

175. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Ordu (ok), 10-Апр-21, 13:56 
>> Не, зачем. Я пишу в ~/.local/bin
> Просто прекрасно. На дворе 21 век, откройте для себя пакетные менеджеры и
> репозитории.

Чудак, ты выше сам поставил условие, что программа недоступна через репы. Чем тебе в таком случае помогут пакетные манагеры и репы? А если не помогут, то зачем засирать /usr своим софтом установленным мимо пакетного манагера?

> А можете список разработанного софта кинуть, дабы я, не приведи Б-г не
> воспользовался
> программами от такого горе разработчика.

Нет.

Ответить | Правка | Наверх | Cообщить модератору

86. "Открыты исходные тексты игрового движка Storm"  –2 +/
Сообщение от Аноним (-), 03-Апр-21, 11:45 
> Json всем лучше ini. Замечательный и легко читаемый формат социализации

Ч-чего?! Социализации?! :D :D :D

> во многих языках поддерживается прямо в стандартной библиотеке.

И как вам парсинг 500 мегов этого счастья то? :)

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

155. "Открыты исходные тексты игрового движка Storm"  +/
Сообщение от Аноним (155), 04-Апр-21, 14:02 
Социализации, социализации. Вон сколько дурачков выше набежало.
Ответить | Правка | Наверх | Cообщить модератору

87. "Открыты исходные тексты игрового движка Storm"  +1 +/
Сообщение от Аноним (169), 03-Апр-21, 11:48 
*сериализации
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру