Pull to refresh
4
0
Артем Денисов @bo0rsh201

Пользователь

Send message
Здравствуйте, если кратко, то сейчас схема такая:

При заливке фото нарезается несколько базовых типовых размеров (а-ля большой, средний, маленький)
в URL клиент явно указывает viewport, в который надо заресайзить картинку.

Дальше на nginx мы с помощью lua динамически выбираем для заданного viewport максимально близкий физический размер и делаем downscale из него на лету.
Помимо этого можно динамически накладывать фильтры — у нас это blur, pixelize и делать crop по координатам, которые переданы с клиента.

Также на все фотки на лету накладывается watermark, которым можно управлять через параметры URL.

Технически, мы и со стороны PHP и со стороны NGINX используем библиотеку http://www.leptonica.org
В обоих местах к ней написаны наши собственные биндинги (модуль к nginx и расширение к php)

Но сейчас есть множество готовых решений, которые дают похожий функционал из коробки.
Как в виде нативных модулей nginx, так и в связке с https://openresty.org/
вот я тоже читаю эти невероятные истории успеха осваивателей go за выходные и поражаюсь.
да, синтаксис можно за выходные выучить без проблем,
но с такими знаниями написать на языке что-то мало-мальски сложное вам не удастся.
и вряд ли «мясо» прямо так прибежит и начнет писать развесистые сетевые приложения или сложную конкуретную логику.
помимо какого-то мифического «знания языка», ИМХО, гораздо важнее опыт и базовые знания,
которые слабо зависят от синтаксиса языка и его сложности.
так вот, go как раз и позволяет делать достаточно сложные вещи с меньшим оверхедом на язык и его тонкости
А мне все же кажется, что это невероятно толстый троль :-)
я, вот, например, тоже не могу понять ваши придирки к постулату про мьютексы-каналы. очевидно, что применимы могут быть оба подхода в разных ситуация, просто один для примитивных случаев, а второй для более сложной логики, вот и все.
попахивает троллингом каким-то с вашей стороны :)
я тут на сцене появляется PHP как пример «совершенного» языка программирования, где это возможно :)
P.S. опоздал с комментом про PHP
это стандартный прием — читать из мастера сразу после записи и сделать проще всего кукой, да.
записал? следующие 5(условно) минут читаем из мастера.
тем самым вы открываете доступ к базе всему интернету.
гораздо лучше биндится на адрес во внутренней сети. насколько я помню, там можно несколько адресов указать.
bind-address = 0.0.0.0

мне кажется, или это не самая полезная рекомендация?
стоит все-таки написать о проблемах такого решения

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity