Roman
Отказоустойчивость, в первую очередь. Приложение на эрланге падает частями и перезапускается частями
Юра
Типо как микросервисы?
Юра
Толко на уровне приложения?
Roman
Супервизоры следят за процессами. К примеру, отвалилась бд. В стратегии супервизора написано, пробуй перезапустить воркеры, которые подключаются к бд 10 раз в течение 3 секунд, дальше умирай с ними со всеми. Супервизор дохнет, вышестоящий видит это и переключается на резервную бд
Roman
Да, чуть похоже на микросервисы
Maxim Kainov
Roman
Далеко не везде "искаропки"
Maxim Kainov
Roman
В эрланге переменных нет, тоже классная штука
Roman
Maxim Kainov
Roman
Ваше право считать как угодно)
Roman
Я не агитирую
Roman
На эрланге пишешь позитивный сценарий и все. Оно работает. Все, что не так - действует принцип языка let it crash.
Roman
Не нужна стайка девопсов, например. Когда ты владелец бизнеса, это понимается очень быстро и хорошо)
Maxim Kainov
Roman
Они вообще не нужны (по секрету). Докер, кстати, тоже ;)
Юра
Не ну хто теоретически можно сделать с помощью того же pm2 на ноде
Roman
Есть много инструментов, да
Roman
Я не спорю с этим)
Юра
Тоже перезапуски, зависимости воркеров друг от друга межпрлцессное взаимодействие
Юра
Отсутствие переменных ч так.понимаю позволяет легко параллить приложение
Юра
Потому что нет по сути shared state
Roman
Юра
Если все на стеке то автоматом все thread safe
Юра
Хотя тут я не силен немного не понимаю как происходит передача объектов
Юра
Копируется всегда?
Maxim Kainov
Вообще не представляю как можно совсем без переменных )
Maxim Kainov
Roman
Для сайтов он, конечно, не оч. Там эликсир уже подойдет, на виртуальной машине эрланга сделали язык
Maxim Kainov
Roman
Точно :))
Roman
Но процесс менеджеры на пхп я бы не писал 😝
Юра
Кардиостимулятор на пхп
Maxim Kainov
Юра
If $noPulse die()
Юра
Big_Shark
Как сиделать симфонии валидацию типов в объекте, и при этом использовать тайп хиниы из 7.4?
Maxim Kainov
Big_Shark
Александр
есть текст ошибки?
Александр
Александр
либо убирай строгую типизацию если не можешь повлиять на входящие параметры, одновременно не получится
Big_Shark
Строгая типизация является фундаментальной частью, а валидация это логическая надстройка, понятно что если у тебя свойство типа array а ты пытаешься присовить string, то выпадет ошибка типизации.
Ты не передавай string и все будет норм.
Там перед этим сериалайзер, я понимаю как это работает, я спрашиваю, кто и как решил эту проблему, и решил ли, у меня есть вариант распарсить правила в дто, и собрать их в кучу, и прогнать эти правила на массиве, а потом уже делать преобразования этого массива в дто
Big_Shark
Хотя вру, возможно симфонии сериалайзер что-то пишет, о том что не может сделать присвоение
Юра
Почитай про property info component
Egor
https://symfony.com/doc/current/components/serializer.html#recursive-denormalization-and-type-safety
Maxim Kainov
Maxim Kainov
Maxim Kainov
Big_Shark
Юра
А почему у тебя приходит строка?
Юра
Сериалайзер значит не вкуривает что тип поля массив?
Maxim Kainov
Юра
Короче я не пойму его проблему вообще
Юра
При чем тут валидатор и тайпхинты
Maxim Kainov
Я тоже не пойму ))
Maxim Kainov
Big_Shark
К нам приходит вебхук, и мы через симфонии сериализатор превращяем его в дто, и потом эту дто валидируем, и все хорошо, пока мы не начинаем использовать тайпхинты для переменных.
Maxim Kainov
Maxim Kainov
Maxim Kainov
Либо ловить исключение
Big_Shark
В чем проблема тип убрать
В том и проблема что не хочется убирать тип, иначе статические анализаторы начинают ругаться
Big_Shark
Либо ловить исключение
Гемор, и получится если проблема в 2 полях, в ошибке все равно будет только одно
Maxim Kainov
Big_Shark
В пхп8 юнион типы появились
Все равно это криво, я рассчитываю что там будем массив, и в валидацию указано что там может быть только массив