Size: a a a

2020 March 05

λ

λоλторт in rust_offtopic
через комбинацию двух тайпклассов и одного типа
источник

P

Pavel in rust_offtopic
λоλторт
знаю только, что в контексте есть вот такая штука, которая им нужна, они её могут взять из контекста или модифицировать для всего, что будет работать ниже по коллстэку
ты только что описал DI для бедных -- сервис локатор
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
Есть два вида программеров: теоретики и практики. Теоритики спорят в расточате про ФП/ООП, а практики пишут прод на го.
"There are only two kinds of languages: the ones people complain about and the ones nobody uses. "
Bjarne Stroustrup
источник

P

Pavel in rust_offtopic
а для бедных он потому, что не реализует IoC
источник

P

Pavel in rust_offtopic
тем, что не указывает зависимости явно в сигнатуре
источник

Т8

Т-34 85 in rust_offtopic
λоλторт
через комбинацию двух тайпклассов и одного типа
то есть, приходится явно что-то делать?
источник

λ

λоλторт in rust_offtopic
Pavel
ноуп, у тебя функция может вызываться по разным причинам,  в абсолютно разных "типах" контекстов, о которых самой функции знать ничего не надо
Ну вот смотри, самый частый вариант — мы хотим контекстное логгирование. Некоторые сервисы должны знать как добавить в контекст логгера что-то, что-бы во всех вызовах ниже по коллстэку логгер в придачу к сообщению логгировал и этот контекст. При этом достать что-то из этого контекста должен уметь только сам логгер.
источник

λ

λоλторт in rust_offtopic
Т-34 85
то есть, приходится явно что-то делать?
явно ты только в типе функции указываешь что тебе от контекста нужно
источник

Т8

Т-34 85 in rust_offtopic
λоλторт
явно ты только в типе функции указываешь что тебе от контекста нужно
вот таким образом? https://t.me/rust_offtopic/187451
источник

P

Pavel in rust_offtopic
λоλторт
Ну вот смотри, самый частый вариант — мы хотим контекстное логгирование. Некоторые сервисы должны знать как добавить в контекст логгера что-то, что-бы во всех вызовах ниже по коллстэку логгер в придачу к сообщению логгировал и этот контекст. При этом достать что-то из этого контекста должен уметь только сам логгер.
это есть контекст DI
источник

P

Pavel in rust_offtopic
обычно в вебе это будет называться Request Context
источник

P

Pavel in rust_offtopic
но это костыль
источник

P

Pavel in rust_offtopic
потому, что зависимость неявная
источник

λ

λоλторт in rust_offtopic
Pavel
это есть контекст DI
А теперь расскажи мне какой диай имеет работать с такой функциональностью в конкурентной среде с неблокирующим ио? И сколько внутри него рантайм магии зашито?
источник

P

Pavel in rust_offtopic
λоλторт
А теперь расскажи мне какой диай имеет работать с такой функциональностью в конкурентной среде с неблокирующим ио? И сколько внутри него рантайм магии зашито?
спринг
источник

P

Pavel in rust_offtopic
дефайн "магию"
источник

λ

λоλторт in rust_offtopic
сложные алгоритмы обработки контекст свича, рантайм рефлекшн и всё вот это вот
источник

λ

λоλторт in rust_offtopic
и ещё как оно обрабатывает то, что тебе контекст нужно изменить только для вызовы конкретной функции?
источник

P

Pavel in rust_offtopic
λоλторт
сложные алгоритмы обработки контекст свича, рантайм рефлекшн и всё вот это вот
рантайм рефлексия не магия, пока  не начнёшь делать ею магию, там есть динамик прокси и кодген, но это обычно для ресолва циклических зависимостей и лези лоадинга
источник

λ

λоλторт in rust_offtopic
Т-34 85
ну, а как его описать? Что вообще под этим подразумевается?
есть например блок схемы
источник