
Igor
09.06.2017
12:12:36

Андрей
09.06.2017
12:13:00

? animufag ?
09.06.2017
12:17:33

Igor
09.06.2017
12:22:01
Наконец в KEEP оживился. Вот какой полезный пропозал про Parcelable появился.
Стопудово это все влияние Google.
https://github.com/Kotlin/KEEP/blob/336a57c792b092e3ff8f4559955f84123ae76e78/proposals/extensions/android-parcelable.md

Google

Андрей
09.06.2017
12:26:32

Сергей
09.06.2017
13:48:57

sne18
09.06.2017
14:35:19
Всем привет.
Ищу человека в Москве, кто реально пишет на Kotlin И может рассказать об опыте использования и отличии на небольшом митапчике
Может есть кто сможет это сделать ?

Alexander
09.06.2017
15:10:18
Ты немного не так подходишь, лучше уточни что вы за компания и с какой целью вам человек нужен
хотите котлин но боитесь и вот это вот всё?

Alex
09.06.2017
15:19:45
Это должно было звучать так : "Кто может затопить за Котлин на митапе?"

Руслан
09.06.2017
15:23:19
Я буду 15го в Москве топить за Котлин

Alexander
09.06.2017
15:24:57
адрес сообщи, Serg товарищей подтянет)

Руслан
09.06.2017
15:26:47
Я сам пока не вкурсе) митап сбертеха

Alina
09.06.2017
15:34:36
Кстати, если есть желающие, есть также "наряд" в Нижний Новгород (19.07) :)

Umren
09.06.2017
15:59:17

Google

Oleg
09.06.2017
16:00:54
Народ, поскажите, в котлин-нейтив есть гарбидж коллектор?

Quantum Harmonizer
09.06.2017
16:01:44

Алексей
09.06.2017
16:11:03
короче опишу свое решение проблемы, может кому понадобится
моя ос: windows 7 x64 sp1
ide: intellij idea
подключаюсь к интернету по usb модему
проблема была в том что когда я компилил любую программу и при этом был онлайн то она компилилась за 15 сек
стоило отключиться от интернета и она компилилась за 1 сек
вот что я сделал:
в папке java есть 2 папки : jdk , jre

Антон
09.06.2017
16:16:57
Тут у кого-то уже была такая проблема
Не помню чем все закончилось

Алексей
09.06.2017
16:19:50
В моем случае полный путь к нужному файлу был: C:\Program Files\Java\jdk_YOUR_JDK_VERSION\jre\lib\security\java.security

Vitalii
09.06.2017
16:20:55

Алексей
09.06.2017
16:21:15
security.provider.1=sun.security.mscapi.SunMSCAPI «<--- вот эту строку надо поставить на первое место
security.provider.2=sun.security.provider.Sun
security.provider.3=sun.security.rsa.SunRsaSign
security.provider.4=sun.security.ec.SunEC
security.provider.5=com.sun.net.ssl.internal.ssl.Provider
после этого все начинает работать

Boris
09.06.2017
16:21:43
Интересно, как это удалось выяснить?

Alex
09.06.2017
16:23:47

Badya
09.06.2017
16:25:10
Вдруг кто-то не видел:
kotlin
fun example1() = map.forEach { k, v -> process(k, v) }
// this fun compiles using java.util.function.BiConsumer - API 24
fun example2() = map.forEach { (k, v) -> process(k, v) }
// this uses pure kotlin

sne18
09.06.2017
16:31:06

Google

sne18
09.06.2017
16:31:32
Я ищу докладчика для следующего митапа. meetup.com/progmsk

Руслан
09.06.2017
16:33:32

sne18
09.06.2017
16:36:20

Vitalii
09.06.2017
16:49:48

Quantum Harmonizer
09.06.2017
16:51:28

Vitalii
09.06.2017
16:52:53
Логично, не подумал.

Quantum Harmonizer
09.06.2017
19:36:18

Umren
09.06.2017
19:43:46
сразу видно - джава родная )
писал бы на котлине.. ;)

Dibro
09.06.2017
19:46:14

Quantum Harmonizer
09.06.2017
19:51:06
о, заработало)

Alex
09.06.2017
20:27:37
https://www.slideshare.net/elizarov/non-blocking-programming-and-waiting
https://www.slideshare.net/elizarov/introduction-to-kotlin-coroutines

Konstantine
09.06.2017
21:29:49
Сейчас открыл студию и выскакивает "Kotlin not configured"
Еще два дня назад все было хорошо. Втф из тет?
UPD. Полная переустановка плагина помогла.

Alexey
09.06.2017
21:38:53
А я так и не осилил понять корутины. Как они работают не блокирующе. Пишут там легковесные future. А как это? Future блокируют поток, которыЙ вызвал у него get(), если future к тому моменту не выполнилсЯ. А тут вроде вся магия в байткоде.

Михаил
09.06.2017
21:40:50
по идее поток и блокируется
который эветит
эвейтит
могу ошибаться, сам не осилил)

Google

Admin
ERROR: S client not available

Sasha
09.06.2017
21:43:12

Konstantine
09.06.2017
21:43:28

Руслан
09.06.2017
22:00:40
по идее поток и блокируется
Нет, поток не блокируется. Функция делает suspend. Это значит что под низом есть какой-то асинхронный API, куда оставшаяся часть функции передается как колбек или в терминах Котлина Continuation (тут сработал компилятор и создал специальный класс который наследует CoroutineImpl (который в то же время Continuation), и инстанс которого и есть корутина).
Очень понравились слайды @relizarov, выше были.

Alexey
09.06.2017
22:05:24
Получается вся магии в саспенд функции
Которую может один поток повыполнять и приостановить,а потом другой поток ее подберёт и продолжит, типо так?

Михаил
09.06.2017
22:05:53

Руслан
09.06.2017
22:06:41
получается это просто колбэки на стероидах и синтаксическим сахаром?
ну типо да, с чистыми колбеками ты уходишь в кучу функций которые тяжело поддерживать или вообще в колбек хелл, с футурами тяжело жить, потому что простой цикл это уже не простая задача. Rx ничего так, но ломает голову. А корутины тоже немного ломают голову, но продуктивно писать на них я стал намного быстрее чем на Rx(Js правда, но не суть)

Alexey
09.06.2017
22:10:07

Руслан
09.06.2017
22:10:35
обсерваблы, обсерваблов, обсерваблов)
ну как-то так у меня на нем решались задачи)
Ну всяко лучше конечно футур, на Rx очень классно буферизовать ивенты, автокомплит корректно реализовывать и прочии вещи
Как бонус - есть интеграция корутин с Rx. Т.е. можно взять лучшее из двух миров

Михаил
09.06.2017
22:20:12
а какие вообще ключевые слова кроме suspend связанных с корутинами?

Руслан
09.06.2017
22:20:25
никаких

Михаил
09.06.2017
22:20:28
чет на одном ключевом слове все построить жетско
в голове не укладывается)

Google

Руслан
09.06.2017
22:20:39
есть еще магические функции
Типо suspendCoroutineOrReturn
Ну и аннотация @RestrictsSuspension, которая ограничивает какие suspend функции можно вызывать. Пример использования можно в buildSequence посмотреть
Несколько часов назад кстати 0.16 версию зарелизили kotlinx.coroutines:
kotlinx.coroutines version 0.16 is released with support for Guava ListenableFuture, improvements for cancellation that make it easier to use it in the context of Android UI thread, and important bug fixes in Channel implementations. Thanks to @konrad-kaminski and @uchuhimo for code contributions. Full change log is here: https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md

Artem
10.06.2017
01:15:06
Создал extension function для класса Toast. Но почему-то, когда пишу
Toast.show(this, "123")
, к примеру, то функцию
show()
не видит. Что я не так делаю?

Pavel Shackih
10.06.2017
01:23:59

Artem
10.06.2017
01:25:22

Pavel Shackih
10.06.2017
01:26:48
А почему в примере выше передается один аргумент - строка, а extension принимает два?