Вы используете мобильную версию

перейти на Полную версию сайта

Доступно

[Startandroid] Kotlin (Дмитрий Виноградов)

Складчина [Startandroid] Kotlin (Дмитрий Виноградов). Совместные покупки курсов, тренингов, обучения. Присоединяйтесь! Важен каждый вкладчик.

Тема найдена по тегам:
Цена:
2700 руб
Взнос:
164 руб
Организатор:
Фэйт

Список участников складчины:

1. Фэйт 2. Hehe 3. amazingstudio 4. Tsudzukeru 5. АннаТибет 6. volodechka 7. Spinal 8. ajdi
Оцените эту складчину: /5,
  1. Фэйт
    Фэйт Организатор складчин

    [Startandroid] Kotlin (Дмитрий Виноградов)

    [​IMG]

    Почему Котлин

    Мое знакомство с Котлин началось на Google IO 17. Уже тогда стало понятно, что имеет смысл, как минимум, обратить на этот язык внимание. А еще лучше - изучить его. Я потратил пару недель на официальные доки и примеры, чтобы усвоить основы. А затем периодически почитывал статьи с medium, чтобы разобраться в более сложных вещах. Спустя полгода я без особых проблем влился в новый проект на Котлине. И вот уже два года я пишу только на нем.

    Гугл официально признал Котлин, использует его для примеров в документации, создает курсы и codelabs по нему, встраивает его поддержку в свои библиотеки и фреймворки. Статьи на medium.com уже практически все с примерами на Котлин. Ну и в вакансиях он встречается все чаще

    В общем, как мне кажется, вопрос "Изучать ли Котлин?" уже нет смысла обсуждать.

    О чем курс
    Сразу скажу, что курс не для полных новичков. На официальном сайте Котлин есть хорошая документация и инструменты, чтобы изучить и попрактиковать основы. Кроме этого есть куча учебной литературы для начинающих. Поэтому я решил рассматривать только темы, понимание которых может оказаться сложным. Это такие темы, как Coroutines, DSL, Inline functions, Operator overloading, Delegated properties и прочие непростые штуки.

    Соответственно, для лучшего понимания курса лучше уже иметь хотя бы небольшой опыт работы с Котлин. Так будет легче понять материал.

    Первой темой курса будут корутины. Я планирую рассмотреть следующие вопросы:
    - почему suspend функции не блокируют поток
    - как создать suspend функцию
    - что такое Continuation, Job, Scope, корутина, диспетчер
    - что происходит внутри билдеров
    - чем билдеры отличаются друг от друга
    - как изнутри работает связь между родительской и дочерней корутиной
    - как происходит обработка ошибок
    - как использовать корутины в Android

    По мере написания курса буду обновлять этот список.

    Урок 1. Корутины. Введение.
    В этом уроке начнем разбираться, что такое корутина и suspend функция.

    Урок 2. Корутины. Continuation
    В этом уроке разберем, что такое Continuation и как suspend функция приостанавливает код, не блокируя поток.

    Урок 3. Корутины. Suspend функции
    В этом уроке подробно разберем как создать suspend функции. Также рассмотрим, можно ли блокировать поток, как корутина может потеряться и зачем нужно слово suspend.

    Урок 4. Корутины. Continuation, возврат значений.
    В этом уроке рассмотрим более подробно, как Continuation обрабатывает ответ от suspend функций. А также, как корутина может вернуть какое-либо значение, как результат своей работы.

    Урок 5. Корутины. Suspend функции изнутри.
    В этом уроке разбираем, как работает suspend функция изнутри. Как она может вернуть значение сразу или после асинхронной работы.

    Урок 6. Корутины. Job.
    В этом уроке начинаем разбираться, что из себя представляет корутина. Из каких объектов она состоит и что происходит во время ее выполнения.

    Урок 7. Корутины. Scope.
    В этом уроке рассмотрим, что такое Scope и как создать его самый простой вариант.

    Урок 8. Корутины. Отмена.
    В этом уроке запускаем и отменяем корутины. Проверяем, как корутины влияют на основной поток.

    Урок 9. Корутины. Билдеры launch и async.
    В этом уроке рассмотрим билдеры launch и async. Как ведут себя вложенные корутины. Как дождаться окончания работы корутины, и как получить результат этой работы. Как создать отложенную корутину и запустить ее позже. Как распараллеливать задачи с помощью корутин.

    Урок 10. Корутины. Context.
    В этом уроке разбираемся с Context. Какие его элементы используются по умолчанию. Как создавать свой элемент. Как происходит передача элементов в контекст создаваемой корутины.

    Урок 11. Корутины. Dispatcher.
    В этом уроке рассмотрим основные виды диспетчеров. Также поговорим о том, что происходит под капотом корутин при использовании диспетчера.

    Урок 12. Корутины. Связь между родительской и дочерней корутиной.
    В этом уроке разбираемся, как создается дочерняя корутина. Рассмотрим, как формируется ее контекст, и как работает ее связь с родительской корутиной.

    Урок 13. Корутины. Обработка исключений.
    В этом уроке рассмотрим как можно обработать исключения, возникающие в корутине. Разберем, что происходит под капотом и как работает CoroutineExceptionHandler.

    Урок 14. Корутины. Обработка исключений. Вложенные корутины.
    В этом уроке продолжаем обсуждать обработку исключений на примере вложенных корутин.

    Урок 15. Корутины. Обработка исключений. Async, suspend.
    В этом уроке разбираемся к чему приводят исключения в async корутине и в suspend функциях.

    Урок 16. Корутины. Отмена - это ошибка.
    В этом уроке обсуждаем как работает отмена корутин под капотом.

    Урок 17. Корутины. coroutineScope, supervisorScope, withContext, runBlocking.
    В этом уроке обсуждаем функции coroutineScope, supervisorScope, withContext, runBlocking.

    Урок 18. Корутины. Каналы.
    В этом уроке разбираемся как работают каналы. Что под капотом, закрытие и отмена канала, буфер, produce, consume, broadcast.

    Урок 19. Корутины. Flow.
    В этом уроке разбираемся что такое Flow, как он работает под капотом и чем отличается от каналов.

    Урок 20. Корутины. Flow. Билдеры и простые операторы.
    В этом уроке рассмотрим способы создания Flow, простые операторы и создание своих операторов.

    Урок 21. Корутины. Flow. Операторы channelFlow, flowOn, buffer, produceIn.
    В этом уроке рассматриваем операторы channelFlow, flowOn, buffer, produceIn.

    Урок 22. Корутины. Flow. Ошибка, отмена, повтор.
    В этом уроке рассматриваем операторы catch, retry, retryWhen и возможность отмены Flow.

    Урок 23. Корутины. Практика. Scope, LiveData.
    В этом уроке рассматриваем билдер liveData и операторы для получения scope: viewModelScope, lifecycleScope, MainScope.

    Урок 24. Корутины. Практика. Retrofit.
    В этом уроке рассматриваем интеграцию корутин в Retrofit.

    Урок 25. Корутины. Практика. Room
    В этом уроке рассматриваем интеграцию корутин в Room.

    Урок 26. Корутины. Практика. Примеры использования.
    В этом уроке используем корутины в несложных примерах с репозиторием и UseCase

    Урок 27. Корутины. Практика. Параллельная работа.
    В этом уроке мы вызываем suspend функции параллельно, а не последовательно.

    Урок 28. Корутины. Flow. SharedFlow и StateFlow.
    В этом уроке подробно разбираем что такое SharedFlow и StateFlow.

     
    Последнее редактирование модератором: 15 мар 2021
    Фэйт, 13 дек 2020
  2. Похожие складчины
    Загрузка...
  3. Фэйт
    Фэйт Организатор складчин
    Уведомляем вас о начале сбора взносов.
    Цена продукта: 2700 руб. Взнос с каждого участника: 164 руб.
    Кол-во участников в основном списке: 2 чел.

    Начало сбора взносов 23 Декабрь 2021 года
     
    Фэйт, 21 дек 2021
  4. amazingstudio
    amazingstudio Складчик
    Здравствуйте
    Скажите пожалуйста вы можете обновить содержимое курса? (этот курс дополнился новыми уроками)
     
    amazingstudio, 11 мар 2022
    Spinal нравится это.
  5. Spinal
    Spinal Складчик
    Здравствуйте. Данный курс дополнился еще 4-мя уроками (31-34). Обновите, пожалуйста, по возможности.
     
    Spinal, 23 июн 2023
  6. Дайнерис
    Дайнерис Модератор
    Здравствуйте. Пожалуйста, соблюдайте Правила. После покупки материала вся переписка ведется в "Библиотеке" темы.

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
    7) Вопросы связанные с продуктом ведутся только в Библиотеке и нигде больше.
     
    Дайнерис, 23 июн 2023
Наверх