Хотите получать информацию по новым курсам и их датам проведения?
Главная \ Единый Портал Обучения \ Корпоративное обучение \ Программирование \ (Java-3) Java Junior Developer
(Java-3) Java Junior Developer
Код курса: Java-3
Описание курса
Курс Java Junior Developer организован как форма активного обучения, целью которого является понимание принципов Объектно Ориентированного программирования на платформе Java, изучение основных пакетов Java и умение писать на Java сложные веб-приложения.
Акцент курса делается на понимание и практику программирования на Java в объектно-ориентированном стиле. Для увеличения объема пройденного материала часть теории (типы, операции, управляющие конструкции, модификаторы доступа и т.д.) будет Вашей домашней работой (по предоставленным материалам) с последующим закреплением в форме вопросов, обычно задаваемых на собеседовании.
Практика:
- Практической частью домашней работы будет последовательная разработка java веб-приложения: прототип сайта поиска работы.
- Курс будет построен на активном взаимодействии с обучаемыми в форме разбора домашнего задания: выбора оптимальной доменной модели; реализации, паттернов проектирования, дизайна разрабатываемого приложения.
От скорости прохождения материалов курса группой будет зависеть объем функциональности полученного в конце курса приложения. Побочным результатом курса будет ваше личное резюме java разработчика с одним из пунктов в списке достижений: разработка веб-приложения.
Свойства приложения:
- Объектно ориентированная доменная модель с возможностью легкого расширения функциональности.
- Долговременное хранение в двоичном виде в файле, в xml, в DB (PostgreSQL).
- Веб-интерфейс, основанный на технологии JSP.
Требования к участникам курса:
- Умение программировать на Java / C++ / C#
- Желательно иметь представление о XML, HTML, SQL, JavaScript
Программа курса:
1. Начинаем проект: maven / github / JUnit / непрерывная интеграция
- Знакомство
- Обзор сайтов и литературы по Java и ООП
- Обзор фреймворков, библиотек, инструментов платформы java. Возможности Java.
- Придумываем проекты: что мы можем сделать на этом курсе
- Автоматическая сборка. Maven
- Системы контроля версий. Git. Github: создание репозитория, использование средств - issues / milestones
- Методологии разработки. Гибкие методологии, каскадная модель. Экстремальное программирование, основные принципы.
- Разработка через тестирование. JUnit 4.
- Системы непрерывной интеграции. Travis.
- Основные этапы разработки, обсуждение. Ядро системы, бизнес-логика, представление. Шаблон MVC.
- Задачи на HackerRank - решение задач на время для практики в Java
- Придумать объектную модель для своего проекта
- Создать описание (например: общий Google-документ), репозиторий, чат для своего проекта
2. Работа с БД (MySQL, PostgreSQL): JDBC. Hibernate
- Обсуждение проектов, Распределение по проектам, командная работа
- JPA, Hibernate, подключение и настройка.
- Обзор: PostgreSQL, MySQL, HSQLDB, SQLite
- Введение в Hibernate (повтор), HQL, Entities lifecycle.
- Connection Pool в Hibernate.
- JDBC, Hibernate и Stored Procedures - когда что полезно?
- Планы разработки проектов.
Домашнее задание:
- Сделать JUnit тесты DAO.
- Дополнить классы модели конструкторами, equals, hashCode, toString.
- Реализовать типы объектной модели через enum
3. Веб-Контейнер Tomcat. Сервлеты. JSP. Работа с Датой
- Java 9 - что нового?
- Date, Calendar, DateFormat (Format). Работа с датой и временем в Java 8.
- Сервера приложений. Установка и настройка Tomcat.
- Создание простого веб-приложения на Java.
- Servlets (HttpServlet, GET/POST/PUT/DELETE запросы), web.xml, добавление своих сервлетов.
- JSP (базовые теги, Jasper), JSTL
- Обзор: Javascript, DOM, HTML, CSS
Домашнее задание
- Загрузить и установить Tomcat. Изучить примеры JSP.
4. Spring: IoC, Dependency Injection, конфигурирование XML, JavaConfig
- Hibernate: ManyToOne, OneToMany, ManyToMany
- Spring Project: что в него входит и какие возможности он предоставляет.
- Inversion of Control, Dependency Injection.
- Spring IoC, ApplicationContext, конфигурирование через XML и аннотации. Beans.
- Autowire, как это работает (dependency resolution, beans scope).
- Spring MVC. Основная структура приложения (dispatcher servlet, view resolver, controllers)
- Настройка DispatcherServlet .
- Контроллеры и их методы (пути в веб-приложении)
Домашнее задание
- Создать интерфейс DAO работы с моделью
- Реализовать этот интерфейс через коллекции
5. Generics, Collections, Time complexity
- Повторение generics, wildcards
- Сложность алгоритмов, оценка алгоритмов
- Коллекции: основные интерфейсы, старые коллекции и новый фреймворк.
- Реализация и оценка сложности ArrayList, LinkedList, HashMap
- Обзор LinkedHashMap, TreeMap, HashSet, LinkedHashSet, TreeSet
- Итераторы, ConcurrentModificationException.
Домашнее задание:
- Добавить в своё приложение первые страницы и/или реализацию сервисов
6. Архитектура веб-приложения со Spring, шаблоны проектирования
- Архитектура веб-приложения на Spring.
- DAO, Entities. Spring Persistence.
- Spring Service, как с ними работать.
- MVC, MVP, MVVM и их различия
- Шаблоны проектирования. Основы.
- Фабрика, абстрактная фабрика, прототип и синглтон
- Обзор поведенческих, структурных и порождающих шаблонов проектирования.
7. Многопоточность, основы и шаблоны
- Многопоточность: основные проблемы
- Языковые средства для реализации многопоточности
- Стандартные практики для реализации потокобезопасности классов
- Synchronized collections и concurrent collections
- Встроенные классы JDK для работы с многопоточностью.
- Обзор шаблонов проектирования для многопоточных приложений.
Домашнее задание:
- Основы работы с HTML
- Учебник HTML
- Таблицы стилей CSS
- Основы JavaScript
- Сервлеты
- Технология JSP – Java Server Pages
8. Spring Security - аутентификация и авторизация. jQuery, REST controllers, Ajax
- Создание окна авторизации. Spring Security
- REST controllers
- Работа с JS, Jquery, Ajax
- Механизм тем в Spring
- Работа над проектами
9. Тестирование Spring. Работа над проектами
- Обзор методов тестирования Spring- приложений
- Разработка веб-сервисов
- Работа над проектами
10. Подготовка к собеседованию
- Подведение итогов
- Обзор вакансий, советы по прохождению собеседования
- Куда двигаться дальше?
11-12. Работа над проектами
Для построения приложения мы будем использовать инструменты промышленной java разработки:
- Java 9
- Веб-контейнер Tomcat
- Объектно-реляционная СУБД PostgreSQL
- Среда разработки IntelJ IDEA
- Инструмент постороения Maven
- Система контроля версий Subversion
- Библиотеки Apache Commons
- Библиотека JavaScript jQuery
- Интеграционные и модульные тесты JUnit 4
- Систему логгирования Log4j и SLF4J
- Библиотеку конфигурирования Typesafe config
- Инструмент тестирования веб-сервисов SoapUI
- Средство отладки веб-приложений firebug
Расписание
Вт 19:00 - 22:00
Пт 19:00 - 22:00
Дни | 1,5 месяца (48 ак. часов) |
---|---|
Дата курса | 11.июн |
Город | Все города |
Формат обучения | Корпоративный |
Оставьте отзыв
Заполните обязательные поля *.