Войти
ФлеймФорумПрограммирование

XML - язык, невероятно богатый возможностями. Чтоб его. (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
4:26, 6 авг. 2019

Adler
> Да, сложнее в сотни раз
Неа

> т.к ограниченый
obj куда более ограниченнее

> в разы менее расширяем
Ни obj ни 3ds не расширяем. Вот захотел ты добавить веса костей и куда?

> он сделан для машин, а не для людей, т.к требует документацию, а obj ничего не
> требует итак вроде всё понятно
Так точно, нужно читать доки. Но зато потом имплементировать проще, т.к. сделан для машин. Ну то есть ты можешь потратить время на парсинг строк, и запилить обж, а можешь не мудохать со строками, и почитать вместо этого доки на 3ds. По времени +- одинаково если умеешь в программирование.


#46
4:27, 6 авг. 2019

Adler
> то "fbx\3ds\stl\x\mesh" файлы можно очень долго успешно игнорировать. в теории.
Ты забыл в этот список добавить obj. Его так же можно успешно игнорировать.

#47
4:38, 6 авг. 2019

MrShoor
> Никакого разбиения на токены, никакой войны с переносом строк и прочее
кстати, походу в "js\python\php" победил подход типа: str.split("\r").join("").split("\n").map(line=>doit(…));

#48
4:50, 6 авг. 2019

Adler
> кстати, походу в "js\python\php" победил подход типа:
> str.split("\r").join("").split("\n").map(line=>doit(…));
D:
без регулярок обошлись?!

#49
8:10, 6 авг. 2019

=A=L=X=
> Вы прям серьёзно на полном серьёзе при смене формата базы данных
> НЕ ПЕРЕПИСЫВАЕТЕ КОД КОТОРЫЙ С ЭТИМ РАБОТАЕТ????
> Охереть.
ты что-то не так понял. Вот есть некоторая структурированная информация в виде XML документа. И тебе надо её показать пользователю в нормально виде, ты берёшь шаблон и прогоняешь XML через него, получая на выходе человекочитаемую HTML. Потом тебе звонить один из заканчиков, которому надо, чтобы в HTML информация по другому отображалась, нужны другие поля, в другом порядке, в другой форме, да и стили надо другие. И ты просто береёшь и правишь ему шаблон, а не выпускаешь новую версию софта под него. Шаблон по сути является частью конфигурации.

Sbtrn. Devil
> Вот тоже ещё одна вещь, которую я никогда не понимал. Формат же выполняет
> сугубо промежуточные функции - на хрена к нему ещё и какой-то язык запросов?
Это ты сам придумал. Шаблоны например без запросов же не будут работать. Или шаблоны тоже не нужны?

> А если подразумевается некий сурьёзный массив данных с возможностью поиска, то
> тут уже не хмл нужен, а база данных и SQL/NoSQL.
Ну например конфиги, логи, данные с метаданными (только не надо про JSON с его __type, это хрень полная).

gudleifr
> Причем, как только из такой реализации XML с его "технологиями" выбрасывается,
> документы, структуры, запросы и прочие штуки сразу становятся очень простыми.
Как по простому мне сделать конфиг на JSON? Если изначально я не могу его целиком десерилизовать в какой-то объект. У тебя есть модуль с классом настроек и есть знание, что в тексте конфига в определённом месте лежат данные с настройками. В случае с XML я делаю xpath запрос в документе, получаю узел настроек и десериализирую объекта класса. В случае с JSON?

#50
8:15, 6 авг. 2019

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

#51
8:23, 6 авг. 2019

gudleifr
> Во-первых, забейте на красивые названия "технологий". Во-вторых, храните так,
> как Вам удобнее. Данные значения не имеют. Есть только код. Если Вы не можете в
> один проход и с приемлемой скоростью прочесть конфигурацию, значит Вы либо
> храните не то, что нужно, или не там, где нужно.
Пустые слова. "Делайте всё правильно и всё будет хорошо". Ты мне решение дай. Как мне хранить конфиг? Я ещё не затронул вопрос его валидации, где любые кастомные решения сразу лесом пойдут.

#52
8:29, 6 авг. 2019

Мизраэль
> Пустые слова.
Читайте внимательнее. Ответ прост: раз Вы пишете код, который должен обладать некоторым условиям, формат данных должен это позволять. Все!
Тупо: хотите скорость - помещайте нужные строчки в начало текста. Хотите рандомный доступ - разбивайте на индексированные блоки. Хотите аппликативности - добавляйте подзаголовки...

А вопрос про конкретное решение в вакууме - это дурость.

#53
8:47, 6 авг. 2019

gudleifr
> Данные значения не имеют. Есть только код.
Вот как раз данные значение и имеют. А код - это лишь средство одни данные перегнать в другие.

#54
8:52, 6 авг. 2019

gudleifr
> Читайте внимательнее. Ответ прост: раз Вы пишете код, который должен обладать
> некоторым условиям, формат данных должен это позволять. Все!
Пустые слова. У тебя на доске висит таска - сделать конфиг, и есть к таске требования: он должен быть человекочитаем и допускать возможность правки, в модулях есть классы настроек, которые заполдняются данными из конфига. В конфиге могут быть любые настройки, в том числе бинарные данные. Ни один модуль очевидно не знаком со всей структурой конфига.
Это прям классическая задачка, которая есть вообще в любом проекте. Не нравится JSON, хорошо, напиши в каком формате ты будешь хранить эти настройки и как их грузить.

#55
8:56, 6 авг. 2019

skalogryz
> Рецепт семейного счастья прост - не думайте что XML это человекориентированный
> формат. И всё!
> Он машиннооринетированный, и жить сразу станет легче.

Ну, тот же гугл побаловался, да  начал изобретать Protocol Buffers, Flatbuffers... бо, вся эта мешанина из тегов с атрибутами не нужна машине, а полезную емкость каналов/хранилищь отъедает только в путь. 

#56
(Правка: 10:21) 10:20, 6 авг. 2019

=A=L=X=
> Вы прям серьёзно на полном серьёзе при смене формата базы данных
> НЕ ПЕРЕПИСЫВАЕТЕ КОД КОТОРЫЙ С ЭТИМ РАБОТАЕТ????
  Ты в каком веке живёшь? ORM давно всё это сами делают.

Sbtrn. Devil
> Формат же выполняет сугубо промежуточные функции - на хрена к нему ещё и какой-то язык запросов?
  Когда такого языка нет, то формат либо подыхает (как вариант приживается только в одном месте как JSON, который годен только для однострочечной сериализации объектов), либо под него появляются 14 независимых и несовместимых языка запросов, что тоже никому радости не добавляет.

#57
11:27, 6 авг. 2019

Мизраэль
Вот это точно пустые слова. То "задача классическая", то "ее нужно решать"...

Мизраэль
> напиши в каком формате ты будешь хранить эти настройки
Зависит от кода!

Если с точки зрения "космической лабуды о всеобщей неотвратимости"...

+ Показать
#58
(Правка: 12:33) 12:32, 6 авг. 2019

gudleifr
> Вот это точно пустые слова. То "задача классическая", то "ее нужно решать"...
Что тебя смущает?

gudleifr
> Зависит от кода!
Каким образом? Вообще побоку на каком там языке у тебя написано. Не, ну понятно, если там убогий JS, то выбора кроме как JSON и нет считай. Ты как-то странно от ответа уходишь, задачка же совсем не абстрактная. Есть класс, есть конфиг в текстовом (обязательно виде), в конфиге помимо данных твоего класса ещё куча данных. Твоя задача сделать инициализацию полей класса данными из конфига. Язык, платформа, день недели побоку. Какие инструменты и какой формат конфига будешь использовать?

gudleifr
> До начала нулевых любил хранить данные в БД (или БД-подобном виде). В начале
> нулевых почти полностью перешел с реляционных таблиц на списковые, и придумал
> свой формат (приведен для примера в  первой главе второго тома "Заметок"). С
> тех пор пользуюсь им в общих случаях.
Я своих форматов за пару десятков лет уже сотни придумал. Знаешь сколько из них использую по сей день? 0!

#59
12:49, 6 авг. 2019

Мизраэль
> Что тебя смущает?
Что классические задачи уже обычно имеют классические решения. Их не надо решать.

Мизраэль
> Какие инструменты и какой формат конфига будешь использовать?
Подходящие! (Нет, конечно,  сначала я выкину класс, т.к. ООП оставил в далеком детстве). Вы хотите получить что-то из большого текстового файла? Пишете тупой конечный автомат, который пропускает все до нужного места (в большинстве форматов и языков он тривиален). Пишите второй конечный автомат - для чтения нужного (он еще тривиальнее). Читаете.

Мизраэль
> Я своих форматов за пару десятков лет уже сотни придумал. Знаешь сколько из них использую по сей день? 0!
Это хорошо и правильно. Формат придуманный для одного проекта и не должен его пережить. Тем более, формат, придуманный впрок (этот вообще не имеет права на жизнь).

Страницы: 1 2 3 4 5 Следующая »
ФлеймФорумПрограммирование