-
Урок 1.
00:04:19
Как повторить действие, рассмотренное в лекции?
-
Урок 2.
00:02:44
Повторяйте написание кода при рассмотрении
-
Урок 3.
00:01:51
Выполняйте практические задания!
-
Урок 4.
00:02:27
Рекомендованный алгоритм решения практических задач
-
Урок 5.
00:04:05
Используйте отладчик, чтобы разобраться как работает
-
Урок 6.
00:01:05
Напоминание: Запустить можно только класс в
-
Урок 7.
00:02:59
Для закрепления материала, самостоятельно
-
Урок 8.
00:00:43
Если Вы заметили неработающую ссылку,
-
Урок 9.
00:00:41
Как просматривать уроки при отсутсвующем
-
Урок 10.
00:01:26
Как получить доступ к коду, который используется на уроке?
-
Урок 11.
00:03:10
Как скачать код, если он содержит несколько классов?
-
Урок 12.
00:02:32
Как собрать версию maven проекта со
-
Урок 13.
00:03:22
Выбор операционной системы для изучения Java
-
Урок 14.
00:00:28
Что такое JDK?
-
Урок 15.
00:01:32
Разнообразие поставщиков JDK на рынке
-
Урок 16.
00:03:30
Выбор поставщика JDK для курса
-
Урок 17.
00:04:05
Выбор версии Java
-
Урок 18.
00:00:55
Установка OpenJDK 11 для Windows
-
Урок 19.
00:00:59
Установка OpenJDK 11 для MacOS
-
Урок 20.
00:01:04
Установка OpenJDK 11 для Linux
-
Урок 21.
00:01:17
Заметка: Отображение домашнего каталога
-
Урок 22.
00:00:30
Создание пустого файла в Windows
-
Урок 23.
00:01:58
Настройка операционной системы Windows
-
Урок 24.
00:00:28
Создание пустого файла в MacOS
-
Урок 25.
00:00:26
Создание пустого файла в Linux
-
Урок 26.
00:01:56
Использование JDK для запуска программ на языке Java
-
Урок 27.
00:02:10
Необходимость среды разработки
-
Урок 28.
00:00:45
Обзор сред разработки для Java
-
Урок 29.
00:01:11
Установка среды разработки IntelliJ IDEA для Windows
-
Урок 30.
00:01:56
Установка среды разработки IntelliJ IDEA для Mac OS
-
Урок 31.
00:02:32
Установка среды разработки IntelliJ IDEA для Linux
-
Урок 32.
00:02:44
Повторное выполнение команд в консоли
-
Урок 33.
00:03:03
Отличие между сохранением истории команд в Windows и Unix
-
Урок 34.
00:01:24
Автодополнение при вводе команд
-
Урок 35.
00:03:37
Прерывание выполнения текущего процесса в консоли
-
Урок 36.
00:01:29
Изменение размера окна интерпретатора
-
Урок 37.
00:01:53
Копирование и вставка команд в интерпретаторе
-
Урок 38.
00:05:42
Что такое переменные среды?
-
Урок 39.
00:02:28
Что такое домашний каталог пользователя?
-
Урок 40.
00:00:40
Домашний каталог в Windows
-
Урок 41.
00:00:55
Домашний каталог в MacOS
-
Урок 42.
00:01:00
Домашний каталог в Linux
-
Урок 43.
00:01:01
Переменная среды %HOMEPATH% в Windows
-
Урок 44.
00:01:16
Переменная среды $HOME или символ ~ в MacOS
-
Урок 45.
00:01:13
Переменная среды $HOME или символ ~ в Linux
-
Урок 46.
00:01:03
Заметка: Отличия в синтаксисе при работе с
-
Урок 47.
00:00:31
Получение значения переменной среды с помощью Java
-
Урок 48.
00:01:51
Получение абсолютного пути домашнего каталога в Java
-
Урок 49.
00:01:46
Запуск виртуальной машины Java в Windows
-
Урок 50.
00:02:55
Запуск виртуальной машины Java в MacOS
-
Урок 51.
00:03:02
Запуск виртуальной машины Java в Linux
-
Урок 52.
00:04:20
Запуск виртуальной машины, используя абсолютный
-
Урок 53.
00:01:16
Отличие в разделителе элемента пути между Windows и MacOS/Linux
-
Урок 54.
00:04:22
Переменная среды PATH
-
Урок 55.
00:03:19
Отличия при работе с переменной среды
-
Урок 56.
00:02:56
Переменная среды JAVA_HOME
-
Урок 57.
00:03:51
Область видимости переменных среды
-
Урок 58.
00:01:21
Как правильно создавать переменные
-
Урок 59.
00:02:16
Настройка переменных среды в Windows
-
Урок 60.
00:02:15
Настройка переменных среды в MacOS
-
Урок 61.
00:02:27
Настройка переменных среды в Linux
-
Урок 62.
00:02:17
Создание учебного проекта
-
Урок 63.
00:02:41
Написание программы поиска положительных
-
Урок 64.
00:00:30
Заметка: Как отформатировать код в IntellJ IDEA
-
Урок 65.
00:02:41
Какую проблему решают классы?
-
Урок 66.
00:01:43
Решение проблемы с помощью классов
-
Урок 67.
00:00:24
Класс как структура данных, возвращаемая из метода
-
Урок 68.
00:01:26
Отличие класса от объекта
-
Урок 69.
00:00:51
Операция new
-
Урок 70.
00:00:51
Заметка: Создание объектов в Java без операции new
-
Урок 71.
00:12:38
Области памяти в Java: Stack и Heap
-
Урок 72.
00:06:40
Отличие примитивов от ссылочных типов данных
-
Урок 73.
00:00:41
Оператор доступа к элементам класса
-
Урок 74.
00:02:06
Константа null для инициализации пустых ссылок
-
Урок 75.
00:01:00
Сравнение с null
-
Урок 76.
00:01:35
Заметка: когда использовать null, а
-
Урок 77.
00:02:54
Выделение памяти под поля в классе
-
Урок 78.
00:02:09
Что значит NullPointerException?
-
Урок 79.
00:01:20
Значения по-умолчанию
-
Урок 80.
00:02:42
Отличие полей класса от локальных переменных
-
Урок 81.
00:01:29
Задание начальных значений для полей в классе
-
Урок 82.
00:04:00
Класс как шаблон создания объекта
-
Урок 83.
00:00:53
Заметка: Упрощение схемы стека для метода main
-
Урок 84.
00:01:49
Проблема статических массивов
-
Урок 85.
00:04:10
Введение в динамические массивы
-
Урок 86.
00:03:57
Создание функции добавления элемента в
-
Урок 87.
00:06:33
Улучшение кода добавления нового
-
Урок 88.
00:01:59
Введение в методы
-
Урок 89.
00:05:58
Поля класса хранят состояния объекта,
-
Урок 90.
00:02:45
Заметка: Отличие статических функций от методов
-
Урок 91.
00:16:40
Демонстрация работы метода добавления в динамический массив
-
Урок 92.
00:07:52
Что такое сборщик мусора?
-
Урок 93.
00:03:10
Метод DynaArray.toArray
-
Урок 94.
00:00:55
Заметка: Как открыть исходный код системной библиотеки?
-
Урок 95.
00:02:22
Реализация: метод DynaArray.asString
-
Урок 96.
00:02:45
Содержимое класса: поля и методы
-
Урок 97.
00:02:22
Введение в пакеты
-
Урок 98.
00:02:30
Ключевое слово package
-
Урок 99.
00:02:52
Ограничения на имя пакета
-
Урок 100.
00:02:26
Исправление частой ошибки с
-
Урок 101.
00:01:14
Заметка: Перенос класса с помощью IntellJ IDEA
-
Урок 102.
00:02:42
Что такое корневая папка для всех пакетов?
-
Урок 103.
00:01:23
Пакет по-умолчанию
-
Урок 104.
00:01:15
Уникальность имени класса в пределах пакета
-
Урок 105.
00:01:03
Допустимость одного и того-же имени
-
Урок 106.
00:01:41
Полное имя класса
-
Урок 107.
00:01:54
Зачем использовать полное имя класса,
-
Урок 108.
00:01:14
Импорт классов
-
Урок 109.
00:01:41
Заметка: Импорт классов предпочтительнее
-
Урок 110.
00:01:52
Зачем использовать полное имя класса,
-
Урок 111.
00:01:45
Пакет java.lang
-
Урок 112.
00:02:11
Импорт всех классов из пакета
-
Урок 113.
00:03:42
Принцип сокрытия данных
-
Урок 114.
00:02:53
Модификатор доступа private
-
Урок 115.
00:02:56
Принцип инкапсуляции
-
Урок 116.
00:03:53
Модификаторы доступа элемента класса
-
Урок 117.
00:03:12
Модификаторы доступа к классу
-
Урок 118.
00:04:23
Создание пакета structures и перенос в
-
Урок 119.
00:05:49
Перегрузка методов
-
Урок 120.
00:00:48
Заметка: Вызов публичного метода внутри класса
-
Урок 121.
00:02:22
Заметка: доступ к private полю внутри класса
-
Урок 122.
00:06:19
Реализация: Оптимизация методов DynaArray.add
-
Урок 123.
00:01:09
Заметка: Важность тестов перед оптимизацией
-
Урок 124.
00:02:24
Удаление дублирующего кода в классе DynaArray
-
Урок 125.
00:01:16
Что такое конструктор?
-
Урок 126.
00:03:24
Зачем нужен конструктор?
-
Урок 127.
00:03:14
Альтернатива конструкторам
-
Урок 128.
00:01:27
Перегрузка конструкторов
-
Урок 129.
00:01:56
Передача фактических параметров в конструктор
-
Урок 130.
00:03:14
Конструктор по-умолчанию
-
Урок 131.
00:01:29
Заметка: Генерация конструктора в среде IntellJ IDEA
-
Урок 132.
00:02:35
Ключевое слово this. Вызов конструктора из конструктора
-
Урок 133.
00:03:27
Ключевое слово this. Получение ссылки на текущий объект
-
Урок 134.
00:04:19
Ключевое слово this. Доступ к полю класса
-
Урок 135.
00:01:09
Содержимое класса: конструктор и секция инициализации
-
Урок 136.
00:07:21
Заметка: Нарушение принципа инкапсуляции
-
Урок 137.
00:02:21
Реализация: Исправить ошибку в реализации
-
Урок 138.
00:01:22
Реализация: Метод DynaArray.clear
-
Урок 139.
00:04:38
Реализация: Метод DynaArray.remove
-
Урок 140.
00:00:35
Реализация: Метод DynaArray.size
-
Урок 141.
00:00:53
Реализация: Метод DynaArray.contains
-
Урок 142.
00:02:34
Добавление файлов лицензии в проект
-
Урок 143.
00:01:52
Конфигурация IntelliJ IDEAдля автоматической
-
Урок 144.
00:01:29
Добавление шаблона авторства в код классов
-
Урок 145.
00:02:10
Создание именованного пакета и перенос исходного кода
-
Урок 146.
00:01:48
Статический массив: Создание и хранение в памяти
-
Урок 147.
00:02:12
Статический массив: Особенности
-
Урок 148.
00:03:36
Статический массив: Достоинства и недостатки
-
Урок 149.
00:05:04
Динамический массив
-
Урок 150.
00:06:34
Связный список как основная альтернатива массиву
-
Урок 151.
00:04:56
Односвязный список
-
Урок 152.
00:01:05
Двусвязный список
-
Урок 153.
00:01:11
Сравнение односвязного и двусвязного списков
-
Урок 154.
00:01:09
Заметка: Зачем нужны знания по базовым структурам данных?
-
Урок 155.
00:05:46
Создание односвязного списка. Метод add
-
Урок 156.
00:03:49
Заметка: Ограничения на модификаторы
-
Урок 157.
00:04:16
Отладка процесса добавления нового элемента в односвязный список
-
Урок 158.
00:12:46
Демонстрация работы метода добавления
-
Урок 159.
00:02:24
Метод LinkedList.toArray
-
Урок 160.
00:08:07
Демонстрация работы метода LinkedList.toArray
-
Урок 161.
00:02:14
Реализация: Метод LinkedList.asString
-
Урок 162.
00:04:45
Внутренний класс
-
Урок 163.
00:01:36
Реализация: Метод LinkedList.clear
-
Урок 164.
00:06:30
Что такое мусор с точки зрения Java?
-
Урок 165.
00:02:50
Что такое утечка памяти в принципе?
-
Урок 166.
00:04:06
Что называют утечкой памяти в Java?
-
Урок 167.
00:05:01
Пример утечки памяти в Java
-
Урок 168.
00:03:33
Анализ критичности выявленной утечки памяти
-
Урок 169.
00:00:14
Исправление утечки памяти в методе LinkedList.clear
-
Урок 170.
00:02:16
Почему нет такой проблемы в классе DynaArray?
-
Урок 171.
00:04:51
Демонстрация утечки памяти в классе
-
Урок 172.
00:16:27
Еще раз об утечке памяти в классе ObjectDynaArray
-
Урок 173.
00:11:44
Реализация: Метод LinkedList.remove
-
Урок 174.
00:02:50
Реализация: Метод LinkedList.size
-
Урок 175.
00:04:02
Реализация: Более эффективная реализация
-
Урок 176.
00:01:08
Реализация: Метод LinkedList.contains
-
Урок 177.
00:02:09
Реализация: Перегрузка методов add для
-
Урок 178.
00:01:56
Заметка: Сравнение методов добавления
-
Урок 179.
00:01:04
Реализация: Добавление метода DynaArray.add
-
Урок 180.
00:07:25
Реализация: Добавление метода LinkedList.add
-
Урок 181.
00:01:56
Реализация: Оптимизировать метод LinkedList.toArray
-
Урок 182.
00:01:00
Второй принцип ООП - Наследование
-
Урок 183.
00:06:07
Устранение проблемы дублирование кода
-
Урок 184.
00:04:12
Переопределение метода
-
Урок 185.
00:01:08
Заметка: Использование правильного класса LinkedList
-
Урок 186.
00:04:10
Что значит наследовать функциональность?
-
Урок 187.
00:03:03
Переопределение метода vs перегрузка метода
-
Урок 188.
00:01:58
Заметка: Достоинства внутренних классов
-
Урок 189.
00:04:41
Аннотация @Override
-
Урок 190.
00:01:01
Невозможность вызвать метод родительского
-
Урок 191.
00:05:03
Ключевое слово super. Вызов переопределенного
-
Урок 192.
00:01:56
Заметка: Когда this равен super?
-
Урок 193.
00:00:22
Заметка: При переопределении метода генерируется
-
Урок 194.
00:01:12
Заметка: Автоматически сгенерированные заглушки
-
Урок 195.
00:01:17
Удаление дублирования функциональности очистки с
-
Урок 196.
00:00:51
Порядок вызовов конструкторов в иерархии классов
-
Урок 197.
00:00:55
Конструктор без параметров вызывается из
-
Урок 198.
00:02:07
Ключевое слово super. Вызов конструктора
-
Урок 199.
00:02:30
Передача реального значения по иерархии наследования
-
Урок 200.
00:02:08
Заметка: Вызов метода из класса без
-
Урок 201.
00:01:05
Заметка: Главное отличие синтаксиса
-
Урок 202.
00:00:54
Заметка: Сравнение this() и super()
-
Урок 203.
00:01:01
Ключевое слово final. Запрет на переопределение метода
-
Урок 204.
00:00:52
Ключевое слово final. Запрет наследования
-
Урок 205.
00:05:28
Создание нового класса на базе существующего
-
Урок 206.
00:02:35
Композиция как альтернатива наследованию
-
Урок 207.
00:00:52
Родительский класс может быть только один!
-
Урок 208.
00:01:54
Каждый класс имеет родителя!
-
Урок 209.
00:00:25
Заметка: Класс Object - единственный класс,
-
Урок 210.
00:00:51
Класс Object - родитель для ВСЕХ классов в Java
-
Урок 211.
00:09:12
Методы класса Object
-
Урок 212.
00:02:29
Рефакторинг классов DynaArray и LinkedList
-
Урок 213.
00:03:06
Java - типизированный язык программирования
-
Урок 214.
00:04:21
Допустимость ссылки на родительский класс
-
Урок 215.
00:02:14
Какой метод вызывается по родительской ссылке?
-
Урок 216.
00:05:56
Алгоритм поиска метода перед его вызовом
-
Урок 217.
00:02:45
На что влияет класс ссылки?
-
Урок 218.
00:05:34
Позднее связывание.
-
Урок 219.
00:04:16
Обновление класса BaseDataStructure
-
Урок 220.
00:04:26
Понятие абстрактного класса
-
Урок 221.
00:01:02
Объект абстрактного класса невозможно создать!
-
Урок 222.
00:02:18
Каким образом использовать абстрактный класс в
-
Урок 223.
00:02:25
Полностью абстрактный класс
-
Урок 224.
00:02:31
Зачем нужен полностью абстрактный класс?
-
Урок 225.
00:01:19
Понятие интерфейса
-
Урок 226.
00:08:08
Понятие полиморфизма
-
Урок 227.
00:10:00
Еще раз о полиморфизме: Интерфейс взаимодействия
-
Урок 228.
00:02:30
Еще раз о полиморфизме: Провайдер данных из
-
Урок 229.
00:04:34
Еще раз о полиморфизме: Провайдер данных из
-
Урок 230.
00:03:53
Еще раз о полиморфизме: Резюме
-
Урок 231.
00:01:41
Множественное наследование с помощью интерфейсов
-
Урок 232.
00:00:51
Заметка: Возможность указать подтип в
-
Урок 233.
00:02:46
Заметка: Возможность повысить модификатор
-
Урок 234.
00:00:57
Определение класса объекта, используя
-
Урок 235.
00:02:30
Оператор instanceof
-
Урок 236.
00:02:13
Использование getClass
-
Урок 237.
00:03:02
Отличие instanceof от getClass
-
Урок 238.
00:03:17
Почему использование instanceof или getClass это плохо?
-
Урок 239.
00:02:39
Концепция маркерного интерфейса
-
Урок 240.
00:02:56
Корректное использование instanceof
-
Урок 241.
00:01:28
Введение
-
Урок 242.
00:02:05
Общий интерфейс для очереди и стека
-
Урок 243.
00:04:18
Создание тестового класса
-
Урок 244.
00:02:07
Общие требования к реализациям
-
Урок 245.
00:05:03
Реализация: Класс очереди на базе массива
-
Урок 246.
00:01:02
Реализация: Класс стека на базе массива
-
Урок 247.
00:05:34
Реализация: Более правильное разбиение на классы
-
Урок 248.
00:02:37
Заметка: альтернативная версия классов
-
Урок 249.
00:06:07
Заметка: Почему предпочтение было отдано
-
Урок 250.
00:01:01
Реализация: Базовый класс для стека и
-
Урок 251.
00:06:03
Реализация: Класс очереди на базе связного списка
-
Урок 252.
00:06:38
Реализация: Класс стека на базе связного списка
-
Урок 253.
00:04:05
Реализация: Альтернативная версия классов
-
Урок 254.
00:05:58
Шаблон любого модуля программы в
-
Урок 255.
00:04:59
Алгоритм восстановления доступа к личному кабинету
-
Урок 256.
00:14:14
Реальный пример: Фрагмент кода,
-
Урок 257.
00:10:47
Реальный пример: Создание реализаций по умолчанию
-
Урок 258.
00:07:18
Реальный пример: Тестирование
-
Урок 259.
00:06:52
Реальный пример: Демонстрация преимуществ ООП
-
Урок 260.
00:02:43
Заметка: Почему так популярен
-
Урок 261.
00:02:05
Два основных вида классов:
-
Урок 262.
00:02:29
Класс как структура данных: публичные поля
-
Урок 263.
00:03:14
Проблема классов с публичными полями
-
Урок 264.
00:00:00
Класс как структура данных: и
-
Урок 265.
00:02:04
Обратная совместимость для Java - важный принцип!
-
Урок 266.
00:02:55
Сравнение шаблонов по созданию классов
-
Урок 267.
00:05:05
Понятие Java Bean
-
Урок 268.
00:01:38
Самый частый сценарий создания JavaBean
-
Урок 269.
00:00:49
JavaBean - это название шаблона!
-
Урок 270.
00:01:10
Вариация шаблона JavaBean, позволяющего
-
Урок 271.
00:02:28
Модификатор final для полей класса
-
Урок 272.
00:02:36
Шаблон ImmutableObject на реальных примерах
-
Урок 273.
00:05:20
Использование final локальных переменных
-
Урок 274.
00:00:00
Принципы SOLID
-
Урок 275.
00:03:11
SOLID: Принцип единственной ответственности
-
Урок 276.
00:03:48
SOLID: Принцип открытости/закрытости
-
Урок 277.
00:04:40
SOLID: Принцип подстановки Лисков
-
Урок 278.
00:03:12
SOLID: Принцип разделения интерфейса
-
Урок 279.
00:03:04
SOLID: Принцип инверсии зависимостей
-
Урок 280.
00:01:36
Принцип DRY (Don’t repeat yourself)
-
Урок 281.
00:02:53
Принцип KISS (Keep it simple, stupid)
-
Урок 282.
00:01:02
Принцип YAGNI(You aren't gonna need it)
-
Урок 283.
00:03:56
Принцип декомпозиции сложной системы
-
Урок 284.
00:00:15
Введение
-
Урок 285.
00:02:42
Генерация методов класса
-
Урок 286.
00:03:17
Генерация классов по примеру
-
Урок 287.
00:02:06
Использование встроенных шаблонов кода
-
Урок 288.
00:01:45
Создание пользовательских шаблонов
-
Урок 289.
00:02:16
Концентрация над бизнес задачей
-
Урок 290.
00:02:47
Основные возможности рефакторинга
-
Урок 291.
00:01:06
Автоматический импорт классов
-
Урок 292.
00:01:30
Форматирование кода
-
Урок 293.
00:02:17
Использование final локальных переменных
-
Урок 294.
00:06:23
Реализация: Создание проекта в IntelliJ
-
Урок 295.
00:01:12
Заметка: Терминал в IntellJ IDEA - это
-
Урок 296.
00:04:06
Реализация: Корневой пакет и класс
-
Урок 297.
00:02:03
Правило: Используйте автоформатирование
-
Урок 298.
00:10:31
Алгоритм игры в крестики нолики в текстовом виде
-
Урок 299.
00:05:20
Проверка составленного алгоритма игры в крестики-нолики
-
Урок 300.
00:03:26
Проверка всех требований к программе,
-
Урок 301.
00:07:05
Определение основных компонентов игры в крестики-нолики
-
Урок 302.
00:08:03
Создание класса Game
-
Урок 303.
00:02:29
Правило: Изменения в системе контроля
-
Урок 304.
00:05:56
Генерация пустых классов, необходимых
-
Урок 305.
00:03:35
Отделение структур данных от бизнес логики
-
Урок 306.
00:06:08
Создание классов, описывающих основные
-
Урок 307.
00:05:52
Правило: Полезность метода toString для классов-моделей
-
Урок 308.
00:01:57
Напоминание: Обновление списка
-
Урок 309.
00:08:07
Реализация: Логика отображения
-
Урок 310.
00:05:12
Реализация: Случайный ход компьютера
-
Урок 311.
00:06:40
Реализация: Логика проверки победителя
-
Урок 312.
00:08:06
Реализация: Ход пользователя
-
Урок 313.
00:02:17
Напоминание: Последний коммит возможно
-
Урок 314.
00:02:34
Реализация: Логика проверки на ничью
-
Урок 315.
00:13:18
В чем ошибка в компоненте DrawVerifier?
-
Урок 316.
00:01:48
Расширение созданной программы
-
Урок 317.
00:03:31
Если изменить программу сложно,
-
Урок 318.
00:03:58
Реализация: Логика преобразования номера ячейки
-
Урок 319.
00:02:55
Если задача описана классом,
-
Урок 320.
00:02:09
Реализация: Интерфейс вместо класса
-
Урок 321.
00:01:56
Реализация: Преобразование номера ячейки
-
Урок 322.
00:01:29
Более эффективное преобразование номера
-
Урок 323.
00:06:35
Демонстрация преимуществ следования принципам SOLID в проекте
-
Урок 324.
00:07:05
Системы счисления
-
Урок 325.
00:03:14
Установка HEX-editor плагин для Notepad++
-
Урок 326.
00:02:08
Машинный код
-
Урок 327.
00:03:46
Язык ассемблера
-
Урок 328.
00:05:57
Программы пишутся под операционную систему и
-
Урок 329.
00:02:16
Диалекты языка ассемблера
-
Урок 330.
00:09:23
Ассемблирование программы на диалекте TASM под MSDOS
-
Урок 331.
00:03:29
Использование среды разработки для
-
Урок 332.
00:05:46
Высокоуровневые языки программирования
-
Урок 333.
00:01:12
Что такое компилятор?
-
Урок 334.
00:02:03
Компиляция программы на языке C под Windows
-
Урок 335.
00:02:20
Компиляция программы на языке C под Linux
-
Урок 336.
00:04:38
Заметка: Этапы компиляции программы на языке C
-
Урок 337.
00:02:35
Компилятор создает приложение под операц
-
Урок 338.
00:02:21
Использование среды разработки для компиляции
-
Урок 339.
00:02:12
Что такое интерпретатор?
-
Урок 340.
00:01:10
Интерпретатор для языка программирования JavaScript
-
Урок 341.
00:01:50
Интерпретация программы на языке JavaScript на Windows
-
Урок 342.
00:01:57
Интерпретация программы на языке JavaScript на Linux
-
Урок 343.
00:01:21
Использование среды разработки для написания
-
Урок 344.
00:01:48
Заметка: Терминал и командная строка - это тоже интерпретатор!
-
Урок 345.
00:02:08
Особенности интерпретируемых языков программирования
-
Урок 346.
00:00:00
Понятие платформы
-
Урок 347.
00:03:40
Самые распространенные платформы на сегодняшний день
-
Урок 348.
00:04:09
Заметка: Зачем нужны знания об архитектурах пр
-
Урок 349.
00:07:48
Сравнение компиляторов и интерпретаторов
-
Урок 350.
00:07:59
Java - компилируемый, а затем интерпретируемый
-
Урок 351.
00:01:12
Что такое JDK?
-
Урок 352.
00:02:29
В чем отличие JDK от JRE?
-
Урок 353.
00:05:12
Новшество в Java 9: Утилита jlink
-
Урок 354.
00:06:15
Компиляция и интерпретация байт-кода в Java
-
Урок 355.
00:01:58
Связь между именем класса, именем файла
-
Урок 356.
00:03:04
Новшество в Java 9: Запуск простых п
-
Урок 357.
00:02:12
Просмотр байт-кода
-
Урок 358.
00:03:28
Декомпиляция байт-кода
-
Урок 359.
00:03:18
Заметка: Компиляция в режиме отладки
-
Урок 360.
00:09:02
Понятие Classpath в Java. Что значит ClassNo
-
Урок 361.
00:04:03
Переменная окружения CLASSPATH
-
Урок 362.
00:04:00
Использование среды разработки для компиляции программ на Java
-
Урок 363.
00:01:40
Автоматическая компиляция классов средой Intell
-
Урок 364.
00:10:26
Понятие jar-архива
-
Урок 365.
00:02:49
Classpath может содержать не только классы,
-
Урок 366.
00:05:57
Создание самозапускающегося jar-архива
-
Урок 367.
00:02:03
Альтернативный способ создать самозапускающ
-
Урок 368.
00:01:12
Заметка: Самозапускающий jar-архив возможно и
-
Урок 369.
00:00:41
Декомпилятор может открывать jar-архивы!
-
Урок 370.
00:08:22
Что такое обфускатор?
-
Урок 371.
00:02:40
Использование среды разработки для создание jar-архива
-
Урок 372.
00:01:42
IntellJ IDEA использует сконфигурированный JDK для проекта!
-
Урок 373.
00:05:44
Что такое кроссплатформенность?
-
Урок 374.
00:07:10
Java - кроссплатформенный язык программирования
-
Урок 375.
00:03:05
Заметка: Новшество в Java 9: Утилита jshell
-
Урок 376.
00:09:52
Заметка: Использование jshell для написания
-
Урок 377.
00:00:38
Основные способы передачи параметров в J
-
Урок 378.
00:02:42
Использование переменных окружения для передачи
-
Урок 379.
00:02:12
Использование свойств для передачи параметр
-
Урок 380.
00:02:45
Использование аргументов командной строки
-
Урок 381.
00:03:50
Использование конфигурационного файла для
-
Урок 382.
00:01:59
Что такое процесс?
-
Урок 383.
00:02:30
Стандартные потоки ввода-вывода процесса
-
Урок 384.
00:01:58
Взаимодействие со стандартными пот
-
Урок 385.
00:04:05
Перенаправление стандартных потоков
-
Урок 386.
00:04:11
JIT компиляция
-
Урок 387.
00:02:09
AOT компиляция
-
Урок 388.
00:04:54
Демонстрация работы AOT компил
-
Урок 389.
00:03:02
Различные среды выполнения байт кода
-
Урок 390.
00:02:15
В современном мире не все так однозначно!
-
Урок 391.
00:00:59
Введение
-
Урок 392.
00:04:32
Местоположение домашнего каталога на
-
Урок 393.
00:09:59
Отличие в исполняемых файлах
-
Урок 394.
00:02:21
Запуск исполняемых файлов из текущ
-
Урок 395.
00:06:27
Интерпретаторы командной строки
-
Урок 396.
00:05:27
Проблемы, связанные с разными командными
-
Урок 397.
00:05:52
Что такое шебанг?
-
Урок 398.
00:06:22
Что такое скрипты?
-
Урок 399.
00:04:07
Зачем знания по созданию скриптов Java разработчику?
-
Урок 400.
00:03:41
Расширение .sh для скриптов запуска дл
-
Урок 401.
00:05:43
Демонстрация ошибки, которая может во
-
Урок 402.
00:05:09
Признак новой строки в текстовом файле
-
Урок 403.
00:04:27
Как удалить символ \r в Unix-подобной ОС
-
Урок 404.
00:01:16
Разделитель элементов пути к файлу
-
Урок 405.
00:02:42
В java можно использовать символ /
-
Урок 406.
00:01:53
Разделитель абсолютных и относительных путей
-
Урок 407.
00:01:14
Регистрозависисмость имен файлов и каталогов
-
Урок 408.
00:01:33
Регистрозависимость команд интерпре
-
Урок 409.
00:01:51
Признак скрытых файлов и каталогов
-
Урок 410.
00:02:12
Напоминание: Отображение скрытых файлов и
-
Урок 411.
00:02:14
Работа с переменными окружения
-
Урок 412.
00:02:51
Доступность переменных окружения в дочерних процессах
-
Урок 413.
00:00:24
Признак комментария в скриптах запуска
-
Урок 414.
00:04:53
Формат архивов: ZIP и TAR.GZ
-
Урок 415.
00:02:31
Символы продолжения команды с новой строки
-
Урок 416.
00:02:53
Использование полученных знаний на практике
-
Урок 417.
00:03:36
Задержка окна консоли в Windows
-
Урок 418.
00:04:21
Задержка окна консоли в Unix
-
Урок 419.
00:02:26
Извлечение специфических настроек для
-
Урок 420.
00:00:00
Что такое XML?
-
Урок 421.
00:04:02
Сохранение конфигураций в формате XML
-
Урок 422.
00:03:44
Что такое тег? Требования к тегам в XML
-
Урок 423.
00:00:53
Корневым может быть только один тег!
-
Урок 424.
00:01:36
Что такое атрибуты тега?
-
Урок 425.
00:01:07
Атрибуты vs вложенные теги
-
Урок 426.
00:01:14
Комментарии в XML
-
Урок 427.
00:01:53
Специальные символы в XML
-
Урок 428.
00:01:39
Как использовать специальные символы
-
Урок 429.
00:02:28
Секция CDATA
-
Урок 430.
00:01:09
Инструкции обработки
-
Урок 431.
00:02:23
Объявление XML
-
Урок 432.
00:01:33
Вложенность тегов должна быть корректной!
-
Урок 433.
00:01:04
Пробельные символы игнорируются!
-
Урок 434.
00:03:44
Примеры XML конфигураций
-
Урок 435.
00:06:22
Что такое расширение XML?
-
Урок 436.
00:00:00
Что такое DTD?
-
Урок 437.
00:03:36
Что такое XSD?
-
Урок 438.
00:02:49
DTD и XSD - это альтернативные способы за
-
Урок 439.
00:02:45
Как загрузить XSD или DTD файл в среду разр
-
Урок 440.
00:03:23
Зачем нужны сборщики проекта?
-
Урок 441.
00:00:14
Автоматизация сборки для Java
-
Урок 442.
00:03:31
Использование скриптов для сборки проекта на Java
-
Урок 443.
00:02:40
Написание программы на Java, кот
-
Урок 444.
00:04:22
Упрощение программы на Java, ко
-
Урок 445.
00:09:00
Сборщик проектов Apache Ant: Простейший скрипт
-
Урок 446.
00:07:49
Сборщик проектов Apache Ant: Корректный формат скрипта
-
Урок 447.
00:04:35
Проблемы сборщика проектов Apache Ant
-
Урок 448.
00:00:00
Проблемы сборщика проектов Apache Ant н
-
Урок 449.
00:05:34
В чем идея декларативного сборщика пр
-
Урок 450.
00:00:00
Сборщик проектов Apache Maven
-
Урок 451.
00:08:11
Сравнение сборщиков Apache Ant и Apach
-
Урок 452.
00:06:53
Сборщик проектов Gradle
-
Урок 453.
00:04:16
Сравнение сборщиков проектов: Apache Ant, Apac
-
Урок 454.
00:01:20
Что такое Apache Maven?
-
Урок 455.
00:04:41
Как установить Apache Maven на компьютер?
-
Урок 456.
00:01:46
При использовании IntelliJ IDEA нет необх
-
Урок 457.
00:01:43
Обновление переменной окружения PATH
-
Урок 458.
00:01:43
Создание Apache Maven проекта в IntelliJ IDEA
-
Урок 459.
00:02:42
pom.xml - единственный конфигурационный фа
-
Урок 460.
00:02:02
Стандартная структура каталогов в Apache Maven
-
Урок 461.
00:06:22
Жизненные циклы проекта в Apache Maven
-
Урок 462.
00:04:29
Выполнение Apache Maven фаз жизненных
-
Урок 463.
00:01:53
Использование терминала для выполнения
-
Урок 464.
00:00:53
Центральный репозиторий Apache Maven
-
Урок 465.
00:05:37
Подключение зависимостей в Apache Maven проект
-
Урок 466.
00:02:53
Поддержка транзитивных зависимостей
-
Урок 467.
00:05:31
Локальный репозиторий Apache Maven
-
Урок 468.
00:10:51
Основные фазы жизненных циклов Apache
-
Урок 469.
00:03:13
Основные фазы жизненных циклов Apach
-
Урок 470.
00:04:01
Основные фазы жизненных циклов Apache Maven в
-
Урок 471.
00:05:46
Какие фазы жизненного цикла чаще всего используются?
-
Урок 472.
00:13:32
Apache Maven использует плагины для выполне
-
Урок 473.
00:14:19
Какие плагины используются по-умолчани
-
Урок 474.
00:03:36
Напоминание: Запуск фаз жизненнег
-
Урок 475.
00:11:08
Заметка: mvn - это скрипт запуска Apache Maven!
-
Урок 476.
00:01:14
Запуск нестандартных фаз жизненного цикела
-
Урок 477.
00:05:12
В чем отличие запуска фазы жизненног
-
Урок 478.
00:04:05
Обновление версий уже сконфигурированных плагинов
-
Урок 479.
00:01:49
Рекомендации по выбору версий программного обеспечения
-
Урок 480.
00:03:20
Пример генерации простейшей проектной документации
-
Урок 481.
00:06:26
Версионирование программного обеспечения
-
Урок 482.
00:05:25
Квалификатор SNAPSHOT
-
Урок 483.
00:12:59
Подключение плагинов, расширяющих
-
Урок 484.
00:06:41
Конфигурация плагинов
-
Урок 485.
00:04:22
Использование свойств для указания номера версий
-
Урок 486.
00:06:43
Адаптация Apache Maven под существующий проект
-
Урок 487.
00:07:23
Встроенные свойства Maven проекта
-
Урок 488.
00:01:56
Исправление замечания: build is platform dependent!
-
Урок 489.
00:08:15
Использование свойств для конфигурации запуска
-
Урок 490.
00:06:22
Создание проектной документации с
-
Урок 491.
00:02:38
Использование свойств для разных сборок одно
-
Урок 492.
00:02:13
Несколько файлов pom.xml для разных сборо
-
Урок 493.
00:05:05
Использование Maven профилей для разных сбор
-
Урок 494.
00:07:27
Реальный пример использования Maven профилей
-
Урок 495.
00:03:07
Автоматическая активация Maven профилей
-
Урок 496.
00:07:01
Использование Maven архетипов
-
Урок 497.
00:01:57
Использование утилиты mvn для создания проекта
-
Урок 498.
00:07:28
Создание многомодульных проектов в Maven
-
Урок 499.
00:09:49
Типичный проект автономного приложения для Apache Maven
-
Урок 500.
00:05:21
Заметка: Что значит уровень компиляции 1.7?
-
Урок 501.
00:08:48
Уровени видимости зависимостей (Dependenc
-
Урок 502.
00:02:47
Какие этапы разработки проекта нуждаю
-
Урок 503.
00:09:55
Демонстрация уровня видимости зависимостей compile
-
Урок 504.
00:03:38
Демонстрация уровня видимости зависимостей provided
-
Урок 505.
00:08:00
Демонстрация уровня видимости зависимостей runtime
-
Урок 506.
00:01:14
Демонстрация уровня видимости зависимостей test
-
Урок 507.
00:02:25
Демонстрация уровня видимости зависимостей system
-
Урок 508.
00:01:11
Упрощение тестового проекта для демонстрации
-
Урок 509.
00:03:00
Преимущества Apache Maven: сборка проекта в среде IntelliJ IDEA
-
Урок 510.
00:02:39
Преимущества Apache Maven: сборка проекта в среде Eclipse
-
Урок 511.
00:03:31
Преимущества Apache Maven: сборка проекта в среде Apache NetBeans
-
Урок 512.
00:02:07
Преимущества Apache Maven: сборка проекта, используя терминал
-
Урок 513.
00:02:40
Заметка: Игнорирование файлов, специфичных для каждой IDE
-
Урок 514.
00:01:07
Что делать, если нет нужного плагина?
-
Урок 515.
00:05:22
Нестандартное действие в Maven: создание собственного плагина
-
Урок 516.
00:09:19
Нестандартное действие в Maven: запуск скрипта операционной системы
-
Урок 517.
00:05:21
Нестандартное действие в Maven: запуск Java класса
-
Урок 518.
00:03:10
Нестандартное действие в Maven: запуск Ant скрипта
-
Урок 519.
00:07:24
Заметка: Maven профиль для пользовательского плагина
-
Урок 520.
00:01:41
Рекомендуемый способ выполнить нестандартное действие в процессе сборки проекта
-
Урок 521.
00:00:49
Шаблон Maven проекта для курса
-
Урок 522.
00:05:12
Реализация: Конвертация проекта игры в крестики-нолики в Maven проект
-
Урок 523.
00:02:20
Реализация: Создание самозапускающегося jar архива
-
Урок 524.
00:05:07
Реализация: Скрипт запуска игры для операционной системы Windows
-
Урок 525.
00:01:32
Реализация: Скрипт запуска игры для Unix-подобных операционных систем
-
Урок 526.
00:04:58
Проверка скрипта на другой платформе
-
Урок 527.
00:02:58
Как передать конечному пользователю игру крестики-нолики
-
Урок 528.
00:13:05
Сборка проекта для Windows, используя maven-assembly-plugin
-
Урок 529.
00:05:39
Дополнительные сведения по assembly дескриптору
-
Урок 530.
00:03:24
Реализация: Сборка проекта для Unix, используя maven-assembly-plugin
-
Урок 531.
00:04:35
Исправление скриптов запуска
-
Урок 532.
00:03:05
Исправление файла NOTICE
-
Урок 533.
00:01:36
Реализация: Обновление скриптов запуска - добавление задержки в конце игры
-
Урок 534.
00:15:07
Проверка работоспособности первой версии под Windows, MacOS и Linux
-
Урок 535.
00:03:55
Введение в формат MarkDown
-
Урок 536.
00:02:44
Реализация: Обновление файла Readme.md
-
Урок 537.
00:09:40
Создание assembly дескриптора с JRE под Windows
-
Урок 538.
00:03:19
Реализация: Создание assembly дескрипторов с JRE под MacOS и под Linux
-
Урок 539.
00:02:30
11 версия Java в названии папок вводит в заблуждение!
-
Урок 540.
00:06:46
Реализация: Профили maven для создания архивов с JRE и без JRE
-
Урок 541.
00:11:57
Создание образов JRE, используя Ant скрипт
-
Урок 542.
00:05:24
Использование maven-antrun-plugin
-
Урок 543.
00:02:39
Реализация: Обновление файла Readme.md
-
Урок 544.
00:11:41
Обфускация байт кода игры, используя proguard
-
Урок 545.
00:09:14
Обновление стартовых скриптов
-
Урок 546.
00:02:54
Подготовка к тестированию сборок
-
Урок 547.
00:06:37
Проверка работоспособности версии с JRE и без JRE под Windows
-
Урок 548.
00:16:08
Проверка работоспособности версии с JRE и без JRE под MacOS
-
Урок 549.
00:06:57
Проверка работоспособности версии с JRE и без JRE под Linux
-
Урок 550.
00:03:33
Важность атрибута исполняемости при запуске скрипта под Unix
-
Урок 551.
00:03:37
Релиз второй версии игры крестики-нолики
-
Урок 552.
00:02:33
Обновление версии игры в pom.xml
-
Урок 553.
00:05:22
Статические поля класса
-
Урок 554.
00:02:00
Статические методы
-
Урок 555.
00:06:00
Для доступа к статическим полям нужен класс, а не объект!
-
Урок 556.
00:02:19
Для доступа к статическим методам нужен класс, а не объект!
-
Урок 557.
00:04:23
Статические константы
-
Урок 558.
00:02:08
Заметка: В интерфейсе все поля - статические константы!
-
Урок 559.
00:04:05
Статические секции
-
Урок 560.
00:01:21
Напоминание: Статические внутренние классы - удобны для демонстрации!
-
Урок 561.
00:08:41
Статический импорт
-
Урок 562.
00:07:15
Статические vs нестатические конструкции
-
Урок 563.
00:07:04
Статические конструкции - глобальны, а нестатические - локальны!
-
Урок 564.
00:05:52
Когда использовать статические методы вместо обычных?
-
Урок 565.
00:07:19
Понятие утилитного класса
-
Урок 566.
00:05:54
Статические методы НЕ ПОЛИМОРФНЫ!
-
Урок 567.
00:05:40
Шаблон проектирования Singleton
-
Урок 568.
00:01:48
Статический внутренний класс
-
Урок 569.
00:05:25
Создание объекта, используя статический метод
-
Урок 570.
00:01:28
Процедурное программирование vs ООП
-
Урок 571.
00:02:54
Является ли Java объектно-ориентированным
-
Урок 572.
00:01:22
Проблема, которую решают перечисления
-
Урок 573.
00:03:00
Решение № 1: Статические константы целого типа
-
Урок 574.
00:05:17
Решение № 2: Статические константы пользовательского типа
-
Урок 575.
00:02:00
Решение № 3: Использование перечисления
-
Урок 576.
00:11:48
Базовый класс перечислений. Стандартные методы
-
Урок 577.
00:04:25
Пользовательские поля и методы в перечислении
-
Урок 578.
00:03:09
Расширение интерфейсов в перечислении
-
Урок 579.
00:06:21
Пример использования перечисления для предо
-
Урок 580.
00:00:10
Введение
-
Урок 581.
00:00:22
Публичный класс
-
Урок 582.
00:00:51
Непубличный класс
-
Урок 583.
00:00:42
Финальный класс
-
Урок 584.
00:02:18
Абстрактный класс
-
Урок 585.
00:01:45
Заметка: Рекомендация для абстрактного класса без абстрактных методов
-
Урок 586.
00:01:21
Интерфейс
-
Урок 587.
00:00:56
Аннотация
-
Урок 588.
00:01:10
Перечисление
-
Урок 589.
00:06:34
Внутренний нестатический класс
-
Урок 590.
00:03:42
Внутренний статический класс
-
Урок 591.
00:02:04
Внутренними могут быть не только классы!
-
Урок 592.
00:08:52
Анонимный класс
-
Урок 593.
00:05:15
Почему это все - типы классов?
-
Урок 594.
00:02:58
Доступ к доступным внутренним классам в исходном коде
-
Урок 595.
00:02:47
Что такое функциональный интерфейс?
-
Урок 596.
00:13:47
Лямбда-выражение
-
Урок 597.
00:08:57
Ссылка на метод
-
Урок 598.
00:03:40
Дескриптор модуля module-info.java
-
Урок 599.
00:02:25
Файл package-info.java
-
Урок 600.
00:03:32
Почему char тип не лучший выбор для типа ячейки игрового поля?
-
Урок 601.
00:04:11
Реализация: Создание перечисления Sign
-
Урок 602.
00:07:30
Использование лямба-выражения для уменьшения дублирования кода
-
Урок 603.
00:04:13
Реализация: Устранение дублирования кода в
-
Урок 604.
00:01:51
Реализация: Устранение дублирования кода в кла
-
Урок 605.
00:11:24
Создание класса Player
-
Урок 606.
00:06:51
Упрощение класса Game
-
Урок 607.
00:04:22
Шаблон фабрики создания игры
-
Урок 608.
00:03:20
Заметка: Специальные комментарии TODO и FIXME!
-
Урок 609.
00:08:18
Реализация: Доработка класса GameFactory
-
Урок 610.
00:04:51
Как запустить программу с командными агрументам
-
Урок 611.
00:06:20
Исправление конфигурации для proguard
-
Урок 612.
00:06:01
Рефакторинг класса GameFactory
-
Урок 613.
00:08:00
Выделение интерфейсов взаимодействия с консолью
-
Урок 614.
00:06:14
Реализация: Реализовать интерфейсы взаимодействия с консолью
-
Урок 615.
00:07:14
Реализация: Использовать созданные интерфейсы
-
Урок 616.
00:11:06
Создание графического интерфейса
-
Урок 617.
00:06:35
Реализация: Тип пользовательского интерфе
-
Урок 618.
00:07:12
Реализация: Исправить ошибки в proguard
-
Урок 619.
00:09:41
Изменения в логике поддержке двух типов
-
Урок 620.
00:09:49
Подготовка к распространению версии
-
Урок 621.
00:03:23
Реализация: Создание скриптов запуска с
-
Урок 622.
00:06:41
Проверка программного обеспечения перед релизом
-
Урок 623.
00:04:01
Релиз третьей версии и обновление версии в pom.xml
-
Урок 624.
00:10:52
Взаимодействие программы с консолью. Что такое
-
Урок 625.
00:06:43
Взаимодействие с консолью в Java программах
-
Урок 626.
00:08:15
Ошибки в Java и их преобразование в ошибку программы
-
Урок 627.
00:04:00
Поток выполнения прерывается: при возникновении ош
-
Урок 628.
00:07:42
Перехват ошибок. Конструкция try/catch
-
Урок 629.
00:06:42
Способы выброса исключения
-
Урок 630.
00:03:38
Основной признак класса исключения
-
Урок 631.
00:03:59
Основные классы исключений
-
Урок 632.
00:07:04
Проверяемые и непроверяемые исключения. Оп
-
Урок 633.
00:04:06
Рекомендации по использованию проверяемых и н
-
Урок 634.
00:13:37
Обработка проверяемых и непроверяемых исклю
-
Урок 635.
00:08:18
Перехват разных классов с разными алгоритмами обработки
-
Урок 636.
00:05:34
Заметка: Режим отладки позволяет посмотреть
-
Урок 637.
00:04:42
Напоминание: Отличие команд F7 от F8 в IntelliJ IDEA
-
Урок 638.
00:08:50
Перехват родительского класса
-
Урок 639.
00:09:10
Еще раз об отличии Exception от Error!
-
Урок 640.
00:05:01
Перехват дочернего и родительского классов
-
Урок 641.
00:05:44
Перехват разных классов с одинаковым алгоритмом обработки
-
Урок 642.
00:06:01
Блок finally
-
Урок 643.
00:07:02
Варианты конструкции try, catch, finally
-
Урок 644.
00:05:20
Какой код должен быть в блоке finally?
-
Урок 645.
00:01:52
В каких случаях блок finally не выполнится?
-
Урок 646.
00:07:39
Что такое трасса стека?
-
Урок 647.
00:09:50
Важные характеристики ошибки: класс исключения
-
Урок 648.
00:05:52
Пользовательские исключения
-
Урок 649.
00:08:06
В любой непонятной ситауции - бросайте исключение!
-
Урок 650.
00:21:56
Конвертация исключений!
-
Урок 651.
00:09:04
Дополнительная характеристика: причина ошибки!
-
Урок 652.
00:07:39
Агрегация исключений. Метод addSuppressed
-
Урок 653.
00:04:46
Заметка: Корректировка трассы стека!
-
Урок 654.
00:11:39
Конфигурация характеристик Вашего класса исключений
-
Урок 655.
00:07:14
Рекомендации по выбору характеристик д
-
Урок 656.
00:03:43
Клонирование репозитория и импорт
-
Урок 657.
00:01:11
Реализация: Генерация ошибки вместо значения null
-
Урок 658.
00:02:49
Напоминание: Установка автора коммитов после кло
-
Урок 659.
00:13:43
Почему важно выбрасывать исключения даже тогда, к
-
Урок 660.
00:05:41
Реализация: Использование бизнес ошибок предпох
-
Урок 661.
00:02:01
Реализация: Искусственное ограничение на вхо
-
Урок 662.
00:04:55
Реализация: Алгоритм случайного хода компьют
-
Урок 663.
00:03:03
Напоминание: Задержка отображения консоли !
-
Урок 664.
00:05:44
Реализация: Обновление ошибок обработки
-
Урок 665.
00:10:35
Использование стратегий для возможности ра
-
Урок 666.
00:03:58
Реализация: Стратегия первого хода в центр поля
-
Урок 667.
00:09:28
Реализация: Стратегия победить сейчас
-
Урок 668.
00:09:33
Реализация: Заменить код на лямбду в классе Wi
-
Урок 669.
00:03:48
Реализация: Стратегия предотвратить побед
-
Урок 670.
00:08:45
Реализация: Стратегия предотвратить побед
-
Урок 671.
00:07:03
Реализация: Стратегия выиграть на следующем шаге
-
Урок 672.
00:11:02
Реализация: Случайность выбора свободной ячейки
-
Урок 673.
00:22:47
Принципы ООП на примере проекта игры в крестики-нолики!
-
Урок 674.
00:13:07
Реализация: Уровень сложности для хода компьютера
-
Урок 675.
00:28:21
Принципы проектирования на примере пр
-
Урок 676.
00:02:22
Релиз четвертой версии и обновление версии в pom.xml
pdf-ка находится в поисковике без проблем