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