Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / C++ |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 2 3 4 5 [6] все |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
mayton, Веб это гетерогенная система. https://ru.m.wikipedia.org/wiki/Гетерогенная_система Данные из одного Мира пересылаются в Другой. Поэтому в java прогеры наоборот повернуты на xml/json. Недавно один чел сериализовал в бд классы в виде json и просто не понимал что можно без него. |
5 мар 21, 23:20 [22290544] Ответить | Цитировать Сообщить модератору |
petrav Member Откуда: Сообщений: 2861 |
Ну ты сравнил монокль и радиотелескоп. |
||||
6 мар 21, 13:39 [22290659] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav, В отличии от твоего он имеет стандарт. |
6 мар 21, 14:40 [22290671] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
Можем поговорить о трабл-шутинге. О том как наблюдать TLV формат невооруженным глазом. И как решать общие вопросы гетерогенного обмена данными. Как то: last/big endian. Разрядность целого числа. И прочее. Тоесть о наборе best-practices, которые будут сопровождать разработчика если он вдруг решил работать с TLV. Я-бы стравнил TLV с EBML, Protobuf, Apache Thrieft, EXI, и с бинарным форматом который используется в MongoDb для представления документов - по количеству фичей - по удобству изменения сопровождения кода и вывел-бы некое сравнительное заключение. Компактность и экономию места тоже можно включать в метрики. |
6 мар 21, 15:55 [22290684] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52921 |
А можем и не говорить, а просто вспомнить, что все вышеупомянутые гетерогенные системы обмениваются своими текстовыми посланиями поверх (внезапно!) двоичного IP. То есть согласование разрядности и конечности не является проблемой и заслуживает ровно одну строчку в спецификации протокола "все числа передаются в network format". Posted via ActualForum NNTP Server 1.5 |
||
6 мар 21, 16:33 [22290690] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
Но это слова. Спека. А как вы практически решаете эти задачи? Должен быть API для декларативного описания месседжа. И должен быть API для приведения байтов и битов в "network format". |
6 мар 21, 17:38 [22290704] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52921 |
Так у IP, например, он есть: htonl(), htons(). У меня в проектах PushInt()/GatherInt(). Posted via ActualForum NNTP Server 1.5 |
||
6 мар 21, 17:41 [22290707] Ответить | Цитировать Сообщить модератору |
petrav Member Откуда: Сообщений: 2861 |
И после такого ты возмущаешься на тот «мой» plain-ini формат? |
||||||
6 мар 21, 18:44 [22290725] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav,; Название раздела 1Это не ini))) Забудь это слово. Детский сад какой то. |
6 мар 21, 19:14 [22290734] Ответить | Цитировать Сообщить модератору |
petrav Member Откуда: Сообщений: 2861 |
Я точно не знаю чем руководствовались разработчики XML. Но когда я разрабатывал структуру XML документов, я, конечно, сталкивался с выбором: атрибут или подэлемент? И всегда я руководствовался вопросами читабельности результирующих документов. Сравним: XML:
JSON:
Очевидно XML и лаконичнее, и нагляднее нежели JSON. Даже просто по количеству технических символов разметки выигрывает XML. ![]() Просто мальчикам и девочкам, которые пришли в Web, с трудом освоили JavaScript… Им сложно задумываться: а что выбрать — атрибут или подэлемент? А синтаксис JS они худо бедно освоили. |
||||||
6 мар 21, 20:20 [22290747] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav, Не пишите ерунду о том что JSON многословнее XML. |
6 мар 21, 20:58 [22290761] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
Если employee представляет собой плоскую (plain) структуру наподобие SQL datarow то все элементы могут быть атрибутами. Типа: <employee id="123" departmentId="456" roleId="789" status="active" firstName="Иван" lastName="Иванович" surName="Иванов" /> Ну я-бы та сделал. Кортеж. Или tuple. Если какая-то часть employee расширяется на коллекцию элементов или имеет иерархическую структуру атомов - то мы можем сделать XmlElement с дочерними элементами чтобы подчеркнуть вложенность. Пример с коллекцией. <employee id="123" departmentId="456" roleId="789" status="active" firstName="Иван" lastName="Иванович" surName="Иванов" > <phoneList> <phone>+1 555 123 123</phone> <phone>+1 777 123 123</phone> </phoneList> </employee> Пример с структурой подчинения. Сотрудники №124 и 125 подчиняются Иванову. <employee id="123" departmentId="456" roleId="789" status="active" firstName="Иван" lastName="Иванович" surName="Иванов" > <employee id="124" ...../> <employee id="125" ...../> </employee> |
||||
6 мар 21, 21:14 [22290768] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
Данный ответ я считаю неполным. Он вобщем не отвечает на мой вопрос. А мой вопрос заключается в том, насколько много вам нужно сделать действий чтобы описать некую бинарную (гетерогенную!) структуру. Сами по себе winsock API calls не являют собой решение этой проблемы. Они - просто некий промежуточный инструмент. И то находящийся строго в слое серверного программирования. Какие API calls вы будете вызывать в браузере? |
||||||
6 мар 21, 21:19 [22290769] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
mayton, Отложи в сторону браузер. Нет его в плюсах проектов. Вы в плюсах описываете структуру и в дельфи её читаете. Всё. |
6 мар 21, 21:58 [22290785] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
Как будет угодно. Это очень интересная позиция. Сводить спор по XML/JSON к TLV а потом в конечном счете к тому что это С++нику не надо. Зачем тогда вообще спор был? |
6 мар 21, 22:05 [22290793] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
mayton, Я тебе объяснил почему xml/json не интересны сишникам. Я когда им был тоже без них обходился. Писал в файл бинарник метку размер данные. Сообщение было отредактировано: 6 мар 21, 22:06 |
6 мар 21, 22:12 [22290797] Ответить | Цитировать Сообщить модератору |
petrav Member Откуда: Сообщений: 2861 |
А зачем же тогда в Qt всякие Xml, Json и прочие HttpRequest? :) |
||||
6 мар 21, 22:19 [22290799] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav, Для настроек (файлов) молодой человек. А request не нужен. Ну или можно им курс валюты на сайте спросить. Сообщение было отредактировано: 6 мар 21, 22:48 |
6 мар 21, 22:55 [22290808] Ответить | Цитировать Сообщить модератору |
bk0010 Member Откуда: Сообщений: 5058 |
|
||||
7 мар 21, 15:27 [22290906] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
База решает свой диапазон задач. И не решает например message queues между узлами вычислительной сети. |
||||||||
7 мар 21, 20:07 [22290957] Ответить | Цитировать Сообщить модератору |
petrav Member Откуда: Сообщений: 2861 |
Да, не ini. Но я же просил придумать название формата. Ты ничего не предложил.
Сообщение было отредактировано: 8 мар 21, 23:30 |
|||||
8 мар 21, 09:31 [22291044] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav, Ну очевидно же. Твой собственный формат никому не интересен. Настройки.мойформат Не подходит? Или боимся русских букв и более 8 символов? )))) |
8 мар 21, 10:09 [22291049] Ответить | Цитировать Сообщить модератору |
PetroNotC Sharp Member Откуда: Сообщений: 7650 |
petrav, Мне тоже интересна. Только с инженерами. Без оффтопов. Ты кто? |
8 мар 21, 12:05 [22291096] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 51017 |
xamelione25, у тебя еще есть какие-то вопросы по теме? |
8 мар 21, 18:35 [22291238] Ответить | Цитировать Сообщить модератору |
MasterZiv Member Откуда: Питер Сообщений: 34688 |
xamelione25,
f1.open("log.txt", ios_base::trunc);
=>
f1.open("log.xls", ios_base::trunc);
|
9 мар 21, 15:18 [22291736] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 2 3 4 5 [6] все |
Все форумы / C++ | ![]() |