@kotlin_lang

Страница 844 из 982
Quantum Harmonizer
02.09.2018
14:12:38
да. он самый
То есть разницы нет?

Kirill
02.09.2018
14:13:04
То есть разницы нет?
нет. только код в AS новее, чем в плагине на данный момент, afaik

Quantum Harmonizer
02.09.2018
14:14:03
Google
Kirill
02.09.2018
14:14:37
поддержка тачбара, например :D

Sergey
02.09.2018
14:15:38
Ну то есть на отдельном пуле
ну по факту на общем)

Ничего фантастического для БД не придумали в плане ассинхроности? В плане обычных реляционных СУБД
есть поделки различные в опенсорсе, но чтоб прям что-то стабильное в прод еще нет

из неудобств это только то что нужно явно IO контекст указывать, а так можно даже не париться о том что ты коммон пул заблочишь

Igor
02.09.2018
14:23:32
А мoжнo ли как-тo, пpи пoлучении EitherT<ForOption, A, B> легкo и пpoстo сделать fold пo option? Или там тoлькo чеpез value такoе делается?

И еще такoй вoпpoс. Уже навеpнoе с гистoм, там кoда бoльше будет. Есть сoстoяние (ReduxState), есть в нем бoльшoй и тяжелый oбъект (MutableDepotReportEntity). Мне бы хoтелoсь пoнять, идеологически пpавильнo ли я, в кoнтексте Redux, написал кoд на линзах и дpугoй гадoсти. https://gist.github.com/komigor/a195708ca07acc386262a94b1f371c13 Суть вoпpoса пo факту дoвoльнo банальная – стoит ли испoльзoвать в таких случаях линзы, или же лучше oбoйтись oбычным кoпиpoванием

Sergey
02.09.2018
15:26:47
прошку с i9 нормально
*шутка про холодильник ?

Aleksandr
02.09.2018
15:26:57
ну кстати нет)

Никита?❄️
02.09.2018
15:27:00
Aleksandr
02.09.2018
15:27:17
ни разу не свалился в троттлинг пока

Aleksandr
02.09.2018
15:27:32
идея по 6-8 гигов при этом кушает

Google
Никита?❄️
02.09.2018
15:28:02
Aleksandr
02.09.2018
15:28:25
проекты маленькие?)

Sergey
02.09.2018
15:28:35
ни разу не свалился в троттлинг пока
Ну они же пару патчей уже выпускали, частоты наверное скидали или со выкручивали ?

Никита?❄️
02.09.2018
15:28:46
проекты маленькие?)
у меня Spring, а не андроид

Aleksandr
02.09.2018
15:29:10
у меня Spring, а не андроид
у меня спринг с котлином и явой с тысячами классов

дебажащийся локально

Никита?❄️
02.09.2018
15:29:42
у меня спринг с котлином и явой с тысячами классов
у меня 250, либо мало классов генерю, либо небольшой проект)

ну, 239

Dmitry
02.09.2018
15:52:53
Ребят, всем привет. Столкнулся со странным поведением Gson. Есть дата класс, где, к примеру, есть два поля, одно String, а другое Int. Когда десерализуем из строки, которая не содержит этих полей, то получаем объект, где non-null поля содержат null и gson не выбрасывает исключение, и такое поведение мне нравится. В чем проблема? На ведройде всегда бросалось исключение

java 1.8

Sergey
02.09.2018
16:39:14
jackson на нули больно реагирует, он строже

gson у меня кучу всего лишнего пропускал

Alexander
02.09.2018
16:40:13
Я к тому, что котлина тут не причем, на котлине проверка в компайл тайме. Если ее нет в библиотеке, то ошибок и не будет

Dmitry
02.09.2018
16:42:20
как-то странно всеравно, ибо просто левый json, напрмер {"key":"value"}, ему подкидываешь, а он тебе один фиг отдает объект

Alexander
02.09.2018
16:43:14
Ну это на совести самого Gson-а

Я думаю, что там какая-то валидация должна быть, но я с ним очень поверхностно знаком. Попробовал, а потом выкинул, мне объектный маппинг только мешает

Quantum Harmonizer
02.09.2018
17:42:56
как-то странно всеравно, ибо просто левый json, напрмер {"key":"value"}, ему подкидываешь, а он тебе один фиг отдает объект
Gson создаёт эезкмпляр через Unsafe, если не находит no-arg-конструктора, минуя проверки котлина. Я себе делал вот такую страшненькую штуку, чтобы создавать объекты через конструкторы: https://github.com/Miha-x64/gson-constructor-type-adapter-factory

Alexander
02.09.2018
17:47:59
а что взял вместо маппинга?
А ничего, у меня дерево значений так и живет как дерево, когда надо поверх него делается декоратор, который делает вид, что он типизированный объект. По сути динамическое разрешение типа по месту. Одно и то же дерево может в разных случаях играть разную роль.

Google
Alexander
02.09.2018
17:52:07
Типа того

С одно стороны теряется бонус статической типизации (для конфигурации, для остального все в силе), с другой, можно лекго делать всякие прекрасные преобразования с деревом

OlegKrikun
02.09.2018
18:01:01
Кста, чо там сериализатор из kotlinx всё так же не особо быстр по сравнению с gson/jakson? Никто не тестил 0.6.x?

Quantum Harmonizer
02.09.2018
18:03:34
а кому это реально критично?

Я не особо понимаю людей, которые хотят выжать скорость из JSON.

OlegKrikun
02.09.2018
18:04:51
Хорошо, спрошу по другому кто-то юзает? =)

Quantum Harmonizer
02.09.2018
18:05:02
(И нет, я не говорю, что сериализаторы не должны быть быстрыми. Просто интересуюсь.)

OlegKrikun
02.09.2018
18:05:11
Ну при прочих равных, хотелось бы что бы это проходило побыстрее

Quantum Harmonizer
02.09.2018
18:05:44
Я так понимаю, главная фишка ktx-serialization — переносимость

OlegKrikun
02.09.2018
18:05:46
например я ща работаю с очень старым апи, там есть момент когда надо выкачать json на 50 метров

Quantum Harmonizer
02.09.2018
18:06:35
авторы апи уже стоят на учёте в соответствующих учереждениях?

OlegKrikun
02.09.2018
18:07:19
Он был молод и зелен, а заказчик ща не готов тратится на переделку апи =)

я ваще подумываю написать плуг к грейделу, что бы при компиляции какчать актуальную инфу и паковать в апк =))))

ну или таск

Igor
02.09.2018
18:09:09
Хорошо, спрошу по другому кто-то юзает? =)
Я вроде тыкал, sealed классы оно не понимало из коробки

OlegKrikun
02.09.2018
18:10:19
в общем все потыкали и сидят на gson/jakson =)))

Quantum Harmonizer
02.09.2018
18:11:04
А есть, кстати, хоть что-нибудь нормальное? (Т. е. маппинг без аннотаций/рефлексии/кодогенерации)

OlegKrikun
02.09.2018
18:11:59
о, пойду и это потыкаю =) Moshi is a great JSON library for Kotlin. It understands Kotlin’s non-nullable types and default parameter values. When you use Kotlin with Moshi you may use reflection, codegen, or both.

moshi c рефлексией

Google
OlegKrikun
02.09.2018
18:17:53
А за это кто что скажет? https://github.com/cbeust/klaxon

А не, выностите =))) https://github.com/cbeust/klaxon/issues/181

Alexander
02.09.2018
18:20:29
А есть, кстати, хоть что-нибудь нормальное? (Т. е. маппинг без аннотаций/рефлексии/кодогенерации)
Маппинг без аннотации или кодогенерации возможнен только в моем случае, где объекты в принципе динамические. В противном случае каким образом в рантайме можно узнать структуру класса, в который надо превратить?

Quantum Harmonizer
02.09.2018
18:22:11
Alexander
02.09.2018
18:23:32
Ну это еще больший кошмар, чем аннтоации и выполняет ту же роль. В котлине можно делать при помощи делегатов, но это мой вариант - под каждым классом кусок JSON-а или другой иерархической структуры.

Quantum Harmonizer
02.09.2018
18:23:52
не. Делегаты — точно не.

Alexander
02.09.2018
18:24:42
Да, кстати, kotlinx.serialization в режиме кастомного сериализатора работает как раз так, к каждому классу присобачивается ручной метод сериализации и десереализации.

Quantum Harmonizer
02.09.2018
18:24:44
Ещё есть вариант использовать массивы объектов вместо DTO, тогда механика маппера становится проще.

Admin
ERROR: S client not available

Alexander
02.09.2018
18:25:06
Это уже вопрос организации того самого дерева. Идея та же.

OlegKrikun
02.09.2018
18:28:19
я вот с тем легаси апи часто gson'ом часть данных (обычно что то вложенное) парсю как мапы, всё равно потом конвертировать в "выпрямленные" структуры

Vladimir
02.09.2018
18:38:54
Quantum Harmonizer
02.09.2018
18:39:33
А что плохого в аннотациях и кодогенерации для DTO-шек?
неочевидность, существование некого метаязыка над нормальным ЯП

OlegKrikun
02.09.2018
18:39:34
Компиляцию замедляет

Vladimir
02.09.2018
18:40:41
неочевидность, существование некого метаязыка над нормальным ЯП
Ну схему данных часто всё равно приходится писать на каком-то другом языке, т.к. JSON - это явно про взаимодействие с внешним миром.

Компиляцию замедляет
Если вынести в отдельный модуль и не менять схему постоянно, не должно

OlegKrikun
02.09.2018
18:41:44
Угу

Mikhail
02.09.2018
21:02:06
Я не особо понимаю людей, которые хотят выжать скорость из JSON.
У меня довольно шустрый json-парсер, почему бы и нет, никаких аннотаций и кодогенераций, только рефлекшен

Кста, чо там сериализатор из kotlinx всё так же не особо быстр по сравнению с gson/jakson? Никто не тестил 0.6.x?
https://github.com/wizzardo/json-benchmarks там правда 0.5.0, вернусь из отпуска - обновлю

Google
Quantum Harmonizer
02.09.2018
21:31:50
У меня довольно шустрый json-парсер, почему бы и нет, никаких аннотаций и кодогенераций, только рефлекшен
Дежавю. Кажется, мы уже обсуждали, что круто иметь быструю реализацию, но сам формат — не об этом.

Mikhail
02.09.2018
21:32:48
Угу, правильно приготовленный бинарный формат будет быстрее

Konstantine
02.09.2018
23:05:44
Что-то читаю про контракты и кажутся они какой-то дичью. Есть какой-то реальный пример где и зачем оно надо?

Dmitry
02.09.2018
23:50:58
Там 8гб и i5
i5 десктопный и i5 ультрамобильный отличаются гораздо больше, чем i3 и i7 Смотрите на энергопотребление, а не маркетинговые лейблы.

Loljeene
03.09.2018
00:15:02
Sergey
03.09.2018
04:53:06
Или ты про U процессоры?

Они урезанные по самое что есть не могу

Vladimir
03.09.2018
04:56:24
Что-то читаю про контракты и кажутся они какой-то дичью. Есть какой-то реальный пример где и зачем оно надо?
Простой пример: инициализация val полей внутри всяких let, with, use. Сейчас компилятор не может быть уверен, что код в них выполняется строго один раз. Еще: смарткаст после проверки isNullOrEmpty().

Loljeene
03.09.2018
06:03:34
8e поколение i5 же 6 ядерный но без HT.
Мы вроде про ультрабук. И про порезанное я бы не сказал. В синтетике они хороши

Andrey
03.09.2018
06:19:52
Sergey
03.09.2018
06:21:46
i7-8550u норм работает.
У меня тоже норм работало, до очередного обновления Android studio ?

Sergey
03.09.2018
06:22:58
А чё случилось?
Начало лагать

Студия 2.0 прекрасно работала

3.1 уже со скрипом

На проектах с Котлин все печально со скоростью работы редактора

OlegKrikun
03.09.2018
06:30:17
Sergey
03.09.2018
06:30:49
А памяти студии дал побольше?
все по умолчанию, да и так она использует половину из 16 гиг

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