@kotlin_lang

Страница 503 из 982
Eugene
22.01.2018
12:58:19
кстати, вроде jetbrains грозился java std lib свою сделать. слышал кн как уних дела с этим?

Yury
22.01.2018
13:00:16
для ассинхронных запросов юзаем rxJava. Про нагрузки - ну как сказать, могут быть тысячи запросов в секунду, а то и больше. Наша микросервисная архитектура спокойно с этим справляется
далеко не все программисты нормально в rxJava стиле писать, все таки подход сильно отличается от синхронного, для большинства привычного подхода

swh
22.01.2018
13:01:02
Так уже сколько лет пиут же в рх

Google
swh
22.01.2018
13:01:08
Даже книги есть

По той же rxjava

Yury
22.01.2018
13:01:22
Что прям настоящая реактивщена, а не замена completable future?
Там просто стиль кода другой, типа pub/sub. А completable future больше похож на функциональщину с чейнигом

swh
22.01.2018
13:01:35
Вроде стандарт дэ-факто, нет?

Yury
22.01.2018
13:03:25
Ну ты посади среднестатического джависта за Rx. Не думаю что он быстро начнет писать не говнокод

Eugene
22.01.2018
13:03:26
опять таки, rx для своих целей подходит, когда, например, билинг какой-нибуть, IoT или еще-то

пихать его везде - смысла особого нету, имхо

swh
22.01.2018
13:03:52
пихать его везде - смысла особого нету, имхо
Везде, может, и нет. Но разделять операции, делать их асинхронными, делать множественные преобразования...

Nikolay
22.01.2018
13:06:08
В этом и был вопрос к Николаю
у нас микросервисная архитектура и rx норм нам подошел для ассинхронных запросов, конечно мы не юзаем rx «наполную» но некоторые проблемы он нам помог решить

Nikolay
22.01.2018
13:10:11
Хм, у вас java8 уже была, когда вы начали на rx писать?
да была, вообще с монолита на микросервисы относительно недавно начали переходить, поэтому есть возможность применять что-то новое

Google
Phil
22.01.2018
13:10:44
Ну, у нас вот биллинг - и rx не очень подошел (ага, опять из-за бд и целостности), пришлось свое придумывать. Но у нас нагрузки на этой части небольшие, к счастью, где-то до сотни транзакций в секунду. На котлине, увы, прочие сервисы пишем.

Руслан
22.01.2018
13:55:24
https://habrahabr.ru/company/sberbank/blog/347208/

Andrew
22.01.2018
13:57:51
> В своем проекте мы давно вышли за пределы multidex (уже трижды) и на данный момент в проекте есть 4 dex-файла. Первый раз вижу людей, которые этим гордятся (простите, не сдержался, я понимаю, что чатик не об андроиде).

Anton
22.01.2018
13:59:50
Последние четыре варианта мы откинули сразу, так как они используют кодогенерацию. Зачем менять шило на мыло -> Самый главный и жирный минус — это то, что мы можем получить ошибку в рантайме, не понимая, откуда она прилетела.

Quantum Harmonizer
22.01.2018
14:02:00
-> @android_ru, тут вообще не к месту

Anton
22.01.2018
14:02:03
я чет не понял. уходили (зачем-то от кодогенерации чтобы failfast не было) а потом пишут что это минус

Andrew
22.01.2018
14:02:20
Да и аргументация на тему "dependency injection / service locator" классная -- Вартон сказал, что это SL, а мы тут поговорили с автором и от таки сказал, что это DI. Мол, какая разница, как называть. А как сам подход реализован на практике -- это уже дело третье :)

Руслан
22.01.2018
14:11:02
(запилил тут канальчик, буду новости постить, подписывайтесь https://t.me/TheDailyKotlin)

Vadim
22.01.2018
15:32:02
есть два условия в when intent.getBooleanExtra("button", false) -> cancelNotification() intent.getBooleanExtra("button", true) -> confirmlNotification() Как мне можно их вынести в переменную cancel например, чтоб потом мог просто использовать var cancel: Boolean? = null if (cancel) something() else makeSens()

Sankarsana das
22.01.2018
15:33:09
(запилил тут канальчик, буду новости постить, подписывайтесь https://t.me/TheDailyKotlin)
Никак не могу взять в толк. В чём принципиальная разница между DI и SL? Пмогите разобраться.

Kirill
22.01.2018
15:34:12
DI?

Sankarsana das
22.01.2018
15:35:40
DI?
Сори, опечатка.

о DI твой код не знает, а о SL знает
А чем плох подход, если знает (SL)?

Sergey
22.01.2018
15:38:15
http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/ тут описано в принципе

Igor
22.01.2018
15:38:24
А чем плох подход, если знает (SL)?
Тестировать сложно. Обычно SL выражен черег синглтон и его нетривильно замокать (а уж тесты гонять паралельлно вообще не получится)

Руслан
22.01.2018
15:40:36
о DI твой код не знает, а о SL знает
Неплохо сказано, правда все лепят @Inject/@Autowired на конструкторы/сеттеры и это все-таки DI.

Igor
22.01.2018
15:41:06
http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/ тут описано в принципе
Оу Марк ? (у него супер доклады про ФП для обычных девелоперов). Когда то у него в блоге были посты про правильный DI (он и книгу написал), потом про Dependency Rejection, а сейчас вообще про какие-то “изоморфизмы”

Sergey
22.01.2018
15:41:09
на конструкторы это еще куда ни шло, а вот с сеттерами и пропертями хуже

ну и это больше мета информация для фреймворка

Google
Sergey
22.01.2018
15:41:43
ты можешь взять просто класс и подсунуть свои реализации без фрейма ведь

так что не смертельные аннотации

Andrew
22.01.2018
15:43:54
Никак не могу взять в толк. В чём принципиальная разница между DI и SL? Пмогите разобраться.
Вот прям первый (и пока единственный) коммент к статье об этом: https://habrahabr.ru/company/sberbank/blog/347208/#comment_10628900

Sergey
22.01.2018
15:45:59
использование DI контейнера как SL это все же дурной запах)

Sankarsana das
22.01.2018
15:46:44
Тестировать сложно. Обычно SL выражен черег синглтон и его нетривильно замокать (а уж тесты гонять паралельлно вообще не получится)
Но, например в даггере, мы должны обращаться конкретному объекту класса, чтобы разрашить зависимости? И этот объект может быть сиглтоном.

Sergey
22.01.2018
15:48:16
ну андроид у вас там единое приложение с одним юзером

можно обмазываться синглтонами)

Igor
22.01.2018
15:50:03
Но, например в даггере, мы должны обращаться конкретному объекту класса, чтобы разрашить зависимости? И этот объект может быть сиглтоном.
Ну ты же не делаешь это везде в коде? (а SL придется) Ты стараешся юзать constructor-injections, а уже в активити можно и метод дернуть, ну ты же все равно само активити не будешь покрывать unit-тестами.

Dumitru
22.01.2018
16:50:01
Kodein это фреймворк для чего ?

Kodein-это очень простой, но очень полезный контейнер для извлечения зависимостей. он очень прост в использовании и настройке.

Yury
22.01.2018
16:51:20
Зашел на сайт, там крупно сверху написано = "KOtlin DEpendency INjection"

Dumitru
22.01.2018
16:52:01
ок

Artyom
22.01.2018
17:46:24
Скажите, а есть что почитать подробнее о Kotlin/Native и с чем его едят?

Kira
22.01.2018
18:01:11
Кстати, кто-нибудь использует kodein на сервере?

Boris
22.01.2018
18:17:56
Напомните, как в идее включить хинты автовыведенных типов?

Sergey
22.01.2018
18:19:20


я в последней версии плагина наоборот их включил

Google
Sergey
22.01.2018
18:19:42
удобнее стало

Boris
22.01.2018
18:22:42
Спасибо, тоже какое-то время без них сидел, потом понял, что нужны

Sergey
22.01.2018
18:23:04
особенно тащусь от хинтов в лямбдах

и ретурнах из лямбд

Boris
22.01.2018
18:23:27
Да, это шикарная фича

Sergey
22.01.2018
18:25:55


прям ваще)



или вот

Igor
22.01.2018
18:29:34
if в коде triggered ?… (ладно круто все)

Sergey
22.01.2018
18:33:41
Aydar
22.01.2018
18:44:28
всем привет, подскажите пожалуйста, как можно изменить текст на экране, когда я нажал Да на alertdialog. textView.text = "bla bla bla" приводит к null pointer exception

Anton
22.01.2018
18:46:42
покажи код)

Aydar
22.01.2018
18:50:07


на этапе totalProfit.text = ... выводит ошибку

Жабра
22.01.2018
19:02:00
Попробуй .setText(...)

А зачем нужен внутренний run?

Anton
22.01.2018
19:03:03
ну чекни вьюха у тебя забиндилась нет

Aydar
22.01.2018
19:04:32
А зачем нужен внутренний run?
чтобы выполнить блок кода, он же для этого, или я не прав?

Google
Жабра
22.01.2018
19:05:36
Можешь убрать его и всё будет нормально.

не помогло
А можно лог ошибки?

Anton
22.01.2018
19:07:21
дебагером) или в лог выведи)

@kotlin_mobile сюда перейди лучше

Жабра
22.01.2018
19:08:30
Aydar
22.01.2018
19:08:32
Anton
22.01.2018
19:14:37
сегодня тоже оценил ?

Руслан
23.01.2018
08:08:35
https://stackoverflow.com/questions/48395318/what-are-the-let-annotations-in-android-studio-intellij

уже на стековерфлоу оценили

Vadim
23.01.2018
08:52:36
Создал переменную private var allow: Boolean = false после чего сэчу значение allow = intent.getBooleanExtra("button", true) И вот вопрос, если я пишу условие мол if (allow) тогда используется значение которое я просэтил, НО это равносильно тому что else равно ? allow = intent.getBooleanExtra("button", false)

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