Содержание пакета (6 курсов)
1. Android-разработка с нуля + основы Java 5.00
Введение
1 урок
1.
Что из себя представляет Android-разработка?
↗
Изучаем язык Java
32 урока
1.
Установка среды разработки
↗
2.
Первая программа Hello World
↗
3.
Переменные
↗
4.
Условные операторы
↗
5.
Типы данных. Целые числа.
↗
6.
Float and Double
↗
7.
Char
↗
8.
Boolean
↗
9.
String
↗
10.
Циклы
↗
11.
Массивы
↗
12.
Цикл for each
↗
13.
Switch Case
↗
14.
Введение в ООП
↗
15.
Введение в методы
↗
16.
Параметризированные методы
↗
17.
Конструкторы
↗
18.
Перегрузка методов и конструкторов
↗
19.
Ссылочные типы в методах и конструкторах
↗
20.
Модификаторы доступа
↗
21.
Ключевые слова static и final и аргументы переменной длины
↗
22.
Создаем собственную коллекцию
↗
23.
Оболочки типов
↗
24.
Встроенные коллекции
↗
25.
Наследование. Конструкторы и модификатор protected
↗
26.
Наследование часть 2. Переопределение методов
↗
27.
Наследование часть 3. Абстрактные классы и методы
↗
28.
Интерфейсы часть 1. Upcast, downcast, полиморфизм
↗
29.
Интерфейсы часть 2. Анонимные классы.
↗
30.
Обработка исключений.
↗
31.
String.format(), toString и Random
↗
32.
Многопоточное программирование
↗
Введение в Android разработку
3 урока
1.
Установка Android Studio
↗
2.
Первое приложение Hello World
↗
3.
Работа со строками
↗
Разработка простых приложений и работа с Activity
4 урока
1.
Приложение Calculator. Создаем макет
↗
2.
Приложение Calculator. Добавляем логику
↗
3.
Приложение Messenger. Создаем макет
↗
4.
Приложение Messenger. Добавляем логику
↗
Жизненный цикл приложения
4 урока
1.
Создание приложения GameScore
↗
2.
Методы ЖЦ onCreate и onDestroy
↗
3.
Методы ЖЦ onStart и onStop
↗
4.
Методы ЖЦ onPause, onResume, onRestart
↗
Пользовательский интерфейс
7 уроков
1.
Обзор приложения Cafe
↗
2.
Дизайн первого экрана
↗
3.
Дизайн второго экрана
↗
4.
Дизайн третьего экрана
↗
5.
Логика первого экрана
↗
6.
Логика второго экрана
↗
7.
Логика третьего экрана
↗
Работа со списками и базами данных
17 уроков
1.
Обзор приложения Todo List
↗
2.
Todo List. Создание первого экрана
↗
3.
Todo List. AddNoteActivity
↗
4.
Singleton
↗
5.
Удаление элементов
↗
6.
RecyclerView Adapter
↗
7.
Установка адаптера в RecyclerView
↗
8.
Добавление слушателей в адаптер
↗
9.
Удаление элементов свайпом
↗
10.
Room database
↗
11.
NotesDao
↗
12.
Использование БД в MainActivity
↗
13.
Autogenerate и Ignore
↗
14.
Handler
↗
15.
LiveData
↗
16.
MVVM ViewModel
↗
17.
MutableLiveData и ViewModelProvider
↗
RxJava
6 уроков
1.
Проблемы класса Thread
↗
2.
Введение в RxJava
↗
3.
Disposable
↗
4.
Single
↗
5.
Создание Single и Completable
↗
6.
Exception Handling
↗
Работа с интернетом
8 уроков
1.
JSON
↗
2.
Загрузка данных
↗
3.
StringBuilder
↗
4.
Работа с JSON Object
↗
5.
Refactoring
↗
6.
Glide
↗
7.
Операторы doOn
↗
8.
Retrofit
↗
Практическая работа. Создание приложения Movies
21 урок
1.
Обзор приложения Movies
↗
2.
Зависимости и обзор API
↗
3.
Создание POJO
↗
4.
Загружаем данные
↗
5.
Query Params
↗
6.
Layouts
↗
7.
Movies Adapter
↗
8.
Circle Background
↗
9.
Подгрузка данных. Часть 1
↗
10.
Подгрузка данных. Часть 2
↗
11.
MovieDetailActivity. Интерфейс Serializable
↗
12.
Загрузка трейлеров
↗
13.
Оператор RxJava - map
↗
14.
Отображение трейлеров
↗
15.
Неявный интент
↗
16.
Загрузка отзывов
↗
17.
Отображение отзывов
↗
18.
Создание Базы данных
↗
19.
Сохранение и удаление объектов
↗
20.
Создание экрана Избранное
↗
21.
Добавление меню
↗
Firebase
18 уроков
1.
Обзор приложения Messenger
↗
2.
Добавляем Firebase
↗
3.
Изучаем работу с авторизацией
↗
4.
Дизайн LoginActivity
↗
5.
RegistrationActivity
↗
6.
ResetPasswordActivity
↗
7.
LoginViewModel
↗
8.
Добавление логики разлогина
↗
9.
Завершение работы с авторизацией
↗
10.
Дизайн UsersActivity
↗
11.
Firebase Database
↗
12.
Сохранение пользователей в базу данных
↗
13.
Дизайн ChatActivity
↗
14.
Messages Adapter
↗
15.
ChatViewModel
↗
16.
ViewModelFactory
↗
17.
Обновление статуса пользователя
↗
18.
Завершение работы над приложением Messenger
↗
Финал
3 урока
1.
Тест для получения сертификата. Часть 1
↗
2.
Тест для получения сертификата. Часть 2
↗
3.
Завершение курса. Что делать дальше?
↗
Дополнительные материалы
1 урок
1.
Shared Preferences
↗
2. Android: профессиональный уровень + подготовка к собеседованию 4.99
Введение
1 урок
1.
Введение
↗
Подготовка к работе
4 урока
1.
Введение в GIT
↗
2.
Установка GIT и работа по GIT Flow
↗
3.
Работа над незнакомым проектом
↗
4.
Работа с debugger-ом
↗
Введение в Clean Architecture
7 уроков
1.
Обзор приложения Shopping List
↗
2.
Краткий обзор Clean Architecture
↗
3.
Domain-слой. Часть 1
↗
4.
Domain-слой. Часть 2
↗
5.
Data-слой
↗
6.
Presentation-слой. Часть 1. ViewModel
↗
7.
Presentation-слой. Часть 2. Автообновление списка
↗
RecyclerView
10 уроков
1.
Макеты для Shopping List
↗
2.
Реализация списков через LinearLayout
↗
3.
Зачем нужен ViewHolder
↗
4.
Баги при использовании RecyclerView
↗
5.
ViewType и RecycledViewPool
↗
6.
Добавление слушателей
↗
7.
Проблемы при использовании notifyDatasetChanged
↗
8.
Реализация через DiffUtil и простой адаптер
↗
9.
Реализация через ListAdapter
↗
10.
Собеседование по RecyclerView
↗
Работа над вторым экраном приложения
5 уроков
1.
Макеты для ShopItemActivity
↗
2.
Создание ShopItemViewModel
↗
3.
Завершение работы над ShopItemViewModel
↗
4.
Фабричные методы newIntent
↗
5.
Завершение работы над ShopItemActivity
↗
Фрагменты
9 уроков
1.
Зачем нужны фрагменты
↗
2.
Установка фрагмента на экране ShopItemActivity
↗
3.
Параметры во фрагменте и LifecycleOwner
↗
4.
Методы require и get, работа с FragmentManager
↗
5.
Правильная передача параметров во фрагмент
↗
6.
Работа с бэкстэком, методы add и replace
↗
7.
Взаимодействие Activity с фрагментом
↗
8.
Жизненный цикл фрагментов
↗
9.
Собеседование по теме Fragments
↗
Android Jetpack
19 уроков
1.
Обзор приложения Состав Числа
↗
2.
Проектирование Domain-слоя
↗
3.
Реализация Domain-слоя
↗
4.
Реализация Data-слоя
↗
5.
Ресурсы для приложения
↗
6.
View Binding
↗
7.
Навигация через FragmentManager
↗
8.
Parcelable vs Serializable
↗
9.
Реализация GameViewModel
↗
10.
Реализация GameFragment
↗
11.
ViewModelFactory
↗
12.
Jetpack Navigation. Часть 1. Создание графа
↗
13.
Jetpack Navigation. Часть 2. Реализация навигации
↗
14.
Jetpack Navigation. Часть 3. SafeArgs
↗
15.
Data Binding. Введение
↗
16.
Binding Adapters
↗
17.
Data Binding. Observe ViewModel
↗
18.
Data Binding внутри адаптера RecyclerView
↗
19.
Решение дз. Интеграция Data Binding в Shopping List
↗
Введение в корутины
11 уроков
1.
Асинхронное программирование с коллбэками
↗
2.
Handler и Looper
↗
3.
Проблемы при стандартном подходе к асинхронному программированию
↗
4.
Введение в Kotlin Coroutines. Suspend функции
↗
5.
Корутины "под капотом"
↗
6.
Создание базы данных для приложения Shopping List
↗
7.
Mappers
↗
8.
MediatorLiveData и Transformations.map
↗
9.
App Inspection и auto generate
↗
10.
Coroutine Scope и Dispatchers
↗
11.
ViewModelScope
↗
Работа в фоне. Сервисы и WorkManager
14 уроков
1.
Services. Создание первого сервиса
↗
2.
Перезапуск сервисов
↗
3.
Работа с уведомлениями. NotificationManager
↗
4.
Foreground Service
↗
5.
Остановка сервисов
↗
6.
Intent Service
↗
7.
JobService. Создание сервиса
↗
8.
JobScheduler. Запуск сервиса
↗
9.
JobScheduler. Метод enqueue
↗
10.
Комбинирование JobScheduler и IntentService
↗
11.
JobIntentService
↗
12.
WorkManager
↗
13.
Debug приложение с WorkManager-ом
↗
14.
Собеседование по теме сервисов
↗
Практическая работа по пройденному материалу
9 уроков
1.
Обзор приложения, над которым будем работать
↗
2.
Создаем Domain-слой
↗
3.
Работа с Data-слоем
↗
4.
Обновление зависимостей
↗
5.
Доработка data и domain слоев. Подключение к presentation
↗
6.
Работа с presentation-слоем. Переход на View Binding
↗
7.
Оптимизация адаптера RecyclerView. ListAdapter
↗
8.
Переход на фрагменты
↗
9.
Фоновая загрузка данных. WorkManager
↗
Dependency Injection. Dagger2
20 уроков
1.
Что такое инъекция зависимостей. Инъекция в конструктор
↗
2.
Инъекция в поля класса
↗
3.
Dagger. Аннотации Component и Inject
↗
4.
Module и Provides
↗
5.
Обзор архитектуры второго примера
↗
6.
Binds. Связываем интерфейс и реализацию
↗
7.
Component Builder. Передача параметров в модуль
↗
8.
Custom Builder, BindsInstance
↗
9.
Factory, Singleton
↗
10.
Custom Scopes
↗
11.
Inject ViewModel
↗
12.
Provider
↗
13.
ViewModelKey
↗
14.
Subcomponents
↗
15.
Qualifiers
↗
16.
Dependency Injection в приложении с криптовалютами
↗
17.
Передача параметров в конструктор Worker
↗
18.
Dependency Injection into WorkerFactory (Single Worker)
↗
19.
Dependency Injection. Multiple Workers
↗
20.
Dependency Injection. Shopping List
↗
Broadcast Receivers
5 уроков
1.
Создание и регистрация ресиверов
↗
2.
Обработка нескольких сообщений, регистрация в манифесте
↗
3.
Создание кастомного ресивера
↗
4.
Передача параметров в броадкаст-сообщениях
↗
5.
LocalBroadcastManager
↗
Content Providers
9 уроков
1.
Создание провайдера
↗
2.
UriMatcher
↗
3.
Загрузка данных из бд. Cursor
↗
4.
Вставка данных. Класс ContentValues
↗
5.
Удаление данных. Selection и Selection Args
↗
6.
Получение данных в другом приложении
↗
7.
Получение списка контактов. Проверка разрешений
↗
8.
Получение разрешения от пользователя
↗
9.
Краткое повторение пройденного материала
↗
Корутины. Углубленное изучение
11 уроков
1.
Job and Coroutine Builders
↗
2.
Async and Deferred
↗
3.
Создание приложения Factorial
↗
4.
Stateful ViewModel
↗
5.
Sealed Classes
↗
6.
WithContext and SuspendCoroutine
↗
7.
CoroutineScope and CoroutineContext
↗
8.
Structured Concurrency
↗
9.
Exception Handling
↗
10.
Async vs Launch
↗
11.
Cancelling Coroutines
↗
Coroutine Flow
16 уроков
1.
Введение в Coroutine Flow
↗
2.
Flow Builders
↗
3.
Flow builder and terminal operators
↗
4.
Операторы жизненного цикла Flow
↗
5.
Map Flow to LiveData
↗
6.
AsLiveData часть 2. OnCompletion
↗
7.
Использование Flow на Ui-слое
↗
8.
Холодные Flow
↗
9.
Горячие Flow. MutableSharedFlow
↗
10.
Практика MutableSharedFlow
↗
11.
Промежуточные и кастомные операторы
↗
12.
StateFlow
↗
13.
Backpressure и buffer
↗
14.
Буфер в горячих flow
↗
15.
Операторы ShareIn и StateIn
↗
16.
Exception Handling
↗
SOLID
4 урока
1.
Dependency Inversion
↗
2.
Interface Segregation
↗
3.
Liskov Substitution
↗
4.
Open-Closed Principle
↗
Закрываем пробелы
4 урока
1.
Дополнение по сервисам
↗
2.
Прогресс внутри уведомления
↗
3.
Bound Services
↗
4.
Alarm Manager
↗
Финал
3 урока
1.
Собеседование на должность Junior Android Developer
↗
2.
Тест для получения сертификата
↗
3.
Что делать дальше?
↗
3. Java: полный курс с нуля + подготовка к собеседованию 4.98
Введение
3 урока
1.
Введение
↗
2.
Установка среды разработки
↗
3.
Первая программа Hello World
↗
Синтаксис Java
11 уроков
1.
Переменные
↗
2.
Условный оператор
↗
3.
Типы данных. Целые числа
↗
4.
Типы данных. Float, Double
↗
5.
Типы данных. Char
↗
6.
Типы данных. Boolean
↗
7.
Типы данных. String
↗
8.
Циклы
↗
9.
Массивы
↗
10.
Цикл For each
↗
11.
Switch-case
↗
Объектно-ориентированное программирование
16 уроков
1.
Введение в ООП
↗
2.
Введение в методы
↗
3.
Параметризированные методы
↗
4.
Конструкторы
↗
5.
Перегрузка методов и конструкторов
↗
6.
Объекты в качестве параметров и возврат объектов
↗
7.
Модификаторы доступа
↗
8.
Ключевые слова static и final и аргументы переменной длины
↗
9.
Создаем собственную коллекцию
↗
10.
Оболочки типов
↗
11.
Встроенные коллекции
↗
12.
Наследование часть 1. Введение + модификатор protected
↗
13.
Наследование часть 2. Переопределение методов
↗
14.
Наследование часть 3. Абстрактные классы и методы
↗
15.
Интерфейсы часть 1. Upcast, downcast, полиморфизм
↗
16.
Интерфейсы часть 2. Анонимные классы.
↗
Java продвинутый уровень
3 урока
1.
Обработка исключений
↗
2.
Методы String.format(), toString() и случайные числа.
↗
3.
Многопоточное программирование
↗
Java Уровень 2
2 урока
1.
JUnit-тестирование. Часть 1
↗
2.
JUnit часть 2
↗
Collections Framework
16 уроков
1.
ArrayList
↗
2.
ArrayList. Часть 2
↗
3.
LinkedList
↗
4.
Собеседование по коллекциям List
↗
5.
Устройство памяти в Java
↗
6.
Equals и hashcode
↗
7.
HashSet
↗
8.
Collection
↗
9.
Iterable
↗
10.
Собеседование по пройденным коллекциям
↗
11.
TreeSet
↗
12.
HashMap
↗
13.
Собеседование по HashMap
↗
14.
Map и Set остальные коллекции
↗
15.
Queue
↗
16.
Собеседование по Collections Framework
↗
Generics
5 уроков
1.
Generics. Часть 1. Введение
↗
2.
Generics. Часть 2. Параметризируем коллекции
↗
3.
Generics. Часть 3. Extends и WildCard
↗
4.
Generics. Часть 4. Параметризированные методы, super
↗
5.
Generics. Часть 5. Собеседование и разбор дз
↗
Многопоточность
14 уроков
1.
Многопоточность Часть 1. Введение
↗
2.
Многопоточность Часть 2. Остановка потоков. Метод join
↗
3.
Многопоточность Часть 3. Потоки-демоны и состояние гонки
↗
4.
Многопоточность Часть 4. Синхронизация методов и мониторы
↗
5.
Многопоточность Часть 5. Атомарные типы данных и volatile
↗
6.
Многопоточность Часть 6. Собеседование
↗
7.
Многопоточность Часть 7. CountDownLatch и ExecutorService
↗
8.
М. Часть 8. ThreadFactory, интерфейс Callable и класс Future
↗
9.
М. Часть 9. Блокирующая очередь. Wait, notify и notifyAll
↗
10.
Многопоточность Часть 10. DeadLock или взаимная блокировка
↗
11.
Многопоточность Часть 11. Потокобезопасные коллекции
↗
12.
М. Часть 12. Semaphore, CyclicBarrier. Задача про гонку
↗
13.
Многопоточность Часть 13. Собеседование
↗
14.
Многопоточность Часть 13. Дополнения
↗
Stream API
5 уроков
1.
Stream API Часть 1. Лямбда-выражения и функциональные интерфейсы
↗
2.
Stream API Ч. 2. Введение в стримы. Методы filter, map и collect
↗
3.
Stream API Часть 3. Терминальные и промежуточные операторы
↗
4.
Ч4. Тип Optional, метод parallelStream, способы создания стримов
↗
5.
Stream API Часть 5. Собеседование
↗
Потоки ввода/вывода
7 уроков
1.
Input Output 1. Введение в потоки ввода/вывода. Класс File
↗
2.
IO 2. Чтение из файла, класс FileInputStream и try с ресурсами
↗
3.
Input Output 3. StringBuilder, StringBuffer, чтение в массив
↗
4.
IO 4. Чтение и запись с использованием буфера. Класс Scanner
↗
5.
Input Output 5. Классы Reader, Writer и RandomAccessFile
↗
6.
Input Output 6. Сериализация и десериализация
↗
7.
Input Output 7. Собеседование
↗
Java Core
7 уроков
1.
Java Core 1. Как работает Java
↗
2.
Java Core 2. Отличие интерфейсов и абстрактных классов
↗
3.
Java Core 3. Исключения и метод finalize
↗
4.
Java Core 4. Основные парадигмы ООП
↗
5.
Финальное собеседование
↗
6.
Тест для получения сертификата - Java уровень 1
↗
7.
Тест для получения сертификата - Java уровень 2
↗
4. Jetpack Compose: полный курс 5.00
Введение
2 урока
1.
Для кого этот курс и что будем изучать?
↗
2.
Что такое Jetpack Compose. Краткое введение
↗
Основы Jetpack Compose
12 уроков
1.
Первое приложение на JC
↗
2.
Preview и Column
↗
3.
Row, Box, Modifier
↗
4.
Instagram Profile Card. Создание шаблона
↗
5.
Card
↗
6.
Dark-Light Themes
↗
7.
Text
↗
8.
Image
↗
9.
Порядок modifier-ов
↗
10.
Завершение работы над InstagramProfileCard
↗
11.
VkNewsClient. Создаем шапку поста
↗
12.
VkNewsClient. Дорабатываем карточку поста
↗
Material Components
4 урока
1.
Введение в Material Components
↗
2.
Scaffold и BottomNavigation
↗
3.
State и рекомпозиция
↗
4.
FAB и SnackBar
↗
State и работа с ViewModel
9 уроков
1.
Рекомпозиция
↗
2.
Добавление VIewModel в InstagramProfileCard
↗
3.
Делегаты
↗
4.
Слушатели клика
↗
5.
Добавление ViewModel в VkNewsClient
↗
6.
LazyColumn
↗
7.
LazyRow, LazyVerticalGrid
↗
8.
Swipe to dismiss
↗
9.
Добавляем LazyColumn в VkClient
↗
Навигация в Jetpack Compose
14 уроков
1.
Навигация без использования библиотек
↗
2.
Jetpack Compose Navigation
↗
3.
Исправляем баги в навигации
↗
4.
Рефакторинг навигации. RememberNavigationState
↗
5.
Создание экрана комментариев. Часть 1
↗
6.
UDF и создание стейта
↗
7.
Навигация на экран комментариев
↗
8.
Рефакторинг VIewModels
↗
9.
Передача параметров во вью-модель. ViewModelFactory
↗
10.
Nested Graph Navigation
↗
11.
Fix navigation bugs
↗
12.
Передача параметров в JetpackNavigation. Часть 1. Передача Id
↗
13.
Передача параметров. Часть 2. Navigation Types
↗
14.
Передача параметров. Часть 3. Parcelable, Json, Custom Nav Type
↗
ActivityResultApi
3 урока
1.
Deprecated onActivityResult
↗
2.
ActivityResultApi
↗
3.
ActivityResultApi в Jetpack Compose
↗
Работа с VK API
10 уроков
1.
Авторизация через VK SDK
↗
2.
SideEffect и LaunchedEffect
↗
3.
Login Screen
↗
4.
Refactoring и хранение токена
↗
5.
Загружаем данные
↗
6.
Дорабатываем UI
↗
7.
Реализация добавления/удаления лайков
↗
8.
Подгрузка данных во время скролла
↗
9.
Добавление состояния загрузки и реализация удаления элементов
↗
10.
Реализация экрана комментариев
↗
Coroutine Flow
16 уроков
1.
Введение в Coroutine Flow
↗
2.
Flow Builders
↗
3.
Flow builder and terminal operators
↗
4.
Операторы жизненного цикла Flow
↗
5.
Map Flow to LiveData
↗
6.
AsLiveData часть 2. OnCompletion
↗
7.
Использование Flow на Ui-слое
↗
8.
Холодные Flow
↗
9.
Горячие Flow. MutableSharedFlow
↗
10.
Практика MutableSharedFlow
↗
11.
Промежуточные и кастомные операторы
↗
12.
StateFlow
↗
13.
Backpressure и buffer
↗
14.
Буфер в горячих flow
↗
15.
Операторы ShareIn и StateIn
↗
16.
Exception Handling
↗
Практика Compose в приложении VK
10 уроков
1.
Practice in VkNewsClient
↗
2.
Exception handling in VkNewsClient
↗
3.
Coroutine Flow in MainViewModel
↗
4.
Refactoring. Clean Architecture
↗
5.
Dependency Injection in NewsFeedClient
↗
6.
Dependency Injection VkNewsClient Part 2
↗
7.
Immutable and recomposition
↗
8.
Анимации часть 1. AnimateAsState
↗
9.
Анимации часть 2. Animation Spec
↗
10.
Анимации часть 3. Animated Content
↗
Custom Views
16 уроков
1.
Работа с Canvas
↗
2.
Draw Path
↗
3.
Detect Gestures
↗
4.
Обзор приложения Terminal
↗
5.
Реализация загрузки данных
↗
6.
Рисуем график
↗
7.
Масштабирование
↗
8.
Добавление скролла и рисование свечей
↗
9.
DerivedStateOf
↗
10.
Custom Saver
↗
11.
Remember terminal state
↗
12.
Path Effect
↗
13.
Draw text
↗
14.
Refactoring and bug fix
↗
15.
Assist Chip. Time Frames
↗
16.
Time Delimiters
↗
MVI. Decompose
38 уроков
1.
Обзор приложения Weather App
↗
2.
Новый подход к Presentation слою
↗
3.
Decompose. Первые компоненты
↗
4.
Decompose. Component Context
↗
5.
Decompose. Введение в навигацию
↗
6.
Decompose. ChildStack и Value
↗
7.
Decompose. Подключение UI
↗
8.
Decompose. Interface Child
↗
9.
Decompose. Interface Root Component
↗
10.
MVI. Store Intent State Label
↗
11.
MVI. ContactListStore
↗
12.
MVI. StoreFactory
↗
13.
MVI. StoreFactory Executor
↗
14.
MVI. StoreFactory финальная реализация
↗
15.
MVI. Bootstrapper
↗
16.
MVI. Создание стора
↗
17.
MVI. LiveTemplates and Logging
↗
18.
Обзор Decompose и MVI
↗
19.
WeatherApp добавление зависимостей
↗
20.
Структура проекта
↗
21.
Domain слой
↗
22.
Работа с интернетом
↗
23.
Вынесение ключа в BuildConfig
↗
24.
Создание Базы данных
↗
25.
Реализация репозиториев
↗
26.
Инъекция зависимостей
↗
27.
FavouriteStore
↗
28.
DetailsStore
↗
29.
SearchStore
↗
30.
Реализация всех компонентов
↗
31.
Assisted Inject
↗
32.
Реализация RootComponent. Часть 1
↗
33.
Реализация RootComponent. Часть 2
↗
34.
FavouriteContent. Часть 1
↗
35.
FavouriteContent. Часть 2
↗
36.
Details Content
↗
37.
Search Content
↗
38.
Финал
↗
5. 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.
Финал
↗
6. Современная 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.
Финал
↗