Roman
Интерфейс внешний?
не, интерфейс наш, просто ему не место в домене. Это чисто для работы с индексом. Типа дата аксесс лейер
Roman
ну это ж типа норм, одни модели для домена, другие для эластика
ну в этом конкретном случае нам не нужно двух моделей, идеально как раз было бы иметь одну, чтобы изменения в одном месте только добавлять
Vladimir
к если захочется в модель du добавить которую эластик не поддерживает
Vladislav
Мне больше интересен реальный кейс для хкт
Vladimir
к если захочется в модель du добавить которую эластик не поддерживает
у тебя ж небось там сериализатор стоит в эластик на рефлексии, с тайпклассами поллмается
Doge
Хм, ну это ж я так понимаю, тут просто тайп инференсом выводится необходимость наличия show вот отсюдаЖ map show xs, разве нет?
Суть не в том, что там в реализации, а в объявлении требований для того, чтобы существовал инстанс Show a
Igor
Мне больше интересен реальный кейс для хкт
моноид в категории эндофунктора (лол)
Doge
Мне больше интересен реальный кейс для хкт
Зависит от языка. Но да, тут уже правильно написали про библиотеки с коллекциями и т.д.
Vladislav
System.Linq.cs
я понял но не понял
Doge
В том же расте без местного хкт у тебя боль с работой с лайфтаймами
Doge
я понял но не понял
Можно более тайпсейф версии linq'а описать, где у тебя не будет возвращаться IEnumerable, а будет сохраняться тип коллекции. Но в этом есть свои нюансы.
Vladislav
тогда по-идее им можно оптимизации писать которые инлайнятся под тип коллекции
Doge
теперь вроде понял
Я не уверен, что это будет самый лучший дизайн для работы с коллекциями в языке типа шарпа, но кейс это разумный.
Vladislav
правда это вроде и сейчас есть в джите
Doge
Но для JIT языков эффективные библиотеки типа LINQ'а сложно делать
Doge
В джаве норм вышло в этом плане, но там совершенно другой дизайн
Ayrat
я понял но не понял
Там 100500 перегрузок для IEnumerable<T> List<T> iqueryable<t> ... Просто потому что нельзя написать T<G> whete T: IEnumerable<G>
Vladislav
Там 100500 перегрузок для IEnumerable<T> List<T> iqueryable<t> ... Просто потому что нельзя написать T<G> whete T: IEnumerable<G>
Там местами есть чеки через typeof которые потом джит может вырезать под сгенеренный метод
Vladislav
Как я помню
Vladislav
Вместо кучи реализации там такие приколы тоже были
TOV_MULTIMASSO
А это разве уже не хкт?
Нет, к сожалению
Дмитрий
утречка
Ilya
Опять боты прибежали.
Дмитрий
сам ты бот
Ilya
С этим не спорю.
Vasily
Невидимые боты
Андрей
А дорогие там курсы?
даже с приплатой - получаешь лицензию на любой продукт jetbrains
Андрей
Там местами есть чеки через typeof которые потом джит может вырезать под сгенеренный метод
ага, это типа как в жаве - генериков у нас нет, поэтому все object, а боксинг/анбоксинг потом вырежем чо ))
Андрей
к тому же теряется изначальный тип. отфильтровал скажем List<string> через Where и получил IEnumerable<string>, и хз что там изначально было
Mark
то есть статические методы в интерфейсах вас не заинтересовали
Эта штука была ещё в Delphi. Я удивлялся, что в C# их с рождения не завезли.
Ayrat
В джаве вроде тоже есть?.. я не то чтобы с этой стороной джавы знаком. Стат методы в интерфейсах дичь
Vladimir
в джаве дефолтные методы интерфейсов активно юзаются
Doge
Можно будет без фабрик обойтись спокойно в некоторых случаях
Viacheslav
В джаве вроде тоже есть?.. я не то чтобы с этой стороной джавы знаком. Стат методы в интерфейсах дичь
Несколько раз абстрактные классы создавал вместо интерфейсов из-за этого, почему дичь?
Vladislav
С другой стороны в тайпклассах оно надо, у нас такая штука на сртп написана сейчас. Типо констрейнты на статические методы класса
Roman
Возможно я не вижу юзкейса
Оператор сложения определить в интерфейсе
Vladislav
Консьюмить стрим чанками раз в секунду
Vladislav
Чтобы вставлять батчи
Anatoly
я хз кто там кодил систему расчёта доставки в эльдорадо, но он явно рукожоп. до города Пущино от МКАД в худшем случае 99.2 км, а их система считает, что это больше 100.
Denis
ну вот ты бы пошел кодить в эльдорадо ?
Anatoly
если бы заплатили мою зп - фигли бы и нет, довольно интересный домен
Anatoly
Айрат-то вон пошёл =)
Denis
ну вот в эльдорадо ему не заплатили бы 100% )
Denis
Да и тебе вряд ли ))
Denis
сравнить бюджеты волмарта и эльдорадо я думаю сложно
Ilya
Округляют в большую сторону до километра, наверное.
Anatoly
@CHXIII там на самом деле 95.5 по трассе от мкад
Anatoly
99.2 - это от метро внутри МКАД с петлёй по Бутово
Mikhαil
@CHXIII там на самом деле 95.5 по трассе от мкад
А оплата за каждый километр? Не за каждые пять?
x
совпадение? не думаю.
Ilya
@CHXIII там на самом деле 95.5 по трассе от мкад
Да всё равно ещё десяток причин можно придумать, почему так и было задумано. Начиная с более дешёвого источника данных, заканчивая менеджментом. Меня просто задело "рукожоп" в адрес рядового кодера :)
Mark
Они, может, и не сами считают, а подтягивают яндекс-карты или гугол-карты. Или, например, посчитали всё правильно, но закладывают ещё +3км на подъезд-выезд. Мало ли как там по Пущино крутиться. Так что может быть дело не в том, что программист рукожоп, а в том, что бизнес ОЖП.
Ilya
На фшарп напраслину возводят!
Ilya
Mikhαil
Они, может, и не сами считают, а подтягивают яндекс-карты или гугол-карты. Или, например, посчитали всё правильно, но закладывают ещё +3км на подъезд-выезд. Мало ли как там по Пущино крутиться. Так что может быть дело не в том, что программист рукожоп, а в том, что бизнес ОЖП.
+++ А иногда банально задачу ставят так что программист вынужден делать хуйню. Так нередко бывает на корявом аутсорсе- когда тз написали и утвердили с заказчиком а потом уже дали прогеру реализовать а он такой «чо эт за хуйня» А ему такие «делай, уже все согласовано» И не всегда тут можно добиться правоты
Ilya
Нужен профсоюз.
Anatoly
можно не делать херню
Mikhαil
можно не делать херню
Можно. Ну ты ж знаешь нашу индустрию))
Ilya
Уволиться? :)
Mikhαil
Сколько некачественной хуйни делается
Mikhαil
И не всегда это от рукожопости идёт