@kotlin_lang

Страница 853 из 982
Никита?❄️
06.09.2018
17:03:32
в августе подрубил платную базу, ибо postgres вылез за 10к полей и надо было мигрировать

Izy Yank
06.09.2018
17:04:42
Ничоси

Leonid
06.09.2018
17:08:28
там же если запросов нет то инстанс вырубается?

и потом его долго опять поднимать, джвм прогревать, вот это всё

Google
Никита?❄️
06.09.2018
17:09:22
там же если запросов нет то инстанс вырубается?
15 или 30 минут - инстанс валится, да

первый http запрос на сервер поднимает его автоматом

таймаут на старт ноды - 90 секунд, если не успело подняться приложение то application error будет, и нода ребутается

2 неуспешных запуска и запускать надо вручную

Bogdan
06.09.2018
17:10:36
ребят уже @offtop

Никита?❄️
06.09.2018
17:10:44
ребят уже @offtop
окей, сорян

короче, пишите лс, расскажу что как

Bogdan
06.09.2018
17:12:04
окей, сорян
@pofftop сюда просто

Igor
06.09.2018
18:30:24
GraalVM все таки не очень дружит с котлином, там тупо хеловорд не собирается если юзать неявные проврки на null. (недавно обсуждали это в @graalvm_ru)

Di7aK
06.09.2018
18:35:48
почему вьюшки помечены как nonnull но выдают нуллпоинтер?

Rikland
06.09.2018
18:37:08
почему вьюшки помечены как nonnull но выдают нуллпоинтер?
Потому что nonnull это соглашение. И кто-то внутри не соблюдает это соглашение

Google
Di7aK
06.09.2018
18:38:04
но невозможно же в ноннулл поместить нулл

и это соглашение не я не соблюдаю

Rikland
06.09.2018
18:38:56
Со стороны Java можно. Только тебе с вертухи от Kotlin прилетит

Теоретически

Di7aK
06.09.2018
18:39:31
котлин сам ловит вьюхи

но ведру насрать и он тупо их нулирует

еще такая тема

Sergey
06.09.2018
18:41:14
но ведру насрать и он тупо их нулирует
ммм, может ты просто пытаешься обратится к вью когда она ещё не заинфлейтилась

Di7aK
06.09.2018
18:41:21
нет

Sergey
06.09.2018
18:41:36
или её нет в леяуте

Di7aK
06.09.2018
18:41:37
это при развороте приложения с застоем

Sergey
06.09.2018
18:41:46
что?

Di7aK
06.09.2018
18:42:37
вообщем вылет по латеинит не инициализирован

Sergey
06.09.2018
18:43:43
а когда ты его инициализируешь и когда обращаешься?

в каких методах жц

Di7aK
06.09.2018
18:44:02
я ловлю менюайтемы в онкреэйтопшнменю а потом он по новой после застоя не вызывавется, при этом само меню не нулл а то что я ловил куда то пропало, и вызова нового небыло на создание меню

вообщем сделал их нуллабельными и заюзал сейф вызовы, но от этого они тупо работать не будут

зато не вылетает?

Igor
06.09.2018
18:54:33
Два дня обсуждали, так и не понял в чем конкретно проблемма. Там просто компилятор (graal) падает с java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics

Google
Alexander
06.09.2018
18:54:48
И собираются ли это чинить? Я конечно жду пока грааль доберется до Windows, но очень хочется его поковырять

Di7aK
06.09.2018
18:55:43
что за граааль

это который священный грааль в индиана джонс?

Peter
06.09.2018
18:57:38
https://www.graalvm.org/ В данном контексте - АОТ компилятор для java. По-сути он делает больше. В деталях я сам запутался

Alexander
06.09.2018
18:58:26
что за граааль
Газеты надо читать

Меня больше пока интересует JVMCI, чем AOT

Di7aK
06.09.2018
18:59:14
представляю себе газету жизнь в которой пишут про библиотеки

Igor
06.09.2018
18:59:15
И собираются ли это чинить? Я конечно жду пока грааль доберется до Windows, но очень хочется его поковырять
Думаю, для начала надо issue завести на гитхабе (да все руки не доходят) Вот тот самый пример https://github.com/graalvm/graalvm-demos/blob/master/java-kotlin-aot/src/main/kotlin/hello/KotlinHello.kt#L6 Если в нем убрать !! , то оно перестает работать. В засимости от настроек компилятор, он либо будет падать при сборки, либо в рантайме кидать unsupported-feature

Alexander
06.09.2018
19:08:32
А оно в aot режиме ломается или даже в jvmci?

Igor
06.09.2018
19:10:25
Не знаю, я только aot пробовал. Ксатати Graal уже может и на macOS билдить AOT бинарники.

Никита?❄️
06.09.2018
21:00:43
Вечер добрый всем! Кто что может сказать про exposed? Или какая по вашему мнению лучшая либа для SQL?

Mi
06.09.2018
21:02:56
зависит от того, насколько сильно вы хотите погрузиться в этот SQL

Mi
06.09.2018
21:03:27
это может быть как обёртка над jdbc, так и монструозный ORM

Никита?❄️
06.09.2018
21:03:28
это может быть как обёртка над jdbc, так и монструозный ORM
ну hibernate оставил у меня несколько негативные впечатления, и я решил искать что-то ещё для будущих проектов

Mi
06.09.2018
21:06:27
можешь попробовать https://github.com/javalite/activejdbc

но модельки придётся писать на джаве

но мне этот фреймворк очень импонирует

Никита?❄️
06.09.2018
21:08:10
можешь попробовать https://github.com/javalite/activejdbc
тут можно настроить всё так, что бы он генерил таблички за меня?

Mi
06.09.2018
21:08:49
ну если вам даже такое нужно

Google
Mi
06.09.2018
21:09:06
то действительно почему не хибернейт

+ спринг дата

Никита?❄️
06.09.2018
21:09:38
+ спринг дата
вот именно это и юзаю прямо сейчас

Mi
06.09.2018
21:10:28
если вы хотите что-то менее монструозное, то придётся и что-то ручками сделать

Quantum Harmonizer
06.09.2018
21:10:43
Никита?❄️
06.09.2018
21:11:20
1. он генерит совершенно сумасшедшие запросы 2. джойнить по любому полю? нет, нельзя 3. criteria API - да, круто, да, прикольно, но ограничений тонна 4. без критериа апи - только вручную писать запросы, если сложность этих запросов превышает хоть сколько-то "findByLastNameIgnoreCaseAndAgeGreaterThan"

нормально кеширование не работает

Mi
06.09.2018
21:11:51
Ой, забирать поля по именам
ну это просто другой подход и он тоже имеет место быть

но наверное больше для джавы, чем для котлина

Admin
ERROR: S client not available

Никита?❄️
06.09.2018
21:12:07
если сделать criteriaBuilder.and ( .... ) и вложенность условий на 3-4 - база ложится нахер

запрос обрабатывается пол часа

Mi
06.09.2018
21:12:53
интересно а есть фреймворки которые без тонкого тюнинга будут работать адекватно

мне кажется нет

ну я про БД фреймворки

Никита?❄️
06.09.2018
21:14:37
то есть cb.and( ... cb.and( cb.equal(root.get<String>("partnerId"), locationRoot.get<String>("partnerId")), cb.or( cb.equal(searchPath, id), cb.equal(locationRoot<Boolean> ("isGlobal"), true) ) ... ) вот это уже положит базу

cb - criteriaBuilder

короче

Boris
06.09.2018
21:16:32
а мне норм

Google
Mi
06.09.2018
21:17:55
вообще мне кажется вам лучше за поиском лучшего фреймворка обратиться в соседний чат @jvmchat

Boris
06.09.2018
21:19:15
у экспозед вроде неплохой sql-билдер, но это не орм

Mi
06.09.2018
21:19:39
мне экспозед что-то вообще не зашёл

Boris
06.09.2018
21:19:47
но там немного странная синглтон система коннекшенов (была, может ща что-то поменяли)

Дмитрий
07.09.2018
04:51:27
Кто нибудь уже перетаскивал существующий проект с джавы на котлин? на сколько большой проект был, и сколько по времени заняло?

Евгений
07.09.2018
05:02:34
2 года как юзаем котлин впродакшене

полностью перетаскивать нет задачи, просто новый код пишется на котлине

старый код, по мере необходимости, конвертируется в котлин

Дмитрий
07.09.2018
05:29:22
ну проект относительно недавний, третий год ему пошёл, примерно пара месяцев, по часа 2 в день ушло чтоб его перетащить в котлин, в соло

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

Alexander
07.09.2018
05:40:56
По-моему опыту, конвертер в идее почти всегда работает неправильно. По крайней мере Java 8 SAM всегда ломает. Тем не менее проект очень большой, новые куски пишутся на на котлине, старые перетскиваются по мере необходимости. Бывает, что просто переписывание на котлине что-то ломает (nullability и optional->nullable), но как правило в хорошую сторону, истребляются потенциальные баги типа неинициализированных полей класса.

Mikhail
07.09.2018
05:41:59
Кто нибудь уже перетаскивал существующий проект с джавы на котлин? на сколько большой проект был, и сколько по времени заняло?
Полностью переписывать зачастую нет смысла, интеропится же все с джавой хорошо. Поэтому легко писать навое на котлине, часто изменяемое переводится на него, а те файлы в которых полстроки в месяц меняешь пускай остаются такими, какими они есть

Дмитрий
07.09.2018
05:47:34
согласен тут, сейчас то я это понимаю, но идея по перетаскиванию в котлин возникла одновременно с желанием его изучить, и на тот момент новых проектов не предвиделось, поэтому потеребил уже написаный

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

Alexander
07.09.2018
05:55:12
Дело полезное, но требует времени

Дмитрий
07.09.2018
05:57:21
именно ☝?

Sergey
07.09.2018
06:07:14
у нас джавы не осталось, как и спринга в общем то

Evgeny
07.09.2018
06:10:59
А что вместо spring? Micronaut? Ktor? Или что-то еще?

Sergey
07.09.2018
06:14:43
Ktor да

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