@kotlin_lang

Страница 328 из 982
? animufag ?
16.09.2017
21:33:28
ладно я понял

тот скачок просто супермного коммитов не знаю как объяснить,

Anton
18.09.2017
08:25:04
Для спринганутых, есть хороший пример, насколько спринг просаживает джаву (как серверное решение). Тут спринг и для сравнения питон. Причем рядом топовый сервер для примера, как джава может в производительность. https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=plaintext&l=8vmykf&f=zhawhr-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-9z2f3 https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=fortune&l=8vmykf&f=zhawhr-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-9z2f3 Это к тому, как те 60-90 вложенного стектрейса для людей норма
спринганутых почти никогда не удается спасти(сапсать их не надо на самом деле, вакасний дохуя, спрос есть), они обычно кроме спринга уже ничего не признают и команде такой хер продашь другую технологию, очень сильная зависимость. спринг по сути - это как раковая опухоль, она развивается набирает новые клетки и все пожирает вокруг. будет печально если котлин тоже сожрет(

Sergey
18.09.2017
08:26:49
так говоришь будто спринг это плохо)

Google
Митко Соловец?
18.09.2017
08:26:52
все брехня

Anton
18.09.2017
08:27:49
так говоришь будто спринг это плохо)
вкусовщина, просто мое имхо, которое совпадает с оратором против спринга.

Митко Соловец?
18.09.2017
08:28:03
например в хайлоад капе спринг с базой h2 был в топ 50 по началу

да, сервлеты это такое

но в 5 версии появится нетти

Anton
18.09.2017
08:30:48
например в хайлоад капе спринг с базой h2 был в топ 50 по началу
ну хайлоад кап - вещь спцифическая да и логика там не размашистая. да и не про хайлоад разговор. мне, например, он бессмысленным просто кажется, когда поясняют про удобство и скорость разаботки (самые частые аргументы за спринг), это и рядом не стояло по удобство и скорости с динамическим языками.

Sergey
18.09.2017
08:31:35
вкусовщина, просто мое имхо, которое совпадает с оратором против спринга.
удобно ведь, когда переходишь по проектам, тебе не нужно изучать новомодный фреймворк, который никто нигде не использует. не нужно из говна и палок совмещать какие-то либы

конструктор прям - dropwizard, guice, gson, еще какую-нибудь валидацию и развлечения будет на несколько дней

Quantum Harmonizer
18.09.2017
08:35:24
так говоришь будто спринг это плохо)
ну, работать со спрингом — удовольствие сомнительное.

Anton
18.09.2017
08:36:50
конструктор прям - dropwizard, guice, gson, еще какую-нибудь валидацию и развлечения будет на несколько дней
зато прям под себя собрал, все эти инстурменты простые в них можно сразу въехать быстро, и сама система получается гораздо гибче. в начале ты проигрываешь по времени, да. но потом можешь и выиграть, все вполне просто и очевидно. а разрашиеся приложуха на спринге - это адище с запредельным уровнем абстракций, с каждым разом ее дорабатывать все дороже и дороже.

Lev
18.09.2017
08:39:44
Есть плагин к идее чтобы а котлине подсвечивать неотловленные исключения? ChEX сделать)

whalemare
18.09.2017
09:59:11
Парни, кто с моши работал, он может брать дефолтные значения из дата-класса если в жсоне налл или поле отсутствует?

Quantum Harmonizer
18.09.2017
10:01:29
Google
Евгений
18.09.2017
10:04:10
и если все параметры по-умолчанию прописаны все должно работать

Dmitry
18.09.2017
10:04:44
Парни, кто с моши работал, он может брать дефолтные значения из дата-класса если в жсоне налл или поле отсутствует?
https://engineering.kitchenstories.io/data-classes-and-parsing-json-a-story-about-converting-models-to-kotlin-caf8a599df9e > For Article.kthowever, we also need to add the KotlinJsonAdapterFactory to the initialization of Moshi. Without the KotlinJsonAdapter, @JSON annotations and default values in constructors do not work.

whalemare
18.09.2017
10:09:09
Alexei
18.09.2017
10:11:17
А поставить дефолтные прямо в классе?

Quantum Harmonizer
18.09.2017
10:13:19
Достаточно задать всем параметрам дефолтные значения.

Dmitry
18.09.2017
10:15:38
Достаточно задать всем параметрам дефолтные значения.
Так-то да, в этом случае будет пустой конструктор, в статье же пример когда дефолтные параметры есть, но не для всех значений

whalemare
18.09.2017
10:26:36
Проблема в том, что у меня все проставлено но все равно не работает. и я никак не пойму почему, но в статье написано что если с сервака явно прилетает null, то ты обязан запилить null тип. И по дефолту он значение возьмет только если адаптер написать

в этом видимо и косяк, а адаптеры писать на каждый класс - жуть

Quantum Harmonizer
18.09.2017
10:27:51
в этом видимо и косяк, а адаптеры писать на каждый класс - жуть
А в Moshi нельзя поставить адаптер на отдельное поле? Или настроить стратегию работу с нуллами? Или написать один общий адаптер, который это порешает?

Kira
18.09.2017
10:32:04
Ktor на проде кто-нибудь использует?

Sergey
18.09.2017
11:04:55
но я к примеру юзаю просто jdbcTemplate/mongoTemplate

но приходится платить за это все офхип памятью)

Anton
18.09.2017
13:48:31
в том то и дело, что каждый приходит и разбирается потом. а какие именно абстракции напрягают то? например если взять просто оттуда Spring DI, Web, Actuator и Undertow, тот все работает чудесно и просто тяжко это когда начинаешь JPA и всякие Mongo Data тянуть
это если по минимуму, обычно если берут спринг то наверчивают там всего сверху (так как он же почти со всем на свете интегрирован). в итоге получается код из аннотаций и магии: взяли какой-нибудь орм - навернули поверх биндинги к спрингу, парсер - снова навернули. насыпали туда потом еще конфигов для бинов. итд на выходе получаем магический код. смотришь на класс, а там вместо каких-то прозрачных вызовов, которые легко можно распутать сидит 4 аннотации перед ним.

Руслан
18.09.2017
13:49:48
посмотри на bootique :) http://bootique.io/

Глеб
18.09.2017
14:00:19


Va
18.09.2017
14:00:50
убери val

Глеб
18.09.2017
14:01:07
Это data-класс

Видимо, никак, да?

Google
Va
18.09.2017
14:01:41
у него должны быть другие параметры тогда в противоположном случае, это не data-class ?

whalemare
18.09.2017
14:02:08
И имена переменных разные сделай

И все будет окей

Глеб
18.09.2017
14:02:28
Я не хочу меняь название)

Nikita
18.09.2017
14:02:38
прокинуть - убрать val

whalemare
18.09.2017
14:02:50
У тебя name clashes Как то так называется

Va
18.09.2017
14:02:58
тогда он скажет, что дата-класс без параметров

а кто тебе, в общем-то, мешает сделать override ?

whalemare
18.09.2017
14:03:36
Попробуй область видимости у базового на приват сделать

Глеб
18.09.2017
14:04:09
whalemare Гениально!

Спасибо ?

whalemare
18.09.2017
14:05:19
?

Anton
18.09.2017
14:05:35
что помогло?

Глеб
18.09.2017
14:05:37
Va А там не складывается почему-то



Va
18.09.2017
14:05:49
какой смысл приватного поля в дата-классе ? оО

сделай в Base open var a : Int

Глеб
18.09.2017
14:08:15
Anton я сделал приватным поле базовго класса. Va Точняк! А базовый класс -- он формально и не data-класс. Вообще, ты прав, заоверрайдить логичнее

Спасибо

?

Google
Va
18.09.2017
14:09:30
немазащо

Quantum Harmonizer
18.09.2017
14:10:35
Base можно сделать интерфейсом.

Andrey
18.09.2017
15:30:03
О спринге. Как правило ярые его противники не знают актуального состояния экосистемы. Я был приятно удивлен проектами spring cloud и поддержкой Netflix стека. Можно очень быстро забутстрапить микросервис с трейсингом в zipkin и API клиентом с feign, ribbon и hystrix. Все это с поддержкой чуть ли не всего aws

Quantum Harmonizer
18.09.2017
16:18:11
Народу не нравится "магия" которую делает Спринг, на то какая в нем интеграция никто не жаловался
Плюсую. Объекты создаются через хитро закрученную жопу, хотя в этом нет никакой необходимости.

Andrey
18.09.2017
16:37:32
Благодаря конфигурации в коде можно свести эту магию к минимуму

Quantum Harmonizer
18.09.2017
16:39:16
магия трёхэтажных аннотаций в коде остаётся магией

Kira
18.09.2017
16:57:40
И магия переопределеных бинов тоже

Fedor
18.09.2017
16:58:29
Ого, на канале и правда ни разу не упомянули ejb

? animufag ?
18.09.2017
16:59:55
можно конретнее о чём вы, тк спринг вроде никак не относится к бинам

Dmi3y
18.09.2017
17:01:13
Потому что в Спринге бины

Только не ejbшные, а спринговые

Руслан
18.09.2017
17:01:33
@OnMissingBean

Dmi3y
18.09.2017
17:02:12
Actuator /beans

Quantum Harmonizer
18.09.2017
17:02:20
началось)

Dmi3y
18.09.2017
17:03:33
Я только сейчас узнал, что если нажать на такую ссылку, то она в канал отправляется

? animufag ?
18.09.2017
17:03:59
ээх

Kira
18.09.2017
17:04:04
Хех, даже не успел ответить) Мы недавно писали OAuth2 server на SpringSecurity, весь код состоял из переопределения бинов, думал рехнусь пока пытался понять как они взаимодействуют

Google
Kira
18.09.2017
17:04:44
Весь Спринг - набор бинов которые взаимодействуют согласно логике спринга и любой из них можно переопределить

Lev
18.09.2017
17:19:55
А чего там искать то? Там есть стоковая конфигурация, и она отручается частями если что то переопределить. Делов то

Boris
18.09.2017
17:22:28
Секюрити и правда довольно непонятно сделано

Но если поковыряться, то можно найти его логику

Boris
18.09.2017
17:24:48
Я когда первый раз его использовал, тоже все переопределил и удивлялся, нахрена он вообще нужен. Потом когда уже получше разобрался, то оказалось, что ничего не надо было переопределять.

Из коробки было всё, что мне было нужно

Просто разобраться с его сущности и кто за что отвечает довольно непросто. А когда ещё и оаус добавляется, то там совсем тяжко

Anton
18.09.2017
17:28:10
я уже несколько раз открывал воодушевленно петпроджект на спринге, потом вспоминал что мне нужно прикрутить аус и закрывал его

Страница 328 из 982