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

Консультируем с 8:30 до 19:00 Выходной: суббота и воскресенье


Сообщение об ошибке
Сообщение об ошибке

Технологии разработки enterprise-решений на Java by EPAM

Профессиональный курс (обязателен для трудоустройства)

Практическая работа программиста Java невозможна без использования современных инструментов разработки. Давно прошли те времена, когда мы писали код в блокноте или собирали проект с помощью стандартного компилятора javac. Новое время диктует новые подходы к работе, а также к тем технологиям и инструментам, которые раньше считались передовыми, а сейчас уступают место более совершенным, быстрым и надежным. Например, написание кода в блокноте заменили на полностью интегрированные системы сборки и отладки приложений - такие, как Intellij Idea Integrated Environment, Eclipse и др. Разработка апплетов переросла в сложные распределенные приложения, которые могут располагаться на пяти серверах в разных точках света.

Мы начнем нашу работу (не просто изучение, а именно работу) над адаптацией имеющихся навыков и знаний к новым реальностям с освоения и практической настройки локальных сред разработки, включающих в себя систему сборки проекта Apache Maven, HTTP-сервер Apache, сервер приложение Tomcat, СУБД Oracle и систему контроля версий Subversion. Данная конфигурация является стандартной для большинства проектов и позволяет быстро адаптироваться к меняющимся требованиям конфигурации за счет понимания основных принципов взаимодействия серверов и практического опыта, выработанного в процессе обучения.

Важным моментом является не только построение локальных сред, но и использование стандартных компонентов и библиотек промышленного программирования: Hibernate и Spring.

Hibernate — библиотека языка программирования Java, предназначенная для решения задач по интеграции конкретного приложения с базой данных. Причем Hibernate позволяет писать код, используя принципы объектно-ориентированного программирования. Hibernate берет на себя основную сложность по адаптации вашего java-кода к реляционной модели (табличное представление данных) современных СУБД. Благодаря этой библиотеке вы можете концентрироваться на логике приложения, а не особенностях написания запросов под конкретную базу данных, что позволяет создавать более качественные приложения в сжатые сроки.

Spring Framework (или коротко Spring) — универсальный фреймворк с открытым исходным кодом для Java-платформы. Spring обеспечивает решение многих задач, с которыми сталкиваются Java-разработчики и организации, желающие создать информационную систему, основанную на платформе Java. При этом Spring, несмотря на его масштабную интеграцию с платформой Java Enterprise, не связан с ней полностью, что является важной причиной его популярности.

Spring, вероятно, наиболее известен как источник расширений (features), нужных для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей, которые исторически были доминирующими в промышленности. Еще одно его достоинство в том, что он ввел ранее неиспользуемые функциональные возможности в сегодняшние господствующие методы разработки, причем даже вне платформы Java.

Spring предлагает последовательную модель и делает ее применимой к большинству типов приложений, которые уже созданы на основе платформы Java. Считается, что этот фреймворк реализует модель разработки, основанную на лучших стандартах индустрии, и делает ее доступной во многих областях Java.

Описание курса

Формы обучения

Вечерняя

14.01.2020 - Осталось: 38 дней
Вторник, пятница (с 18.30 до 21.20)
1376 BYN
140 уч.ч.
Рассрочка четыре выплаты по 378 BYN / месяц
№ группы: G-JD2-09-20

Для чего этот курс

Цель курса:

  • Научить слушателей пользоваться основными инструментами промышленной разработки программного обеспечения и подготовить их к работе в реальных проектах.

Вы будете знать

  • 3-х уровневую архитектуру разработки. 

  • Принципы использования фреймворка Apache Maven.

  • Принципы использования фреймворка Hibernate.

  • Принципы использования фреймворка Spring.

  • Принципы использования аннотаций в Java-ориентированных фреймворках.

  • Основы работы с сервером приложений Apache Tomcat.

  • Принципы работы с «Системой контроля версий».

Вы будете уметь

  • Разрабатывать 3-х уровневую архитектуру энтерпрайз приложений.

  • Использовать возможности фреймворков Apache Maven, Hibernate и Spring.

  • Использовать Аннотации.

  • Управлять сервером приложений.

  • Работать с «Системой контроля версий».

Условия отбора

Зачисление на курс проводится по результатам собеседования на конкурсной основе

Необходимая подготовка

  • владение компьютером на уровне уверенного пользователя

  • знание SQL, Java Core, Java EE (JSP, Servlets, JDBC), Design Patterns (singleton, dao, front-controller, factory, command)

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

  1. Основы Apache Maven
    Настройка Apache Maven для Windows. Создание нового проекта. Компилирование и тестирование проекта. Описание Объектной модели проекта (POM). Описание жизненного цикла сборки. Описание профайлов сборки.
  2. Инженерные техники при работе с Apache Maven
    Автоматизация сборки. Модульность проекта. Управление зависимостями. Автоматизация установки проекта. Сборка web-приложения.
  3. Введение в Web, Протокол HTTP
    Введение в Web, Протокол HTTP
  4. Apache Tomcat Сервер
    Архитектура Tomcat. Выполнение скриптов сервера Tomcat. Передача конфигурационных опций времени выполнения скриптам Catalina. Конфигурирование сервера Tomcat. Конфигурация хостов. Конфигурация контекстов. Менеджер веб-приложений Tomcat. Получение доступа к менеджеру веб-приложений. Доступ к менеджеру веб-приложений, используя веб-интерфейс. Tomcat Maven plugin.
  5. Передача данных в HTTP и Java Servlet, Servlet Filters
    Передача данных в HTTP и Java Servlet, Servlet Filters
  6. Java Server Pages (JSP)
    Java Server Pages (JSP)
  7. Использование Standard Tag Library (JSTL)
    Использование Standard Tag Library (JSTL)
  8. Основы GIT
    Основные понятия управления версиями. Получение учетной записи на www.github.com. Установка клиента Git. Создание локального репозитория, связанного с удаленным репозиторием. Внесение своих изменений в репозиторий. Загрузка локальных изменений в удаленный репозиторий. Откат изменений в рабочей копии. Основные и дополнительные команды Git.
  9. Введение в Базы данных и SQL
    Введение в Базы данных и SQL
  10. Нормализация. Группировки. Joins
    Нормализация. Группировки. Joins
  11. Java Database Connectivity (JDBC)
    Java Database Connectivity (JDBC)
  12. DAO патерн. Практика
    DAO патерн. Практика
  13. Введение в Hibernate
    Введение в механизм сохранения данных. Объектно-реляционная модель. Первое приложение с использованием Hibernate.
  14. Работа с объектами в Hibernate
    Архитектура Hibernate. Состояние объектов в жизненном цикле Hibernate. Операции над данными в Hibernate. Сохранение объектов. Загрузка объектов. Обновление объектов. Удаление объектов. Приоритет выполнения flush операций.
  15. Основы отображения объектно-реляционной модели
    Объявление отображения сущности. Объявление отображения полей сущности. Именование таблиц и полей. Понимание идентичности. Понятие компонента и сущности.
  16. Отображение иерархии классов
    Понятие компонента и сущности. Отображение наследников.
  17. Отображение отношений
    Hibernate аннотация @OneToOne. Hibernate аннотация @OneToMany. Hibernate аннотация @ManyToMany. Каскадные операции в отношениях.
  18. HQL/JPQL: объектно-ориентированный язык запросов
    Описание и структура языка HQL/JPQL. Операции языка HQL/JPQL. Именованные запросы.
  19. Запросы Criteria JPA
    Описание структуры Criteria instance. Операции ограничения выборки. Проекции и агрегация в Criteria. Joins. Detached Queries.
  20. Транзакции и параллелизм
    Использование транзакций. Уровни изоляции транзакций. Установка уровня изоляции транзакций. Пессимистические и оптимистические блокировки, версионирование. Распределенные транзакции. Детализация сессии. Настройка Кэша второго уровня.
  21. Введение в Spring
    Описание механизма внедрения зависимостей. Описание Spring модулей. Контейнеры Spring. Жизненный цикл компонента Spring.
  22. Описание связей между бинами
    Объявление бинов. Введение в свойство бинов. Описание SpEL expression language.
  23. Минимизация XML конфигурации в Spring
    Автоматическая связь между бинами. Связь с аннотациями. Автоматическое обнаружение бинов.
  24. Аспектно-ориентированное программирование в Spring
    Введение. Конфигурация аспектов в контексте приложения. Конфигурация аспектов через аннотации.
  25. Интеграция Hibernate и Spring
    Объявление Hibernate entity manager factory. Описание конфигурации.
  26. Управление транзакциями
    Транзакции в Spring. Программные транзакции в Spring. Декларативные транзакции в Spring.
  27. Компонент Spring DATA
    Интерфейс Repository. Интерфейс CrudRepository (базовый функционал CrudRepository, использование условий и выражений в запросах). Интерфейс JpaRepository (использование @Query-annotated запросов). Пэджинация и сортировка запросов. Запросы по образцу.
  28. Компонент Spring MVC
    Введение в MVC. Реализация базового контроллера. Обработка параметров контроллера. Обработка форм.
  29. Spring REST
    Введение. Возможности Spring Rest. Аннотации Spring Rest.
  30. Безопасность Spring
    Введение в модуль безопасности Spring. Безопасность web-запроса. Аутентификация пользователей. Методы безопасности.
  31. Spring Boot
    Введение в Spring Boot. Компоненты Spring Boot. Запуск веб-приложения. Интеграция со Spring-data. Переопределение системных переменных.
  32. Защита проектов
    Защита проектов

Преподаватели курса

Дмитрий Живушко

Ведущий инженер-программист в EPAM (Гродно)

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

На сегодняшний день имею более 10ти лет опыта работы в IT сфере в должности программиста. За эти годы успел сменить не только десятки проектов различной направленности, но и основной язык программирования. С 2015 года активно занимаюсь разработкой высоконагруженных распределенных систем с применением NodeJS технологии. Но это не мешает продолжать использовать накопленный опыт Java разработок (в том числе и на тренингах), а наоборот – расширяет кругозор и позволяет иначе смотреть на отдельные жесткие каноны в Java.

Активную деятельность, связанную с тренингами по профилю Java/web, начал около 4х лет назад. Не считаю себя особенным тренером, но высокий процент положительных отзывов (>80%) по результатам каждого из предыдущих тренингов заставляет продолжать эту деятельность и развивать соответствующие навыки. Отличительной чертой тренингов, проводимых с моим участием, считаю:

  • акцент учебного процесса на практику, а не теорию

  • подачу материала простым понятным языком

  • минимум технических деталей и терминологии на первых этапах обучения

Являюсь сторонником идеи, что начать карьеру программиста и дойти минимум до среднего уровня по служебной лестнице, может практически любой человек с базовыми способностями логического мышления. Но при этом определяющим фактором успешного обучения является наличие интереса к данной деятельности, трудолюбие и терпение.

dmitri.zhyvushko@gmail.com

Иван Хмурчик

Могу назвать себя профессионалом по Java, так как более 7 лет использую этот язык при разработке различных проектов. Кроме того, в сферу моих интересов входят такие программные технологии и фреймворки, как J2EE (JDBC, JNI, EJB, JMS, Servlets), J2SE, Spring, Hibernate, JDO/JPOX, Eclipse (Equinox, EMF, Teneo, RCP, SWT, RAP) и другие. Моей задачей в рамках данных курсов является не просто ознакомить с основными приемами программирования на выбранном языке, но и показать возможность постоянного развития и совершенствования своих навыков, которые определяются не только набором известных алгоритмов, а еще и своеобразным творческим подходом к решению возникающих задач и проблем.

На сегодняшний день работаю на должности Group Lead в instinctools, занимаюсь разработкой проектов на Java, а также занимаюсь развитием Junior-разработчиков в компании. От своих слушателей жду желания учиться, активного вовлечения в процесс обучения, а также вопросов, позволяющих по-новому взглянуть на процессы разработки.

ivan.khmurchik@instinctools.ru

Оставьте заявку на курс сейчас

Запишитесь на курс сегодня, и уже завтра мы свяжемся с Вами и пригласим на ближайшее вводное занятие.
И конечно, расскажем про полную программу обучения и ее специфику, тренера, а главное – про нашу программу трудоустройства.

Более 2760 выпускников успешно работают в IT-компаниях в Беларуси и за рубежом

Акции и новости