Роман Елизаров - Корутины в Kotlin

  Рет қаралды 66,590

JPoint, Joker и JUG ru — Java-конференции

JPoint, Joker и JUG ru — Java-конференции

Күн бұрын

Пікірлер: 58
@radiopapus
@radiopapus Жыл бұрын
Без воды, все по делу. За 1 час я получил общее представление о работе корутин. 👍
@Boyarsskiy
@Boyarsskiy Жыл бұрын
Всегда приятно послушать информацию от создателя.
@ki11qwerty47
@ki11qwerty47 6 жыл бұрын
шикарный доклад, спасибо
@Mike19910711
@Mike19910711 3 жыл бұрын
Отличный доклад. Всё очень понятно рассказывается, подробно подсвечивается на слайдах.
@alexgireff2180
@alexgireff2180 3 жыл бұрын
наконец-то про корутины все в голове стало на свои места
@konstantinchvilyov9602
@konstantinchvilyov9602 8 ай бұрын
Задача функции yield - передать значение повторителю и приостановить его до тех пор, пока не будет запрошено следующее значение.
@kimpujong
@kimpujong 3 жыл бұрын
На 28:52 эти таски выполнятся последовательно. По крайней мере разработчики этого ожидают. Чтобы они выполнились параллельно надо сделать что-то типа WaitAll или использовать TPL
@AlexeiVinidiktov
@AlexeiVinidiktov Жыл бұрын
Разве последовательно? Разве они не начали выполняться уже в тот момент, когда их объявили в var promise1 = ... , var promise2 = ? Когда мы ждем await promise1, разве в это время promise2 не отрабатывает в фоне?
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
Спасибо, интересно и полезно
@Tetiana-k2w
@Tetiana-k2w 4 жыл бұрын
Супер, спасибо)
@AlexandraEdwards-t1w
@AlexandraEdwards-t1w 5 ай бұрын
А как вы справляетесь с проблемой callback hell? Лично я долго выбирал курсы по IT, рассматривал разные компании, но в итоге остановился на Skypro. Проработав 7 лет в сфере обслуживания, я решил сменить профессию и не пожалел))
@whereispie
@whereispie 3 жыл бұрын
Спасибо за доклад 😺❤️
@leomak7580
@leomak7580 5 жыл бұрын
хорошо рассказывает )
@androidkotlin-6234
@androidkotlin-6234 2 жыл бұрын
Я только начал изучать Kotlin, про корутины слышал, что это некий аналог thread из Java (Java уже осилил). По данному докладу понял только половину, но то, что понял, как минимум заложило базу, т.к. объяснение было доходчивым + шикарная демонстрация кода по словам. Видеоряд полностью соответствовал монологу.
@androidkotlin-6234
@androidkotlin-6234 2 жыл бұрын
@bitmap спасибо за комментарий, я уже прошел курс по корутинам и flow
@cjsoa
@cjsoa 4 жыл бұрын
Спасибо стало чуть понятнее
@faizulla5838
@faizulla5838 3 жыл бұрын
шикарно.... аж мозги приплыли к kotlin-у
@dmitry833
@dmitry833 3 жыл бұрын
Java озвучивает как [Ява]. Прям ностальгия. Сейчас так не говорят)
@ekaterinagalkina7303
@ekaterinagalkina7303 2 жыл бұрын
33:25 чет не поняла, а зачем 100 тыс потоков сравнивать со 100 тыс действий в одном потоке (по факту main). Я думала, может они в в разных хоть запустятся...
@ekaterinagalkina7303
@ekaterinagalkina7303 2 жыл бұрын
чем это отличается от for(i in 0..100_000){ println(".") }
@MentorOfMentors
@MentorOfMentors Жыл бұрын
9:13 тут должны быть аплодисменты
@МаксимКузичев-к8ч
@МаксимКузичев-к8ч 5 жыл бұрын
И чем отличается ваш синхонный код на 4:28 от "асинхронного кода" на 9:40? Что там, что тут каждая последующая строчка ждет завершения предыдущей. О чем выговорите вообще?
@МаксимКузичев-к8ч
@МаксимКузичев-к8ч 5 жыл бұрын
Если весь прикол в том что в 1 варианте использовались тяжелые Threads, а во втором легкие Coroutines, то зачем нужно было показывать все эти Колбеки и Промисы, только голову морочите.
@tonypopov596
@tonypopov596 5 жыл бұрын
Зависит от диспатчера если внутри него, например, очередь событий, то текущий контекст и стэк после вызова уйдут в очередь и трэд начнет выполнять другую операцию в случаях, когда мы ждем ответ от сервера, от базы, от записи на диск это сэкономит процессорное время в случаях долгих вычислений это способ разблокировать часть трэдов, выделив под выполнение долгих задач определенный пул
@AlexJPep
@AlexJPep Жыл бұрын
Странно на 34:00 вызывать 100к потоков, обычно для таких операцию нужно делать пул потоков и запускать на нём. Вот вопрос как на пуле потоков отработает...
@МаргаритаНовикова-л3р
@МаргаритаНовикова-л3р 4 ай бұрын
А по памяти как будет? Я так понимаю, что на каждый поток выделяют 1мБ памяти. Как на пуле будет?
@АртемБойко-о9у
@АртемБойко-о9у Жыл бұрын
Deferred это с jquery тема:)) Так что тоже занято
@МаргаритаНовикова-л3р
@МаргаритаНовикова-л3р 4 ай бұрын
Потом многих поймали на этом «корутиные -легковесные потоки»😅
@КириллЛомовской
@КириллЛомовской 4 жыл бұрын
Почему в ентерпайзе нельзя самому создавать потоки?
@klerg321
@klerg321 Жыл бұрын
Пример с фибаначи очень плох - дважды возвращается 1, что может сбить с толку
@НатаниэльДампо
@НатаниэльДампо 5 жыл бұрын
Рекомендую приезжать в Амстердам Где вы и про корутины сможете узнать больше и про действия наркотиков на организм)
@pavelpristalov1483
@pavelpristalov1483 6 жыл бұрын
Не всё актуально после выпуска корутин в release, но, в целом, отличное выступление! Спасибо!
@evgix
@evgix 5 жыл бұрын
Что поменялось?
@ImaskarDono
@ImaskarDono 6 жыл бұрын
Судя по ответу на вопрос на 51:13, получается, что пытаться переписать большой энтерпрайз код на котлин очень проблемно. Допустим, есть 20 библиотек в проекте, в каждой по 20 классов по 20 методов. И каждый из них может быть блокирующим. Теперь мы где-то пишем код на котлине с корутинами, но как только мы вызываем один из старых методов из старой библиотеки, мы не можем быть уверены, что этот метод и его дальнейшие вызовы не сделают дальше блокирующий вызов. И у старых методов неопределённый уровень вложенности, они все дру с другом переплетены. Получается, если мы хотим начать использовать корутины, то нам придётся отрефакторить вообще весь старый код, убрав из него блокирующие вызовы?
@КонстантинЪЪЪ
@КонстантинЪЪЪ 5 жыл бұрын
полчается, что новый код нужно писать и использовать корутины, а старый раз работает - то пусть работает :)
@ImaskarDono
@ImaskarDono 5 жыл бұрын
@@КонстантинЪЪЪ старый будет блочить поток корутин и тормозить приложение
@КонстантинЪЪЪ
@КонстантинЪЪЪ 5 жыл бұрын
@@ImaskarDono , ээээээ старый код как-то работает сейчас же, он написан с учетом блокировок... Вот и пусть работает. Работает - не трогай. В чем проблема непонятно. Если хочется залезть в него и напихать туда корутин - то ссзб
@ImaskarDono
@ImaskarDono 5 жыл бұрын
@@КонстантинЪЪЪ так вопрос в том, как сделать проект на корутинах, которые более удобны. Но пока нет обвязки, которая корутины учитыват (в тч орм и драйверы баз), никуда не приплывём.
@КонстантинЪЪЪ
@КонстантинЪЪЪ 5 жыл бұрын
@@ImaskarDono, ну наверное, я пока опыта очень мало имею, поэтому судить сложно
@savar33
@savar33 5 жыл бұрын
18:00
@someStudentChannel
@someStudentChannel 3 жыл бұрын
16:00
@JashKa
@JashKa 5 жыл бұрын
Роман просто шикарный пример того как вроде бы русскоязычный человек говорит, а 10-20% из речи - непонятно! :)))) Ну ладно 3-5%. Но блиннннннн.... :)))) Но не смотря на это доклад отличный, спасибо. Рекомендую перед этим докладом заслушать доклад Андрея Бреслава "Асинхронно, но понятно. Сопрограммы в Kotlin". Тогда будет ещё понятнее про что речь.
@jojomajo
@jojomajo 4 жыл бұрын
Постоянный баг ведущего - он слипается после речи собеседника и запускается с некоторой задержкой
@handleftman
@handleftman 4 жыл бұрын
и ты тут снова?)) если ты пришёл из просмотра другого видео (loftscool) где доту делали и автор (mobile developer) вскользь сказал о Романе, то знай! я иду по тем же граблям с отставанием в месяц)))
@anatoliisavin9649
@anatoliisavin9649 4 жыл бұрын
@@handleftman можно видео про доту?)
@handleftman
@handleftman 4 жыл бұрын
@@anatoliisavin9649 есть канал этого человека - "mobile developer", и есть его стрим на канале loftblog - "kotlin + jetpack приложение на андройде", думаю сможете найти? Ссылки затруднительно сейчас предоставить с телефона
@dimitrytvorogov3538
@dimitrytvorogov3538 3 жыл бұрын
@@handleftman как успехи?
@vacsa
@vacsa 5 жыл бұрын
Ссылку бы выложили со слайда, ленивки! А еще очень агрессивная баба с микрофоном, по другому ее и не назовешь, наверное злится, что не поняла, что такое коррутины.
@Бардзо
@Бардзо Жыл бұрын
Бессмысленно и невнятно
@konstantinchvilyov9602
@konstantinchvilyov9602 8 ай бұрын
generate [ˈʤenəreɪt] порождать, производить, вырабатывать, создавать, породить, [вы]давать
@konstantinchvilyov9602
@konstantinchvilyov9602 8 ай бұрын
schedule [ˈʃedjuːl] планировать, намечать, назначить
Андрей Бреслав - На плечах гигантов: языки, у которых учился Kotlin
57:53
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 22 М.
Программисты-самоучки... Слушайте внимательно.
22:45
Евгений Афанасьев
Рет қаралды 152 М.
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
Android - Потоки и асинхронность
2:33:14
Yandex for Developers
Рет қаралды 13 М.
Роман Елизаров - Многопоточное программирование - теория и практика
49:31
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 32 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 27 М.
003. Корутины в Kotlin - Роман Елизаров, JetBrains
1:13:34
Yandex for Developers
Рет қаралды 37 М.
#7 Kotlin Coroutines Flow. StateFlow. SharedFlow || Курс по корутинам
20:41
Android Broadcast. Все об Андроид разработке
Рет қаралды 30 М.
Роман Аймалетдинов - Coroutines: боль обработки ошибок
53:16
Mobius — конференция по мобильной разработке
Рет қаралды 3,9 М.
Евгений Борисов - Spring-потрошитель, часть 1
1:04:27
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 532 М.