@prophp7

Страница 890 из 1387
Nurik
24.01.2018
15:28:07
Ребят подскажите. Кароче сделал такую штуку: 1. Запрашиваем картинку GET /public/images/fb82/eba9/821f5664842e5b513e188056__100_100.png 2. nginx смотрит есть картинка, если есть отдаёт. 3. Иначе отправляет в приложенние 4. Приложение смотрит существует ли файл 821f5664842e5b513e188056.png и если да, то уменьшает изображение и записывает туда же где лежит оригинал 5. Делает редирект на самого себя. 6. Получили изображение. Всё работает. Но товарищ говорит, что может возникнуть гонка, когда будет сразу несколько тысяч обращений на ресайз. Нужно ли в этом случае прикручивать кэш для nginx или при аплоуде нагенерировать изображение для стандартных размеров экрана (клиенты моб.устройства) ?

Сервер по характеристикам средний. 12 ядер, 64 озу. юзаю libvips для резайза, через nodejs либу sharp.

Alexandr
24.01.2018
15:34:50
чем плоха гонка если сжатый файл перезаписывать? ... операция идемпотентна, о просадке производительности без замеров говорить нет смысла

Nurik
24.01.2018
15:37:45
чем плоха гонка если сжатый файл перезаписывать? ... операция идемпотентна, о просадке производительности без замеров говорить нет смысла
Я не про просадку производительности, а про ситуацию, когда из 10 запросов, только один получит изображения, а остальные отвалятся, потому что файл будет открыт другим процессом.

Google
Alexandr
24.01.2018
15:41:16
ну можно завернуть получение сжатых файлов в централизованный сервис на очередях)

Nurik
24.01.2018
15:44:56
ну можно завернуть получение сжатых файлов в централизованный сервис на очередях)
Понятно. Очередь не хотелось бы прикручивать только для этого. Вот я не пойму как вообще nginx кэш поможет в этом случае ?

Nurik
24.01.2018
15:52:39
Вот думаю сделать задержку перед попыткой делать ресайз. Т.к. ресайз отрабатывает мгновенно почти. И тогда из 1000 запросов 999 будут ждать лишнии пару секунд.

Нормально или херня ?

т.е. в редис самый первый залез записал туда image и время и потом начал делать ресайз, остальные прочитали из редис сколько времени нужно подождать, прежде чем запросить этот файл снова. Т.е. ждем 2-5 секунд и делаем редирект на себя же.

Alexandr
24.01.2018
15:58:59
можешь сделать exclusive flock и смотреть что в файле ... если ничего, то делать ресайз, если же лок достался уже на готовый файл - значит все и так хорошо

Sergey
24.01.2018
17:19:20
да, локи как-то надежнее и проще

Dmitry
24.01.2018
19:08:56
Я не про просадку производительности, а про ситуацию, когда из 10 запросов, только один получит изображения, а остальные отвалятся, потому что файл будет открыт другим процессом.
А с чего отвалится то, чтение исходника - не эксклюзив, все могут читать, запить результата сделай просто атомарно - временный файл + mv Можно просто использовать proxy_cache, там есть бизи локи, тут правда чистить кеш сложно

Serge
25.01.2018
07:54:12
всем привет. кто в курсе в симфони 3.3. можно инжектить массив объектов по интерфейсу? В конструкторе __construct(Foo ...$foos) {}

Maksim
25.01.2018
07:55:20
распаковка аргументов всё ж не анальная замена джинериков) оно про другое)

Serge
25.01.2018
07:55:57
когда описываешь сервис: arguments: $foos: ... То ругается что передаю массив в конструктор, если arguments: ...$foos: ... говорит что надо именованные переменные юзать или инты)

Google
Serge
25.01.2018
07:56:24
чем кто нибудь залупу туда заинжектит

Maksim
25.01.2018
07:56:34
сделай коллекцию)

Serge
25.01.2018
07:56:59
да как-то не хотел

Maksim
25.01.2018
07:57:05
придётся)

Serge
25.01.2018
07:57:12
кароч, не работает в di?

Serge
25.01.2018
07:57:30
не работает так

пробовал

Maksim
25.01.2018
07:57:34
ну тебе каждый объект надо передать отдельным аргументом

не массивом, а именно аргументом

Alexandr
25.01.2018
07:57:54
не работает так
у меня работает ... правда без именованного аргумента

Maksim
25.01.2018
07:58:16
ну вот, да, Александр верно написал

Serge
25.01.2018
07:58:31
ну хз, не работает

Александр, какая версия?

Maksim
25.01.2018
07:59:11
сделай коллекцию. Она правильнее будет при любых раскладах. Ещё раз: распаковка - это про другое. Это не замена джинериков

Alexandr
25.01.2018
07:59:21
Serge
25.01.2018
07:59:27
спасибо

Maksim
25.01.2018
07:59:50
тем более распаковка в конструктуре... выглядит подозрительно

и пахнет так же)

Alexandr
25.01.2018
08:00:18
Google
Serge
25.01.2018
08:00:25
почему?)

Alexandr
25.01.2018
08:00:51
хотя бы потому, что работает только с последним аргументом ))

Serge
25.01.2018
08:01:06
так, стоп

я наверное просто не так понял работу этого оператора

Alexandr
25.01.2018
08:01:43
Serge
25.01.2018
08:02:04
я думал что ... говорит нам, что там ожидается массив интерфейсов

в общем, напутал)

Alexandr
25.01.2018
08:03:08
я думал что ... говорит нам, что там ожидается массив интерфейсов
почти "..." упаковывает последовательность аргументов в массив

Serge
25.01.2018
08:04:47
есть ссылка на доку? не могу найти

Maksim
25.01.2018
08:07:32
https://wiki.php.net/rfc/argument_unpacking

Alexandr
25.01.2018
08:14:20
http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list

Serge
25.01.2018
08:46:12
тенкую

M
25.01.2018
08:47:17
Извиняюсь за оффтоп, но хотелось бы рынок труда обсудить. Сейчас вот наблюдаю вакансии в связи со скорым перекатом в СПб. В СПб, а ещё более в МСК такое чувство что программистов за людей считают ? Просто сейчас в екб и такой набор плюшек мало кто предоставляет... Собственно вопрос, кандидаты тоже грыззутся за вакансии? Сильная конкуренция на Middle уровень?

Maksim
25.01.2018
08:49:56
в большинстве случаев срать на все эти плюшки) из полезных, по факту, только дмс)

конкуренция - вопрос спорный) мидла, а уже тем более синьёра можно месяцами искать и хер найдёшь)

M
25.01.2018
09:02:52
Как понять, что я миддл?)) Для меня миддл это чел который может самостоятельно решить поставленную задачу без присмотра(в случае если есть сеньор, то посоветоваться с ним по поводу архитектуры решения). Чел который О ЧУДО сможет загуглить доку, прочитать, освоить инструмент. Чел у которого за спиной есть опыт на каком-либо стеке, с какими-либо инструментами. Опыт который позволит не идти гуглить и вникать, а начать внедрять))

Если все тезисы выше - это суть мидла, то я миддл)) Просто у @fes0r помню как-то читал кто такой идеальный джун, так интересно, кто такой идеальный миддл)))

Maksim
25.01.2018
09:06:02
да нету никаких выверенных градаций. вот в чём фокус

Google
Michael
25.01.2018
09:07:07
джун - не знает, как надо сделать задачу миддл - знает, как надо сделать задачу сеньор - знает, как не надо делать задачу

Sergey
25.01.2018
09:07:41
согласен с Максимом что все эти градации настолько размыты что в целом нет смысла)

Artemy
25.01.2018
09:08:44
Я бы подправил: джун - не знает, как надо правильно сделать задачу

Admin
ERROR: S client not available

Dmitriy
25.01.2018
09:08:48
к тому же в каждой конторе это свои градации

Artemy
25.01.2018
09:09:21
Ну, я просто джун и навелосипедить что угодно могу и это будет работать, просто не очень красиво и качественно)

Maksim
25.01.2018
09:09:51
я бы не был так уверен, что прям "что угодно")

вот как раз синьор не скажет, что он сможет сделать что угодно)

Artemy
25.01.2018
09:11:03
Вот, еще одно важное отличие)

Maksim
25.01.2018
09:13:18
а за большие деньги? ;)
большие деньги - эт то же самое, что опыт работы с большими нагрузками?)

Sergey
25.01.2018
09:14:17
тип того)

M
25.01.2018
09:14:25
в большинстве случаев срать на все эти плюшки) из полезных, по факту, только дмс)
Ну хз, ты не работал видимо в офисе без окон с плохой вентиляцией с вариантом переехать в офис похожий на сарай, но с окнами. А запах чужих пельмящей когда в одном офисе(где нет кухни) чел греет еду меня лично отвлекает. А серая ЗП когда вдруг что нужно одолжить у банка денег, ИЗВИНИТЕ, либо большой процент либо до свидания.

Sergey
25.01.2018
09:15:22
печень... ненавижу людей которые в офисе печень греют

даже если кухня есть

рыбу туда же, сразу вспоминаются стайки индусов

но вообще из твоего описания складывается впечатление что вы там не код писали а кросовки шили

Maksim
25.01.2018
09:16:28
печень - это ладно ещё. у нас на работе был любитель белую рыбу в микроволновке разогреть... бля, на все 2 этажа стойкий запах падали...

Google
Sergey
25.01.2018
09:16:55
ну да мы отдалились от темы)

Nurik
25.01.2018
09:20:20
но вообще из твоего описания складывается впечатление что вы там не код писали а кросовки шили
Ну кроссовки тоже можно по-разному шить. )) И там обычно не шьют а, клеят. Шьют хорошие кроссовки.

Vitaly
25.01.2018
09:36:52
Извиняюсь за оффтоп, но хотелось бы рынок труда обсудить. Сейчас вот наблюдаю вакансии в связи со скорым перекатом в СПб. В СПб, а ещё более в МСК такое чувство что программистов за людей считают ? Просто сейчас в екб и такой набор плюшек мало кто предоставляет... Собственно вопрос, кандидаты тоже грыззутся за вакансии? Сильная конкуренция на Middle уровень?
В СПб за нормальных кандидатов грызутся эйчары. Конкуренция наблюдается среди джунов, потому, что их много и все они примерно одинаково ничего из себя не представляют. Много проектов у которых вакансии на мидла висят постоянно, например Эмбрия. Много странных легаси проектов, которые готовы взять любого, кроме джуна, лишь бы уже хоть кто-то работал. Много серых проектов (опционы, арбитраж, ставки) которые готовы взять мидла, потому, что лучшим кандидатам нужны гарантии и белая зп.

Maksim
25.01.2018
09:37:58
ага, а давно эмбрия не серый проект?)

Vitaly
25.01.2018
09:38:49
ага, а давно эмбрия не серый проект?)
Смотря о каком подразделении идет речь. У них же не только Фотострана и плэйкот.

Maksim
25.01.2018
09:39:25
да я в курсе) у меня почти все бывшие коллеги по различным филиалам эмбрии расселись)

Страница 890 из 1387