Содержание пакета (2 курса)
1. Kotlin: полный курс с нуля до Prof + подготовка к собеседованию 4.94
Введение
2 урока
1.
Что такое программирование?
↗
2.
Зачем нужны языки программирования?
↗
Базовый синтаксис
18 уроков
1.
Скачиваем среду разработки
↗
2.
Первая программа
↗
3.
Чтение из консоли. Переменные
↗
4.
Спецсимволы и шаблоны
↗
5.
Целочисленный тип Int
↗
6.
Целочисленное деление
↗
7.
Условный оператор
↗
8.
Условный оператор. Часть 2. Комбинирование
↗
9.
Изменяемые переменные
↗
10.
Дробные числа
↗
11.
Введение в коллекции
↗
12.
Циклы Repeat и While
↗
13.
Цикл for и свойство size
↗
14.
Диапазоны Ranges
↗
15.
Целочисленные типы Long Short Byte
↗
16.
If and when are expressions
↗
17.
Символьный тип данных
↗
18.
Do while и split
↗
Объектно-ориентированное программирование
24 урока
1.
Введение в ООП
↗
2.
Создание класса и объекта
↗
3.
Введение в функции
↗
4.
Функции с параметрами
↗
5.
Ключевое слово this и именованные параметры
↗
6.
Введение в конструкторы
↗
7.
Перегрузка конструкторов
↗
8.
Первичный конструктор
↗
9.
Возвращаемый тип функций
↗
10.
Введение в наследование
↗
11.
Upcast, Downcast, Smartcast
↗
12.
Введение в полиморфизм
↗
13.
Практика создание бухгалтера. Метод super
↗
14.
Enum
↗
15.
Работа с файлами и мутабельными коллекциями
↗
16.
Ручная сериализация и десериализация
↗
17.
Удаление элементов из списка
↗
18.
Рефакторинг
↗
19.
Контрольная работа
↗
20.
Инкапсуляция и модификаторы доступа
↗
21.
Абстрактные классы
↗
22.
Интерфейсы
↗
23.
Класс Any и метод toString
↗
24.
Обзор ООП
↗
Погружаемся в Kotlin
15 уроков
1.
Геттеры и сеттеры. Часть 1
↗
2.
Геттеры и сеттеры. Часть 2
↗
3.
Single Responsibility Principle
↗
4.
Рефакторинг и StringBuilder
↗
5.
Singleton Object
↗
6.
Backing Field
↗
7.
Метод copy
↗
8.
Метод equals
↗
9.
Метод hashcode. Коллекции Set
↗
10.
Data Classes
↗
11.
Дополнение по методу copy
↗
12.
Nullable Types
↗
13.
Elvis и Unit
↗
14.
Try catch
↗
15.
Nothing
↗
Функциональное программирование
15 уроков
1.
Kotlin Serialization
↗
2.
Получение тестовых данных
↗
3.
Чистые функции
↗
4.
Анонимные классы
↗
5.
Лямбда выражения
↗
6.
Введение в Generics
↗
7.
Extension functions
↗
8.
Inline functions
↗
9.
Примеры функций высшего порядка
↗
10.
Функция Let
↗
11.
Функция Also
↗
12.
Коллекции Map
↗
13.
Map для улучшения производительности
↗
14.
Функции With и Apply
↗
15.
Функция Run и Method reference
↗
Паттерны проектирования
14 уроков
1.
Основы многопоточности
↗
2.
Singleton. Companion. Init.
↗
3.
Singleton. Способы реализации
↗
4.
Singleton. Синхронизация
↗
5.
Создание GUI
↗
6.
Observer. Введение
↗
7.
Observer. Зависимость от абстракций
↗
8.
Observer. Функциональный интерфейс
↗
9.
Observer. Интерфейс Observable
↗
10.
Observer. MutableObservable
↗
11.
Observer. Backing field и итоги
↗
12.
Command и BlockingQueue
↗
13.
Sealed Interface
↗
14.
Builder
↗
Устройство коллекций
24 урока
1.
Junit часть 1
↗
2.
Junit часть 2. Parameterized Test
↗
3.
Массивы
↗
4.
ArrayList. Часть 1
↗
5.
ArrayList. Часть 2
↗
6.
ArrayList. Часть 3. Константы и операторы
↗
7.
Алгоритмическая сложность
↗
8.
Тестирование исключений. System.arraycopy
↗
9.
LinkedList. Принцип работы
↗
10.
LinkedList. Реализация
↗
11.
LinkedList. Двусвязный список
↗
12.
HashSet. Принцип работы
↗
13.
HashSet. Реализация. Часть 1
↗
14.
HashSet. Реализация. Часть 2
↗
15.
HashSet. Вопросы на собеседовании
↗
16.
Параметризируем коллекции
↗
17.
Collections и Iterable
↗
18.
MutableIterable
↗
19.
Реализации Set
↗
20.
Устройство TreeSet
↗
21.
Неизменяемые коллекции
↗
22.
Коллекции Map
↗
23.
Использование Map внутри Set
↗
24.
Собеседование по теме коллекции
↗
Асинхронность и многопоточность
38 уроков
1.
Создание GUI
↗
2.
Добавление логики и метод String.format
↗
3.
Механизм callback
↗
4.
Suspend функции
↗
5.
Корутины под капотом
↗
6.
Executor Services
↗
7.
Structured Concurrency. Часть 1
↗
8.
Dispatchers Default и Unconfined
↗
9.
Dispatchers IO и Main
↗
10.
Job и параллельность
↗
11.
Async и Deferred
↗
12.
Jobs Hierarchy
↗
13.
Исключения. Часть 1
↗
14.
Исключения. Часть 2. Async
↗
15.
Отмена корутин
↗
16.
Suspend Coroutine
↗
17.
SupervisorJob
↗
18.
Что такое потоки данных
↗
19.
Способы создания Sequence
↗
20.
Начало работы с Flow
↗
21.
Знакомство с API
↗
22.
Загрузка данных из сети
↗
23.
Создание GUI и работа с Regex
↗
24.
Реактивный стиль
↗
25.
Channels и Debounce
↗
26.
Холодные потоки данных
↗
27.
Горячие потоки данных
↗
28.
ShareIn
↗
29.
Buffer и Backpressure
↗
30.
Screen state as Flow
↗
31.
MutableStateFlow
↗
32.
SharedFlow vs StateFlow
↗
33.
Exceptions in Flow
↗
34.
Практика работы с исключениями
↗
35.
Оператор FlowOn
↗
36.
Наследование CoroutineScope
↗
37.
Синхронизация корутин
↗
38.
Channels
↗
Kotlin в деталях
18 уроков
1.
Инвариантность и Ковариантность
↗
2.
Контрвариантность
↗
3.
Стирание типов
↗
4.
Reified и Star Projection
↗
5.
Inline и Non local return
↗
6.
Crossinline и noinline
↗
7.
Value classes
↗
8.
Делегирование свойств
↗
9.
Делегирование реализации интерфейсов
↗
10.
Inner и Nested классы
↗
11.
Destructuring declaration and Infix
↗
12.
Устройство памяти в Kotlin
↗
13.
Как работают программы на Java и Kotlin
↗
14.
Модификатор Internal
↗
15.
Собеседование
↗
16.
Тест Kotlin основы
↗
17.
Тест Kotlin Prof
↗
18.
Финал
↗
2. Современная Android-разработка с нуля 5.00
Введение
10 уроков
1.
Установка среды разработки
↗
2.
Знакомство с Android Studio
↗
3.
Разбор первой программы. Dp и Sp
↗
4.
Modifier
↗
5.
Row Column Alignment
↗
6.
Combining Containers
↗
7.
ARGB модель
↗
8.
Scaffold и Custom Components
↗
9.
Material Theme
↗
10.
Preview и итоги раздела
↗
Создаём калькулятор
10 уроков
1.
Создаём тему для калькулятора
↗
2.
Создание каркаса приложения
↗
3.
Clip. Дорабатываем UI
↗
4.
State Рекомпозиции и Логи
↗
5.
View и ViewModel
↗
6.
Использование паттерна Команда
↗
7.
StateFlow и ViewModel
↗
8.
Добавляем стейты экрана
↗
9.
Форматирование выражения
↗
10.
Завершение работы над калькулятором
↗
Приложение NotePad
28 уроков
1.
Введение в Clean Architecture
↗
2.
Domain слой. Часть 1
↗
3.
Domain слой. Часть 2
↗
4.
Тестовый Репозиторий
↗
5.
NotesViewModel. FlatMapLatest
↗
6.
Подготовка к созданию UI
↗
7.
RememberScrollState
↗
8.
LazyLists
↗
9.
Key и настройка темы
↗
10.
NotesScreen UI. Часть 1
↗
11.
NotesScreen UI. Часть 2
↗
12.
ViewModelScope
↗
13.
Форматирование даты
↗
14.
NotesScreen UI. Часть 3
↗
15.
CreateNoteViewModel
↗
16.
CreateNoteScreen
↗
17.
SideEffects
↗
18.
EditNoteScreen
↗
19.
Кастомная навигация
↗
20.
Jetpack Compose Navigation
↗
21.
Передача параметров в навигации
↗
22.
Введение в базы данных
↗
23.
Mapper и Entity
↗
24.
SQL. Создание DAO
↗
25.
Context
↗
26.
Создание базы данных
↗
27.
NotesRepositoryImpl
↗
28.
Использование нового репозитория
↗
Dependency Injection в Android
10 уроков
1.
Dependency Injection. Введение
↗
2.
Компонент. Инъекция в свойства класса
↗
3.
Жизненный цикл зависимостей
↗
4.
Подключение Hilt
↗
5.
Module Provides Singleton
↗
6.
Binds
↗
7.
Assisted Inject
↗
8.
Hilt Navigation Compose
↗
9.
Практика. Добавление Hilt в приложение Notes
↗
10.
FAQ и подведение итогов
↗
Организация локального хранения данных
15 уроков
1.
Сериализация контента
↗
2.
Подготовка к работе с изображениями
↗
3.
ActivityResultApi
↗
4.
Сохранение изображений
↗
5.
Coil и группировка изображений
↗
6.
Практика. Экран редактирования заметки
↗
7.
External и Internal Storage
↗
8.
Работа с Internal Storage
↗
9.
Отображение картинок на главной
↗
10.
Градиенты и строковые ресурсы
↗
11.
Splash Screen Api
↗
12.
Нормализация БД
↗
13.
Embedded Relation Join
↗
14.
Поддержка новой схемы БД
↗
15.
Транзакции и Итоги
↗
Работа с сетью в Android
29 уроков
1.
Демонстрация приложения News
↗
2.
Добавление зависимостей
↗
3.
Domain слой и Database
↗
4.
Index Room
↗
5.
Знакомство с API
↗
6.
Retrofit
↗
7.
Реализация Репозитория
↗
8.
SubscriptionsViewModel
↗
9.
SubscriptionsScreen
↗
10.
SubscriptionsScreen Часть 2
↗
11.
Явные и неявные интенты
↗
12.
Компоненты Android
↗
13.
WorkManager
↗
14.
Hilt with Workers
↗
15.
Domain Settings
↗
16.
Data Store
↗
17.
Annotation param и Merged Manifests
↗
18.
Constraints
↗
19.
AppStartupManager
↗
20.
Notifications
↗
21.
Pending Intent
↗
22.
Применение настроек для загрузки
↗
23.
BuildConfig
↗
24.
SettingsViewModel
↗
25.
SettingsScreen
↗
26.
Навигация
↗
27.
Тест. Часть 1
↗
28.
Тест. Часть 2
↗
29.
Финал
↗