Первая часть Java курса, позволяющая изучить Java и освоить навыки профессионального разработчика на реальных примерах.
В первой части данного курса Вы изчучите:
Основы объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм
Изучите синтаксис Java для написания программы в объектно-ориентированном стиле.
Рассмотрите основные принципы проектирования сложных систем.
Познакомитесь с базовыми структурами данных: массивом и связным списком, а также с более сложными структурами: стеком и очередью
Познакомитесь с тем как работает Java
Рассмотрите основы кроссплатформенной разработки
Рассмотрите возможности сборщика проектов maven
Познаокмитесь с правилами по обработки ошибок
Данный курс является продолжение курса "Основы программирования на Java с нуля за 1,5 месяца".
Особенностью данного курса является его практическая направленность, поэтому кроме теоретического материала курс содержит 4 практических проектов, работа над которыми будет выполнятся студентом курса под руководством преподавателя, 2 из которых Вы выполните самостоятельно.
После успешного обучения на данном курсе у Вас будет достаточно большой практический опыт в программировании на Java, который и придаст Вам уверенности в дальнейшем трудоустройстве. После прохождения данного курса Вам необходимо определится с Java направлением и развиваться в выбранном направлении.
Благодаря коротким видео лекциям достаточно уделять до часу времени на самостоятельное изучения темы.
Основное отличие курса в том, что даются реальные практические рекомендации по использованию той или иной конструкции языка в реальных проектах, основанные на многолетнем опыте автора по написанию сложных программ и систем на языке Java.
В курсе используется повествовательный стиль изложения материала;
Повествование начинается с описанием проблемы и далее рассматривается как эта проблема решается средствами языка программирования Java;
Видео лекции лаконично чередуются с текстовыми статьями для улучшения эффективности усвоения материала;
Уроки на курсе делятся на следующие категории:
Если урок начинается с префикса "Заметка: ", то это означает, что в данном уроке приводится дополнительный материал по теме повествования. Данный материал рекомендован для расширения кругозора по указанной теме.
Если урок начинается с префикса "Практика: ", то это означает, что в данном уроке приводится текстовое описание задания, которое должно быть выполнено учеником.
После каждого урока с префиксом "Практика: " идет урок с префиксом "Реализация: ", в котором автор курса в режиме реального времени реализует практическое задание, которое студент должен был выполнить. Сравнивая свою реализацию задания с реализацией, которая выполнена автором курса, студент в самостоятельном режиме способен проверить качество своего кода и и справить его при необходимости.
Если урок начинается с префикса "Правило: ", то в этом уроке акцентируется Ваше внимание на то как правильно выполнять ту или иную задачу. Обычно такой урок идет после уроке где данное правило нарушается преднамеренно или для упрощения учебного процесса.
Если урок начинается с префикса "Напоминание: ", то в этом кратком уроке акцентируется Ваше внимание на моменте, который уже был иззучен, но возможно Вы его забыли.
Все остальные уроки без каких-либо префиксов - это повествовательные уроки курса с теоретическим описание и (или) практическим выполнением какой-либо задачи.
Каждый значимый раздел в курсе завершается уроком с названием "Резюме", в котором собраны основные тезисы по всему разделу в текстовом виде. Основная цель данного урока - систематизировать знания, которые Вы получили в текущем разделе.
P. S. Такая структура уроков с практическими заданиями выбрана не случайно:
Если у студента есть опыт, то он сразу же справится с заданием и на этапе проверки сравнит свою версию с той, которая реализована преподавателем.
Если опыта мало, то студент может, воспользовавшись подсказками и дополнительными пояснениями, реализовать задачу.
Если реализовать задача не получается даже после подсказок и дополнительных пояснений, то студенту необходимо самостоятельно ознакомится с решением, которое реализовывает преподаватель. После ознакомления необходимо уже самостоятельно реализовать данную задачу!
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Урок 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
Автор - udemy
udemy
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.
Курс интересен тем, что разбирает много фундаментальных моментов, не освещаемых в других курсах по Джаве
mark080501
а с какого урока у него будут домшки? и будут ли вообще ? уже 74й урок и пока что не было
Anonymous
Лучше Тима Бучалки базу java никто не объясняет, по-моему.
Somebody
Anonymous
Во-первых, у Бучалки курс "весит" 40 гигов, кажется... Естественно, что там все можно обьяснить и охватить. Во-вторых, наш Алишев с Трегуловым ничем не хуже, а может и лучше, потому что на русском... В-третьих, лучше по базе книгу почитать : Daniel L. Yiang "Java Fundamentals", так кажется... Там Java Core обьясняется тщательнейшим образом, как для детей, и с сотнями примеров... Пройдя ее, можно с уверенностью претендовать на джуна... Кого заинтересует, пишите, скину вариант книги с кодом к платформе для доп. занятий и уроков, - там одной книги недостаточно, нужны допы...
Squall
Somebody
Привет, если еще актуально, то скинь пожалуйста и мне, спасибо!
absolutelytotalgenius
Somebody
Привет. Скинь пожалуйста книгу
rebrovoleksiy
Somebody
Скинь пожалуйста)))))))))))))))))
Olovs
Somebody
Introduction to Java Programming Y. Daniel Liang
pdf-ка находится в поисковике без проблем
Гилл Бейтс
Somebody
Скинь пожалуйста!
keldibaevaz
Somebody
по братски скинь пожалуйста
RockSolidDeveloperAsync
Somebody
Please, Share!
hastlaark
Somebody
Скинь, пожалуйста
kurralin
Somebody
Скинь, пожалуйста
karaman
Somebody
привет, скинь прошу )
Akbario
Somebody
скинь пожалуйста
erobel0
Somebody
Cкинь,пожалуйста
Anonymous
Somebody
Привет. буду признателен если и со мной поделишься
Art94
Somebody
привет, поделитесь пожалуйста
Simon
Somebody
А как же книги Шилдта Полное руководство и Кей Хростман в 2 томах ?
Efrit
Somebody
поделитесь, пожалуйста
robertwoodward860
Somebody
Скинь, пожазстя, книгу
Kroen
Somebody
Скинь ссылку пожалуйста
Java Proger
Somebody
скинь плиз
NickName
Anonymous
Это кто? Скинь ссылку пжл
Anonymous
NickName
https://www.udemy.com/user/timbuchalka/
NickName
Вначале все четка подробно объяснял, а потом как погнал кодить
eddy.fadeev
NickName
Это про лектора или про себя было сказано? xD
2nikitinalexandr2
NickName
это про этот курс или про тима бучалку?
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Java курс c нуля и до первой работы. Полный стек технологий
Практический курс Java-разработчика С нуля и до первого оффера
Все необходимые навыки и технологии для работы Java разработчиком собраны в одном курсе. Много практики и теории. В данном курсе будут разобраны все технологии, необходимые для серверной разработки на Java, такие как Spring Framework, Spring Boot, Spring Data, Spring Cloud, Hibernate, протоколы REST & HTTP, базы данных, SQL, Docker и другие. Так же напишем несколько микросервисных приложений о которых можно будет рассказать и показать код на
Java с нуля до Junior + Подготовка к собеседованию
Этот курс предназначен как для людей, которые никогда не изучали языки программирования, так и для тех, кто уже знает язык Java и хочет углубить свои знания и подготовиться к собеседованию на должность Junior разработчика.
Знать теорию важно, но только практикуясь можно стать программистом. Практика для начинающих — лучший онлайн марафон по решению задач на Java для новичков.
Программирование на Java с JavaFx: Создаем Почтовый Клиент
Advanced Java programming with JavaFx: Write an email client
Сообщение, выводимое на консоль при нажатии кнопки, может быть полезным, но в какой-то момент вам нужно выйти за рамки основ. Обучение на основе проектов - лучший способ стать компетентным программистом. Писать приложение-калькулятор - это весело, но знаете, что смешнее? Вы не сможете получить должность программиста, просто создавая простые приложения или просматривая презентации.
Данный курс является продолжением базового курса "Java для начинающих. Level 1", поэтому для его прохождения необходимо уже иметь знания об основах алгоритмизации и программирования. Здесь мы уже приступим к подробному объяснению на практических примерах принципов объектно ориентированного программирования (ООП), как их нужно применять в языке Java.
pdf-ка находится в поисковике без проблем