@kotlin_lang

Страница 651 из 982
Алексей
26.04.2018
08:11:26
Тогда примеры неудачные:) я просто действительно не понимаю назначения компаньонов
у вас раньше были статические методы, которые работали для класса, а не для объекта. В Котлине нет статических методов, но классу можно сделать компаньон-объект, и в нём определять методы.

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

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

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

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

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

Badya
26.04.2018
08:16:34
Потому что это неподдерживаемо. Логгер — это обычная зависимость, и место ей в конструкторе.
Всю жизнь получали через ЛоггерФактори слф4ж и было поддерживаемо

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
в конструктор передать)
А если конструктора нет? (e.g. Junit4 test)

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

и все очень поддерживаемо

Quantum Harmonizer
26.04.2018
08:20:16
А если конструктора нет? (e.g. Junit4 test)
зачем логи в юнитах? В любом случае, в юнитах — всё равно

Pavel ?
26.04.2018
08:20:35
А вызывать его как?)
вешай статику и дергай

Badya
26.04.2018
08:20:40
зачем логи в юнитах? В любом случае, в юнитах — всё равно
Ну если жунит использовать для чего-то большего чем юниты

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
надо Егору уже заканчивать с этим) переключатся на что-то другое)
Он параллельно с этим вполне себе успешно пилит автоматизированный менеджмент проектов, который выглядит относительно интересно, но по которому довольно мало информации.

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
я нашёл только одно отличие T.() -> Unit (T) -> Unit
в первом случае T — ресивер (this), во втором — параметр (it)

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

Лёша
26.04.2018
11:04:08
я нашёл только одно отличие T.() -> Unit (T) -> Unit
В первом случае this внутри лямбды будет объект типа T к которому будет применена эта лямбда

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
Всем привет! Кто сталкивался? Отправляю на сервер файл в byte val body = RequestBody.create(MediaType.parse("image/jpeg"), ByteArray) val aFile = MultipartBody.Part.createFormData("images", file.name, body)
Никто не сталкивался, потому что никто не знает, чем в конкретно твоём случае отличается отправка через постман от отправки через код.

whalemare
26.04.2018
13:11:36
Всем привет! Кто сталкивался? Отправляю на сервер файл в byte val body = RequestBody.create(MediaType.parse("image/jpeg"), ByteArray) val aFile = MultipartBody.Part.createFormData("images", file.name, body)
проблема скорее всего в том, что ты криво отправляешь фотку, если она вообще у тебя отправляется может поможет вот это, по молодости кому-то скидывал https://gist.github.com/whalemare/6783ec0ee2f837b0664194acb9f03e70

Роман
26.04.2018
13:12:49
да, странная отправка

https://medium.com/@adinugroho/upload-image-from-android-app-using-retrofit-2-ae6f922b184c

попробуй это

там бывает еще фигня с заголовками

тоесть ты говоришь что jpeg а шлешь другой формат

Artem
26.04.2018
16:20:56
А можно ссылку на пример?
На пример какого-то куска кода или на пример проекта ?

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

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

Много ли телодвижений нужно сделать, чтобы вместо jar был бинарник под архитектуру?

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

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:09
Обычно это делается с помощью уведомлений от сервера, а не реализацией на клиенте бесконечного цикла. Когда у вас будет 1000 одновременных клиентов, которые раз в 10 секунд долбят сервер - это создат большую нагрузку
Кейс в том, чтобы проверять админов каналов телеги:) никто меня не уведомит о том, что одмен появился/вышел, а от количества пользователей/вызовов обновление никак не будет зависеть - мы обновляем списки только известных чатов

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

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 собрать, он должен торчать отовсюду, и весь половину кода нужно под него адаптировать.
Ну и да, торчать отовсюду он не обязан. Если врапаются сишные либы (а без них там делать нечего пока), можно делать один артефакт с помощью 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/ хотя сделал всё по канону

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

Жабра
27.04.2018
10:04:31
Заводи багу, если ещё нет
Подскажите, где/как? Просто не приходилось пока что

Жабра
27.04.2018
10:04:52
kotl.in/issue
Благодарю

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

Quantum Harmonizer
27.04.2018
10:06:47
:/

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