Size: a a a

Scala User Group

2020 March 12

VH

Vitalii Honta in Scala User Group
источник

AV

Abyr Valg in Scala User Group
Ivan Lopatin
Объясните, чем плох ZLayer в ZIO? Видел в этом чате плохие отзывы, но без причин.
Очевидно тем, что это просто сервислокатор, а не солвер со сборкой мусора
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ivan Lopatin
Объясните, чем плох ZLayer в ZIO? Видел в этом чате плохие отзывы, но без причин.
Зачем заниматься такими опросами. Если Вам кажется, что его стоит рассмотреть - возьмите и попробуйте
источник

VH

Vitalii Honta in Scala User Group
Ща прозвучу как С-шник, но есть один нюанс. Уровень многих проектов не достиг сложности и размеров, чтобы нужно было настолько абстрагироваться от сборки мусорных модулей, чтобы повсеместно юзать спринги и прочее. Как это не прискорбно, от обилия прекрасных  фреймворков рождаются тупые программисты, что печально. Как по мне, простые вещи как zlayer полезны своей простотой: никто же не ругает byte за то, что его нельзя запустить в кубернетисе?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Могу только экстраполировать собственный опыт реализации таких структур: мапка, помеченная содержащимися элементами на уровне типов.

Это улучшенный (по сравнению с трейтами) рекорд, т.е. как трейт он симметричный, с идемпотентными тайп-пересечениями , с операциями сужения и получения элемента по тегу,  только с добавленной операцией рантайм-юниона, слияния, которую до этого нормально нельзя было сделать, можно было только в непараметрической форме с помощью zio macros.

Минус в том, что в своё время в погоне за рекордами структуры такие пробовались, мой личный опыт говорит, что она слишком хрупка, вы слишком полагаетесь на строгую однозначную связь между типом и тегом, что может привести к сложной ансаунднесс, когда этой связи нет.

Мало того, я не помню, пропагандируется ли злейер в рантайме или только для построения контекста.
Если в рантайме - значит вы всегда лезете в мапку на каждый чих, т.е. перфоманс вашего контекста на уровне пайтона где-то
источник

VH

Vitalii Honta in Scala User Group
@johnspade вот мы и вытащили ответ на твой важный вопрос от Олега
источник

VH

Vitalii Honta in Scala User Group
источник

VH

Vitalii Honta in Scala User Group
Спасибо, Олег!
источник

AV

Abyr Valg in Scala User Group
Oleg ℕizhnik
Могу только экстраполировать собственный опыт реализации таких структур: мапка, помеченная содержащимися элементами на уровне типов.

Это улучшенный (по сравнению с трейтами) рекорд, т.е. как трейт он симметричный, с идемпотентными тайп-пересечениями , с операциями сужения и получения элемента по тегу,  только с добавленной операцией рантайм-юниона, слияния, которую до этого нормально нельзя было сделать, можно было только в непараметрической форме с помощью zio macros.

Минус в том, что в своё время в погоне за рекордами структуры такие пробовались, мой личный опыт говорит, что она слишком хрупка, вы слишком полагаетесь на строгую однозначную связь между типом и тегом, что может привести к сложной ансаунднесс, когда этой связи нет.

Мало того, я не помню, пропагандируется ли злейер в рантайме или только для построения контекста.
Если в рантайме - значит вы всегда лезете в мапку на каждый чих, т.е. перфоманс вашего контекста на уровне пайтона где-то
В рантайме конечно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
грустно чо
источник

AV

Abyr Valg in Scala User Group
Если смотреть на перформанс
источник

AV

Abyr Valg in Scala User Group
Хотя я срал на перформанс
источник

AV

Abyr Valg in Scala User Group
То дистейдж лучше
источник

AV

Abyr Valg in Scala User Group
Он один раз на старте пошуршит
источник

AV

Abyr Valg in Scala User Group
А потом всё, никакого оверхеда
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Я бы например мог рассмотреть злейер для сборки контекста, а например в последний момент пересобирать макросом эту мапку в трейт или кейскласс
источник

AV

Abyr Valg in Scala User Group
Vitalii Honta
Ща прозвучу как С-шник, но есть один нюанс. Уровень многих проектов не достиг сложности и размеров, чтобы нужно было настолько абстрагироваться от сборки мусорных модулей, чтобы повсеместно юзать спринги и прочее. Как это не прискорбно, от обилия прекрасных  фреймворков рождаются тупые программисты, что печально. Как по мне, простые вещи как zlayer полезны своей простотой: никто же не ругает byte за то, что его нельзя запустить в кубернетисе?
Ты просто не понимаешь сколько возможностей тебе сборка мусора даёт
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Abyr Valg
А потом всё, никакого оверхеда
согласен
источник

AV

Abyr Valg in Scala User Group
Oleg ℕizhnik
Я бы например мог рассмотреть злейер для сборки контекста, а например в последний момент пересобирать макросом эту мапку в трейт или кейскласс
Дистейдж умел собирать старые енвы
источник

VH

Vitalii Honta in Scala User Group
Abyr Valg
Ты просто не понимаешь сколько возможностей тебе сборка мусора даёт
Я и не пилю нетфликс, чтобы мне это можно было понять
источник