Roman
ДСЛ это ж как деньги. Их не бывает достаточно
Ayrat
шах и мат фпшеники
Roman
подозреваю, что новый контекст ради DbConnection создается
🇺🇦 Дмитрий
это было через mailbox в 100 строк
🇺🇦 Дмитрий
стало в 20
🇺🇦 Дмитрий
ща найду
Vasily
Как выше написали let mutable Logger
Vasily
Решает проблемы
Vladimir
серилог вроде же одновременно решает две проблемы - и контекста на реквест и статического вызова логгера
🇺🇦 Дмитрий
А нельзя это было сделать через mailbox?
https://gist.github.com/Git-Drive/ae7983b24b13d492c075afdde3da8646
Vasily
Да тут про другое речь
Vasily
Старый спор про DI
Vasily
Многие на DI дрочат
Vasily
Не могу понять, почему
Vasily
Мне кажется, стокгольмский синдром
🇺🇦 Дмитрий
Не могу понять, почему
чтоб не писать compositionRoot
Vladimir
Да тут про другое речь
так там нету DI у серилога, везде ты статический лог вызываешь
Vasily
чтоб не писать compositionRoot
Тебе его никто не предлагает писать
Vladislav
В фаршике для подобных целей модули
Я кстати похоже ковидлой переболел в начале августа
Vladislav
Но не сдавал тест на антитела ещё
Vladislav
Флуд же
🇺🇦 Дмитрий
а без него получаются очень много параметров в методе, зависимости то закинуть нужно
🇺🇦 Дмитрий
это я после статься Влашина про DI пробовал закидывать зависимости вмето того чтоб просто описать функцию выше и заюзать
Vasily
Нахер тебе параметр в методе, который НЕ МЕНЯЕТСЯ
Vasily
Ну т.е он всегда одинаковый
Vasily
По факту
Roman
ради логгера
но зачем?
🇺🇦 Дмитрий
404
https://i.imgur.com/xRISYQn.png
Anatoly
но зачем?
correlationid, requestid, userid, sessionid, etc
🇺🇦 Дмитрий
Ну т.е он всегда одинаковый
а вот это аргумент
🇺🇦 Дмитрий
хз зачем влашин такое показывает https://fsharpforfunandprofit.com/posts/dependency-injection-1/ ведь реально и логгер и getMail в его примере меняться вот не разу не будет
Roman
correlationid, requestid, userid, sessionid, etc
если на сишарпе, то понятно. На фшарпе можно по-другому это решить
Roman
при желании офк
🇺🇦 Дмитрий
наверно чтоб мокнуть :D а я как раз отказался от создания Interface которые ради моков делают
🇺🇦 Дмитрий
Ну т.е он всегда одинаковый
а конфиг тоже норм раз вычитать и держать в модуле?
Ilya
а конфиг тоже норм раз вычитать и держать в модуле?
А тебе не нужна возможность обновления конфига?
🇺🇦 Дмитрий
нет
Ayrat
А тебе не нужна возможность обновления конфига?
ну вообще это и статические логгеры поддерживают. если конфиг в файлике
🇺🇦 Дмитрий
А тебе не нужна возможность обновления конфига?
а если нужна будет, то наверное я заверну это в модуль под капотом которого таймер :D
🇺🇦 Дмитрий
как назвать модуль в котором лежит? let config let dbConnect let cache let .... названия GlobalState я боюсь гит не пропустит)
Vladislav
и как?
орви какое-то, друг вообще два дня болел (по тестам знаем что ковид именно)
Vladislav
Другие запах потеряли
Vladislav
Или голова ватная
🇺🇦 Дмитрий
о, ты первый кто реально мне сказал что болел, до этого это все было только по телевизору))
Roman
орви какое-то, друг вообще два дня болел (по тестам знаем что ковид именно)
тесты бывают ложно положительные вроде. Там смешивают кровь нескольких пациентов, если не ошибаюсь
Roman
но если переболел — поздравляю!
Dmitry
но если переболел — поздравляю!
с учетом того, что антитела вымываются из организма со временем, то так себе достижение
Vladislav
тесты бывают ложно положительные вроде. Там смешивают кровь нескольких пациентов, если не ошибаюсь
Антитела у друга показывают что переболел, а мазок отрицательный уже был
🇺🇦 Дмитрий
Да, конечно
есть в гите проектик не большой который написан примерно так? без CompositionRoot, без DI, без кучи лишних параметров, и самое главное Scoped зависимости все таки существуют (loger, tracer, etc)
Vasily
Пета нет такого
Vasily
В проде все обмазано таким подходом
Ayrat
пару дней вообще адок с температурой, только в постели еле-еле, и ебаный кашель неделю так что лёгкие хочется вытащить. Но в целом да, ничо особого. Дети вообще по неделе покашляли и похуй, скакали с той же силой
🇺🇦 Дмитрий
ну у меня щас в тестах чистые функции им не нужен логер а где нужна хоть одна зависимость я уже делаю класс-сервис который по своей сути вызывает чистые функции и даем им все что им нужно (данные)
Igor
👍
🇺🇦 Дмитрий
сервис я тестирую интегрешн тестом грубо говоря
Vladimir
через нестатический логгер
не очень понимаю что ты имеешь ввиду) в коде ты пишешь Log.Warning(...) - вполне статически
Vladimir
через энричер который в миддлваре
Anatoly
через энричер который в миддлваре
что-то мне кажется, не будет работать. надо потестить. Т.е. звучит как "должно работать", но при этом есть подозрения
Vladimir
я делал - работает)
Dmitry
Обычные фракталы же
Оказалось, не совсем - это ещё поверх фрактала немного математики, а конкретно вот https://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/triangle_ineq
Igor
Тип, пишешь module SomeCppLib = CppLibProvider<"lib.hpp", "lib.dll"> и получаешь готовый модуль с типами и функциями
Кстати, а провайдер может модуль создать? Вроде видел только пример где типы создаются.