powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Семантика Yaml документа.
94 сообщений из 94, показаны все 4 страниц
Семантика Yaml документа.
    #39952771
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько раз я ходил вокруг этого формата. И облизывался. Я позиционировал его
как замену Excel в бизнес - коммуникациях. Хотелось уйти от передачи маппингов
в Excel к маппингу в csv/json/yaml. Последний стоял как десерт. Но к сожалению
мне самому надо было понять подводные камни. А именно.

- какие могут быть НЕОДНОЗНАЧНОСТИ (случайный пробел или табулятор слева)
- какие сложности с парсером
- композиции (когда внутрь одного документа заворачивают кусок другого (типа CDATA xml).

И вопросы к аудитории

- как вы применяете этот формат на производтсве?
- какие есть pitfalls
- какие либы (у меня только snakeyaml)
- и самое последнее что меня сильно интересеует - кодогенерация и связи с трансляторами ЯП.

В качестве примера. Дан некий софистический документ. Анкета некого Майка.

Я сам его написал с изменениями по туториалу. Он - успешно проходит парсинг. Тоесть он - валиден.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
person:
  name: "Mike"
  occupation: 'programmer'
  age: 23
  gpa: 3.5
  fav_num: 1e+10
  male: true
  birthday: 1954-01-02 16:44:00 # This is Standard date
  flaws: null
  hobbies:
    - movies
    - bike
    - hacking
    - singing
  movies: ["Star Wars", "Dark Knigth"]
  friends:
    - name: "Jessica" # Woo-hoo
      age: 22
    - { name: "Bob", age: 26 }
  md5: >
    e4d909c290d0fb1 
    ca068ffaddf22cb
    d0
  signature: |
    Mike
    MIT
    mikemike@gmail.com


Что интересно.

Документ - читабелен для человека не из It. All is clear.

Есть две формы представления array.

Формат даты по ISO.

Есть также некий relaxed-json/Hokoon, тоесть
в некотром роде документ обратно совместим с небольшими изменениями с JSon.

Есть также удобства по добавлению сырых данных в виде авто-подписи Майка.


Вобщем докиньте свои 5 коп.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952789
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
замену Excel в бизнес - коммуникациях

по моим наблюдениям excel это единственный формат, который понимает большинство эникейщиков и замены ему не предвидится, какими бы чудесными не были другие форматы. даже когда просишь сохранить в csv из того же excel, половина не понимает чего от них хотят.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952793
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А как же старый добрый key-value properties :-)
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже много лет подковёрно веду борьбу с Excel. Я выкашиваю его косой и вырубаю топором
из проектов там где есть возможность. И у меня на то есть своя аргументация. Но топик не об этом.

Топик вообще о том как согласовать бизнес требования и код.

Современные Business Analysts - ребята очень грамотные. Знают не только Микросовт-Охвис. Они
нормально оперируют R, Statistica, и скриптуют запросики в MSSQL.

И от yaml нас отделяет только несколько брейнштормов и грумингов идей.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952844
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если развернуть этот документ в дерево LinkedHashMap то вот такое получается.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
    key = birthday, value = Sat Jan 02 18:44:00 EET 1954

    key = flaws, value = null

    key = hobbies, value = [movies, bike, hacking, singing]

    key = movies, value = [Star Wars, Dark Knigth]

    key = friends, value = [{name=Jessica, age=22}, {name=Bob, age=26}]



Прикольно что дата распозналась именно как дата.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952846
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    void dumpLhm(LinkedHashMap<String, Object> res, int level) {
        res.forEach((key, value) -> {
            if (value instanceof LinkedHashMap) {
                printf("%skey = %s {\n", indent(level), key);
                dumpLhm((LinkedHashMap<String, Object>) value, level + 4);
                printf("}\n", indent(level), key);
            } else {
                printf("%skey = %s, value = %s\n", indent(level), key, String.valueOf(value));
            }
        });
    }

    @Test
    public void testMike() throws FileNotFoundException {
        Yaml yaml = new Yaml();
        LinkedHashMap<String, Object> res = yaml.load(new FileInputStream("src/test/resources/04-mike.yaml"));        
        dumpLhm(res, 0);
    }
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952885
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал посериализировать. Стили стали более унылые и плоские.
Кто знает как управлять? Например я не хочу видеть JSon-like форматирование а
хочу такое с bullets как в исходном документе. (в моём первом посту)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    public static void main(String[] args) throws IOException, ParseException {
        Map<String, Object> data = new LinkedHashMap<>();
        data.put("name", "Mike");
        data.put("age", 23);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        data.put("birthday", simpleDateFormat.parse("1954-01-02 16:44:00"));
        data.put("hobbies", new String[] { "movies" , "bike" , "hacking" , "singing" });
        data.put("movies", new Object[] {"Star Wars", "Dark Knigth"});

        data.put("friends", new Object[] {
            new LinkedHashMap() {{
                put("name", "Jessica");
                put("age", 22);
            }},
            new LinkedHashMap() {{
                put("name", "Bob");
                put("age", 26);
            }}
        });

        Yaml yaml = new Yaml();
        FileWriter writer = new FileWriter("build/test.yaml");
        yaml.dump(data, writer);

    }


Код: python
1.
2.
3.
4.
5.
6.
7.
8.
name: Mike
age: 23
birthday: 1954-01-02T14:44:00Z
hobbies: [movies, bike, hacking, singing]
movies: [Star Wars, Dark Knigth]
friends:
- {name: Jessica, age: 22}
- {name: Bob, age: 26}
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952903
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
как вы применяете этот формат на производтсве?

Что значит на производстве?

В DevOps скриптах деплоймента, мониторинга и т.п.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952904
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Девопс меня не интересует.

Расскажите о НЕСТАНДАРТНОМ использовании Yaml.
Меня интересует когда Yaml участвует в описании моделей данных.
Энтитей. ДТО. ОРМ-маппинга.

Всё что угодно кроме конфигов.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952991
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Управление типизацией (snakeyaml).

Я уже выкинул модульный тест. Сделал просто конвертер Yaml=>MOdel=>Yaml.
Просто продолжаю обогащать анкету Майка и смотрю как работает этот pipeline.

In:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
person: !!map
  name: "Mike"
  occupation: !!str 'programmer'
  age: !!int 23
  gpa: !!float 3.5
  fav_num: !!float 1e+10
  male: !!bool true
  birthday: !!timestamp 1954-01-02 16:44:00 # This is Standard date



Out:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
person:
  name: Mike
  occupation: programmer
  age: 23
  gpa: 3.5
  fav_num: 1.0E10
  male: true
  birthday: 1954-01-02T16:44:00Z
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952996
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще интереснее. Алиасы. У Майка есть брат-близнец Том. Я задаю его дату-рождения через алиасы.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
person: !!map
  name: "Mike"
  secondname: &mikesFamily "Thomson"
  occupation: !!str 'programmer'
  age: !!int 23
  gpa: !!float 3.5
  fav_num: !!float 1e+10
  male: !!bool true
  birthday: &mikesBirthday !!timestamp 1954-01-02 16:44:00 # This is Standard date
  flaws: null
  hobbies:
    - movies
    - bike
    - hacking
    - singing
  movies: !!seq ["Star Wars", "Dark Knigth"]
  friends:
    - name: "Jessica" # Woo-hoo
      age: 22
    - { name: "Bob", age: 26 }
    - name: "Tom"
      secondname: *mikesFamily
      birthday: *mikesBirthday



Это похоже на XML entities.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39952998
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще динамическое переопределение алиасов и merge структур. Но мне пока хватит фич. Остановлюсь на этом.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953051
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Несколько раз я ходил вокруг этого формата. И облизывался. Я позиционировал его
как замену Excel в бизнес - коммуникациях. Хотелось уйти от передачи маппингов
в Excel к маппингу в csv/json/yaml. Последний стоял как десерт. Но к сожалению
мне самому надо было понять подводные камни. А именно.

- какие могут быть НЕОДНОЗНАЧНОСТИ (случайный пробел или табулятор слева)
- какие сложности с парсером
- композиции (когда внутрь одного документа заворачивают кусок другого (типа CDATA xml).

И вопросы к аудитории

- как вы применяете этот формат на производтсве?
- какие есть pitfalls
- какие либы (у меня только snakeyaml)
- и самое последнее что меня сильно интересеует - кодогенерация и связи с трансляторами ЯП.

В качестве примера. Дан некий софистический документ. Анкета некого Майка.

Я сам его написал с изменениями по туториалу. Он - успешно проходит парсинг. Тоесть он - валиден.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
person:
  name: "Mike"
  occupation: 'programmer'
  age: 23
  gpa: 3.5
  fav_num: 1e+10
  male: true
  birthday: 1954-01-02 16:44:00 # This is Standard date
  flaws: null
  hobbies:
    - movies
    - bike
    - hacking
    - singing
  movies: ["Star Wars", "Dark Knigth"]
  friends:
    - name: "Jessica" # Woo-hoo
      age: 22
    - { name: "Bob", age: 26 }
  md5: >
    e4d909c290d0fb1 
    ca068ffaddf22cb
    d0
  signature: |
    Mike
    MIT
    mikemike@gmail.com


Что интересно.

Документ - читабелен для человека не из It. All is clear.

Есть две формы представления array.

Формат даты по ISO.

Есть также некий relaxed-json/Hokoon, тоесть
в некотром роде документ обратно совместим с небольшими изменениями с JSon.

Есть также удобства по добавлению сырых данных в виде авто-подписи Майка.


Вобщем докиньте свои 5 коп.


Есть преобразователь для четырёх типов файлов 22122936 .

Мы в основном храним данные в xml и property файлах.
Json для обмена данными между сервером и js кодом.

Хорошего вам дня!
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953054
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov, спасибо. Посмотрю.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953057
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня щас другая проблема. Я пробую продуктовые данные по бизнес-аналитике сохранять в Yaml.
(раньше мы в Json хранили) и вот это горизональное-вертикальное форматирование коллекций
- сильно мешает.

Грубо говоря оно включается по искусственному интеллекту. Видимо следуя какой-то логике улучшения.
Но мне надо его защёлкнуть только на горизонтальном.

Вот это - неправильно.
Код: java
1.
2.
3.
4.
5.
6.
hobbies:
    - movies
    - bike
    - hacking
    - singing
  movies: ["Star Wars", "Dark Knigth"]



И я пока не вижу выхода как делать кастомный сериализатор. Хотя не хочу.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953062
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Нет. Девопс меня не интересует.

Расскажите о НЕСТАНДАРТНОМ использовании Yaml.
Меня интересует когда Yaml участвует в описании моделей данных.
Энтитей. ДТО. ОРМ-маппинга.

Всё что угодно кроме конфигов.

Для этого используем Json и XML
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953153
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Несколько раз я ходил вокруг этого формата. И облизывался.

mayton
Вобщем докиньте свои 5 коп.


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

YAML хорошо подходит именно для ручного использования, т.е. для конфигов.

Для передачи данных лучше использовать JSON/BSON/XML.

В общем, никакого профита, кроме как использования для конфига нет.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953154
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Расскажите о НЕСТАНДАРТНОМ использовании Yaml.
Меня интересует когда Yaml участвует в описании моделей данных.
Энтитей. ДТО. ОРМ-маппинга.


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

Что-то подобное делать в JSON/YAML -- это будут очередные кривые костыли, основанные на кривых соглашениях. Да и вообще, нафиг оно там не упёрлось.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953159
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Для описания моделей данных и типизированного хранения данных всё же лучше XML ничего нет.
Так как в XML можно указывать тип данных и любые другие мета-данные, которые ложатся как влитые.


Тут я с вами поспорил.
Т.к. xml/xsd не совсем однозначно может описывать данные/типы.
Как минимум я регулярно сталкиваюсь с тем, что в зависимости от хинтов xjb можно сформировать разные классы.

В этом плане json проще и надежнее.
Три типа - объект, массив, строка.
Их комбинация позволяет передавать любые данные .
Но в нём проблемы с датами.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953160
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Тут я с вами поспорил.
Т.к. xml/xsd не совсем однозначно может описывать данные/типы.
Как минимум я регулярно сталкиваюсь с тем, что в зависимости от хинтов xjb можно сформировать разные классы.

В этом плане json проще и надежнее.
Три типа - объект, массив, строка.
Их комбинация позволяет передавать любые данные .
Но в нём проблемы с датами.


Сравните с количеством примитивов в XML

3.2.1 string
3.2.2 boolean
3.2.3 decimal
3.2.4 float
3.2.5 double
3.2.6 duration
3.2.7 dateTime
3.2.8 time
3.2.9 date
3.2.10 gYearMonth
3.2.11 gYear
3.2.12 gMonthDay
3.2.13 gDay
3.2.14 gMonth
3.2.15 hexBinary
3.2.16 base64Binary
3.2.17 anyURI
3.2.18 QName
3.2.19 NOTATION

Т.е. XML может быть самодостаточен для передачи данных и типов данных. Плюс любое количество аннотаций.

JSON не может быть надёжнее, так как информацию о типе не хранит. Но проще, так как примитивов меньше. По сути основное преимущество JSON в простоте и меньшем количестве оверхеда.

Но это не забесплатно.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953161
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Их комбинация позволяет передавать любые данные .


Можно передавать только вот это: объект, строка, массив, число, bool и null. Никакие другие данные передавать нельзя.

Т.е. если я вам пришлю какой-нибудь JSON и не расскажу что там лежит, не дам полное описание модели данных с описанием типов, вы не сможете правильно его интерпертировать.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953182
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt


Сравните с количеством примитивов в XML

3.2.1 string
3.2.2 boolean
3.2.3 decimal
3.2.4 float
3.2.5 double
3.2.6 duration
3.2.7 dateTime
3.2.8 time
3.2.9 date
3.2.10 gYearMonth
3.2.11 gYear
3.2.12 gMonthDay
3.2.13 gDay
3.2.14 gMonth
3.2.15 hexBinary
3.2.16 base64Binary
3.2.17 anyURI
3.2.18 QName
3.2.19 NOTATION

Т.е. XML может быть самодостаточен для передачи данных и типов данных. Плюс любое количество аннотаций.


Я знаю. Вот только этим всем пользоваться тот еще гемор. Тут кстати еще нет Any и AnyType ;-)

hVostt


JSON не может быть надёжнее, так как информацию о типе не хранит. Но проще, так как примитивов меньше. По сути основное преимущество JSON в простоте и меньшем количестве оверхеда.

Но это не забесплатно.


В этом и прелесть json. Там всего три типа.
И его всегда можно распарсить однозначно в "объект", "массив" или "строку".

Далее строку уже можно парсить как угодно, по каким угодно правилам.

Для передачи данных это более чем достаточно.

С xml/xsd всегда танцы с бубном связанные с xsd.

Одни и те же данные, с одними и теми же xsd в зависимости от используемого marshaller'а будут получаться разные xml. В отличии от json, где боле-менее будет одинаковый json.

По мне так xml/xsd это глюкавый оверхед.

Я пока не разбирался со схемами для json.
Но, например, HateOS смотрится в первом приближении довольно мило.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953183
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mad_nazgul
Их комбинация позволяет передавать любые данные .


Можно передавать только вот это: объект, строка, массив, число, bool и null. Никакие другие данные передавать нельзя.


В Json по большому счету нету числа, bool и null. Это все строки.
JavaScript может сделать предположение, что то или иное значение является числом или bool. На там куча странных "умолчаний", которые надо просто знать типа
Код: javascript
1.
"true" == true



hVostt

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


Согласен, т.к. JSON это schemaless.
И это хорошо. Как минимум он не дает иллюзии, что у вас есть точное описание протокола передачи данных.
Т.к. xsd это не точное описание, и для него иногда нужны хинты (xjb), которые подсказывают "как правильно" разбирать xsd.

С Json обычно, просто прошу прислать их модель (классы) которые мне посылают.
Обычно они довольно точно описывают, что ко мне прилетит в виде JSON.

С xsd приходилось еще просить парочку примеров на xml, чтобы понять, что мне реально прилетит из несколько интерпретаций xsd-схемы. :-)
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953185
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79

полностью поддерживаю.
ямл для конфигов хорош
а для хранения лучше json
xml уже устарел


Он не устарел.
"То что мертво умереть не может"
Просто xml во первых больше чем json при одинаковых данных.
Во вторых xsd это сложный язык описания метаинформации, который дает не однозначный результат.
Помню во времена хайпа soap java'исты отправляли лучи поноса в сторону MS и его подделий, за своеобразную интерпретацию стандартов SOAP.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953189
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML - это совершенно зрелая и завершенная технология. С большим количеством уровней абстракций.
Прям как стек TCP. На базе нее можно построить все что угодно. К сожалению у нее есть один недостаток.

Она - не human readable. Об этом можно сказать просто посмотрев на форматы офисных документов
через текстовый редактор.

Я-же искал технологию которая позволяет людям "от бизнеса" описывать метадатау в псевдо-текстовом
формате. И далее мы можем такие документы обсуждать. Делать правки прямо в git И затаскивать в проект
в этом первоисходном виде.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953194
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Сравните с количеством примитивов в XML

3.2.1 string
3.2.2 boolean
3.2.3 decimal
3.2.4 float
3.2.5 double
3.2.6 duration
3.2.7 dateTime
3.2.8 time
3.2.9 date

Да. Мы когда работали с семантическим вебом (RDF/Xml) из всего этого разнообразия использовали штук 7 типов.
Остальные не пригодились никогда. Вообще для Json пожалуй не хватает только стандартного типа даты-времени.
А так... 80% потребностей он покрывает.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953223
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
XML - это совершенно зрелая и завершенная технология. С большим количеством уровней абстракций.
Прям как стек TCP. На базе нее можно построить все что угодно. К сожалению у нее есть один недостаток.


Если говорить за аналогии.
То xml - это реализация модели OSI.
А json как раз это TCP/IP.

<:o)
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953224
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulВ этом и прелесть json. Там всего три типа.
И его всегда можно распарсить однозначно в "объект", "массив" или "строку".

Мне иногда в json не хватает простейших вещей. Например камент написать.
Код: python
1.
2.
3.
4.
5.
6.
# Edited 4/30/2020 mayton
person:
  name: Mike
  secondname: Thomson
  occupation: programmer
  age: 23


Опять-же. Синтаксис завел обязательным двойные кавычки даже в тех случаях когда они не нужны.
Код: powershell
1.
2.
3.
4.
friends:
  - {name: Jessica, age: 22}
  - {name: Bob, age: 26}
  - {name: Tom, secondname: Thomson, birthday: !!timestamp '1954-01-02T16:44:00Z'}


Возможно квоты упрощяют сам парсер. Но блин мы живем в 21 веке а следуем оптимизациям
из 80х когда нагрузка на CPU была важна и файловые форматы делались для машин а не для
людей. Обидно спустя 40 лет продолжать способстовать машинным форматам там где уже
давно нет потребностей.

Посмотрите еще для примера Hocon. Это такой-себе расслабленный JSON.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953226
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу самих JSON парсеров. Мы наблюдали разное поведение при интерпретации целых чисел.
Некоторые парсеры проверяли границы INT32 на целых числах. Некоторые игнорировали.

Парсеры семейства Google(GSON) толератны к квотам и апострофам. Тоесть вы можете писать так
Код: javascript
1.
{ "name": "Tom" }


и так.
Код: javascript
1.
{ 'name': 'Tom' }


Оба варианта - валидны.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953247
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML по возможностям - более широкий. Там это может быть attribute или valueOf.

Код: xml
1.
2.
3.
<fuckenTag fuckenattr1="810">
   840
</fuckenTag>



А кавычки могут просто переносится на уровень твоего проиложения. Тоеть - интерпретируй как хочешь.
А без схемы - все типы данных - строки.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953251
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79

я с этим успел столкнуться,причем даже на тестовом задании валидация xml черех xsd
просто какой то кусок говна если честно

Если хочешь - почитай книжку "Practical RDF". По степени нудности эта книжка порвет
любые философские науки. Очень хорошее снотворное на ночь.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953357
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
mayton
XML - это совершенно зрелая и завершенная технология. С большим количеством уровней абстракций.
Прям как стек TCP. На базе нее можно построить все что угодно. К сожалению у нее есть один недостаток.


Если говорить за аналогии.
То xml - это реализация модели OSI.
А json как раз это TCP/IP.

<:o)

Я не спорю с универсализмом. JSon - универсален. Но он - не human-readable.
И он мог быть компактнее. Но не стал. К сожалению его идеологи преследовали
низкие и практичные цели - обеспечить интеракцию браузера и вебсокетных
протоколов.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953371
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Твой Блинов - это лжец и девственник мы вроде уже установили.

Читай Эккеля, Хорсмана и Брайна Гоетса лучше.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953375
[quot mayton#22125873]
mad_nazgul

Я не спорю с универсализмом. JSon - универсален. Но он - не human-readable.

Это json то не human-readable? По-моему, джейсон - это лучшее, что на сегодняшний день изобрели для описания всяких конфигов и моделей, в том числе и для людей "из бизнеса" по соотношения мощности/удобства использования. XML монструозен и совершенно неудобочитаем и неудобописуем, а yaml - совершенно ужасен из-за форматирования отступами. Можно очень долго вглядываться в кривой yaml в поисках ошибки, которую выкинул парсер, а она в итоге может оказаться вообще не там. Без хорошей IDE с ямлом делать нечено, а она, увы, не всегда доступна.
Джейсон же практически идеален. Единственное, чего в нем не хватает, это комментариев (но их можно криво эмулировать строками), и тогда был бы вообще идеал.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953393
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Она - не human readable. Об этом можно сказать просто посмотрев на форматы офисных документов
через текстовый редактор.


для разработчика с нормальной IDE XML вообще-то более предпочтителен, особенно при наличии схемы. тогда у тебя под рукой будет интеллисенс, автодополнение и плюс независимость от форматирования, что позволит безболезненно втыкать куски данных, которые будут автоматически отформатированы

чего не скажешь об YAML


mayton
Я-же искал технологию которая позволяет людям "от бизнеса" описывать метадатау в псевдо-текстовом
формате.


по собственному опыту, людям "от бизнеса" проще всего написать в ворде, а данные предоставить в экселе. всё остальное это головная боль. :)

что YAML, что JSON или XML, людям "от бизнеса" как говорится, "что это херня, что та, и это обе херни такие, что я е...."...
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953394
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Да. Мы когда работали с семантическим вебом (RDF/Xml) из всего этого разнообразия использовали штук 7 типов.
Остальные не пригодились никогда. Вообще для Json пожалуй не хватает только стандартного типа даты-времени.
А так... 80% потребностей он покрывает.


но ведь можно и свои типы определить, с валидацией, и всё это работать будет прям при редактировании. а не к моменту, когда запустится приложение и оно свалится с неприятным эксепшеном.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953395
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ржавый гвоздь
Это json то не human-readable? По-моему, джейсон - это лучшее, что на сегодняшний день изобрели для описания всяких конфигов и моделей


Не соглашусь.

JSON для конфигов просто омерзителен.
и руки бы по-отрывать, кто решил его таким образом использовать.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953411
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите примеры конфигураций подсистемы Log4j 2.x

https://logging.apache.org/log4j/2.x/manual/configuration.html

На Yaml. Красиво. Структурно. Читабельно. Как оглавление книги.
Json - омерзителен. Какие-то бесконечные кавычки-скобочки-кавычки.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953428
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Там в самом низу раздел: System Properties, вот это формат бизнеса.

Самолично наблюдал попытки исправить конфиг yaml без спец. редактора.
Минут в 45 управились.

И это не бизнес, это техподдержка.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953430
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы опоздали с предложением.

Может я неверно выразил свою мысль. Но речь идет о компромиссном файловом формате
согласований маппингов который правит и разработчик и не-разработчик. И который (файловый
формат) пригоден для трекания изменений в version control.

Excel - непригоден. Поэтому не стоит вопрос делать или не делать. А стоит вопрос - в каком
наиболее удобном формате это делать.

И это всё - лирика. Давайте вернемся к технической части.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953438
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Что понимаете под маппингами?, а то вы в своём примере "бизнес объекта" - "Анкета", и её экземпляр "Анкета Майка" привели.

Под маппингом обычно подразумевается карта соответствия, грубо говоря вот это поле соответствует в этому 1-1, а вот эти два сложить / поделить на pi и если пусто/отсутствует/NULL, то = 5 вот тому.
И Excel для этого вполне подходит. Графически это выглядит, как таблица, которую можно вести и в confluence. Кстати confluence - это xhtml (xml).

Есть ещё asciidoc/расширенный markdown с таблицами, что больше подходит для git - но парсинга в объекты нормального нет и не будет.

Для людей делайте приложение, которое будет ходить в ваш git брать от туда всё что нужно (xml/json/yaml/mybinary format), отображать в человеческом виде и обратно заливать.

а так можете посмотреть git4c плагин к confluence на github или https://antora.org/.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953442
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты хочешь обсудить форматы markdown - то подними отдельный топик.

Здесь я буду обсуждать yaml.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953445
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

ооо, всё понятно ушел.

Не смею больше беспокоить.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953815
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Посмотрите примеры конфигураций подсистемы Log4j 2.x

https://logging.apache.org/log4j/2.x/manual/configuration.html

На Yaml. Красиво. Структурно. Читабельно. Как оглавление книги.
Json - омерзителен. Какие-то бесконечные кавычки-скобочки-кавычки.


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

Читабельно? Нет. Нет никакой информации о типах. Так как файл представляет собой сложную структуру, а не набор параметров, одна ошибка приводит к поломке всего файла.

Тот же INI-файл позволяет делать ошибки, которые не ломают остального.


mayton
Может я неверно выразил свою мысль. Но речь идет о компромиссном файловом формате
согласований маппингов который правит и разработчик и не-разработчик. И который (файловый
формат) пригоден для трекания изменений в version control.


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

YAML формат гораздо более строгий, чем JSON. Так как любой редактор JSON тупо подсветит ошибку, если на закрыл скобочку, или забыл про кавычку, а чуть более продвинутый редактор вообще всё это сам генерит.

В YAML лишний пробел меняет семантику, что является наихудшим сценарием.

XML вообще как язык разметки со схемой полностью валидирует всё, что ты вводишь при редактировании, плюс интеллисенс и подсказки.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953816
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И который (файловый
формат) пригоден для трекания изменений в version control.


Что XML, что JSON, что YAML -- трекаются в CVS абсолютно одинаково эффективно.
У нас есть конфиги во всех этих трёх форматах.
Деплой YAML скрипты, JSON и XML конфиги приложений.

Всё очень хорошо трекается везде. Ни у кого никаких преимуществ нет.
Дифф изменений показывает строчки и изменения в строчках. Всё хорошо.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953833
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
И который (файловый
формат) пригоден для трекания изменений в version control.


Что XML, что JSON, что YAML -- трекаются в CVS абсолютно одинаково эффективно.
У нас есть конфиги во всех этих трёх форматах.
Деплой YAML скрипты, JSON и XML конфиги приложений.

Всё очень хорошо трекается везде. Ни у кого никаких преимуществ нет.
Дифф изменений показывает строчки и изменения в строчках. Всё хорошо.


Ого, у вас ещё CVS.

CVS — централизованная система управления версиями, популярная в 1990-е — начале 2000-х годов. Хранит историю изменений определённого набора файлов, как правило, исходного кода программного обеспечения, и облегчает совместную работу группы людей над одним проектом. Распространяется на условиях лицензии GNU GPL.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953845
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov
hVostt
пропущено...


Что XML, что JSON, что YAML -- трекаются в CVS абсолютно одинаково эффективно.
У нас есть конфиги во всех этих трёх форматах.
Деплой YAML скрипты, JSON и XML конфиги приложений.

Всё очень хорошо трекается везде. Ни у кого никаких преимуществ нет.
Дифф изменений показывает строчки и изменения в строчках. Всё хорошо.


Ого, у вас ещё CVS.

CVS — централизованная система управления версиями, популярная в 1990-е — начале 2000-х годов. Хранит историю изменений определённого набора файлов, как правило, исходного кода программного обеспечения, и облегчает совместную работу группы людей над одним проектом. Распространяется на условиях лицензии GNU GPL.



Нет, у них не Concurrent Versions System.

Он пишет про абстрактную систему контроля/управлениями версиями (от англ. Control Version System, или Version Control System, или Revision Control System).
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953861
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

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

В настоящий момент у нас трекается Excel. А это ... как вы понимаете просто
изменения blob-ов которые трекать неудобно.

hVostt

YAML формат гораздо более строгий, чем JSON. Так как любой редактор JSON тупо подсветит ошибку, если на закрыл скобочку, или забыл про кавычку, а чуть более продвинутый редактор вообще всё это сам генерит.

В YAML лишний пробел меняет семантику, что является наихудшим сценарием.

Здесь - согласен. Я именно поэтому и поднял тему чтобы обсудить эти маргинальные
случае когда лишний пробел или запятая могут сломать билд.

Но у нас эта фаза на 99% покрыта тестами. Билд не соберется пока количественные
метрики не выйдут на ожидаемые. Например табличка содержит 500 полей. Эти
поля как-раз конфигурируются через Excel.

hVostt

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


Я уже более десятка лет пытаюсь уйти от XML а вы тащите меня обратно

Ну как вы думаете? Какова будет моя реакция?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953868
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
говоря о YAML, есть одна важная деталь, которую никто не принимает во внимание. Безальтернативность реализации, по крайней мере на Java.

А именно, для Java я знаю только одну реализацию - Snake Yaml.

Её поддерживает один единственный человек (который её и создал изначально).

Так вот это риск. Формат сложный, реализация сложная.

Вот есть баг (при том важный), я вежливо зарепортил его человеку, но встретил довольно странную реакцию. При том причины не ясны до конца, и не хотелось бы их обдумывать даже.

https://bitbucket.org/asomov/snakeyaml/issues/440

В результате одна из важнейших фич YAML (блочный формат) не работает в Jackson и соотв. в Spring, т.к. они используют Snake Yaml, и альтернатив похоже нет.

PS: то что автор не переводит проект на гитхаб тоже concern.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953873
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему безальтернативно?

Я много артефактов нашел https://mvnrepository.com/search?q=yaml

Я не все из них проверял. Но думаю что альтернативы есть.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953884
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По дефекту. Мне понадобилось блин 15 минут чтоб понять о чем это вообще?

Кто-ж так оформляет кейсы? Надо как-то чтоб нагляднее было. Хоть строка под строкой.
Код: java
1.
2.
        String correct   = "this is some text with \"quotes\" abcd";
        String inCorrect = "this is some text with \"quotes\" abcd ";



По поводу статуса дефекта WontFix. Я хочу возмутиться вместе с вами но
мне надо сначала глубже вникнуть в текст стандарта.

Стандартны... такие стандарты. С разночтениями. Мдя...
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39953893
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...


А в общем мой опыт я Yaml такой:
- Удобен для человекочитаемости для документов среднего размера
- Для больших документов уже нужны подсветки тагов ({}), этого не хватает
- Удобен для человекописания маленьких документов
- Занимает меньше памяти, чем JSON
- Для меня самое важное - блочный формат, который позволяет не экранировать спец. символы:
Например можно выводить поле с тектом в виде JSON без экранирования.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954033
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу XML.

Из опыта использования Apache Http Server. У меня нет слов выразить свою тоску и печаль по
поводу вот таких вот конфигов.

Код: html
1.
2.
3.
4.
5.
<Directory "/var/web/dir1">
    <Files "private.html">
        Require all denied
    </Files>
</Directory>



Этот псевдо-язык очевидно что похож на XML. Неясно чего хотели создатели. Возможно
они базировали конфигурации на HTML/SGML диалектах - но результат - ужасен во всех
своих проявлениях. И наиболее ужасно то что этот результат сохранился на много лет
и актуален и сейчас.

Не лучший вариант конфигов использует nginx. При большом уважении к Сысоеву.
Сам софт - отличный в своём роде но Json - подобный диалект в конфигах также
ломает мозг и порождает длинный вопрос - "Почему" ?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954097
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
По поводу XML.

Из опыта использования Apache Http Server. У меня нет слов выразить свою тоску и печаль по
поводу вот таких вот конфигов.

Код: html
1.
2.
3.
4.
5.
<Directory "/var/web/dir1">
    <Files "private.html">
        Require all denied
    </Files>
</Directory>



Этот псевдо-язык очевидно что похож на XML. Неясно чего хотели создатели. Возможно
они базировали конфигурации на HTML/SGML диалектах - но результат - ужасен во всех
своих проявлениях. И наиболее ужасно то что этот результат сохранился на много лет
и актуален и сейчас.

Не лучший вариант конфигов использует nginx. При большом уважении к Сысоеву.
Сам софт - отличный в своём роде но Json - подобный диалект в конфигах также
ломает мозг и порождает длинный вопрос - "Почему" ?


Это декларативное XML/JSON программирование. В 2000х часто встречалось.

Особенно наши этим грешили. Типа пользователю нельзя давать никакие скрипты делать, пусть пишет XML конфиг))) Апасно!!))

Это то с чем боролась и победила Бобина в логировании.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954125
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ты сюда свою Бобину затащил. Нет уж. Не будем обсуждать.

Брысь!
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954177
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov

Есть преобразователь для четырёх типов файлов 22122936 .

Мы в основном храним данные в xml и property файлах.
Json для обмена данными между сервером и js кодом.

Хорошего вам дня!

Спасибо. Забрал себе ваш бинарник. Хорошая утилита.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
XML to JSON, YAML or CSV/JSON to XML, YAML or CSV converter, version 2020-05-04
 -?,--help                                  This help text.
 -c,--config <arg>                          The file with config (it includes src, dest, mask, mode
                                            and format parameters).
 -d,--dest <arg>                            The destination file/directory for converted file(s).
 -de,--delimiter <arg>                      The delimiter for csv files(comma|semicolon|tab|space).
 -df,--dest-format <arg>                    The destination file format(unix|windows|mac).
 -f,--format <arg>                          The format type (2|3|4|tabs|compact).
 -m,--mask <arg>                            The file mask (json|xml|yml|csv|all) for source file(s).
 -mo,--mode <arg>                           The processing file mode (convert|format|check).
 -rm,--remove-minuses-and-convert-numbers   Convert xml to json without minuses.
 -rs,--replace-self-closing-with-null       Convert xml to json self-closing.
 -s,--src <arg>                             The source file/directory which should be converted into
                                            xml/json.
 -t,--type <arg>                            The output file(s) type (json|xml|yaml|csv).
 -w,--watch                                 Watch for directory changes.
 -wa,--without-attributes                   Convert xml to json without attributes.
 -wn,--without-namespaces                   Convert xml to json without namespaces.
For docs, license, tests, and downloads, see: http://javadev.github.io/underscore-java



Конечно мне не хватает управления стилями Yaml.

Под кат заглянут только параноики.

Для параноиков.
Код: java
1.
2.
3.
4.
5.
grant {
      permission java.io.FilePermission "*", "read,write,delete";
      permission java.util.PropertyPermission "user.dir", "read";
      permission java.util.PropertyPermission "java.runtime.name", "read";
};


...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954194
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valentin Kolesnikov
Ого, у вас ещё CVS.


Ну можно было тупо сказать Git, просто не хотелось обижать SVN-щиков
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954195
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
hVostt

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

В настоящий момент у нас трекается Excel. А это ... как вы понимаете просто
изменения blob-ов которые трекать неудобно.


Вообще и его можно трекать, если хранить его в распакованном виде )))


mayton
Здесь - согласен. Я именно поэтому и поднял тему чтобы обсудить эти маргинальные
случае когда лишний пробел или запятая могут сломать билд.


Так в случае JSON у вас редактор скажет об ошибке. Но не в случае YAML.


mayton
Но у нас эта фаза на 99% покрыта тестами. Билд не соберется пока количественные
метрики не выйдут на ожидаемые. Например табличка содержит 500 полей. Эти
поля как-раз конфигурируются через Excel.


Одно не заменяет другое. Ваши тесты упадут в момент билда, когда агент будет свободен, когда (не)разраб закоммитит и запушит свои изменения. Короче, в тот момент, когда он увидит ошибку из-за лишнего пробела, он будет очень зол.

И материть тех, кто выбрал YAML ))


mayton
Я уже более десятка лет пытаюсь уйти от XML а вы тащите меня обратно

Ну как вы думаете? Какова будет моя реакция?


Да я не тащу. Я выдаю только контр-аргументы.
Против единственного вашего "смотрите как симпатишно!"

Это обманчивое впечатление.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954196
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ещё пример списка на YAML:

Код: javascript
1.
2.
3.
4.
SomeList:
  - this is first element
  - i'm secod
  - three: simle



Красиво выглядит? нее.... это вам всё сломает ))
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954210
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кавычки...
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954222
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Кавычки...


В том-то и дело, друг.
Дьявол кроется в мелочах.
YAML формат отнюдь не простой.
Любому не-спецу проще выучить JSON с простейшими как тапок правилами, как бы по-уродстки он не выглядел в сравнении с YAML.

А ведь есть ещё JSON5 , который совсем преимущества YAML нивелирует.

Поговаривают, что для девопсов YAML стал стандартом для конфигураций только по одной простой причине. Он похож на Python :)
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954262
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я совсем забыл про json5.

Ну что же . Будет ещё один вариант.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954300
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Valentin Kolesnikov

Есть преобразователь для четырёх типов файлов 22122936 .

Мы в основном храним данные в xml и property файлах.
Json для обмена данными между сервером и js кодом.

Хорошего вам дня!

Спасибо. Забрал себе ваш бинарник. Хорошая утилита.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
XML to JSON, YAML or CSV/JSON to XML, YAML or CSV converter, version 2020-05-04
 -?,--help                                  This help text.
 -c,--config <arg>                          The file with config (it includes src, dest, mask, mode
                                            and format parameters).
 -d,--dest <arg>                            The destination file/directory for converted file(s).
 -de,--delimiter <arg>                      The delimiter for csv files(comma|semicolon|tab|space).
 -df,--dest-format <arg>                    The destination file format(unix|windows|mac).
 -f,--format <arg>                          The format type (2|3|4|tabs|compact).
 -m,--mask <arg>                            The file mask (json|xml|yml|csv|all) for source file(s).
 -mo,--mode <arg>                           The processing file mode (convert|format|check).
 -rm,--remove-minuses-and-convert-numbers   Convert xml to json without minuses.
 -rs,--replace-self-closing-with-null       Convert xml to json self-closing.
 -s,--src <arg>                             The source file/directory which should be converted into
                                            xml/json.
 -t,--type <arg>                            The output file(s) type (json|xml|yaml|csv).
 -w,--watch                                 Watch for directory changes.
 -wa,--without-attributes                   Convert xml to json without attributes.
 -wn,--without-namespaces                   Convert xml to json without namespaces.
For docs, license, tests, and downloads, see: http://javadev.github.io/underscore-java



Конечно мне не хватает управления стилями Yaml.

Под кат заглянут только параноики.

Для параноиков.
Код: java
1.
2.
3.
4.
5.
grant {
      permission java.io.FilePermission "*", "read,write,delete";
      permission java.util.PropertyPermission "user.dir", "read";
      permission java.util.PropertyPermission "java.runtime.name", "read";
};




А где можно почитать про управление стилями Yaml?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954303
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я на 100% не уверен что это имеено стили.

Но в SnakeYaml есть DumperOptions
https://www.javadoc.io/doc/org.yaml/snakeyaml/1.19/org/yaml/snakeyaml/DumperOptions.html
и насколько я понимаю он влияет на способ сериализации.

Мне в основном интересно управлять форматированием арреев (горизонтально-вертикально)
и способом представления Maps. Причем задавать это выборочно для некоторых уровней
документа или тегов.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954497
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из программных продуктов которые юзают yaml и с которыми я сталкивался.

AWS CloudFormation
Apache Cassandra
Travis
Docker-compose
Spring (YamlConfig) - Теоретически. Тоесть я видел такие конфиги но не юзал.
Log4j 2.x

+все .properties теоретически можно рассматривать как подмножество Yaml.

+ некоторые продукты - опциональню. Тоесть например можно конфигурить AWS Cloud
через JSon или через Yaml как будет удобно.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39954586
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ну это же по сути формат. Если работа с конфигами/моделями/данными реализована через абстракцию, то YAML, JSON или что-то ещё, это всего лишь соответствующий провайдер.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961103
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал потихоньку применять. В неком простом веб-сервере на базе Jetty у меня был справочник mime types
в формате Java-properties.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
# images

gif  : image/gif
png  : image/png
jpg  : image/jpeg
jpeg : image/jpeg
svg  : image/svg+xml
webp : image/webp
ppm  : image/x-pordiv-pixmap
pgm  : image/x-pordiv-graymap
pnm  : image/x-pordiv-anymap

# documents

pdf : application/pdf
djvu : image/x-djvu
xls : application/x-msexcel
doc : application/msword
ppt : application/mspowerpoint

# Video

avi : video/avi
mp4 : video/mp4
mov : video/quicktime
flv : video/x-flv
wmv : video/x-ms-wmv
mkv : video/x-matroska

# sound

mp3 : audio/mpeg
ogg : audio/ogg
aac : audio/aac
wma : audio/x-ms-wma
wav : audio/vnd.wave
flac : audio/flac



Вот интересен после конвертации в Yaml. Я сгруппировал популярные префиксы image/, video/ в группы и получилось красиво.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
# Images

image:
  - gif : [ gif ]
  - png : [ png ]
  - jpeg : [ jpeg, jpg ]
  - jp2 : [ jp2, j2k, jpf, jpm, jpg2, j2c jpc]
  - webp : [ webp ]
  - svg : [ svg+xml ]
  - quicktime : [ mov ]
  - x-pordiv-pixmap : [ ppm ]
  - x-pordiv-graymap : [pgm]
  - x-pordiv-anymap : [pnm]
  - x-djvu : [ image ]

# Video:

video:
  - avi : [ avi ]
  - mp4 : [ mp4,m4v ]
  - 3gpp : [ 3gpp, 3gp ]
  - webm : [ webm ]

# Audio

audio:
  - aac : [ aac ]
  - mpeg : [ mp3 ]
  - ogg : [ogg]
  - aac : [aac]
  - vnd.wave : [ wav ]
  - flac : [ flac ]
  - x-ms-wma : [ wma ]

# documents

pdf : application/pdf
xls : application/x-msexcel
doc : application/msword
ppt : application/mspowerpoint



Есть опция. Можно с целью обратной совместимости снова писать как properties.
+ Некоторые расширения дублировали mimetype. Я сделал их массивом.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961230
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Код: python
1.
2.
image:
  - gif : [ gif ]



Что ж тут красивого-то?

Красиво, это когда интуитивно понятно, семантически верно, очевидно и лаконично.


mayton
Код: java
1.
2.
3.
gif  : image/gif
png  : image/png
jpg  : image/jpeg



Вот тут всё понятно и очевидно, ничего лишнего.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961339
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

mayton
Код: java
1.
2.
3.
gif  : image/gif
png  : image/png
jpg  : image/jpeg



Вот тут всё понятно и очевидно, ничего лишнего.

Тут - больше букв.

Давай такой промежуточный вариант. Как улучшить дизайн Yaml-конфига чтобы было "понятно и очевидно" ?
Потому что твоё предложение - это возврат к .properties файлу.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961368
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тут - больше букв.


Давно, когда я был молодым и зелёным, то был в восторге от разных трюков в С/C++, как можно десяток строчек кода сократить до одной.

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


mayton
Давай такой промежуточный вариант. Как улучшить дизайн Yaml-конфига чтобы было "понятно и очевидно" ?
Потому что твоё предложение - это возврат к .properties файлу.


Так зачем улучшать то, что итак хорошо?
Ну реально, давай лучше какой-то другой пример.

Потому что MIME-тип нельзя дербанить на части, он цельный. Именно в таком, цельном виде используется. И даже в шаблонах он цельный: "*/*", "image/*"..

В общем, другой пример нужен.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961421
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо. Я подумаю над другим примером. Но ты наверняка видел простыни пропертей вида.

Код: java
1.
2.
3.
4.
5.
application1.module1.form1.property1 = "FuckenValue1"
application1.module1.form1.property2 = "FuckenValue2"

application1.module2.form1.property1 = yes
application1.module2.form1.property2 = 1



Скажи честно. Разве тебя это не раздражало?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961495
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Скажи честно. Разве тебя это не раздражало?


Не особо. Ну давай перепишем так:

Код: javascript
1.
2.
3.
4.
5.
application1:
  - module1:
     - form1:
         - property1: yes
         - property2: 1



Что изменилось? Строчек стало больше. Меньше их никак не станет, так как на каждую пропертю всю равно одна строча. Добавилось проблем. Теперь нужно следить за форматированием.

Плюс ещё семантическая проблема. Сейчас может показаться, что в объекте form1 всего две проперти. Но это не так. В первом случае такой проблемы нет.

Плюс, я уже не могу оперировать так просто. Если пропертей будет больше, чем влезает на экран, то трудно удерживать контекст без специальных средств. Обычного текстового редактора будет недостаточно.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961568
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хорошо. Я подумаю над другим примером. Но ты наверняка видел простыни пропертей вида.

Код: java
1.
2.
3.
4.
5.
application1.module1.form1.property1 = "FuckenValue1"
application1.module1.form1.property2 = "FuckenValue2"

application1.module2.form1.property1 = yes
application1.module2.form1.property2 = 1



Скажи честно. Разве тебя это не раздражало?
он прав. Но разве это не представление VIEW.
Которое не должно зависеть от данных?
Делай:
Меню-Промотр конфига-Вариант1, вар2, вар3, варN
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961571
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Скажи честно. Разве тебя это не раздражало?


Не особо. Ну давай перепишем так:

Код: javascript
1.
2.
3.
4.
5.
application1:
  - module1:
     - form1:
         - property1: yes
         - property2: 1



Что изменилось? Строчек стало больше. Меньше их никак не станет, так как на каждую пропертю всю равно одна строча. Добавилось проблем. Теперь нужно следить за форматированием.

Плюс ещё семантическая проблема. Сейчас может показаться, что в объекте form1 всего две проперти. Но это не так. В первом случае такой проблемы нет.

Плюс, я уже не могу оперировать так просто. Если пропертей будет больше, чем влезает на экран, то трудно удерживать контекст без специальных средств. Обычного текстового редактора будет недостаточно.

Ширина среднего экрана была 80 символов для текстового режима дисплея. Это я беру по стандартам 20-го века.
Для современных - я не знаю сколько - но увеличим в 2 раза... 160 символов. Пускай будет.

Для среднего indent в 2 символа который форматирует моя IDE для Yaml я исчерпаю список через 80
рекурсивных уровней таких документов ну (и еще хвостик надо оставить чтоб правая часть не упёрлась
в границу).

Ты можешь себе представить документ с 80 уровнями вложенности? Я даже не помню встречал я такой
в своей практике.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961573
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Меню-Промотр конфига-Вариант1, вар2, вар3, варN

Не понял. Приведи пример.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961575
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Тут - больше букв.


Давно, когда я был молодым и зелёным, то был в восторге от разных трюков в С/C++, как можно десяток строчек кода сократить до одной.

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

Я - тоже не сторонник брейнфака. Но мне кажется что .properties очень часто используется не по назначению.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961580
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

application1.module1.form1.property1 = "FuckenValue1"
application1.module1.form1.property2 = "FuckenValue2"

application1.module2.form1.property1 = yes
application1.module2.form1.property2 = 1
......... И
application1:
- module1:
- form1:
- property1: yes
- property2: 1
.....
Это внешний вид или VIEW.
Можно выводить тот что понравился юзверю.
О чем спор? Что лучше или хуже?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961583
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой view? Это исходники. Сорцы.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961590
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Какой view? Это исходники. Сорцы.
а ты посмотри на них как на view)
ЗЫ
Исходники для человека/прогера/машины?
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961605
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Какой view? Это исходники. Сорцы.
а ты посмотри на них как на view)
ЗЫ
Исходники для человека/прогера/машины?

Я могу процитировать одного из великих. Он сказал-де

"Исходники пишуться человеком для прочтения других человеков. И лишь в редких случаях для машины"
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961612
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот в Spring, если адаптировать application.props в application.yaml эта задача технически уже решена.

А в своем кастомном Jetty-Http ендпоинте я взял следующий props:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
gif  : image/gif
png  : image/png
jpg  : image/jpeg
jpeg : image/jpeg
svg  : image/svg+xml
webp : image/webp
ppm  : image/x-pordiv-pixmap
pgm  : image/x-pordiv-graymap
pnm  : image/x-pordiv-anymap



Перевернул его наоборот.

mime.properties
Код: java
1.
2.
image/png = png  
image/jpeg = jpg



Теперь справочник идёт от mime-type к extension но нам пофиг т.к в процессе старта приложения
один из бинов который является поставщиком mime-typed их все равно переворачивает.

Далее. У меня это приложение группирует обаботку картинок в фолдере. И семантически
мне было удобнее картинки определять как группу. Я городил кастомные группы
внутри .properties пока не понял что в 100% случаев префикс mime-type уже
отвечает на мой вопрос. Если расширение файла - jpg, то он является картинкой
потому-что его тип - "image/jpeg"

Тогда я вынес классы mime-types на уровень выше. Отсюда появилась категория

mime.yaml
Код: java
1.
2.
3.
image : 
 png : png  
 jpeg : jpg



И денормализация. Я просто объединил онинаковые по смыслу расширения (jpg, jpeg) в список.
так и получились списки.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39961637
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тоесть мои игры с классификатором mime-types это не просто конвертация properties в другой формат.

Это некое переосмысление. Переход от списка к дереву.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962401
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вот в Spring, если адаптировать application.props в application.yaml эта задача технически уже решена.

.

у нас все конфиги на ямле- очень удобно ,properties не даст такой расширяемости

я могу на примере продемострировать как это круто вышлядит когда нужно масштабировать проект
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962415
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я ищу от ямла не просто пропертей. Это было-бы слишком просто.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962423
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
ну как сказать не просто проперти а возможность сделать base class + наследование
наверняка этому можно и в обычной жизни найти применение
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962510
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да по сути ничего умнее кроме иерархиеских пропертей я в этом топике не придумаю.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962526
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Да по сути ничего умнее кроме иерархиеских пропертей я в этом топике не придумаю.

а что ты хотел придумать от yml

он хорош тем там можно сделать base class и иерархию
это выглядит реально круто
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39962561
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. ООП мне здесь не нужно.

Мне достаточно будет дерева.

И я так и не разобрался как управлять форматированием.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #39965038
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кстати прилетел полезный кейс. Есть AWS cloudformation scripts. Их основное назначение - конфигурировать
процесс деплоя вашего кода в Amazon. В качестве языков там можно использовать JSon, Yaml.

Типовые конфигурации деплоя для dev/qa/stg сред - это огромные простыни конфигов но они одинаковы
как братья-близнецы. Отличаются только суффиксом. Например если создается aws-lambda-0123 то
для dev конфигурации у нее будет имя aws-lambda-0123-dev.

Планирую внедрить вот этот реплейсмент не уровне технологичном для Yaml. Потому что в нем
такая опция была как минимум заявлена.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Семантика Yaml документа.
    #40081352
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Словил баг в утилите xmltojson.jar в ее графической части во время конвертации JSON to YAML.

Исходный документ пока привести не могу. Возможно чуть позже. Отбелю его до белизны.

Вот stderr:


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Exception "java.lang.ClassNotFoundException: com/intellij/codeInsight/editorActions/FoldingData"while constructing DataFlavor for: application/x-java-jvm-local-objectref; class=com.intellij.codeInsight.editorActions.FoldingData
Exception "java.lang.ClassNotFoundException: com/intellij/codeInsight/editorActions/FoldingData"while constructing DataFlavor for: application/x-java-jvm-local-objectref; class=com.intellij.codeInsight.editorActions.FoldingData
a.a.a.a.g: Expected name at 43:139
	at a.a.a.a.c.c(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.e(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.c(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.c(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.d(Unknown Source)
	at a.a.a.a.c.b(Unknown Source)
	at a.a.a.a.c.a(Unknown Source)
	at a.a.a.a.c.a(Unknown Source)
	at a.a.a.a.h.c(Unknown Source)
	at examples.Antenna.j(Unknown Source)
	at examples.Antenna.q(Unknown Source)
	at examples.w.actionPerformed(Unknown Source)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)

...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #40081668
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Похоже на битый json.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #40081671
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Обновил зависимые библиотеки до самых новых.

Должно помочь.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #40081683
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Завтра попробую.
...
Рейтинг: 0 / 0
Семантика Yaml документа.
    #40081963
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Спасибо. Завтра попробую.


Можете попробовать jave 11. Должно лучше работать.
...
Рейтинг: 0 / 0
94 сообщений из 94, показаны все 4 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Семантика Yaml документа.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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