Ilya
А ещё все объекты неявно наследуются от object!111
Ilya
Сам офигел, когда узнал.
Hog
Если все, тогда что получается - обжект наследуется сам от себя?!
Ilya
Хм.
Vladimir
Если все, тогда что получается - обжект наследуется сам от себя?!
но ведь категория сетов тоже называется сет!
Hog
но ведь категория сетов тоже называется сет!
Блин. Ты какую-то спецлитературу читаешь?
Vladimir
а то)
Roman
Если нет конструкторов явных, но неявный без параметров есть, да.
не, я спрашивал, почему нельзя сделать приватный пустой конструктор, без этого Dummy object
Anatoly
а как если классы-наследники увидят?
Ayrat
так он же приватный?
Anatoly
https://sharplab.io/#v2:C4LgTgrgdgPgAgJgIwFgBQcDMACAhgIwGdgxcBjYbRbAYWwG91tnsAHMASwDddgBTWgAoAlAwC+TFlioJsAEWwhaDSSyk45gjlEodRjNGqNSkATi3CA3KqMTDLO3fTTqcJAHYV95i9kAxRWV6OzVEWQNjZh4wbAATbABebCg+AHdaADpNABYEKxtHdCA
Anatoly
хм, и правда
Roman
та нема защо)
Hog
так он же приватный?
Кто ж его посадит?!
Andrew
Andrew
Блять ну как так
Andrew
Как можно жить без yield! я не понимаю
Vasily
Без елды тяжко,да
Vladislav
https://github.com/dotnet/fsharp/issues/9153
Shub
"раньше считалось, что бит неделим. но советские ученые..." делаю тут кое-какие ревью, и наши ученые добавили новое слово в словарь энтерпрайз архитектуры: shared event streams. это когда у тебя ES, только в поток пишет кто угодно.
Shub
в результате стримы живут ВЕЧНО, как учение Маркса
Shub
еще наслаждаюсь современным пост-модерном
Shub
| Events.InventoryAdded e -> Inventory.Events.InventoryAdded e |> evolveInventory state | Events.InventoryRemoved e -> Inventory.Events.InventoryRemoved e |> evolveInventory state | Events.InventoryAdjusted e -> Inventory.Events.InventoryAdjusted e |> evolveInventory state
Shub
такое переосмысление тщеты всего сущего через айтишечку
Ayrat
Хотя это может лучше спринга на хмл
Shub
Вообще прекрасно. И никакого бойлерплейта
а теперь пройдите к следющей экспозиции под названием "НАДЕЖНОСТЬ" stream.QueryEx(fun c -> if c.Version = -1L then failwithf "CartId=%s|Cart not found." <| CartId.toString cartId
Vasiliy
😂😂😂
Vasiliy
https://www.youtube.com/watch?v=_UkWcXizRwU немного внезапно, но какой классный трейлер. До сих пор прям мурашки от роботов
Shub
А можно для глупых объяснить, в чём тут проблема?
намеренно роняем сервис (прям полностью, выкидывая неперехватываемое исключение) если не найдет экземпляр модели. насколько мне известно, в геймерских кругах это обозначается термином rage quit
Ilya
А, я почему-то подумал, что это норм в той ситуации, с которой код работает. Мало ли что. Ну ок.
Hog
А не. Лоханулся
Shub
что норм? уронить сервис, если кто-то удалил запись в БД?
Hog
А он не перезапустится? :)
Ilya
Ну откуда ж я знаю, что тут бд? Я вижу стрим и какую-то квери. Не факт, что там бд.
Ilya
Ну ок, убедил. Можно было тихо то же самое сделать.
Hog
а кто его знает?
Ну так это проблема инфраструктуры! А не сервиса :)
Shub
мам, можно мне unit tests? нет, unit tests есть дома. unit tests дома: let [<Fact>] ``folding multiple events from initial state returns the latest state`` () = let foldResult = Fold.fold Fold.initial [TestData.fcCreatedEvent; TestData.fcRenamedEvent; TestData.fcAddressChangedEvent1; TestData.fcContactChangedEvent1; TestData.fcAddressChangedEvent2; TestData.fcContactChangedEvent2] let targetState = { name = Some TestData.fcName2 address = Some TestData.fcAddressChanged2.address contact = Some TestData.fcContactChanged2.contact } : Fold.State test <@ targetState = foldResult @>
Shub
пОкРыЛ тЕсТаМи
Ayrat
ну то есть итоговый стейт будет сфолжен из многих
Ayrat
его одного недостаточно, но тест ок
Shub
ну то есть итоговый стейт будет сфолжен из многих
тебя не смущает момент, что это основное обещание от библиотеки?
Shub
с тем же успехом можно тестить, что NewtonsoftJson выдает валидные жсоны
Ayrat
тестить либы - провальное занятие да
Vladislav
А че за либа
Shub
я в душе ниибу чо вы там тестите
по факту мы ничего не тестим
Ayrat
но я ж ниибу, либа это или нет
Shub
просто греем проц
Shub
А че за либа
некий equinox
Shub
но я ж ниибу, либа это или нет
оно по идее должно тестить реакцию на различные события. но тема в том, что в фолдах у нас тупо нет логики
Shub
см. код выше - что пришло, то и пихаем. можно прислать условное событие EntityCreated посреди стрима - и оно обработается без вопросов
Ayrat
тяжело вам.
Ayrat
или может быть только тебе
Ayrat
а всем остальным ок
Shub
ну я могу поверить, что где-то там далеко, на границе атмосферы, есть юзкейс правильного ES. но в нашей репе - это мрачная, бессмысленная хуйня
Shub
вообще, привлекает в этом всем не сам код, сколько позиция людей, которые этот код пишут
Shub
это я щас ревьюил код людей, числящихся условно-нормальными в моем списке
Shub
очередное напоминание, что коллегам априори нельзя доверять, и даже наоборот - к ним следует относиться как к людям с биполярным расстройством или даже с шизоидным расщеплением личности
Vasiliy
Может они давно писали это все?
Shub
вчера или позавчера
Vasiliy
Shub
если говорить серьезно - это код ради кода. он не решает никакую проблему, ну точнее, раньше он решал, а теперь он переписывается без функциональных изменений
Shub
абсолютно тупая и бессмысленная деятельность
Shub
собственно, код это отражает
Vasiliy
хм, а зачем тогда решили трогать код?
Ayrat
Можете показать код или часть кода, которым вы гордитесь?
Shub
хм, а зачем тогда решили трогать код?
ну этот процесс идет уже года три. формально нам нужно уйти с EventStore, у которого два десятка проблем бай дизайн