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 8,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. Подготовка к собеседованию
- Подведение итогов
- Обзор вакансий, советы по прохождению собеседования
- Куда двигаться дальше?
Official web-site
http://levelp.ru/courses/programmirovanie/java-junior-developer/
Contacts