черная магия
Oct. 28th, 2016 02:25 pmСегодня я узнал, что два MP3 файла можно соединить вместе просто командой cat в Юниксе или copy /b в Виндоус (т.е. просто содержимое файлов соединить) и в результате выйдет совершенно законный MP3 файл, который нормально будет проигрываться.
Мои наивные представления о том, как устроены файлы такого рода, взорвались прямо у меня в мозгу.
(да, я уже прочитал и понимаю, как это работает, но все равно, WTF)
Мои наивные представления о том, как устроены файлы такого рода, взорвались прямо у меня в мозгу.
(да, я уже прочитал и понимаю, как это работает, но все равно, WTF)
no subject
Date: 2016-10-28 11:27 am (UTC)Спасибо.
Date: 2016-10-28 11:33 am (UTC)no subject
Date: 2016-10-28 11:34 am (UTC)no subject
Date: 2016-10-28 11:43 am (UTC)Отсюда есть два следствия. Во-первых, самый быстрый способ, скажем, слить несколько больших таблиц с одинаковым набором и порядком колонок - это сконкатенировать MYD и запустить myisamchk, чтобы перестроился индекс. Во-вторых, если, скажем, надо линейно пройтись по всем строчкам очень большой таблицы, которую сейчас никто не изменяет, то можно не выбирать данные из mysql, а запросить у него describe table, и дальше читать данные напрямую с диска, маппинг этих бинарных данных в C-структуру (или, там, в функции pack/unpack в perl) тривиален.
Плюс: всё работает очень быстро. Минусы: 1) надо всё делать очень аккуратно 2) те, кто впервые видят такую деятельность в коде, считают что авторы кода ненормальны
no subject
Date: 2016-10-28 11:43 am (UTC)no subject
Date: 2016-10-28 11:48 am (UTC)no subject
Date: 2016-10-28 11:49 am (UTC)MPEG TS тоже можно склеивать cat'ом.
no subject
Date: 2016-10-28 11:54 am (UTC)no subject
Date: 2016-10-28 12:02 pm (UTC)Понятно, что любая выборка, сортировка или аггрегация быстрее делается самим mysql-ем, но если вам правда надо выбрать каждую строчку и на неё в прикладном коде посмотреть, то так - быстрее.
Впрочем, на практике это всё правда не очень полезно. Вот что можно две таблицы быстро слить, или скажем долго писать на диск в простом бинарном формате, а потом к этим данным подложить заголовок, сказать myisamchk и получить валидную таблицу куда можно запросы задавать - вот это свойство ценное.
Но если так можно не делать, то лучше не делать, конечно.
no subject
Date: 2016-10-28 12:12 pm (UTC)+1
интересно, что на тегах покажет плеер у такой химеры?
no subject
Date: 2016-10-28 12:18 pm (UTC)no subject
Date: 2016-10-28 12:18 pm (UTC)no subject
Date: 2016-10-28 12:25 pm (UTC)no subject
Date: 2016-10-28 12:30 pm (UTC)спасибо
Date: 2016-10-28 12:37 pm (UTC)no subject
Date: 2016-10-28 12:37 pm (UTC)no subject
Date: 2016-10-28 12:40 pm (UTC)no subject
Date: 2016-10-28 12:41 pm (UTC)no subject
Date: 2016-10-28 12:50 pm (UTC)no subject
Date: 2016-10-28 12:51 pm (UTC)no subject
Date: 2016-10-28 12:57 pm (UTC)no subject
Date: 2016-10-28 01:13 pm (UTC)no subject
Date: 2016-10-28 01:36 pm (UTC)И еще хорошо бы, если бы файл сжимался и звук тогда тоже сжимался, наприме быстрее в 2 раза становился.
И умножать бы два mp3 тоже было бы хорошо!
no subject
Date: 2016-10-28 02:05 pm (UTC)no subject
Date: 2016-10-28 02:10 pm (UTC)