К обсуждению приглашаются все: бэкендщики / фронтедщики / мобильщики (вам ли не знать как работать с разными разрешениями).Дано:1) nginx с настроенным кэширование2) бэкенд который отдает картинки по url = /image/<imageid>?w=<width>&h=<height>3) куча мобильных-клиентов/браузеров с разными разрешениями экранов и плотностью пикселей4) клиенты не привередливы к размеру возвращаемой картинки (можно вернуть с шириной/высотой +- 20% от запрашиваемой)Задача:Оптимизировать использование nginx-кэша (и разгрузить бэкенд)Основная проблема, что в размер могут передать ЧТО-УГОДНО (от 50 до 1000) и нужно пересжать в этот размер.Поэтому сейчас я пытаюсь разбить размеры на классы (округлить) и делать редирек на этот новый размер (в итоге получается больше попаданий в кэш).Например приходят запросы картинок: /image/42?w=120&h=60 -> (301 редирект) -> /image/42?w=100&h=50 (nginx кеширует редирект)/image/42?w=110&h=55 -> (301 редирект) -> /image/42?w=100&h=50 (nginx кеширует редирект)/image/42?w=100&h=50 -> реальный запрос на диск и пересжатие (ответ кэшируется в nginx)Основные вопросы: Как правильно бить на классы (сейчас использую экспоненту, но часто попадаются неудачные входные данные и картинка получается сильно меньше запрашиваемой)? Какой есть подход получше?
за 10000 рублей
Вроде к nginx можно подрубать lua https://habrahabr.ru/company/2gis/blog/199504/
>>781257Мне идея нужная (типа хорошей формулы пересчета размеров картинки), а НЕ еба-фреймворки 100-in-1 или что-бы ты за меня бэкенд делал.
>>781267> в nginx можно подрубать luaА чем это поможет? Сейчас непонятно "по какому алгоритму редиректит?", а не "на каком уровне это делать?".Хотя если у тебя есть идеи как написать этот скрипт хотя бы для lua, я бы послушал.
>>781255 (OP)Алексей? Ты всеже рискнул идею воплотить?
>>781318По алгоритму поиска ближайшего по метрике "размер" из уже существующих размеров нужной картинки. kNN на плоскости.
>>781469> рискнул идею воплотить?Возможно, напомни в чем она заключалась?
>>781572Ты же не он, а жаль>добынй прокси для картинок с возможностью обработки изображений (я же еще и имейдж процессинг фаг). Типа есть картинка где-то оче большая, то можна ее через это прокси уменьшить, можна развернуть под некоромым углом, автокроп краев. >а вся суть в таком - ссылку которую пользователь вставляет куда ему нужно будeт вида :> hipwim.hk/crop/https://2ch.hk/pr/thumb/617731/14535526701480s.jpg> hipwim.hk/resize_100x100/https://2ch.hk/pr/thumb/617731/14535526701480s.jpg> hipwim.hk/rotate_45/https://2ch.hk/pr/thumb/617731/14535526701480s.jpg> hipwim.hk/crop/rotate_45/https://2ch.hk/pr/thumb/617731/14535526701480s.jpg>* hipwim.hk/crop/rotate_45/resize_100x100/https://2ch.hk/pr/thumb/617731/14535526701480s.jpg>Вот такая штука. Есть там и веб-гуй, для комфортной генерации данніх урлей, а можна руками делать.
bump