GrabDuck

peterarsentev/java-courses

:

Практический Java курс. Бесплатно.

Полный видео курс доступен по ссылке

Цель курса

Всем привет. Меня зовут Петр. Я - Java-разработчик с опытом работы более 6 лет. На своем опыте я знаю, как сложно освоить новый язык или технологию. Когда человек начинает изучать Java, первое, с чем он сталкивается, - это огромное количество технологий, фреймворков и библиотек. Человек теряется, что же ему учить. Создается впечатление, что порог вхождения в Java-программисты очень высок. Данным курсом я хочу показать обратное. За пару месяцев интенсивного обучения по курсу вы овладеете достаточными знаниями для устройства на работу, прохождения собеседования и выполнения требуемых задач на работе. Особо хотел бы отметить, что это практический курс, поэтому важную роль играет выполнение всех заданий в каждом занятии. Только тогда будет положительный результат.

Книга. Java. Путь от ученика до эксперта. Практические задания. Разбор решений. Комментарии.

В настоящий момент я занимаюсь разработкой книги к данному курсу, в которой будет собран полный код всех решений к заданиям с подробными комментариями, изложены наиболее оптимальные подходы в программировании, шаблоны проектирования и антипаттерны. Она будет содержать исходные коды и все необходимые учебные материалы курса.

Стоимость данной книги 690 рублей.

Планируемый срок окончания книги - август 2015. Каждый подавший заявку на приобретение книги до 01.08.2015 получит скидку в размере 50%.

Заявку на приобретение книги отправляйте мне на почту parsentev@yandex.ru.

Консультации

Я оказываю консультации по разработке ПО:

  • Обучение языку программирования Java (Индивидуальные, групповые занятия).
  • Составление команды разработки (Отбор, собеседование, распределение ролей)
  • Внедрение методологии разработки (Agile, Lean, XP, Scrum, Kanban)
  • Составление технического задания
  • Выбор технологий разработки (Библиотеки, Фреймворки)
  • Обучение конкретным библиотекам и Фреймворкам.

Стоимость услуг обсуждается индивидуально.

По курсу - Java. Путь от ученика до эксперта.

Разовая консультация. Включает в себя

  • Определение текущего уровня владения языком Java.
  • Детальные рекомендации по дальнейшему развитию.
  • Мотивирующие данные.
  • Время консльтации : 2 часа. Стоимость : 2000р

Вопросы и заявки на консультации отправляйте на почту parsentev@yandex.ru.

План курса

Программа курса.

  • Понятия JVM. Типы данных
  • Синтаксис языка. Классы. Объекты. Условия. Циклы. Массивы
  • Наследование. Инкапсуляция. Полиморфизм
  • Коллекции. List, Set, Map, Tree
  • Инструменты сборки. Хранения кода. Maven, Git
  • Базовые понятия клиент-серверных приложений. Протоколы передачи
  • Обработка http запросов в Java. Servlets. JSP
  • Базовые понятие по HTML, CSS, JS
  • Реализация MVC через Servlets. JSP
  • Работа с базой данных. JDBC
  • Базовый синтаксис SQL
  • Использование POJO в работе с базами. ORM.
  • Hibernate, Mapping
  • Hibernate, CRUD
  • HQL
  • Spring IoC
  • Spring Template + Hibernate
  • Spring MVC

Занятие 1. Вводная

Видео

Задания

  • Какой Вы хотите добиться цели при изучении языка Java?
  • Как Вы можете проверить что цель достигнута?
  • Какой срок реализации Вашей цели?

Занятие 2. Инструменты разработки

Видео

Задания

  • Установить все пакеты на своем компьютере.
  • Прописать необходимые переменные окружения.
  • Проверить работоспособность каждого элемента из списка.

Занятие 3. Типы

Видео

Видео

Детальное описание

Задания

  • Создать класс Calculate.
  • Добавить арифметические вычисления + - * / ^
  • Сделать его адаптивным для типов int, short, long, float, double.

Занятие 4. Классы. Объекты, Циклы, Условия

Видео

Дополнительная информация

Задания

  • Создать класс Calculator.
  • Добавить два класс клиента ArgRunner, InteractRunner.
  • ArgRunner - данные получает из параметров запуска программы.
  • InteractRunner - данные вводит пользователь.
  • Добавить возможность выборка операции. Валидацию. Повторное использование результат вычисления.

Занятие 5. Оформление кода

Видео

Детальное описание

Задания

  • Проверить весь проект по пунктам из занятия.
  • Поправить нарушения этих правил.

Занятие 6. Наследование. Инкапсуляция. Полиморфизм.

Видео

Дополнительная информация

Задания

  • Создать программу для обслуживания клиники домашних питомцев.
  • Должна быть возможно добавлять клиентов.
  • Указывать какой питомец есть у клиента.
  • Возможность искать по кличке питомца, по имени клиента.
  • Редактировать имя клиента, имя питомца.
  • Удалять клиента, питомца.
  • Возможность валидации.

Занятие 7. Подключение Maven, IDEA, JUnit

Видео

Дополнительная информация

Задания

  • Добавить Мaven для проекта Клиника. Калькулятор.
  • Добавить тесты в эти проекты.

Занятие 8. Исключительные ситуации. Exception, Error

Видео

Дополнительная информация

Задания

  • Заменить сообщения о нарушении логики в приложении на пробрасывания исключительных ситуаций.
  • Добавить тесты, которые проверяют эти исключения.

Занятие 9. Создание исполняемого файла. Manifest

Видео

Дополнительная информация

Задания

  • Сделать программу Клиника исполняемой.
  • Добавить файл README.md и описать в нем назначение программы, возможности.
  • Попросить своих друзей попробовать использовать программу.
  • Получить впечатление, отзывы от друзей. Провести работу по исправлению.

Занятие 10. Коллекции. List, Set, Map, Tree.

Видео

Дополнительная информация

Задания

  1. Создать свою реализацию коллекций ArrayList - на базе массива.
  2. Создать свою реализацию LinkedList - на базе связанных списков.
  3. Заменить массивы в проекте Клиника на вашу реализацию.

Занятие 11. Коллекции. Equals. hashCode

Видео

Дополнительная информация

Задания

  • Создать класс пользователь.
  • Провести эксперимент с коллекциями ArrayList, HashSet, HashMap
  • Перекрыть equals, hashCode.
  • Перекрыть только equals
  • Перекрыть только hashCode
  • Не перекрывать
  • Объяснить результаты работы коллекций. Методов contains, add, size, put

Занятие 12. Многопоточность

Видео

Дополнительная информация

Задания

  • Реализовать эмуляцию клиентов и администратора в проекте Клиника для домашних питомцев.

Занятие 13. GUI. Игра сапер.

Видео

Дополнительная информация

Задания

  • Завершить игру сапер реализованную на основе Swing

Занятие 14. Клиент-сервер. Протоколы передачи.

Видео

Дополнительная информация

Задания

  • Расширить модель User.
  • Сделать возможность поиска.

Занятие 15. JSP, Servlet, JTLS

Видео

Дополнительная информация

Задания

  • Реализовать проект Клиника домашних животных в Web приложение

Занятие 16. Тестирование Servlet. Mockito

Видео

Дополнительная информация

Задания

  • Добавить тестирование сервлетов.
  • Добиться площади покрытия больше 80%

Занятие 17. HTML, CSS, JS

Видео

Дополнительная информация

Задания

  • Добавить стили.
  • Добавить валидацию за счет js.
  • Добавить разнообразные формы.

Занятие 18. SQL

Видео

Дополнительная информация

Задания

  • Создать структуры базы данных для хранения данных клиники
  • Создать записи для клиентов, питомцев.
  • Редактировать записи для клиентов, питомцев.
  • Удалить записи для клиентов, питомцев.
  • Получение записей о клиентах, питомцах.

Занятие 19. JDBC

Видео

Дополнительная информация

Задания

  • Заменить хранение данных в клиенте на хранение в базе через jdbc

Занятие 20. Hibernate, Config

Видео

Дополнительная информация

Задания

  • Создать новый тип хранилища не основе Hibernate.

Занятие 21. Hibernate, Mapping

Видео

Дополнительная информация

Задания

  • Добавить связи в моделях клиники.

Занятие 22. Hibernate, Query

Видео

Дополнительная информация

Задания

  • Добавить сложные поисковые запросы в клинику через Hibernate Query.

Занятие 23. Spring, IoC

Видео

Дополнительная информация

Задания

  • Реализовать dbtool. Использую Spring IoC.

Занятие 24. Spring Template, Hibernate

Видео

Дополнительная информация

Задания

  • Сделать интеграцию Spring и Hibernate.

Занятие 25. Spring MVC

Видео

Дополнительная информация

Задания

  • Реализовать MVC через Spring.

Занятие 26. Spring Security

Видео

Дополнительная информация

Задания

  • Добавить прослойку проверки авторизации и аутентификации.

Занятие 27. Заключение

Видео

Задания

  • Создать проект Клиника, используя все технологии указанные в проекте.