Waffle — библиотека для загрузки и оптимизации файлов в Elixir
Борис Кузнецов, один из ведущих программистов Evrone, разработал Waffle, библиотеку для загрузки и оптимизации изображений для языка Elixir. Waffle — продолжение уже неподдерживаемой библиотеки, форк претерпел множество обновлений и стал функциональным инструментом.
Как мы усовершенствовали библиотеку
Мы сделали документацию, описали процесс генерации URL, конфигурацию директорий хранилища и алгоритм выполнения других задач. Разработчик теперь получает подробную инструкцию, шаблоны кода и функций.
Команда Evrone исправила недостатки первоначальной библиотеки и добавила возможность интеграции со многими инструментами экосистемы Elixir. Например, ваша команда может подключить дополнительный пакет интерфейса Ecto, который упрощает коммуникацию с БД и выполнение задачи по очистке кеша.
У Waffle есть два встроенных хранилища — локальное и объектное Amazon S3. Помимо этого можно использовать альтернативные варианты, облачные хранилища вроде Google Cloud, RackSpace, Microsoft Azure.
Для мгновенной оптимизации загружаемых файлов и преобразования изображений, библиотека поддерживает интеграцию с редакторами — например, ImageMagick.
Мы также добавили новый функционал, сейчас при помощи Waffle можно проводить валидацию файлов на основе содержимого.
Как интегрировать Waffle в свой продукт?
Вам необходимо выполнить 3 простых шага:
Сперва добавьте последнюю стабильную версию библиотеки в файл mix.exs и зависимости для ExAws, если это необходимо.
Затем запустите mix deps.get в своей оболочке для получения зависимости.
После установки Waffle настройте поставщик хранилища данных.
В некоторых случаях могут потребоваться дополнительные конфигурации.
Репозиторий Waffle на Github.
Команда Evrone активно внедряет библиотеку в продукты и продолжает её совершенствовать. Если вы работаете на Elixir и сталкиваетесь с проблемой загрузки и обработки контента, опробуйте библиотеку Waffle и поделитесь с нами впечатлениями. Github