<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Декларативная спецификация парсинга бинарных файлов Kaitai S...</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html</link>
    <description>Проект Kaitai представил (http://kaitai.io/) первый публичный релиз спецификации парсинга произвольных бинарных файлов и инструментария к нему: Kaitai Struct 0.2 (https://github.com/kaitai-io/kaitai_struct). Kaitai Struct предлагается использовать в качестве формального описания любых бинарных форматов. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Формат описывается в виде файла .ksy (который представляет собой YAML специального вида), который можно не только использовать в качестве документации, но и сразу же скомпилировать с помощью специального компилятора (ksc). На выходе компилятора &amp;#8212; исходные коды библиотеки на одном из поддерживаемых языков, которая автоматически будет выполнять парсинг описанного в .ksy формата. Первый публичный релиз поддерживает Java, JavaScript, Python, Ruby, ожидается поддержка C, C++ и C#.&lt;br&gt;&lt;br&gt;&lt;br&gt;Заявляется, что сгенерированные таким образом парсеры, как правило, не уступают парсерам, написанным вручную, а зачастую и превосходят их &amp;#8212; за счет более корректной обработки исключительных ситуаций, гарантированно </description>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (GreyCat)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#44</link>
    <pubDate>Wed, 20 Apr 2016 18:52:43 GMT</pubDate>
    <description>&amp;gt; Господа! Если время старта/компиляции критично, то можно файлы *.class скормить компилятору &lt;br&gt;&amp;gt; gcj (все про него забыли). Получится нативный исполняемый бинарь, который порадует &lt;br&gt;&amp;gt; вас не только быстрым стартом, но и шустрым исполнением кода.&lt;br&gt;&lt;br&gt;Эм, вы сами пробовали? Нативный бинарь получается размером эдак мегабайт 30-35, JIT в нем отсутствует начисто, внутри по сути примерно такая же виртуальная машина, стартап там тоже мягко говоря небыстрый и сама программа работает, как правило, в несколько раз медленнее того, как она работает в JVM.&lt;br&gt;&lt;br&gt;Плюс, пардон, когда я последний раз туда смотрел, там не то, что Java 7 не поддерживалась, даже Java 6 местами не была реализована.&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (serg)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#43</link>
    <pubDate>Wed, 20 Apr 2016 18:34:55 GMT</pubDate>
    <description>Господа! Если время старта/компиляции критично, то можно файлы *.class скормить компилятору gcj (все про него забыли). Получится нативный исполняемый бинарь, который порадует вас не только быстрым стартом, но и шустрым исполнением кода.&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (Алконим)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#42</link>
    <pubDate>Wed, 20 Apr 2016 17:21:24 GMT</pubDate>
    <description>Для парсинга *любого* бинарника нужна машина тюринга. Бинарь частично упакованый gzip или зашифрованый ssl, смогёт?&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (GreyCat)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#41</link>
    <pubDate>Thu, 14 Apr 2016 07:42:10 GMT</pubDate>
    <description>Генератора пока нет &amp;#8212; есть далекоидущая цель сделать это где-нибудь ко второй major версии. По большому счету в декларативном формате эта задача упирается в необходимость (и возможность) символического вывода: например, если где-то объявлено число x, а где-то есть строка str длиной (2 * x + 3), т.е. str.length = 2 * x + 3. Значит, при записи нужно развернуть формулу и записывать x = (str.length - 3) / 2. И, внезапно, иногда решений может вообще не быть, а иногда их может быть бесконечно много.&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (j)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#40</link>
    <pubDate>Wed, 13 Apr 2016 19:53:27 GMT</pubDate>
    <description>&amp;gt; Avro &amp;#8212; в смысле, с генерируемых классах сразу Avro-аннотации генерировать, как-то &lt;br&gt;&amp;gt; так?&lt;br&gt;&lt;br&gt;В идеале + код. Если говорим о Hadoop семействе, то оптимально - InputFormat c выходом Avro объектов. Кроме самого Hadoop-а это практически автоматом даст интеграцию с Spark и Hive&lt;br&gt;&lt;br&gt;&amp;gt; CDR &amp;#8212; имеются в виду всякие логи сотовых операторов и прочая биллинг-ориентированная &lt;br&gt;&amp;gt; тематика?&lt;br&gt;&lt;br&gt;Сырые логи с оборудования. Навскидку http://bill-parser.googlecode.com/svn/trunk/doc/CDR_Description_M14.3.pdf&lt;br&gt;&lt;br&gt;При этом CDR - это вершина айсберга. Там еще траффик, технические логи итд&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (anonymous)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#39</link>
    <pubDate>Wed, 13 Apr 2016 18:01:38 GMT</pubDate>
    <description>&amp;gt;Последнее, кстати, запускается радикально быстрее&lt;br&gt;&lt;br&gt;Была какая-то тулза для ускорения многократного запуска программ на Java за счет переиспользования JVM&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (Никто)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#38</link>
    <pubDate>Wed, 13 Apr 2016 14:53:34 GMT</pubDate>
    <description>В этом и преимущество велосипедных DSL - больше возможности для краткости.&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (GreyCat)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#37</link>
    <pubDate>Wed, 13 Apr 2016 10:30:46 GMT</pubDate>
    <description>&amp;gt; Можно было и валиндный yaml: &lt;br&gt;&amp;gt; seq: &lt;br&gt;&amp;gt;   image_width: u2 &lt;br&gt;&amp;gt;   image_height: u2 &lt;br&gt;&amp;gt;   flags: u1 &lt;br&gt;&amp;gt;   bg_color_index: u1 &lt;br&gt;&amp;gt;   pixel_aspect_ratio: u1 &lt;br&gt;&amp;gt; только это не расширяемо.&lt;br&gt;&lt;br&gt;Главная проблема здесь в том, что у вас получился map под названием seq, в котором порядок элементов не определен. А нам он важен, т.к. нам их надо парсить именно в определенной последовательности.&lt;br&gt;</description>
</item>

<item>
    <title>Декларативная спецификация парсинга бинарных файлов Kaitai S... (Анонимомус)</title>
    <link>https://m.opennet.dev/openforum/vsluhforumID3/107525.html#36</link>
    <pubDate>Wed, 13 Apr 2016 10:28:57 GMT</pubDate>
    <description>Можно было и валиндный yaml:&lt;br&gt;&lt;br&gt;seq:&lt;br&gt;  image_width: u2&lt;br&gt;  image_height: u2&lt;br&gt;  flags: u1&lt;br&gt;  bg_color_index: u1&lt;br&gt;  pixel_aspect_ratio: u1&lt;br&gt;&lt;br&gt;только это не расширяемо.&lt;br&gt;</description>
</item>

</channel>
</rss>
