💰 Поддержать проект на Boosty boosty.to/androidbroadcast 🔗 Telegram канал "Android Broadcast" ttttt.me/android_broadcast 🔗 Чат сообщества в Telegram ttttt.me/android_broadcast_talks
@speedrages2 жыл бұрын
Я прям чувствую что ты все четко и круто рассказываешь, но из за отсутствия опыта нифига не понимаю. Но уверен что это очень крутой контент 👍👍👍👍👍👍
@АнтошаГорохов Жыл бұрын
такая-же ерунда. Тяжело для недоджуна ))
@hatePK111 ай бұрын
нет, просто рассказчик плохо рассказывает. зачитать с бумажки и помахать руками любой сможет
@cfhnghmngtgjmghmjhm56296 ай бұрын
@@АнтошаГорохов отзыв от недосеньора аналогичен, бабки заказчика пропиты, текст с бумажки сухо зачитан, хотите большего покупайте его курс на юдеми за 200к 😂
@МаратНазмутдинов-ы5н2 жыл бұрын
Очень забавная и легкая подача материала! Спасибо, Кирилл!
@05Sambist2 жыл бұрын
Кирилл спасибо большое! Но явно нужна текстовая версия видео 😅👍🏽
@AndroidBroadcast2 жыл бұрын
Да, будет, просто у меня из-за основной работы очень мало времени. Выпустить видео - первый приоритет. Потом будут статьи из сценариев.
@fliker23092 жыл бұрын
Спасибо за видео! Как раз и про Structured Concurrency есть, хотел разобраться в этом) Классный продакшен!
@ТатьянаГойшик2 жыл бұрын
Кирилл, спасибо за курс) Наконец-то я до него добралась
@AndroidBroadcast2 жыл бұрын
На Boosty уже есть продолжение если что
@grigoriy36152 жыл бұрын
Кирилл, хорошая задумка, но реализация немного хромает! Очень не хватает реального кодинга и показа всех кейсов на примерах! Не совсем понятно на кого курс нацелен?! Информацию сложно на слух воспринимать! Легко потерять мысль, т.к. темп речи довольно высокий и приходится по нескольку раз перематывать, чтобы удержать и осознать мысль. Пожалуйста, очень хочется, не менее 90% времени урока видеть код на экране!!!
@AndroidBroadcast2 жыл бұрын
Так еще и не закончился курс
@МобильныйРазработчик-ъ3с2 жыл бұрын
Здорово! Было интересно, спасибо!
@user-sankarsana2 жыл бұрын
Круто! Спасибо. Но я почему то думал, что будет больше лайвкодинга, как в курсе про даггер, например. Так на много легче усваивать.
@AndroidBroadcast2 жыл бұрын
Тут я решил дать больше теории и устраивать лайвкодинг после нее, чтобы был фундамент. В Dagger можно было давать кусок инфы и на основе его что-то показать
@alexeenkoff2 жыл бұрын
А какая выгода от использования childScope внутри репозитория? Чем лучше использования appScope для операций, которые должны завершиться без привязки к жизненному циклу?
@karjicohd1m0nd2 жыл бұрын
ты очень быстро говоришь из за чего не успеваешь переварить инфу, есть ли текстовая версия материала ?
@A-pe5yy2 жыл бұрын
либо помедленнее немного )))
@M1rRroR2 жыл бұрын
И побольше примеров бы
@A-pe5yy2 жыл бұрын
0.75 скорость в принципе норм )))
@AndroidBroadcast2 жыл бұрын
Вроде говорю как всегда, но принял к сведению. Текстовая версия будет, но позже. Примеров в видео не будет много, но в отдельных кодинг сессиях разберу задачки
@Sergey-e8e Жыл бұрын
Есть скорость 0,75
@anvarjuraqulov71652 жыл бұрын
Кирилл спасибо большое ! Классное видео надеюсь увидеть практику в следующих видео )))
@Вячеслав-щ8х4и Жыл бұрын
Спасибо
@tr1kss9532 жыл бұрын
лайк) сам не мобильщик но на беке корутины используем нравицца)
@ДмитрийИжутов-п6п2 жыл бұрын
Будет ли в рамках курса затрагиваться Flow? Хочется и про него послушать. И спасибо за курс!
@AndroidBroadcast2 жыл бұрын
Да, но позже
@evgenorgru2 жыл бұрын
Ты сказал, что лучше в функции явно указывать контекст... Но если мы будем указывать контекст во viewModel, потом в интеракторе, потом еще в репозитории... разве не будет тратиться время на переключение контекста, даже если везде указали один и тот же?
@andreyliashuk25162 жыл бұрын
На самом деле, настоящие переключение потоков происходит при переходе для Main dispatcher (в основном). Если ты хочешь перейти на дефолтный будучи уже на нем, корутина продолжит выполнение на том же потоке. Больше того, IO и Default dispatcher шарят между собой пулл потоков, потому если ты будешь переходить между ними, корутина постарается не переключить поток. Эти оптимизации нужны, так как переключение довольно дорогая операция, потому корутины делают их по минимуму.
@rpuxa1632 жыл бұрын
@@andreyliashuk2516 никогда бы не подумал, что io и default шарят потоки, это же гениально. Интересно, рум и ретрофит свои диспатчеры юзают, или стандартные, чтобы лишний раз не переключать поток
@andreyliashuk25162 жыл бұрын
@@rpuxa163 Я могу точно сказать про Room, так как смотрел сгенерированные классы. Под капотом он использует свой пулл потоков, которые превращает потом в dispatcher. Но зато можно не обворачивать его вызовы в IO dispatcher, они могут безопасно работать на Main dispatcher. Насколько я знаю, в Retrofit тоже есть свой пулл потоков, но утверждать не могу.
@rpuxa1632 жыл бұрын
@@andreyliashuk2516 я провел эксперимент - если переключать с default на io (или наоборот) то все равно он переключит поток. Так что неважно, что там используется один и тот же пул, все равно велик шанс, что поток переключится
@AndroidBroadcast2 жыл бұрын
Это если вы гарантировано хотите убедится в каком потоке будет вызвана функция. Не все этого требуют. Поток выполнения по умолчанию - это главный. Если тебе его достаточно, то не меняй
@antaki93 Жыл бұрын
Да, намудрили в JetBrains… :) Корутина, скоуп, контекст, задача - и всё это, вроде бы, про одно и то же. Но и, в то же время, про что-то разное (пока не особо понятно, про что). Будем разбираться дальше
@AndroidBroadcast Жыл бұрын
Нет, у всего есть четкое применение и трактовка
@antaki93 Жыл бұрын
@@AndroidBroadcast чем на этом фоне хорош обычный джавовский Thread - он представлен одним обычным конкретным классом. Его можно создать через простой конструктор и управлять им непосредственно. Как говорится, ничего лишнего.
@sashainverse12522 жыл бұрын
7'40'' Хорошо, а где тогда взять appScope для создания repositoryScope? Создать его из GlobalScope?
@AndroidBroadcast2 жыл бұрын
Нет, можно вызвать функцию CoroutineScope для создания нового. Сохранить ссылку на него можно аналогично AppComponent Dagger в Application.
@edm-ko20172 жыл бұрын
Спасибо. Отличное видео. Остался только вопрос как заменить runBlocking в синхронном апи, например в okhttp в Authenticator
@AndroidBroadcast2 жыл бұрын
Тут можно использовать, именно связка блокирующего вызова с корутинами
@yet30012 күн бұрын
А плохо использовать run blocking при походе в сеть?
@AndroidBroadcast12 күн бұрын
runBlocking везде лучше избегать и такой запуск корутины нужен только если вам надо подружить его с блокирующим подходом. Например, в тестах или в Inteceptor OkHttp приходится делать
@oleg123952 жыл бұрын
не переходит по ссылкам дополнительной литературы ((
@MaxPoklad Жыл бұрын
Все круто, но лучше бы было с кодом.
@vladimirtribunskii89982 жыл бұрын
А как же про viewModelScope и lifecycleScope?
@AndroidBroadcast2 жыл бұрын
Они в отдельном видео про корутины в Android
@oigen11102 жыл бұрын
Мечтаю о курсе про Kotlin
@AndroidBroadcast2 жыл бұрын
Их хватает от JetBrains и Google
@nikolozlatsabidze21962 жыл бұрын
Кстати если рум и ретрофит меин сейф то если ли смысл указывать диспатчерс ио?
@AndroidBroadcast2 жыл бұрын
Для Retrofit точно нет, а вот про Room надо проверить.
@ХожиакбарДжумабаев-ю1ц2 жыл бұрын
где можно футболку заказать?
@AndroidBroadcast2 жыл бұрын
androidbroadcaststore.by
@user-not_defined2 жыл бұрын
Насчёт runblocking была история и самое плохое в том бага есть но ты не видишь явной причины, я использовал flow в вью модулях и запускал код VM через runblocking, код переписал и все стало гуд
@ГлебМокрый-ч7я2 жыл бұрын
первый 😃
@alexpro83172 жыл бұрын
😏👍
@dmitriymitroshin75252 жыл бұрын
Комментарий.
@ssbykov6 ай бұрын
Грузит плотно ))
@Chernov19842 жыл бұрын
+
@Бардзо Жыл бұрын
ну так то видео на 90% пустое и бессмысленное, ты ж прост стоишь и какие-то фразы выкидываешь, тебя должен понимать тот кто уже во всем разбирается на твоем же уровне. Зачем такие видео делают, хз
@alexvasilev93022 жыл бұрын
На самом деле не похоже на курс, а выглядит как обычный обзор
@МихаилАкулов-ю7ж Жыл бұрын
Извини,Ю но ты забалтываешь, голова устает от такой скорости подачи. А паузы ставить, ну его для других. Пойдём к другим, пока.
@hatePK111 ай бұрын
Кто это лайкает? Автор читает текст, и ему все равно как это воспринимается. Ужасное объяснение.
@madinadruzina23399 ай бұрын
сложно, непонятно. наверное, это для опытных, но тогда какой смысл в записи курса?
@МаксимНовиков-н2с2 жыл бұрын
По остановке coroutine не проще ли делать coroutineScope.coroutineContext.cancelChildren() coroutineScope.coroutineContext[Job]?.cancel() kzbin.info/www/bejne/nZ6qe6Slns6Zhc0
@AndroidBroadcast2 жыл бұрын
Я хоте показать всю цепочку без стандартных расширений
@МаксимНовиков-н2с2 жыл бұрын
@@AndroidBroadcast Понятно. Хороший курс. Так держать!