Ayrat
Ayrat
а так ок
Ayrat
ну если кого-то тут волнует боксинг
Ayrat
@atsapura ёбнуло
https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHxgTwAcBTAAgDEB7CkgXhIG8SBJDEiGeAS2QHMSBfALAAoEcCIwSAYwAWRKQGsSYKrREllqugFVks+QqJoAdGiJgAhomAwKYADyUKAPhEj9ikro+GTZy9a2Dk6uwtjOJARcyDBgyCQARACkAIIJQA==
Roman
хм, у меня в фси тоже ебнуло ага
Ayrat
ну, логично
Ayrat
оператор = он такой
Roman
только ооочень странно отъебнуло
Ayrat
да не, с налрефом
Ayrat
как ожидалось
Roman
ну с ним, да
Roman
просто отложенно
Roman
Ayrat
public static bool check(Foo foo)
{
Foo obj = null;
return foo.Equals(obj, LanguagePrimitives.GenericEqualityComparer);
}
Ayrat
короче, единственный нормальный способ через боксирование
Ayrat
isNull (box foo)
Ayrat
на структурах можно пострадать, да. Но можно огородить функцию чека проверкой на class
Ayrat
и не страдать
Roman
Shub
Roman
Shub
я пытаюсь найти настройки в Newtonsoft, чтобы оно не парсило такие сообщения вообще
Roman
а как ты хотел лол? Какие-то мудаки неправильно задизайнили модели, десериализуют их через пизду, а тебе однострочное решение подавай?
Roman
тут однострочное решение только через трудовую)
Shub
Shub
проблема возникает, если тебе пришло сообщение вообще не того формата
Shub
это кафка топики, в них может писать кто угодно
Roman
аа
Ayrat
на кафка топики можно повесить схему
Shub
если это не то сообщение, что я жду - пусть оно лучше не парсится вообще, чем вертает мне пустое сообщение с нуллами
Ayrat
Vladislav
Деда абсолютный чемпион по работе с победителями паралимпиады среди программистов
Roman
Shub
Shub
Ayrat
настройки десериализации
Ayrat
Ayrat
JsonConvert.Deserialize<Type>(string, SOMESETTINGSHERE)
Shub
ну это еще прогресс, потому что раньше у нас было за сотку топиков на один склад.
Roman
у вас за топики премии платят?
Ayrat
проще уж завести поле msgType и на его основе парсить в один из 100 видов месаджа
Shub
(топики все на одном кластере, лол)
Shub
т.к. сервис общается с двумя-тремя другими сервисами, то на один микросервис приходится по 3-4 топика легко
Roman
Ayrat
Джоб сосурити
Ayrat
плохой дизайн
Shub
как ты смеешь.
Roman
Ayrat
замкнутые циклы данных вызывают самые сложные проблемы в архитектуре
Ayrat
типа как обеспечить фидбек луп и не взорвать систему
Doge
Shub
Roman
тогда зачем вообще это на микросервисах делать?
Ayrat
Хм.
Shub
Vladislav
Ayrat
Ayrat
Зарабатывают
Ayrat
В смысле?
Shub
зачем им эфшарп?
Ayrat
Им платят же
Shub
ну если не шутить про ptsd и прочие дела, то "просто так". там есть какое-то обоснование, но оно напрочь лишено смысла
Shub
когда-то, когда жет только начинался, у них случилась проблема. кто-то на фронтенде лажанул и один из клиентов ддоснул весь бекенд (спикс вольюм про производительность этого бекенда, если один браузер поставил их на колени)
Shub
тогда они решили, что надо строить кластер под один конкретный склад. типа, проблемы будут ограничены одним кластером. идея вроде ничего, но исполнение как всегда подкачало
Shub
потом им кто-то занес бложик про микросервисы, начав очередной цикл вакханалии
Shub
кстати, у нас топики имеют н партиций, но всего в нескольких случаях продюсеры и консумеры имеют н инстансов. в подавляющем большистве в топик с 8 партициями пишет один инстанс сервера и читает один инстанс тоже