ст.м. "Фрунзенская"
9:00 - 18:00 по будням
Программирование на Java (продвинутый курс)
Мы проводим очные и дистанционные группы!
Ближайшие группы
Нужен индивидуальный график?
Курс “Программирование на 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 (продвинутый курс)"
Опыт работы: более 5 лет
Опыт преподавания: более 2 лет
Пора заняться английским!
Сегодня большинство IT-компаний не будут всерьез рассматривать кандидата даже на Junior-позицию без знаний английского языка на уровне B1 (Intermediate).
Мы разработали специальный курс по Английскому для IT-специалистов, чтобы улучшить Ваши разговорные навыки и познакомить Вас с IT-лексикой. Он станет отличным дополнением к данному курсу!