Shub
это ортогонально к ZIO, разумеется.
Shub
поэтому я вообще не верю ни "говорящим именам", ни именованию переменных, ни названиям классов, ни якобы интуитивно названным типам.
Shub
в моем текущем проекте через раз есть перлы типа type SomeEntityMapBySomething = SomeEntity []
Shub
не далее чем в пятницу нашел тип, параметризуемый 5 другими типами. из них 4 тупо игнорируются.
Shub
некоторое время назад спрашивал, как сгенерить сигнатуры для проекта. и таки сгенерил. посмотрел на них, и понял, что зря, ибо блаженны неведающие
Shub
так что если говорят "оу, ну E в ZIO[R, E, O] - это же Error, очевидно ведь", то проверьте, на месте ли ваш бумажник, от этих людей всего можно ожидать
Doge
ну это все хорошо. в теории. с точки зрения теории, теория и практика - это одно и то же. но на практике это разные вещи.
Да, понятнее дело, что в скале все это можно обойти запросто. Тут идёт ожидание того, что кодовая база написана в разумном стиле без всякой гадости. Потому что иначе в любом случае предсказуемости нет никакой.
Андрей
это одна строчка если чо
а представь теперь как опупенно бы это на F# и srtp смотрелось. Ах ну да-да, он же на такое и не способен даже ))
Doge
Именно! Оба варианта смотрятся абсолютно вырвиглазно. И бесполезно.
Ну это инфраструктурный код, он везде примерно так же будет смотреться. Только где-то будет рефлексия на рефлексии, а где-то подобная работа с типами
Doge
А где-то раут будет просто задан строкой и всё
Ага, только как ты потом сваггер описание сделаешь по нему?
Vasily
Этот пиздец только для сваггера?
Doge
Этот пиздец только для сваггера?
Не совсем, но и для него тоже
Doge
Не вижу проблем
Ну будет такая же функция, только вместо кучи параметров будет куча рефлексии
Doge
Не сильно лучше стало
Vasily
Неладно что-то в датском королевстве...
Ayrat
Ну будет такая же функция, только вместо кучи параметров будет куча рефлексии
Так то будет в либе, в кишках. Тут-то это наружу в описание сервера вынесено
Doge
Так то будет в либе, в кишках. Тут-то это наружу в описание сервера вынесено
Потому что это часть инфраструктуры, которой в либе нету
Doge
Т.к. с ZIO интеграции там пока нету
Ayrat
Потому что это часть инфраструктуры, которой в либе нету
А. То есть надо просто вынести эту срань в либу
Doge
О чем я тут и говорю, что это инфраструктурный код
Doge
Если ты не используешь ZIO, то руками такое не надо писать, оно в либе есть
Андрей
в чем и удостовериваюсь в данный момент каждый сраный день!
Андрей
А если других Радживов и Куай-Лю у меня для тебя нет?
вот счас мы с ними переписываем, банальные круды на аспнетах, по третьему разу, походу пока у инвесторов бабло или терпение не кончится. И это даже не индусы, а нормальные немецкие ебланы. Я не знаю где выход, если честно
Ayrat
Мне вот повезло, себе на проект я сам набирал, но предположим я завтра зайду на уже рабочий проект. Сразу с порога им сказать что с этой когортой дебилов я работать не буду?
Ayrat
Боюсь так можно работу не найти
Doge
Мне вот повезло, себе на проект я сам набирал, но предположим я завтра зайду на уже рабочий проект. Сразу с порога им сказать что с этой когортой дебилов я работать не буду?
Выбирать проект или место работы, где понятно, что там нормальная команда? (Я понимаю, что это не всегда и не везде можно) Ну либо как-то повышать уровень тех, с кем приходится работать, пытаться как-то донести знания и практики
Ayrat
Надо отталкиваться от того, на что способна команда на рассматриваемом промежутке времени. Если надо за год сделать, то учить их с нуля хаскелю - плохое решение например. Будет яростный говнокод
Vasiliy
Adult Swim показал первый трейлер четвёртого сезона «Рика и Морти» — с кучей инопланетян и Морти-вурдалаком. Новые эпизоды начнут выходить 10 ноября. https://dtf.ru/cinema/73915
Ayrat
Фуф, чуть не забанил. Увидел превью месаги и уже точил банхамер
Vasiliy
Но это Рик и Морти. хотя знаю он не всем тут нравится.
Ayrat
аниме?
Не, подумал что опять криптоботы
Vasiliy
Это же Ррррик!
Вабба-лабба-даб-дабс!!!
Nikolay
Немного байтоёбства не хотите? Нужно сконвертировать Int в Span<byte> в Little Endian
Vasily
Изи
Nikolay
Быстрее руками побитовые операции сделать, или BitConverter.GetBytes и вызывать Reverse, если !BitConverter.IsLittleEndian?
Vasily
Быстрее руками
Vladimir
https://github.com/fsharplang-ru/pulsar-client-dotnet/blob/develop/src/Pulsar.Client/Common/Tools.fs#L15-L19
Vladimir
там и для байтов есть перегрузки)
Vasily
Ну вот хз
Alexey
Немного байтоёбства не хотите? Нужно сконвертировать Int в Span<byte> в Little Endian
https://docs.microsoft.com/en-us/dotnet/api/system.buffers.binary.binaryprimitives?view=netcore-3.0
Alexey
https://docs.microsoft.com/en-us/dotnet/api/system.buffers.binary.binaryprimitives.writeint32littleendian?view=netcore-3.0#System_Buffers_Binary_BinaryPrimitives_WriteInt32LittleEndian_System_Span_System_Byte__System_Int32_
Vasily
А когда нам завезут net standard 2.1, кстати?
Alexey
хотя это немножко не то
Alexey
new Span<byte>((byte*)&intValue, sizeof(intValue))
Nikolay
new Span<byte>((byte*)&intValue, sizeof(intValue))
Это не факт, что будет в Little Endian же
Alexey
это даст доступ к переменной как к байтовому буферу в нативном эндианстве
Nikolay
Условие - little endian
Nikolay
Т.е. её всё равно надо как-то развернуть, если у нас Big Endian
Alexey
тогда только в новый спан
Alexey
тем, что написано выше
Nikolay
Ну вот я так и делаю
Nikolay
Спасибо
Nikolay
А в почему while (true) нельзя память выделять? 🤔
Vasily
ПОДУМОЙ
Nikolay
Она не освободится?
Ayrat
Ну можно руками освобождать. Но вообще это ппц тупо. Если у тебя бесконечно одно и то же создаётся, то лучше уж переиспользовать
Roman
type OptionToJson<'A>(r: IRegistry) = interface IToJson<Option<'A>> with member this.ToJson (x: Option<'A>) = onOptionResult "Option.ToJson" { let! inner = r.TryFind<'A>(), "inner implementation not found!" let! json = match x with | Some d -> d |> inner.ToJson | _ -> Success (Chiron.Json.Null()) return json }
Roman
Vasily
Страдай
Roman
тут еще для этого нахуеверчен глобальный кеш, чтоб оттуда такую ебалу в рантайме резолвить. Рефлекшном, разумеется
Анна
Vasily
ЭНТЕРПРАЙЗ
Vasily
Кукушку, канеш, лучше пытаться удержать в рамках здравомыслия, но у некоторых не получается
Roman
только в этом файле 800 строк этого ебаного бойлерплейта, от которого у людей сифилис появляется
Roman
и все ради этого ебаного хирон.жысон
Roman
и чуваку все еще нравится такой подход, грит, жаль только, что медленно
Romɑn
Это же фп, канкарент френдли