OberonCore
https://forum.oberoncore.ru/

BlackBox Merge tool
https://forum.oberoncore.ru/viewtopic.php?f=127&t=4431
Страница 4 из 4

Автор:  Alexey Veselovsky [ Вторник, 27 Август, 2013 14:37 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Пётр Кушнир писал(а):
Ещё есть степень эффективности разбора: закинуть 4 байта в целочисленную переменную через SYSTEM или сконвертировать строку из 12-ти однобайтных символов, разница есть.
Тащем, речь лишь о том, что подобные форматы уже существуют и при необходимости не надо их выдумывать самому.

Ну, это не совсем так. Бинарный формат не означает фиксированную длину представления числа. Довольно часто числа имеют плавающий размер, см google protobuf например, или там ASN.1. Так что в общем случае, и в случае бинарного формата "закинуть 4 байта в целочисленную переменную через SYSTEM" не получится.

Автор:  Kemet [ Вторник, 27 Август, 2013 14:45 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Пётр Кушнир писал(а):
Ещё есть степень эффективности разбора: закинуть 4 байта в целочисленную переменную через SYSTEM или сконвертировать строку из 12-ти однобайтных символов, разница есть.

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

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 14:48 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Фиксированную длину int32 в данном случае обеспечивает спецификация конкретного формата binary json. Мы же про него говорим. И про отличия всех форматов друг от друга. Ты указал два важных качества:
Alexey Veselovsky писал(а):
кроме объема данных и удобства просмотра глазками в разных тулзах

я указал третье:
Пётр Кушнир писал(а):
степень эффективности разбора

а Илья указал нулевое важное качество:
Илья Ермаков писал(а):
с явно введённым ФОРМАТОМ и интерфейсом работы с ним

Для сравнения обсуждаемых здесь небинарных форматов, бинарного формата Stores и бинарного формата bjson расклад вот такой.

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 14:50 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Kemet писал(а):
Пётр Кушнир писал(а):
Ещё есть степень эффективности разбора: закинуть 4 байта в целочисленную переменную через SYSTEM или сконвертировать строку из 12-ти однобайтных символов, разница есть.

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

В какой предметной области передвинуть 4 байта внутрь целого менее эффективно, чем сконвертировать 12 байт в то же самое целое через промежуточный формат (аскии)?

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 14:53 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Ребята, речь шла о бинарном формате для сериализации объектов ББ (в том числе документов, текстов, картиночек, всё в виде объектов, которые могут писать байты куда им скажут), не забывайте об этом.

Автор:  Alexey Veselovsky [ Вторник, 27 Август, 2013 14:59 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Пётр Кушнир писал(а):
Ребята, речь шла о бинарном формате для сериализации объектов ББ (в том числе документов, текстов, картиночек, всё в виде объектов, которые могут писать байты куда им скажут), не забывайте об этом.

Ну, поскольку в общем виде нет соглашения в каком формате они должны свои данные предоставлять, то тут возможен либо бинарный формат (да хоть тот же бинарный json), либо xml/json с base64/uue-вставками внутри (для тех кто точно не текст хранит).

Автор:  Пётр Кушнир [ Вторник, 27 Август, 2013 15:24 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Интерфейсом Stores.Writer определён контракт записывателя, предполагающий произвольную запись байтов. Реализацией этого интерфейса определяется "соглашение" и "формат", бинарный, внезапно.
Такая вот реальность.

Автор:  Alexey Veselovsky [ Вторник, 27 Август, 2013 15:29 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Пётр Кушнир писал(а):
Интерфейсом Stores.Writer определён контракт записывателя, предполагающий произвольную запись байтов. Реализацией этого интерфейса определяется "соглашение" и "формат", бинарный, внезапно.
Такая вот реальность.

Ну я и говорю - нет соглашения. То есть полная свобода. Это никак в общем то не мешает хранить все это дело в xml или json, да хоть в google protobuf'е. Но толку будет от такого хранения не сказать чтобы много.

Автор:  ilovb [ Четверг, 29 Август, 2013 08:09 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Кстати, мердж odc это еще не все. В двух ветках еще и кодовые файлы разные...

Автор:  Роман М. [ Воскресенье, 18 Май, 2014 16:17 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Роман М. писал(а):
Если исходить из того, что мы не имеем встроенных в ББ средств сравнения составных документов, то примитивным решением является сериализация единиц View в закодированную последовательность (допустим, в StdCoder). Таким образом, для этого в ББ потребуется обеспечить два механизма: сериализацию и десериализацию. Так станет возможным временно вставить закодированный кусок в ББ для его последующей раскодировки и отображения (допустим, формы диалога) и затем вернуться во внешний (примитивный, на тексте) инструмент сравнения, чтобы произвести слияние выбранных частей.

Код:
<body>
   Text Text<para/>Text
   <view type="OleClient.View">
      <data>
         DLKHFLNLKCHcdscsad875875...
      </data>
      <view type="HostPictures.StdView">
         <data>
            BVKJSDhF99797...
         </data>
      </view>
   </view>
   Text Text Text
   <view type="TextViews.View">
      <data>
         KCJGSKJGsdfsdsdd6s...
      </data>
   </view>
</body>

Как-то так...

Пожалуй, для учёта совместимости разных версий конвертеров даже стоит уточнить каким кодеком пользоваться при раскодировании:
Код:
<data codec="StdCoder">ENCODED DATA<data/>
<data codec="AsciiCoder">ENCODED DATA<data/>

Автор:  Роман М. [ Воскресенье, 18 Май, 2014 16:21 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Rich Text Format. Objects
Цитата:
Use of Microsoft Object Linking and Embedding (OLE) objects or Macintosh Edition Manager subscriber objects limits the interoperability, because these objects are not widely supported in programs for viewing or editing RTF files (e.g. embedding of other files inside the RTF, such as tables or charts from spreadsheet application).[35][36][37][38][39] If a software that understands an OLE object is not available, the object is usually replaced by a picture (bitmap representation of the object) or not displayed at all.[40][41]

Любопытно. Вам это ничего не напоминает?

Автор:  ilovb [ Воскресенье, 18 Май, 2014 17:04 ]
Заголовок сообщения:  Re: BlackBox Merge tool

Товарищи, загляните сюда: http://stackoverflow.com/questions/1871 ... -available

Страница 4 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/