@kotlin_lang

Страница 850 из 982
Anton
05.09.2018
12:50:32
сильно ничего не меняется

Dmitry
05.09.2018
12:50:52
Нет смысла читать книги, если нет практики. Надо писать код.

Dmitry
05.09.2018
12:52:31
Нет смысла читать книги, если нет практики. Надо писать код.
ну допустим я могу написать приложение на java с оглядкой на 5 дроид... но в текущих реалиях такой мой опыт уже не сильно кому и нужен... Поэтому как раз таки интересует больше понимание всяких "best practices"

Google
Dmitry
05.09.2018
12:53:01
Android освоить можно только на практике

Dmitry
05.09.2018
12:53:36
Android освоить можно только на практике
наговнокодить проблем нет. есть проблемы с хорошим ментором

Dmitry
05.09.2018
12:54:17
наговнокодить проблем нет. есть проблемы с хорошим ментором
Хороший ментор ИМХО это опытные коллеги по команде. Невозможно реально расти, если сидишь в своем соку. Это мое ИМХО и не связано с андроидом.

Dmitry
05.09.2018
12:54:20
наговнокодить проблем нет. есть проблемы с хорошим ментором
Хорошие менторы ведь тоже не просто так появились

Dmitry
05.09.2018
12:54:47
Либо самому методом проб и ошибок, но в команде лучше и быстрее.

Igor
05.09.2018
12:55:11
Как ты в данном случае свернешь [Int, MyType, Int] [Int, Int, Int] тут уже реально, без реализации всех возможных plus для MyType | Int не обойтись
Окей, пpинято. В случае, если добавляем еще две опеpации, эта пpоблема pешится, так? То есть: Int -> MyType -> Int Int -> Int -> Int

Igor
05.09.2018
12:55:26
То есть мне нужны 4 функции и union тип, котоpый получится заговнокодить только чеpез sealed class?

Mikhail
05.09.2018
12:56:29
Окей, пpинято. В случае, если добавляем еще две опеpации, эта пpоблема pешится, так? То есть: Int -> MyType -> Int Int -> Int -> Int
да, проблема решится, так как ты описал все вариации полугруппы для Int | MyType =)

Алексей
05.09.2018
12:58:28
Google
Ilya
05.09.2018
13:33:10
какие есть хорошие DI библиотеки для котлина (желательно андроид), кроме дагера?

koin, toothpick и прочие, что из них удобнее для работы?

Андрей
05.09.2018
13:34:10
koin топчик
++ удобно реально

получше чем кодеин как по мне

Gor
05.09.2018
13:35:10
Я так понял много кто перестает юзать Gson в связке с котлином. Так а куда перекатываеться? (инб4 коши/моши джексон)

Vishnyakov
05.09.2018
13:35:17
Denko
05.09.2018
13:35:43
Sergey
05.09.2018
13:36:08
koin легковеснее и живее по контрибьюторам

хотя у меня приложуха на ~100 компонентов, я их вручную описал все. пока доволен полотном кода)

Андрей
05.09.2018
13:43:28
чем?
в основном синтаксисом )

Gor
05.09.2018
13:44:17
он же на рефлексии работает

бывают проблемы с датакласами

не то чтоб меня сильно парило, все равно все в маппере словить можно

но просто интересно стало что народ использует

Konstantin
05.09.2018
13:45:08
а, понятно, какой нить неконсистентный апи

для которого сложно вывести нормальные дтошки. беда )

Gor
05.09.2018
13:47:38
а, понятно, какой нить неконсистентный апи
ну всегда есть риск получить нех в джейсоне

Google
Gor
05.09.2018
13:47:51
гсон пропустит его с налами в датакласс котлина

Dmitry
05.09.2018
13:48:31
почему перестают?
Он с нулабельностью не дружит, и падает хрен знает где потом, потому что создает обьекты через ансейф успешно оставляя нулы там, где их не должно быть.

Konstantin
05.09.2018
13:50:22
ага, теперь более ясно в чем прикол

ну, тогда я в очереди за новым сериализатором

Gor
05.09.2018
13:53:32
та я вот смотрю на Kotshi

просто выглядит как гонка за новыми инструментами ради инструментов

Igor
05.09.2018
13:54:55
А если тут кто-то pазбиpался с Redux (me.tatarka.redux) – можете подсказать, динамически цеплять/отцеплять middleware же можно, так?

Мне очень-очень хотелось бы узнать ответ на этот вопpос, ибо без этого навpяд-ли получится пеpейти на single source of truth store..

Andrey
05.09.2018
13:57:34
Он с нулабельностью не дружит, и падает хрен знает где потом, потому что создает обьекты через ансейф успешно оставляя нулы там, где их не должно быть.
Как-то я с трудом представляю себе десериализацию JSON, которая бы с нулабельностью нормально дружила, особенно, если JSON без валидации схемы. Там любое из полей может отсутствовать. Что в этом случае должен записать в поле гипотетический десериализатор? По мне, так все дата классы, десериализующиеся из JSON, должны содержать только nullable поля.

Mary
05.09.2018
14:05:58
Всем привет! 20 сентября в Москве в офисе Леруа Мерлен состоится Kotlin Moscow User Group Meetup. Темой митапа будет Kotlin/JS. Переходи по ссылке и регистрируйся. Для тех, кто не сможет присутствовать будет организована онлайн-трансляция. Ссылка появится в день митапа. #kotlin #meetup https://leroy-merlin.timepad.ru/event/799371/

Andrey
05.09.2018
14:08:37
ну или падать сразу
Ну это делается простой обёрткой валидатором поверх Gson. Не вижу особого смысла весь десериализатор писать с нуля ради такой проверки.

Andrey
05.09.2018
14:09:38
яб предпочёл что бы гсон пофиксили =))))
гсон на Java написан, там в системе типов нет nullability, так что не ясно, как его должны поправить.

OlegKrikun
05.09.2018
14:10:36
всё что без аннотации @Nullable должно быть? =) jackson вот вроде так умеет

Gor
05.09.2018
14:11:49
Ну это делается простой обёрткой валидатором поверх Gson. Не вижу особого смысла весь десериализатор писать с нуля ради такой проверки.
там сама суть что moshi сделан по алгоритсму гсона, но с небольшими оптимизациями, а kotshi по сути как раз обертка над moshi

Google
OlegKrikun
05.09.2018
14:16:41
https://github.com/wizzardo/json-benchmarks
было бы звдоро в будущем увидеть раздельные чарты по pojo и мапам =) а то глаза ломаются =) но это так, если захочется =)

Admin
ERROR: S client not available

Mikhail
05.09.2018
14:17:28
Я на днях собираюсь обновить это всё, можно и отдельные графики сделать

Какие-нибудь ещё либы добавить?

OlegKrikun
05.09.2018
14:18:23
Klaxon часто всплывает

ещё было бы круто замерить потребление памяти при парсинге больших json'ов =)

Mikhail
05.09.2018
14:19:09
Klaxon часто всплывает
От там есть, примерно первый с конца

OlegKrikun
05.09.2018
14:19:35
Participants: Boon Circe DSL-JSON Fastjson Genson Gson Jackson Jackson-afterburner JSR 353 Glassfish (javax.json) json.org Json-iterator Mjson Minimal-json Moshi Tools-json

Mikhail
05.09.2018
14:19:40
Забыл в список добавить(

OlegKrikun
05.09.2018
14:20:07
Непонятно как это мерить
согласен =) но вдруг ты волшебник =)

OlegKrikun
05.09.2018
14:20:51
ну как минимум можно жостко ограничивать размер кучи и ловить OOM

Mikhail
05.09.2018
14:21:59
Могу рендерить графики аллокации памяти

Оно в jmh есть из коробки

OlegKrikun
05.09.2018
14:28:25
ну хоть что-то =)

Leonid
05.09.2018
14:35:13
Andrey
05.09.2018
14:36:25
всё что без аннотации @Nullable должно быть? =) jackson вот вроде так умеет
Ну часть пользователей gson, возможно, думает, что @Nullable спасает. Другие резонно считают, что если nullability не проверяется на этапе компиляции, то всякие аннотации - попытка ситом укрыться от дождя. Так как gson предоставляет Java API, то логично предполагать, что nullabllity в нём не проверяется и не будет проверяться => надо самому допиливать. Не очень понимаю претензию к gson, поведение его десериализатора вполне себе разумно, функции валидации десериализованных объектов он не содержит.

Google
Mikhail
05.09.2018
14:52:03
А из жавы можно как-то проверить поле наллабл или нет?

Quantum Harmonizer
05.09.2018
14:59:21
можно ещё посмотреть в код метода, там проверки на null могут быть ?

Dmitry
05.09.2018
15:00:11
Геттера? Мы же поля через рефлекшн запихиваем, не трогаем методы

Quantum Harmonizer
05.09.2018
15:01:05
А из жавы можно как-то проверить поле наллабл или нет?
можно ещё посмотреть в код метода, там проверки на null могут быть ?

Nail
05.09.2018
15:15:22
kotlinx.serialization ещё есть

Он вроде как использует kapt, создаёт сериализаторы, типа autovalue... Но это не точно

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