
Quantum Harmonizer
26.04.2018
08:10:53

Алексей
26.04.2018
08:11:26
Зачем вообще нужна функциональность методов класса и полей класса - это вопрос дискуссионный) Но в Котлине нельзя было этого не сделать, ибо совместимость с Java.

Алексей
26.04.2018
08:12:59

Google

Алексей
26.04.2018
08:13:13

Quantum Harmonizer
26.04.2018
08:13:36
Компаньоны в сравнении со статиками решают проблему, что были методы класса и методы объекта, которые вели себя по-разному.

Алексей
26.04.2018
08:14:23

Badya
26.04.2018
08:14:48

Quantum Harmonizer
26.04.2018
08:14:59
не надо статических логгеров

Badya
26.04.2018
08:15:09

Алексей
26.04.2018
08:15:10

Quantum Harmonizer
26.04.2018
08:15:33
Почему?
Потому что это неподдерживаемо. Логгер — это обычная зависимость, и место ей в конструкторе.

Artem
26.04.2018
08:16:06

Badya
26.04.2018
08:16:34

Quantum Harmonizer
26.04.2018
08:16:56

Алексей
26.04.2018
08:17:32

Ivan
26.04.2018
08:17:33
какой-то спор без аргументов

Google

Alexey
26.04.2018
08:18:02

Badya
26.04.2018
08:18:36

Quantum Harmonizer
26.04.2018
08:18:55
где-то у Бугаенко спросили прям про статические логгеры, но видео сейчас не найду

Badya
26.04.2018
08:19:38

Pavel ?
26.04.2018
08:19:53
не, логгер не для конструктора, это вообще не имеет отношения к БЛ, логгеры настраиваются посредственно через конфиг
и все очень поддерживаемо

Badya
26.04.2018
08:20:13

Quantum Harmonizer
26.04.2018
08:20:16

Pavel ?
26.04.2018
08:20:35

Badya
26.04.2018
08:20:40

Quantum Harmonizer
26.04.2018
08:20:50

Badya
26.04.2018
08:21:15
Только тестнг не предлагайте даже)

Quantum Harmonizer
26.04.2018
08:21:56

Pavel ?
26.04.2018
08:28:13

Andrew
26.04.2018
08:33:18

Pavel ?
26.04.2018
08:33:55

Andrew
26.04.2018
08:34:50
кинь ссылку
http://www.yegor256.com/2018/03/21/zerocracy-announcement.html

Maxim
26.04.2018
10:54:38
Поясните, пожалуйста, в чем разница?

Google

Maxim
26.04.2018
10:54:39
я нашёл только одно отличие
T.() -> Unit
(T) -> Unit
Но, к сожалению, не понимаю что это

Quantum Harmonizer
26.04.2018
10:55:42

Maxim
26.04.2018
10:56:25
А, ок. Предельно ясно, спасибо.

Лёша
26.04.2018
11:04:08

Andrew
26.04.2018
11:06:23
Ну и чуть более обширный ответ с примерами кода (и клёвой диаграмкой в конце): https://medium.com/@elye.project/mastering-kotlin-standard-functions-run-with-let-also-and-apply-9cd334b0ef84

Щерба
26.04.2018
11:44:09
Всем привет! Кто сталкивался? Отправляю на сервер файл в byte val body = RequestBody.create(MediaType.parse("image/jpeg"), ByteArray)
val aFile = MultipartBody.Part.createFormData("images", file.name, body)
А на сервере поврежден файл
перез постман все ок

Quantum Harmonizer
26.04.2018
12:50:04

whalemare
26.04.2018
13:11:36

Роман
26.04.2018
13:12:49
да, странная отправка
https://medium.com/@adinugroho/upload-image-from-android-app-using-retrofit-2-ae6f922b184c
попробуй это
там бывает еще фигня с заголовками
тоесть ты говоришь что jpeg а шлешь другой формат

Vladislav
26.04.2018
15:14:57

Artem
26.04.2018
16:20:56

Vladislav
26.04.2018
16:23:25
Ну минимальный пример проекта, чтобы ситуацию воспроизвести

Google

Artem
26.04.2018
16:24:21

Pavel
26.04.2018
23:31:31
Парни, такой вопрос по kotlin native.
Есть какая-то консольная утилитка на котлине 1к строк к примеру. Насколько проблематично взять это дело и сбилдить под x86, при условии что изначально там писалось все без оглядки на KN?
Я чего спрашиваю, посмотрел сэмплы, и такое ощущение, что чтобы с KN собрать, он должен торчать отовсюду, и весь половину кода нужно под него адаптировать.
Много ли телодвижений нужно сделать, чтобы вместо jar был бинарник под архитектуру?

Melodeiro
27.04.2018
03:02:27
Ребят, как правильно вызывать не-саспенд методы из корутины? Я так понял, что они могут начать выполняться параллельно, например, из двух разных циклов. Как жить то теперь, можно ли писать последовательный код, не боясь, что какая-то переменная не будет инициализирована? И как, к примеру, убедиться, что первый цикл закончил работу, и перейти ко второму, оборачивать его в саспенд функцию для этого?

Жабра
27.04.2018
03:19:03
Ребят, как правильно вызывать не-саспенд методы из корутины? Я так понял, что они могут начать выполняться параллельно, например, из двух разных циклов. Как жить то теперь, можно ли писать последовательный код, не боясь, что какая-то переменная не будет инициализирована? И как, к примеру, убедиться, что первый цикл закончил работу, и перейти ко второму, оборачивать его в саспенд функцию для этого?
Вы не правильно понимаете что такое suspend функция. Это просто функция, которую можно приостановить.

Admin
ERROR: S client not available

Like
27.04.2018
03:28:02
> функция, которую можно приостановить
шо

Жабра
27.04.2018
03:51:09
Сопрограммы - Kotlin
https://kotlinlang.ru/docs/reference/coroutines.html

Алексей
27.04.2018
03:55:32
Разумно ли в корутинах запускать операции в бесконечном цикле?
Обновление каких-то данных время от времени, например

Жабра
27.04.2018
04:00:33

Алексей
27.04.2018
04:00:59
А если она всё время нужна - не убивать просто?:)

Жабра
27.04.2018
04:01:32

Алексей
27.04.2018
04:01:50
Ок, понял
Спасибо

whalemare
27.04.2018
04:11:33
Обновление каких-то данных время от времени, например
Обычно это делается с помощью уведомлений от сервера, а не реализацией на клиенте бесконечного цикла. Когда у вас будет 1000 одновременных клиентов, которые раз в 10 секунд долбят сервер - это создат большую нагрузку

Жабра
27.04.2018
04:13:03

Алексей
27.04.2018
04:13:09

whalemare
27.04.2018
04:14:06
Это если сервер точно знает ip
Не обязательно ip, серверу просто нужно знать куда доставлять, это могут быть сокеты или пуш уведомления, зависит от условий)

Жабра
27.04.2018
04:14:29

Google

whalemare
27.04.2018
04:14:45

Алексей
27.04.2018
04:16:29
Спасибо:)


Andrew
27.04.2018
05:07:50
Парни, такой вопрос по kotlin native.
Есть какая-то консольная утилитка на котлине 1к строк к примеру. Насколько проблематично взять это дело и сбилдить под x86, при условии что изначально там писалось все без оглядки на KN?
Я чего спрашиваю, посмотрел сэмплы, и такое ощущение, что чтобы с KN собрать, он должен торчать отовсюду, и весь половину кода нужно под него адаптировать.
Да, просто так взять и заменить не выйдет. Даже консольные утилитки обычно довольно плотно вяжутся на JVM / сторонние либы вроде jcommander, которых, само собой, в Native нету. Что аппка-то делает?
Парни, такой вопрос по kotlin native.
Есть какая-то консольная утилитка на котлине 1к строк к примеру. Насколько проблематично взять это дело и сбилдить под x86, при условии что изначально там писалось все без оглядки на KN?
Я чего спрашиваю, посмотрел сэмплы, и такое ощущение, что чтобы с KN собрать, он должен торчать отовсюду, и весь половину кода нужно под него адаптировать.
Ну и да, торчать отовсюду он не обязан. Если врапаются сишные либы (а без них там делать нечего пока), можно делать один артефакт с помощью cinterop, а его прятать за красивой klib с ООП и духом котлина, используя из конечной аппы именно её.
В будущем, когда многие будут делать кросс-платформу, наверняка у большего количества либ будут артефакты и под JVM, и под Native, и тогда в конечных аппах интеропом с сями сквозить будет гораздо реже. Но пока вот так.


Boris
27.04.2018
06:11:57
Чтобы можно было собрать на всех платформах нужно использовать только общую для всех стандартную библиотеку, которая на данный момент не очень большая, но что-то делать позволяет

Bogdan
27.04.2018
06:54:46
Нужно нам развивать это направление, а не ждать с небес кучу либ

Жабра
27.04.2018
10:00:08
Кек. Сделал
inline fun launchOnUI(crossinline f: suspend CoroutineScope.() -> Unit) =
launch(UI) { f() } Теперь приложение крашится с ошибкой [java.lang.IllegalStateException: Job StandaloneCoroutine{Completed}@477e658 is already complete or completing, but is being completed with kotlin.Unit]
Убрал inline и crossinline - всё норм. :|
https://blog.jetbrains.com/kotlin/2018/04/kotlin-1-2-40-is-out/ хотя сделал всё по канону

Quantum Harmonizer
27.04.2018
10:03:34

Петр
27.04.2018
10:04:14
Всем привет
возникла проблема
не могу найти в документации kotlin/js стандартный ввод
никто не подскажет?

Жабра
27.04.2018
10:04:31

Quantum Harmonizer
27.04.2018
10:04:39

Жабра
27.04.2018
10:04:52

Quantum Harmonizer
27.04.2018
10:05:01
так странно, когда ко мне обращаются на «вы»...

Valentin
27.04.2018
10:06:32

Quantum Harmonizer
27.04.2018
10:06:47
:/