курс

Программирование на Java (продвинутый курс)

Главная > Каталог курсов > Программирование и тестирование > Программирование на Java (продвинутый курс)

Мы проводим очные и дистанционные группы!


72 академчаса, 18 занятий
до 7 человек в группе
930 BYN
Дата начала ближайшей группы - открыта

Ближайшие группы

Записаться в группу

Нужен индивидуальный график?

check-orange
начинаем хоть сейчас
любые дни недели
любое время дня
в классе: 2 700 BYN
60 академических часов
15 занятий
онлайн: 2 700 BYN
60 академических часов
15 занятий

Учиться индивидуально

Курс “Программирование на Java (продвинутый курс)” предназначен для ознакомления слушателей на углубленном уровне с основными технологиями, применяемыми при программировании на языке Java. Для успешного освоения курса слушатель должен уметь иметь знания Java SE в рамках курса «Основы программирования на Java», представление о html, JavaScript.

При успешном окончании курса слушатели получат навыки разработки приложения основанные на архитектуре Java EE, с использованием среды Eclipse и сервера веб-приложений Tomcat. Курс позволит систематизировать знания по теме, освоить новые приёмы и методы программирования, а также при необходимости подготовиться к интервью при трудоустройстве. Занятия проходят в режиме тренинга.

Полная программа курса “Программирование на Java (продвинутый курс)”

Тема 1. Введение. Основы работы простейшей java-программы

  • Программа курса. Цели и задачи
  • Понятие кроссплатформенности в Java
  • Отличия JVM, JRE, JDK
  • Запуск простейшего Java-приложения
  • Ключевое слово package
  • Ключевое слово import
  • Переменные среды

Тема 2. Инструмент автоматической сборки Maven

  • Компиляция java-классов в указанную папку
  • Упаковывание java-классов в java-архив
  • Установка и настройка Maven
  • Структура maven-проекта. Обзор основных команд Maven
  • Запуск проекта в Intelij IDEA
  • Работа в режиме debug. Основные моменты
  • Подключение dependency в maven
  • Локальный и глобальный репозитории maven’a

Тема 3. Необходимые инструменты Git, JUnit, Logging

  • Что такое CVS? Что такое GIT?
  • Основные команды Git
  • Создание git-репозитория и дальнейшая с ним работа
  • Что такое тестирование? Зачем оно надо?
  • Примеры покрытия исходного кода тестами при помощи библиотеки Junit
  • Что такое журналирование? Зачем оно надо?
  • Подключение и настройка библиотеки Log4j
  • Что такое аппендеры?

Тема 4. Введение в web-программирование

  • Архитектура клиент-серверного приложения
  • Стек протоколов передачи данных по сети. (TCP/IP)
  • HTTP протокол – основные понятия
  • XML – eXtensible Markup Language.
  • JSON – JavaScript Object Notation
  • HTML – HyperText Markup Language
  • CSS – Cascading Style Sheets
  • Введение в Servlet API
  • Контейнер сервлетов
  • Запуск web-приложения через maven plugin

Тема 5. Servlets API

  • Установка и настройка контейнера сервлетов Apache Tomcat
  • Жизненный цикл сервлета
  • forward vs redirect
  • Коды http-ответов
  • Введение в JSP
  • Жизненный цикл JSP
  • Знакомство с jstl
  • Формирование web-cтраниц для приложения CRUD (CreateReadUpdateDelete)

Тема 6. Основы работы с Базой данных. SQL

  • Установка программного обеспечения Mysql Server, Workbench, Connector/J
  • Основные понятия
    * Схема
    * Таблица
    * Столбец
    * Строка (запись)
  • Обзор языка SQL
    * Data Definition Language (DDL)
    * Data Manipulation Language (DML)
  • Типы связей таблиц.
  • Понятие схемы базы данных. Скрипт схемы.
  • Обзор хранимых процедур.
  • Миграции базы данных. Миграция с MySQL на PostgreSQL
  • Обзор утилит для работы с БД — DB Visualizer, Heidy SQL, JetBrains DataGrip

Тема 7. Введение в JDBC.

  • Введение в архитектуру JDBC
  • Добавление зависимости mysql-connector-j
  • Соединение с БД. Объект Connection.
  • Создание базовых операций CRUD на jdbc
  • Обработка данных. Объект ResultSet.
  • Транзакции. Работа с транзакциями в JDBC

Тема 8. JDBC. Продолжение.

  • Выполнение SQL запросов. Statement, PreparedStatement, CallableStatement
  • Понятие пула соединений с БД (Connection Pool)
  • Объект DataSource.
  • Обзор библиотеки Apache DBCP
  • Конфигурация DataSource на сервере Tomcat с использованием JNDI.
  • Мета-информация о базе данных. Объекты ResultSetMetaData и DatabaseMetaData

Тема 9. Hibernate

  • Что такое JPA?
  • Связь между JPA и Hibernate
  • Настройка проекта
  • Конфигурация Hibernate
  • Основные Аннотации
  • Разработка CRUD-операций с использованием Hibernate

Тема 10. Hibernate. Продолжение

  • 4 способа отправки запросов через Hibernate
  • Типы связей таблиц
  • Построение связей @OneToOne, @OneToMany, @ManyToMany
  • Инициализация Lazy & Eeager
  • Понятие сессии, состояния, жизненный цикл, уровни кеширования

Тема 11. Spring Core

  • Что такое Spring?
  • IoC & DI
  • Работа с объектами в Spring через XML
  • Работа с объектами в Spring через аннотации
  • Жизненный цикл spring bean
  • Области видимости бинов
  • @Qualifier

Тема 12. Spring core. Продолжение

  • BeanFactory & ApplicationContext
  • Двухфазовый и трехфазовый конструктор
  • Разработка собственного обработчика BPP
  • Конфигурация бинов через аннотации

Тема 13. Spring MVC

  • Шаблон проектирования MVC
  • Отличие servlet & controller
  • WebApplicationContext
  • Настройка ViewResolver
  • Основные аннотации Spring MVC
  • Как вернуть в качестве ответа ошибку/статус через Spring MVC?

Тема 14. Spring REST

  • Что такое REST?
  • Установка и знакомство с программой Postman для тестирования REST-сервисов
  • Отличие @RestController от @Controller
  • Использование библиотеки по конвертации данных в JSON|XML для отправки ответа
  • Разработка функционала для CRUD-операций согласно REST

Тема 15. Spring Data JPA

  • Настройка необходимых бинов и библиотек для работы с Spring Data JPA
  • Работа с интерфейсом repository
  • Разработка CRUD-операций для взаимодействия с Базой данных
  • Как добавлять новый функционал, используя лишь правильные названия методов?
  • Как использовать обычные SQL-запросы в Spring Data JPA?
  • Как spring работает с транзакциями. @Transactional

Тема 16. Spring AOP

  • Настройка необходимых бинов и библиотек для работы с Spring AOP
  • Основные понятия. JoinPoint, PointCut, Advice, Aspect
  • Основные аннотации. @Before, @ After, @Around, и т.д.
  • Написание функционала для наглядной демонстрации работы Аспектов
  • Чем опасны аспекты?

Тема 17. Spring Boot

  • Что такое Spring Boot?
  • Простота управления зависимостями. spring-boot-starter
  • Создание проекта с помощью Spring Initializer
  • Шаблонизатор Thymeleaf и др.
  • Разработка RestController’a и Spring Data JPA’ репозитория с помощью Spring Boot

Тема 18. Spring Security. Последнее занятие

  • Введение в Spring Security
  • Основные понятия, основные моменты.
  • Подведение итогов
  • Поговорим о собеседовании: как к нему подготовиться

Преподаватели курса "Программирование на Java (продвинутый курс)"

Самсонов Дмитрий
Java-разработчик

Опыт работы: более 5 лет
Опыт преподавания: более 2 лет

Оставьте заявку прямо сейчас!

Оставьте заявку и при оплате сегодня Вы получите скидку 7%

Приведите с собой друга -
при оплате каждый из Вас получит скидку 10%

Пора заняться английским!

Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).

Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!