• Направления обучения
  • Все курсы
  • Контакты

Web приложение - My Resume


Web приложение - My Resume  $115 $9.99
Категория: Java Enterprise Edition
  • 22 урока
  • Длительность: 22:42:10
  • Исходный код
  • Обзор результата
  • UI макеты
  • 6971 просмотр
Купить курс

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


В рамках данного курса будет написано Web приложение My Resume с использованием Java технологий: Spring Core, String MVC, Spring Data JPA, Hibernate, Spring Security, Sitemesh, Spring Data ElasticSearch, JSP, JSTL, Hibernate-Validators, Facebook API, Spring Data Mongo.

Пользовательский интерфейс построен с использованием HTML5, CSS3, Bootstrap, JQuery.

Для долговременного хранения данных будут использованы PostgresSQL и MongoDb. Таким образом проект будет изначально написан для работы с PostgresSQL, а затем портирован на MongoDb.

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

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

Работая над проектом Вы освоите не только разработку приложений на Java, но и как правильно составлять резюме разработчика: Одним выстрелом - двух зайцев!

Для получения дополнительной информации по теме данного курса, рекомендуем следующие источники информации:

  • PostgreSQL документация
  • Spring документация
  • JPA спецификация
  • Spring Data JPA документация
  • Spring Data Mongo DB документация
  • Spring Data ElasticSearch документация
  • Spring Security документация
  • Крис Шефер, Кларенс Хо, Роб Харроп, Spring 4 для профессионалов (Pro Spring) - М.:Вильямс, 2016 - 752 с. - ISBN 978-5-8459-1992-2
  • Роберт Мартин, Чистый код: создание, анализ и рефакторинг - СПб.:Питер, 2010. - 464 с. - ISBN 978-5-49807-381-1
  • Сергей Моренец, Разработка Java приложений - Книга 1
  • Сергей Моренец, Разработка Java приложений - Книга 2

Курс ориентирован на Java Junior разработчиков, которые хотят прокачать свои skills до Java Junior+ или Java Middle.

В рамках данного курса Вы научитесь


  • Проектировать и создавать реляционные базы данных;
  • Использовать шаблон MVC для создания web системы любой сложности;
  • Разбивать вашу будущую системы на отдельные модули с четким разграничением ответственности для каждого модуля и управлять зависимостями с помощью Spring IoC контейнера;
  • Использовать возможности Spring MVC и Spring Data для быстрой разработки web приложений;
  • Использовать Spring Data для построения абстрактных репозиториев с возможностью быстро изменить тип хранилища с наименьшими затратами;
  • Использовать декларативное управление транзакциями и возможности аспектно-ориентированного программирования;
  • Контролировать доступ к отдельным модулям Вашего приложения с помощью Spring Security;
  • Писать чистый и понятный другому программисту код;
  • Интегрировать социальные сервисы в Ваш проект;
  • Защищать свое web приложение от общеизвестных атак и уязвимостей;
  • Писать производительные приложения и быстро находить узкие места в вашем приложении;
  • Загружать Ваш проект на хостинг с последующим предоставлением доступа Вашим клиентам;
  • Использовать основные правила масштабирования Вашего приложения при необходимости увеличить число клиентов.

Для успешного прохождения курса необходимо


  • Знание Java core: (Classes, IO, Collections, Exceptions, JDBC) (Для получения этих знаний рекомендуем курс Основы Java SE - HTTP сервер);
  • Базовые знания SQL (select, insert, update, delete, основы транзакций) (Для получения этих знаний рекомендуем курс Основы SQL);
  • Знание Java EE: Servlets, JSP, Filters, Listeners, JSTL, HTTP протокол, а также опыт написания web приложений на Java, используя MVC шаблон (Для получения этих знаний рекомендуем курс Web приложение - IShop);
  • Знание HTML, CSS, JavaScript, Bootstrap, Основ верстки (Для получения этих знаний рекомендуем курс Макет интернет магазина - IShop);
  • Понимание принципов декларативного управления транзакциями, внедрения зависимостей и объектно-реляционного отображения (Для получения этих знаний рекомендуем курс Рефакторинг Web приложения - IShop).

План курса


  • 1
    Настройка окружения и обзор архитектуры будущего приложения
    Длительность урока: 57:55
    1. Настройка окружения:
      1. FireFox - HTML браузер (https://www.mozilla.org/en-US/firefox/new/);
      2. Firebug - плагин для FireFox, который позволяет просматривать структуру страницы и параметров HTTP запросов (http://getfirebug.com/);
      3. JDK 1.7 и настройка JAVA_HOME (http://www.oracle.com/technetwork/java/javase/downloads/index.html);
      4. Tomcat 8.0 и запуск в debug режиме (https://tomcat.apache.org/);
      5. Postgresql 9.5.0 - сервер базы данных (http://www.postgresql.org/download/);
      6. PgAdmin - админпанель для работы с Postgresql;
      7. SQL Manager Postgres - SQL клиент для работы с сервером Postgresql (http://www.sqlmanager.net/en/products/postgresql/manager);
      8. Eclipse Mars - IDE для разработки на Java (http://www.eclipse.org/downloads);
      9. Git for windows - инструмент системы контроля версий Git for windows (https://git-scm.com/download/win).
    2. Постановка задачи - разработка web приложения по составлению резюме
    3. Обзор архитектуры - использование шаблона MVC для проекта и определение правил взаимодействия между компонентами
    4. Создание Maven проекта в Eclipse для данной системы, определение структуры проекта и загрузка кода на github
    5. Напоминание возможностей Servlet, Listener, Filter, JSP компонентов для данного проекта
    6. Запуск Tomcat в отладочном режиме и отладка web приложений
    7. Основные правила передачи управления между Servlet, Filter и JSP при использование MVC шаблона
  • 2
    Основные возможности реляционных баз данных. SQL.
    Длительность урока: 1:14:00
    1. Обзор все UI макетов, которые необходимы для разработки данного проекта
    2. Обзор основных объектов реляционной базы данных: таблицы, индексы, проверки, представления, материализованное представления, последовательности, функции, процедуры, триггеры, пользовательские типы данных, пакеты и схемы, пользователи и привилегии
    3. DDL, DML, SELECT, Transactions
    4. Пример проектирование базы данных для отдельного тестового проекта
  • 3
    Создание HTML шаблона с помощью Bootstrap
    Длительность урока: 1:02:06
    1. Проектирование базы данных для проекта My Resume, обзор основных таблиц и связей между ними (Выполнение домашнего задания прошлого урока)
    2. Создание генератора тестовых данных для проекта (Выполнение домашнего задания прошлого урока)
    3. Скачивание и настройка Bootstrap, JQuery и FontAwesome для проекта
    4. Обзор Bootstrap Grid System
    5. Создание странички отображение профиля с помощью bootstrap
  • 4
    Шаблонизация и декомпозиция уровня представления
    Длительность урока: 36:57
    1. Проблема дублирования и сложности кода представления и ее решение с помощью шаблонизации и декомпозиции
    2. Обзор возможностей SiteMesh3
    3. Пример декомпозиции страницы профиля пользователя с помощью тегов и jsp include
  • 5
    Основы Spring Core: Spring IoC container
    Длительность урока: 57:02
    1. Декомпозиция странички профиля для проекта (Выполнение домашнего задания прошлого урока)
    2. Архитектура Spring IoC
    3. Spring Configurations: XML, Annotation, Java
    4. Bean scopes
    5. Lifecycle callbacks
    6. Aware interfaces
    7. FactoryBean
    8. Spring Annotations
    9. BeanFactory vs ApplicationContext
    10. Spring Resources
    11. Пример конфигурации Spring для проекта
  • 6
    Основы Spring MVC для веб приложения
    Длительность урока: 1:21:53
    1. Основы Spring MVC
    2. DispatcherServlet и его конфигурирование в web.xml или WebApplicationInitializer
    3. Конфигурация основных компонентов Spring MVC
    4. @Controller и @RequestMapping
    5. View resolvers
    6. Handling exceptions
    7. Interceptors
    8. Spring MVC Resources
    9. Пример использования Spring MVC для проекта
    10. Демонстрация работы Spring MVC в проекте
  • 7
    ORM, JPA, SpringData
    Длительность урока: 1:53:02
    1. Основы Java ORM
    2. Стандарт JPA
    3. Требования к Entity
    4. Persistent Fields vs Persistent Properties
    5. Простые и составные ключи
    6. Обзор основных аннотаций JPA
    7. Inheritance Mapping Strategies
    8. Отношения в Entities и загрузка дочерних объектов
    9. JPA архитектура
    10. Основные методы EntityManager
    11. Entity Lifecycle Management
    12. JPQL & Query интерфейс
    13. Основы Spring Data
    14. Примеры создания динамических репозиториев с помощью Spring Data JPA
    15. Spring Data Magic and Supported keywords inside method names
    16. Пример использования Spring Data + JPA Hibernate в проекте
    17. Демонстрация работы Spring Data + JPA Hibernate в проекте
    18. Решение проблемы LazyInitializationException
  • 8
    Основы обработки HTML форм с помощью Spring
    Длительность урока: 46:45
    1. Создание всех классов сущностей для проекта(Выполнение домашнего задания прошлого урока)
    2. Основы обработки HTML форм. Использование @ModelAttribute
    3. Обработка multipart форм с помощью Spring MVC
    4. Отображение html формы на JSP
    5. Пример обработки формы с коллекцией Skill для проекта
    6. Демонстрация работы обработки формы
  • 9
    Валидация данных в Java
    Длительность урока: 23:57
    1. Основы валидации данных. вводимых пользователем
    2. javax.validation.constraints, org.hibernate.validator.constraints и пользовательские аннотации для валидации
    3. Добавление аннотаций в формы
    4. Активирование валидации для проекта и добавление message.properties
    5. Пример создания пользовательской аннотации и обработчика данной аннотации
    6. Изменение методов контроллеров для обработки результатов валидации
    7. Использование alert компонента для отображения ошибок на пользовательском интерфейсе
    8. Правила поиска ключа для интернационализации в Spring MVC
    9. Демонстрация работы валидации для проекта
  • 10
    Сервисная архитектура приложения на базе Spring IoC
    Длительность урока: 40:47
    1. Повышение модульности кода, выделение алгоритма работы системы в отдельные бизнес сервисы
    2. Группировка бизнес функций в бизнес сервисы
    3. Декларативное управление транзакциями с помощью @Transactional
    4. Настройка поддержки декларативного управления транзакциями в Spring Config
    5. Создание класса сервиса, выполняемого по расписанию
    6. Объяснение алгоритма работы динамических прокси, поддерживающих декларативное управление транзакциями
  • 11
    Основы ajax загрузки на примере Load more...
    Длительность урока: 22:31
    1. Основы AJAX
    2. Реализация контроллера для обработки AJAX запросов
    3. Реализация отдельного шаблона SiteMesh для AJAX ответов
    4. Изменения в ErrorHandler для AJAX ошибок
    5. Пример использования Spring Data Web Support для реализации постраничного отображения данных
    6. Использование JQuery ajax функции для выполнения AJAX запросов
    7. Формирование и считывание дополнительных параметров для js функций с помощью data-* атрибутов
    8. Демонстрация работы AJAX запросов
    9. Демонстрация обработки ошибок при AJAX запросах
  • 12
    Полнотекстовый поиск Elastic Search
    Длительность урока: 43:45
    1. Основы полнотекстового поиска для web приложения
    2. Возможности ElasticSearch
    3. Использование Spring Data для взаимодействия с ElasticSearch
    4. Spring Config для конфигурирования ElasticSearch
    5. Моделирования данных для ElasticSearch
    6. Создание динамических репозиториев для взаимодействия с ElasticSearch
    7. Использование виртуальной машины Tomcat для запуска ElasticSearch сервиса
    8. Пример использования ElasticSearch в web проекте
    9. Правила моделирования объектов сущностей для My Resume проекта
    10. Начальное индексирование всех данных из базы данных
    11. Загрузка Lazy коллекций при индексировании
    12. Использование TransactionSynchronizationManager для выполнения кода после успешного commit
    13. Демонстрация работы поискового движка
  • 13
    Защита приложения с помощью Spring Security
    Длительность урока: 1:03:54
    1. Архитектура Spring Security. Spring Security фильтры
    2. Конфигурация Spring Security в проекте
    3. Создание модели хранения текущего пользователя
    4. Реализация UserDetailsService
    5. SecurityUtil для программного доступа к Spring Security
    6. Контроллер и JSP для логина в систему
    7. Основы Method Security
    8. Основы Remember-Me Authentication
    9. Основы Session Management
    10. Expression-Based Access Control
    11. Spring Security tags
    12. Spring Data Integration
    13. Демонстрация работы SpringSecurity
  • 14
    Отправка Email из приложения
    Длительность урока: 23:36
    1. Архитектура Email системы. Протокол SMTP
    2. Отправка email из java приложений
    3. Основы email шаблонизации
    4. Использование Spring xml конфигурационного файла для считывания настроек email шаблонов
    5. Асинхронная отправка email писем с web приложения с помощью ExecuterService
    6. Spring Config для Email
    7. Пример использования Spring FactoryBean для создания ExecuterService бина
    8. Использование Freemaker как обработчика email шаблонов
  • 15
    Интеграция с социальными сетями. Facebook API
    Длительность урока: 19:15
    1. Основы интеграция web приложения с социальными сервисами
    2. Диаграмма взаимодействия между web приложением и социальным сервисом
    3. Создание и конфигурирования Facebook приложения
    4. Использование Restfb библиотеки
    5. Создание Facebook контроллера
    6. Создание SocialService и его реализация для Facebook
    7. Создание UI для интеграции с Facebook
    8. Демонстрация работы Login via Facebook функции
  • 16
    Безопасность web приложений
    Длительность урока: 56:29
    1. XSS атаки
    2. SQL инъекции
    3. Переполнение логов
    4. Закрытие ресурсов
    5. DDOS атаки
    6. Контроль доступа к ресурсам
    7. Валидация данных
    8. Межсайтовая подделка запроса
    9. Использование компонентов с известными уязвимостями
    10. Нестандартные порты и пароли
    11. Принцип скрытия информации об ошибках
    12. Хорошие пароли
    13. Captcha
  • 17
    Производительность web Приложений
    Длительность урока: 59:23
    1. Основные векторы улучшений производительности
    2. Правильный скелет HTML странички
    3. Сжатие и объединение JS & CSS
    4. Использование архивирования текстовых данных при передачи
    5. Обработка картинок
    6. Кэширование картинок, CSS, JS
    7. DB Pool
    8. Thread Pool
    9. JVM options
    10. SQL производительность
    11. Логирование SQL запросов Hibernate
    12. Утилита Explain
    13. Денормализация таблиц
    14. Кэширование на сервере
    15. Производительное логирование
  • 18
    Хостинг приложений. Загрузка приложения на AWS EC2
    Длительность урока: 1:10:40
    1. Основные хостинги предоставляющие Java хостинг
    2. Создание AWS EC2 instance
    3. Настройка AWS фаервола
    4. Установка программных компонентов на Ubuntu Server
    5. Загрузка дампа базы данных на AWS EC2
    6. Сборка. конфигурирование и загрузка ROOT.war на AWS EC2
    7. Демонстрация работы загруженного приложения на удаленном сервере
  • 19
    Масштабирование приложений. NoSQL. MongoDb
    Длительность урока: 1:03:43
    1. Вертикальное масштабирование
    2. Простая архитектура web приложения без горизонтального масштабирования
    3. Масштабирование JEE server with application
    4. Масштабирование сервера кэширования данных
    5. Использование очередей задач для масштабирования бизнес логики
    6. Балансировка DNS
    7. Масштабирование файловых серверов
    8. Репликация баз данных
    9. Вертикальный шардинг баз данных
    10. Горизонтальный шардинг баз данных
    11. NoSQL решения
    12. Теорема CAP
    13. Горизонтальное масштабирование MongoDb
  • 20
    Обзор архитектуры приложения на примере реализации JPA
    Длительность урока: 3:06:40
    1. Полный обзор первой версии проекта My Resume с детальным пояснением особенно значимых компонентов и модулей
    2. Векторы оптимизации логики при использовании реляционной базы данных
    3. Проверка приложения на устойчивость к известным уязвимостям и атакам
    4. Проверка приложения на производительность
    5. Пример логирования всех запросов генерируемы Hibernate, анализ плана выполнения запросов и кэширования объектов на стороне сервера
    6. Сравнение схемы работы приложения, спроектированной в начале курса с результирующим кодом, который реализует данную схему
  • 21
    Обзор архитектуры приложения на примере реализации MongoDB
    Длительность урока: 1:02:29
    1. Обзор базовых операций при работе с MongoDB
    2. Создание тестовой базы данных
    3. Изменения в проекте, необходимые для миграции с Postgres на MonoDb
    4. Обзор преимуществ Spring Data абстракции при миграции на новый источник данных
  • 22
    Чистый код в проекте My Resume
    Длительность урока: 1:35:21
    1. Важность чистого кода
    2. Составные чистого кода на примере использования в проекте My Resume
    3. Дополнительные и развернутые источники чистого кода в Java
DevStudy.net На главную Направления обучения Все курсы FAQ

Контакты:


Udemy: devstudy_net

Email: devstudy.net@gmail.com


Наша миссия:

Дать возможность любому желающему начать работать в IT с минимальными начальными вложениями!



Актуальные вакансии:

jobeka iconВакансии разработчик баз данных на Jobeka jobsora iconВакансии Java разработчик на Jobsora jooble iconВакансии Java разработчик на Jooble