Карта мира в 500 байтах: ASCII-арт на deflate-сжатии

· Курьёзы
Разработчик Иво Кадзела с помощью ИИ-инструмента Codex создал компактный ASCII-рендер карты мира весом всего 445 байт. Секрет — в сжатии deflate и хитром использовании fetch().

cover.svg

Разработчик Иво Кадзела (Iwo Kadziela) при участии ассистента Codex нашёл способ сгенерировать узнаваемую ASCII-карту мира, уместив данные всего в 445 байт.

В чём трюк

Основная идея — использовать сжатие deflate для хранения самих данных карты. Распаковка происходит прямо в браузере с помощью небольшого фрагмента JavaScript.

Автор находки Саймон Уиллисон (Simon Willison), рассказавший об этом проекте в своём блоге, отметил, что раньше не знал о возможности передавать в fetch() строки формата data: URI, закодированные в base64. Именно этот приём и лежит в основе решения: закодированные данные передаются в fetch(), после чего поток ответа пропускается через DecompressionStream('deflate-raw'), а полученный текст вставляется в разметку страницы как содержимое тега <pre>.

Таким образом всего в паре строк кода умещается и хранение сжатых данных карты, и их распаковка, и вывод на экран — без сторонних библиотек и без обращения к серверу.

Источник находки

Как уточняет Уиллисон, о проекте он узнал через Hacker News, где публикация вызвала интерес благодаря необычному сочетанию встроенных возможностей веб-платформы — data: URI, fetch() и DecompressionStream — для решения задачи компактного хранения графических данных.


Источник: Simon Willison

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.