Shub
причем эти сопутствующие сервисы нужны строго потому, что выбран event sourcing, выбрано нетранзакционное хранилище и т.п.
Ayrat
я вот только что ушёл из команды монолитчиков, которые апи, кафки и етл смешали в одном спринг процессе
Shub
Т.е вы решили взять худшее от обоих подходов
не то, чтобы прямо решили, оно так вышло, если можно выразиться
Ayrat
то есть как бы кафка листенеры никак не связаны с рид-апишкой, но запускалось там же.
Ayrat
Теперь ебашу на котлене
Ayrat
тоже прайсинг, но там команда умирает в аду кутежа и очень хотят переписать всё с джавы
Ayrat
Они не выбрали скалу к слову
Ayrat
Но мне похуй, буду им переписывать на котлен
Roman
а ты хотел скалу?
Ayrat
ну я к ней чутка привык
Ayrat
Но я уже привык к котлину
Ayrat
Норм язык.
Ayrat
много годного сахара
Roman
там же больше не надо в женерики передавать MyType.class?
Doge
Норм язык.
Ну такое, влажная места джависта и blub-paradox-the-language
Ayrat
надо. Иногда даже через MyType.jvmClass()
Vasily
У башкира главное не отнимать кумыс
Vasily
Остальное он переживет
Doge
Хотя некоторые моменты в котлине более-менее ничего.
Ayrat
охлол
в котлине свой тип для классов
Anonymous
кстати, у нас топики имеют н партиций, но всего в нескольких случаях продюсеры и консумеры имеют н инстансов. в подавляющем большистве в топик с 8 партициями пишет один инстанс сервера и читает один инстанс тоже
А разговоры на кухне при этом в стиле «Кафка такое медленное говно!» есть? А то у нас есть, только там чуть другая ситуация. Чуваки запускают Н инстансов в группе, которая читает однопартиционный топик и ждут улучшения перформанса, а его все нет и нет...
Doge
охлол
В котлине можно через reified делать обертку для которой это не будет нужно
Ayrat
что это значит?
ну там какой-то KotlinClass вместо просто Class
Ayrat
я пока не понял особого профита. но подозреваю они что-то знают!!11
Roman
В котлине можно через reified делать обертку для которой это не будет нужно
а чем обусловлена изначальная необходимость передавать класс в коде? Почему компилятор не может это за программиста докинуть, если это нужно рантайму?
Vasily
Жвм
Ayrat
если ты хочешь например десериализацию в рантайме в тип List<List<Foo>>
Vasily
Она стирает
Roman
потому что типы стираются до обжектов
ну ты же уже написал <MyType>. В компайл тайме этот тип известен теперь, компилятор сам может под ковром подкинуть класс, не?
Ayrat
если ты хочешь например десериализацию в рантайме в тип List<List<Foo>>
то тебе надо кинуть Deserialize<List>(someString, List.class, Foo.class)
Ayrat
если ты тайплкасс на манифест сделал
Ayrat
def foo[T: Manifest](str: String): T { deserialize(str) }
Ayrat
где deseriazlie имплицитно этот самый манифест принимает на грудь
Roman
ну я пока все равно не понял.
Ayrat
Ну.. Джава
Roman
Ну скала там шалит с имплицитами — это пускай
Roman
то, что в рантайме женериков нет, тоже понимаю
Ayrat
Короче, после дотнета дженерики расстраивают. И выстрелы в рантайме случаются регулярно там где ты их в дотнете никогда не видел
Roman
груздь
Doge
ну я пока все равно не понял.
Т.е. твой вопрос: "почему это не сделано из коробки в джаве?"
Roman
ну в том числе
Roman
Вот например, что будет, если сделать так? func<Foo>(Bar.class)? Подозреваю, что в рантайме отъебнет
Roman
Там Class<T>, так что не тайпчекнет
в смысле не скомпилится или чо?
Doge
в смысле не скомпилится или чо?
Да, не скомпилиться, если у этого метода аргумент именно типа Class<T>
Roman
Да, не скомпилиться, если у этого метода аргумент именно типа Class<T>
тогда тем более непонятно, раз компилятор уже умеет проверять это
Roman
т.е. тупо заставляет дублировать инфу
Doge
тогда тем более непонятно, раз компилятор уже умеет проверять это
Я могу предположить, что не хотелось как-то сильно усложнять то, как конкретные методы и классы компилятся. Так у них единообразная схема, а так пришлось бы отдельно чего генерить скрытый параметр с передачей Class<T>
Roman
а этот Class<T> передается не во все женерик методы?
Doge
а этот Class<T> передается не во все женерик методы?
Только в те, где тебе нужна рефлексия для которой нужен инстанс Class
Roman
типа десериализации?
Doge
типа десериализации?
Да или какой-то IoC контейнер, где инстанса объекта у которого можно было взять class тупо нет
Roman
Да, я избалован дотнетом
Doge
Да, я избалован дотнетом
Ну вот в котлине и скале есть свои хаки для этого, где неявным параметром этот class и будет передаваться
Vladislav
Vasiliy
@omgszer https://dtf.ru/142842
Ayrat
О, давно пора
Ayrat
А там ещё PoE выходит через 2 недели
Roman
А там ещё PoE выходит через 2 недели
чем-то выделяется среди прочих hack&slash?
Ayrat
чем-то выделяется среди прочих hack&slash?
в смысле? ты в бункере живешь?
Roman
в плане игр да
Roman
я бы даже сказал, в танке, запаркованном в бункере
Ayrat
это как спросить, выделяется ли диабло 2 среди прочих хекНслеш, учитывая что диабла 2 определила жанр
Ayrat
вот PoE она сейчас определяет жанр, а остальные на подсосе пытаются её убить, но как её убить?
Roman
ну я смотрел трейлер геймплея, и выглядит оч похоже на дряблу 3 (я хз, что появилось раньше)
Roman
бегаешь, ддосишь экшн скилом, иногда какую-нить ульту ебошишь
Ayrat
не, это надо сравнивать с д2 - шмотки, билды, мрачнота
Ayrat
это вот из-за чего игру любят. Вариаций триллион. В д3 там всё просто - берёшь класс, берёшь сезонный сет и вперде