[JavaBegin] Angular + Java/Spring + Hibernate (2020)
Что такое Angular?
Это cовременный и популярный фреймворк, созданный в Google и основанный на языке JavaScript/TypeScript. Входит в топ по запросам в интернете (наряду с React).
Скорее всего вы слышите это название постоянно, теперь самое время научиться на нем разрабатывать. Здесь можно посмотреть примеры сайтов на Angular. В этой статье я подробно описал в каких случаях пользуюсь Angular и как он может связываться, например, с Java или другими технологиями.
Angular + Java/Spring
Одна из самых популярных связок технологий на сегодняшний день. Позволяет разрабатывать приложения любого типа и сложности (веб, мобильные, desktop). Вы будете fullstack разработчиком, которые умеет создавать приложения "на любой стороне". Такие специалисты сильно ценятся на рынке труда.
Сейчас в интернете не так много курсов, где вы создаете полноценное приложение по шагам, особенно на русском языке. Когда я начинал изучение всей этой темы - приходилось собирать всю информацию по кускам на английском языке.
Поэтому я решил закрыть этот пробел и создал большой обучающий блок Angular на русском языке, состоящий из нескольких курсов. Первая часть находится тут. Это вторая часть, продолжение.
У вас есть возможность получить все в одном месте и создать красивое большое приложение, которое можно использовать на собеседованиях как портфолио (будет большим плюсом вам) - c использованием всех современных технологий: Angular, TypeScript, Java, Spring, Hibernate, RESTful, JSON и др.
Объективно, на данный момент я пока не видел аналогичных курсов во всем интернете (возможно плохо искал, но я "перелопатил" почти все, прошел около 10 самых популярных тренингов - везде либо создавали независимые участки кода, либо проект был маленьким).
Вы создадите собственную версию приложения "Планировщик дел" (Todo), в котором по шагам реализуете основные функции:
1) Интерактивное отображение задач
2) Добавление/удаление/редактирование задач
3) Добавление/удаление/редактирование категорий
4) Добавление/удаление/редактирование приоритетов
5) Отображение цвета приоритетов
6) Статистика по всем задачам
7) Поиск и фильтрация задач
8) Количество задач для каждой категории
9) Боковое слайд-меню
10) Настройки приложения
11) Справочное интро при первом запуске
12) Работа с календарем для установки даты
13) Добавление дизайн-шаблона в проект
14) Добавление material-компонентов
15) Мобильная версия приложения
16) И многое другое...
Содержание:
1. Введение
Настройка и установка окружения, общие сведения
1. Общая схема взаимодействия backend и frontend
3 мин
Какие технологии и как будете их связывать внутри приложения.
Общая концепция и подходы.
2. Обновление Angular до последней версии
15 мин
Как правильно обновить локальный и глобальный Angular, какие изменения нужно внести в проекты
2. Создание backend
Серверный код для обработки запросов и доступа к БД
1. Создание базы данных в MySQL
16 мин
Структуры таблиц БД, связывание, типы данных, тестовые записи внешний ключи, триггеры, индексы
2. Триггеры для обновления данных
23 мин
Алгоритм работы триггеров для обновления статистики задач,исключение лишних SQL запросов в БД
3. Индексы таблиц
6 мин
Оптимизация для SQL запросов, создание нужных индексов, причины и алгоритм создания
4. Создание приложения SpringBoot
16 мин
Пошаговое создание SpringBoot приложения в IntelliJ IDEA, загрузка зависимостей, библиотек с помощью Gradle
5. Создание Entity
23 мин
Генерация классов Java на основе таблиц БД, аннотации Hibernate, оптимизация связей между полями
6. Создание репозиториев
21 мин
Доступ к данным и формирование основных SQL запросов, использование готовых интерфейсов Spring Data JPA
7. Добавление объектов
20 мин
Проверка работы приложения с помощью контроллеров, добавление новых записей в БД
8. Проверка параметров
23 мин
Работа с параметрами в методах контроллера, отправка клиенту ошибок и статусов HTTP
9. Получение объекта по id
14 мин
Получение одиночных объектов из БД по его id, поиск и добавление в коллекцию
10. Сортировка
12 мин
Вывод данных в упорядоченном виде с помощью готовых объектов Spring Data JPA
11. Поиск с помощью JPQL
20 мин
Реализация собственных SQL запросов помимо стандартных, описание на языке JPQL
12. Вывод SQL запросов
11 мин
Логирование на сервере в нужном формате,
компоновка запросов
13. Работа с задачами
26 мин
Полный цикл работы над объектами задач, связывание с другими объектами через аннотации
14. Постраничность и сортировка
21 мин
Одновременное применение постраничности и сортировки, динамическая реализация с переданными параметрами
15. Сервисы
7 мин
Реализация уровня сервисов для правильной архитектуры и разделения приложения на слои
3. Создание frontend
Клиентский код для создания внешнего вида и обработки действий пользователя
1. Исходный проект
9 мин
Просмотр базового проекта, который будет использоваться как основа для разработки
2. Доработка шаблона DAO
26 мин
Применение шаблонов DAJ для правильной организации доступа к данным на клиенте
3. Сервисы и DAO
15 мин
Обхединение сервисов и DAO интерфейсов для создания абстрактного и конкретного уровней
4. Применение ООП
6 мин
Рефакторинг кода, оптимизация и удаление дублирующегося кода, применение наследования и других возможностей ООП
5. Очистка проекта
10 мин
Запуск проекта без данных для последующего пошагового добавления функционала
6. Категории
21 мин
Работа с категориями, отображение, загрузка по HTTP в формате JSON и формирование коллекций
7. Поиск категорий
15 мин
Поиск категорий с помощью RESTful запросов и получение коллекций из БД
8. Редактирование категорий
15 мин
CRUD операции с использованием RESTful сервисов, отправка клиенту статусов HTTP
9. Отображение задач
8 мин
Цикл разработки для отображения задач с внутренними объектами
10. Постраничный вывод данных
14 мин
Формирование на клиенте компонентов для постраничного вывода данных в таблице задач
11. Поиск задач
23 мин
Поиск задач с возможностью постраничного вывода данных
12. Редактирование задач
17 мин
CRUD операции для задач - с учетом ссылок на внутренние объекты
13. Общая статистика
18 мин
Показ статистики по всем задачам, процентная реализация
14. Работа с приоритетами
19 мин
Настройки приоритетов и цветов, обновление задач
4. Бонусные уроки
Дополнительные уроки, входят не во все комплекты
1. Мобильная верстка
10 мин
Проверка работы мобильной версии, основные моменты верстки
2. Сохранение состояния приложения
14 мин
Сохранение и восстановление состояния приложения (и всех его компонентов)
3. Индикатор загрузки
10 мин
Отображение пользователю индикатора загрузки для всех HTTP запросов
4. Просмотр SQL в режиме реального времени
13 мин
Как правильно вести логирование SQL запросов на сервере MySQL, чтобы видеть все операции, не только вашего проекта
5. Отладка (debug) TypeScript кода в IntelliJ IDEA
11 мин
Настройка и запуск клиентского кода на TypeScript, чтобы можно было отслеживать изменения построчно
6. Отладка (debug) кода JavaScript в браузере
10 мин
Отладка JavaScript в браузере, чтобы можно было найти причину практически любой ошибки в проекте
Что содержится в уроках
Если просто изучать теорию (читать документацию, статьи) - без практики выветрится около 80% информации.
Поэтому в каждом уроке у вас будет несколько простых и сложных заданий, которые закрепляют пройденную тему.
Вы будете с нуля создавать весь код и постепенно привыкать к синтаксису и принципам.
Видео - лекция
Изучаете основные темы урока по видео - сначала без создания кода, чтобы просто усвоить информацию
Исходный код лекции
Смотрите готовый исходный код из урока-лекции - желательно его переписывать с нуля самостоятельно
Домашнее задание
В конце лекции - получаете домашнее задание, которое нужно попытаться выполнить самостоятельно.
Исходный код решения домашнего задания
Получаете готовый проект-решение домашнего задания, для сравнения со своим вариантом
Видео - объяснение решения
Разбор исходного кода по решению домашнего задания, пошаговое выполнение всех действий для получения результатов
PDF презентация урока-лекции
Текстовый вид презентации из лекции, для повторения и удобного открытия гиперссылок (чтобы вручную не писать в браузере)
ПРОДАЖНИК
СКАЧАТЬ
Что такое Angular?
Это cовременный и популярный фреймворк, созданный в Google и основанный на языке JavaScript/TypeScript. Входит в топ по запросам в интернете (наряду с React).
Скорее всего вы слышите это название постоянно, теперь самое время научиться на нем разрабатывать. Здесь можно посмотреть примеры сайтов на Angular. В этой статье я подробно описал в каких случаях пользуюсь Angular и как он может связываться, например, с Java или другими технологиями.
Angular + Java/Spring
Одна из самых популярных связок технологий на сегодняшний день. Позволяет разрабатывать приложения любого типа и сложности (веб, мобильные, desktop). Вы будете fullstack разработчиком, которые умеет создавать приложения "на любой стороне". Такие специалисты сильно ценятся на рынке труда.
Сейчас в интернете не так много курсов, где вы создаете полноценное приложение по шагам, особенно на русском языке. Когда я начинал изучение всей этой темы - приходилось собирать всю информацию по кускам на английском языке.
Поэтому я решил закрыть этот пробел и создал большой обучающий блок Angular на русском языке, состоящий из нескольких курсов. Первая часть находится тут. Это вторая часть, продолжение.
У вас есть возможность получить все в одном месте и создать красивое большое приложение, которое можно использовать на собеседованиях как портфолио (будет большим плюсом вам) - c использованием всех современных технологий: Angular, TypeScript, Java, Spring, Hibernate, RESTful, JSON и др.
Объективно, на данный момент я пока не видел аналогичных курсов во всем интернете (возможно плохо искал, но я "перелопатил" почти все, прошел около 10 самых популярных тренингов - везде либо создавали независимые участки кода, либо проект был маленьким).
Вы создадите собственную версию приложения "Планировщик дел" (Todo), в котором по шагам реализуете основные функции:
1) Интерактивное отображение задач
2) Добавление/удаление/редактирование задач
3) Добавление/удаление/редактирование категорий
4) Добавление/удаление/редактирование приоритетов
5) Отображение цвета приоритетов
6) Статистика по всем задачам
7) Поиск и фильтрация задач
8) Количество задач для каждой категории
9) Боковое слайд-меню
10) Настройки приложения
11) Справочное интро при первом запуске
12) Работа с календарем для установки даты
13) Добавление дизайн-шаблона в проект
14) Добавление material-компонентов
15) Мобильная версия приложения
16) И многое другое...
Содержание:
1. Введение
Настройка и установка окружения, общие сведения
1. Общая схема взаимодействия backend и frontend
3 мин
Какие технологии и как будете их связывать внутри приложения.
Общая концепция и подходы.
2. Обновление Angular до последней версии
15 мин
Как правильно обновить локальный и глобальный Angular, какие изменения нужно внести в проекты
2. Создание backend
Серверный код для обработки запросов и доступа к БД
1. Создание базы данных в MySQL
16 мин
Структуры таблиц БД, связывание, типы данных, тестовые записи внешний ключи, триггеры, индексы
2. Триггеры для обновления данных
23 мин
Алгоритм работы триггеров для обновления статистики задач,исключение лишних SQL запросов в БД
3. Индексы таблиц
6 мин
Оптимизация для SQL запросов, создание нужных индексов, причины и алгоритм создания
4. Создание приложения SpringBoot
16 мин
Пошаговое создание SpringBoot приложения в IntelliJ IDEA, загрузка зависимостей, библиотек с помощью Gradle
5. Создание Entity
23 мин
Генерация классов Java на основе таблиц БД, аннотации Hibernate, оптимизация связей между полями
6. Создание репозиториев
21 мин
Доступ к данным и формирование основных SQL запросов, использование готовых интерфейсов Spring Data JPA
7. Добавление объектов
20 мин
Проверка работы приложения с помощью контроллеров, добавление новых записей в БД
8. Проверка параметров
23 мин
Работа с параметрами в методах контроллера, отправка клиенту ошибок и статусов HTTP
9. Получение объекта по id
14 мин
Получение одиночных объектов из БД по его id, поиск и добавление в коллекцию
10. Сортировка
12 мин
Вывод данных в упорядоченном виде с помощью готовых объектов Spring Data JPA
11. Поиск с помощью JPQL
20 мин
Реализация собственных SQL запросов помимо стандартных, описание на языке JPQL
12. Вывод SQL запросов
11 мин
Логирование на сервере в нужном формате,
компоновка запросов
13. Работа с задачами
26 мин
Полный цикл работы над объектами задач, связывание с другими объектами через аннотации
14. Постраничность и сортировка
21 мин
Одновременное применение постраничности и сортировки, динамическая реализация с переданными параметрами
15. Сервисы
7 мин
Реализация уровня сервисов для правильной архитектуры и разделения приложения на слои
3. Создание frontend
Клиентский код для создания внешнего вида и обработки действий пользователя
1. Исходный проект
9 мин
Просмотр базового проекта, который будет использоваться как основа для разработки
2. Доработка шаблона DAO
26 мин
Применение шаблонов DAJ для правильной организации доступа к данным на клиенте
3. Сервисы и DAO
15 мин
Обхединение сервисов и DAO интерфейсов для создания абстрактного и конкретного уровней
4. Применение ООП
6 мин
Рефакторинг кода, оптимизация и удаление дублирующегося кода, применение наследования и других возможностей ООП
5. Очистка проекта
10 мин
Запуск проекта без данных для последующего пошагового добавления функционала
6. Категории
21 мин
Работа с категориями, отображение, загрузка по HTTP в формате JSON и формирование коллекций
7. Поиск категорий
15 мин
Поиск категорий с помощью RESTful запросов и получение коллекций из БД
8. Редактирование категорий
15 мин
CRUD операции с использованием RESTful сервисов, отправка клиенту статусов HTTP
9. Отображение задач
8 мин
Цикл разработки для отображения задач с внутренними объектами
10. Постраничный вывод данных
14 мин
Формирование на клиенте компонентов для постраничного вывода данных в таблице задач
11. Поиск задач
23 мин
Поиск задач с возможностью постраничного вывода данных
12. Редактирование задач
17 мин
CRUD операции для задач - с учетом ссылок на внутренние объекты
13. Общая статистика
18 мин
Показ статистики по всем задачам, процентная реализация
14. Работа с приоритетами
19 мин
Настройки приоритетов и цветов, обновление задач
4. Бонусные уроки
Дополнительные уроки, входят не во все комплекты
1. Мобильная верстка
10 мин
Проверка работы мобильной версии, основные моменты верстки
2. Сохранение состояния приложения
14 мин
Сохранение и восстановление состояния приложения (и всех его компонентов)
3. Индикатор загрузки
10 мин
Отображение пользователю индикатора загрузки для всех HTTP запросов
4. Просмотр SQL в режиме реального времени
13 мин
Как правильно вести логирование SQL запросов на сервере MySQL, чтобы видеть все операции, не только вашего проекта
5. Отладка (debug) TypeScript кода в IntelliJ IDEA
11 мин
Настройка и запуск клиентского кода на TypeScript, чтобы можно было отслеживать изменения построчно
6. Отладка (debug) кода JavaScript в браузере
10 мин
Отладка JavaScript в браузере, чтобы можно было найти причину практически любой ошибки в проекте
Что содержится в уроках
Если просто изучать теорию (читать документацию, статьи) - без практики выветрится около 80% информации.
Поэтому в каждом уроке у вас будет несколько простых и сложных заданий, которые закрепляют пройденную тему.
Вы будете с нуля создавать весь код и постепенно привыкать к синтаксису и принципам.
Видео - лекция
Изучаете основные темы урока по видео - сначала без создания кода, чтобы просто усвоить информацию
Исходный код лекции
Смотрите готовый исходный код из урока-лекции - желательно его переписывать с нуля самостоятельно
Домашнее задание
В конце лекции - получаете домашнее задание, которое нужно попытаться выполнить самостоятельно.
Исходный код решения домашнего задания
Получаете готовый проект-решение домашнего задания, для сравнения со своим вариантом
Видео - объяснение решения
Разбор исходного кода по решению домашнего задания, пошаговое выполнение всех действий для получения результатов
PDF презентация урока-лекции
Текстовый вид презентации из лекции, для повторения и удобного открытия гиперссылок (чтобы вручную не писать в браузере)
ПРОДАЖНИК
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.