
Vladislav
20.12.2017
08:35:45
избежать 2х данных, если они передумают завтра ватермарки юзать - просто отключить лип бандл.
+ вопрос был не в том где хранить картинки с ватермарками, а в том как скорость увеличить) по сути без разницы куда положить картинку, ее надо обработать сначала ))

Sergey
20.12.2017
08:38:29
а че не сгенерить копии всех картинок с вотермарками и их отдавать?

Andrey
20.12.2017
08:38:37
Ну обычно одними ватермарками дело не заканчивается, часто нужен ресайз опять же встроенные postprocessor тоже круть. А скорость у амазона повыше, чем у среднестатического VPS.

Sergey
20.12.2017
08:38:38
места на диске жалко?)

Google

Sergey
20.12.2017
08:38:51
тем более ресайзы

Andrey
20.12.2017
08:39:08

Vladislav
20.12.2017
08:40:23
та жесткий диск для этого нужон)
там же можно юзать процессор отдельно.
ай ладно

Andrey
20.12.2017
08:41:40
Да это пытаемся выяснить, жаль только ТС не участвует :)

Ruslan
20.12.2017
08:43:32
Всем привет! Liip - почитаю доку внимательней, отпишусь потом. извините пока занят)

Sergey
20.12.2017
09:05:38

Sergey
20.12.2017
09:07:15
чтобы задержка была меньше?

Vladislav
20.12.2017
09:08:05

Google

Vladislav
20.12.2017
09:08:34
ну хз, раз кто-то прогрузил картинку и она потом уже в кеше себе валяется
норм вариант, не надо 10 амазонов юзать
поменялась вотермарка - перегенеривать все?

Sergey
20.12.2017
09:21:10
основная причина - отсутствие необходимости перегенеривать все. Скажем у меня есть 4 варианта превьюшек разных размеров для каждой платформы, но 90% картинок никто даже грузить не будет. Да и "размеры могут поменяться в любой момент". А так - у меня это на уровне CDN просто кэшируется.
да и с тулами вроде imaginary это куда проще чем со всякими liip-ами

Sergey
20.12.2017
09:22:33
если у тебя запросили 2к картинок одним запросом
это представь сколько тебе нужно времени cpu чтобы их отресайзить
из каких-нибудь 4к разрешений

Sergey
20.12.2017
09:24:27

Sergey
20.12.2017
09:24:47
ну сайзы не часто меняются

Sergey
20.12.2017
09:24:57

Sergey
20.12.2017
09:25:08
у нас 3 года назад добавились сайзы только

Vladislav
20.12.2017
09:25:26
ну зависит же от трафика и требований
так что можно закрыть вопрос

Sergey
20.12.2017
09:26:08
у нас картинок не 100к

Sergey
20.12.2017
09:26:10
ну вот смотри... imaginary выдавал мне где-то 40-60 rpc (картинок в секунду). Большая часть картинок за которыми ходят пользователи - общие, так что один кто-то запроси, и всем загенерилось и закэшировалось. Описанный тобой кейс - 2000 картинок разом - это чушь.

Sergey
20.12.2017
09:26:11
а где-то 100кк
хотя уже больше

Sergey
20.12.2017
09:26:25
как минимум потому что никто не будет отображать/грузить столько скопом

Sergey
20.12.2017
09:26:30
каждый день заходит по 100к новых только

Google

Sergey
20.12.2017
09:26:35
если у тебя есть такие кейсы - можно уже по другому говорить.

Sergey
20.12.2017
09:26:56
плюс нужно дубликаты удалять, обрабатывать их и тд. там целая цепочка обработки после того как пришла картинка
на лету это делать долго)

Sergey
20.12.2017
09:28:18
но давай все же спустимся с небес на землю
у тебя вряд-ли в большнстве случаев будет более 100 уникальных запросов на картинки в секунду

Sergey
20.12.2017
09:29:09
в моем кейсе запрашивается около 2-4к картинок
за один поисковый запрос

Sergey
20.12.2017
09:29:24
но они у тебя не за одну секунду скачиваются, так?
насколько я помню твой поисковой запрос может пару минут работать

Sergey
20.12.2017
09:29:43
ну юзер увидит за раз штук 30 только
остальные спрятаны под пагинацией в жсе

Sergey
20.12.2017
09:30:03
ну вот я и говорю - не более 100 уникальных запросов на картинки.

Sergey
20.12.2017
09:30:07
но показываем их быстро)
а если их просто кешировать, то попадание в кеш вообще минимальное будет

Sergey
20.12.2017
09:31:15
а если у тебя результаты поисковые между пользователями слабо пересекаются... то тут уже другое...

Константин
20.12.2017
09:31:36
Вы что инжектите EntityManager или EntityManagerInterface?

Sergey
20.12.2017
09:31:45

Sergey
20.12.2017
09:32:04
ну тут специфика такая. если к тебе в сервис приехал форд 99го года чтобы ты ему поменял фильтры, то шансов что где-то еще в сервис приедет такой же форд с такими же фильтрами довольно маленькая

Google

Sergey
20.12.2017
09:32:17
если хочешь автовайринг

Константин
20.12.2017
09:32:45
А что тогда делать с этим?)
Получить в отдельную переменную и добавить phpdoc ?

Sergey
20.12.2017
09:33:33
не юзать getRepository

Sergey
20.12.2017
09:33:39
поддерживаю - не юзай getRepository

Admin
ERROR: S client not available

Sergey
20.12.2017
09:34:08
пусть браузер ресайзит)

Artem
20.12.2017
09:34:18

Sergey
20.12.2017
09:34:35
ну в общем я подумаю на счет ресайзить на лету, надо попробовать. возможно есть смысл

Константин
20.12.2017
09:35:38
Если есть возможность поднять отдельную тулзу для ресайза, можно заюзать это https://github.com/thumbor/thumbor

Sergey
20.12.2017
09:36:24

Sergey
20.12.2017
09:37:23
если сам ресайз с imagemagick будет на сях идти, то остальной оверхед надо исключать полностью

Sergey
20.12.2017
09:39:32
может тебе будет интересно

Sergey
20.12.2017
09:39:52
угу, спс

Google

Sergey
20.12.2017
09:47:57
как по мне - неплохая замена imagemagic-у

Bohdan
20.12.2017
09:51:50
кто-то применяет json schema валидацию? возникла идея запилить общую валидацию для фронта и бека на ее основе

Sergey
20.12.2017
09:57:06

Константин
20.12.2017
09:57:08
Можно как то через yaml добавить сервису тег, если этот сервис был объявлен в другом yaml файле?

Sergey
20.12.2017
09:57:16
только через компайл пасс
(ну или при build контейнера короч)

Константин
20.12.2017
09:57:37
бяда

Sergey
20.12.2017
09:57:48
бяда
бяда это необходимость лепить теги не твоим зависимостям

Константин
20.12.2017
09:58:10
https://github.com/symfony/symfony-docs/issues/8097#issuecomment-348963302

Bohdan
20.12.2017
09:59:25

Sergey
20.12.2017
10:00:16
поправка - не свои приватные сервисы

Константин
20.12.2017
10:00:46
не свои не надо
Не хочется на свои теги вешать, так как придётся явно их объявлять. Autowire же позволяет не объявлять
их - сервисы

Sergey
20.12.2017
10:01:50
если ты их явно не объявляешь - они деталь реализации)
ну или у нас все плохо с инверсией зависимостей)

Константин
20.12.2017
10:02:22
Почему это?
App\:
resource: '%kernel.project_dir%/src'

Sergey
20.12.2017
10:02:52
Почему это?
потому что нет инверсии зависимостей. Иначе у тебя были бы интерфейсы а значит нужны элиасы