Size: a a a

ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)

2020 February 11

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Зачем тебе эмбед
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Если у тебя не ридер
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
ну обычно ридер монада не нужна тем, у кого ИО, ConcurrentEffect, никакого контекстоного логирования не логируется всё на свете через имплиситы, импорты локальных имплиситов из объектов в половине кода
Зачем логгировать настолько много инфы?
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Даже не могу понять проблему всего этого
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
.tmp
Зачем логгировать настолько много инфы?
насколько много?
источник

A

Alexander in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Я думал мне хорошо подойдёт для штуки, но вроде и не подошло.
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
насколько много?
Окей, не так задал вопрос
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Alexander
Я думал мне хорошо подойдёт для штуки, но вроде и не подошло.
а что за штука и как ты понял
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Вот я логгирую основные ивенты, все что мне нужно отдать в логи у меня есть в рантайме? В чём задача? Не делать руками logger.warn()?
источник

A

Alexander in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
а что за штука и как ты понял
Я думал, что хорошо бы заэмбедить:
trait Foo[F[_]] { def smg: F[Unit] }
trait Bar[F[_]] { def foo: F[Foo[F]] }
Ну, понятно, что ничего хорошего.
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Чтобы все автоматом подтягивало? Вызовы функций, аргументы и т п?
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
в общем, есть проблема называется "контекст исполнения"
у неё есть один способов решения - параметры, параметр который присутствует в вызывающем и вызываемом коде всегда и вызывающий код прокидывает его в вызываемый
соответственно сорта этих параметров могут быть

1. Явный параметр. Прокидывать нужно явно
2. Неявный параметр прокидывать не нужно явно, но нужно везде объявлять
3. Ридер - магически дописывающийся везде параметр, но к несчатью он только один. Поэтому все такие параметры нужно объединить в структуру данных.
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Объединение в структуру данных имеет много бенефитов
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Окей, я думал это проблема логгирования в общем
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
И думал, что тут можно попроще
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Мало того, что можно автоматически вычислять некоторые агрегаты для параметров для логирования, трассировки и т.п.
Собранный в единую структуру данных позволяет удостовериться, что ваш контекст не достигнет некорректного сочетания этих самых параметров
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Соответственно автоматически можно деривировать процедуры инициализации каких-то частей контекста
Автоматически находить субструктурные элементы по типу ну и т.п.
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Ридер много бенефитов даёт, потому что есть статическое представление обо всём контексте в целом
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
В отличие от кучи разрозненных переменных
источник

.

.tmp in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
Мало того, что можно автоматически вычислять некоторые агрегаты для параметров для логирования, трассировки и т.п.
Собранный в единую структуру данных позволяет удостовериться, что ваш контекст не достигнет некорректного сочетания этих самых параметров
Ну я не вижу смысла в настолько широких логов
источник