Создание БД PostgreSQL
Создание всей структуры БД, таблиц, связей, ограничений, индексов, триггеров и пр.
1) Frontend: Angular UI, TypeScript, RxJS
2) Backend: Spring/Hibernate, Java, RESTful
3) Авторизация и пользователи: JWT/RESTful
4) Развертывание и доступ: хостинг Heroku
5) Безопасность и локализация: CSRF, XSS, CORS
6) База данных: PostgreSQL
Время на изучение: ~ 2.5-3 месяца (35 часов видео)
Материалы и исходные коды обновлены: апрель 2021 г.
Попробовать весь функционал онлайн >
(нужно будет пройти регистрацию и активировать аккаунт - это тоже часть функционала)
Вы можете проходить этот курс/тренинг в любое удобное для вас время и задавать преподавателю вопросы на онлайн-вебинарах или на форуме. Здесь нет строгой отчетности и расписания.
У всех учеников свои условия и скорость обучения (работа, семья, дети) - поэтому я решил не ограничивать никого и дать вам возможность гибкого обучения с полной поддержкой. Даже если вы приступили к курсу через год после его покупки - все равно для вас действуют все опции.
Но в отличие от обычных эл. видеокурсов - этот курс - классический тренинг, т.к. в него включены поддержка, участие в онлайн вебинарах с другими учениками, бОльший объем материалов и многое другое.
Основная цель - чтобы вы научились создавать полноценное fullstack приложение, начиная от backend/frontend и заканчивая авторизацией + всеми настройками безопасности.
Когда я изучал эти темы - приходилось собирать информацию в интернете по крупицам - на это ушло очень много времени. У вас есть возможность получить все это в одном месте.
В данный момент в интернете я пока не видел ничего подобного - везде выполняют либо маленький проект, либо освещается отдельная тема.
Это уникальный курс, аналогов которому сейчас нет в интернете.
Батыршинов Тимур, 35 лет: основатель обучающего центра «JavaBegin». Главный тренер.
За 8 лет обучил более 51000 человек (онлайн и оффлайн).
Опыт разработки — более 15 лет.
Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, Angular и многие другие.
В данный момент занимаюсь обучением и консалтингом.
Если у вас нет минимальных знаний Java или как создавать веб страницы в HTML - сначала надо получить фундамент, т.к. в этом курсе мы не будем "разжевывать" азы. Материалы для новичков HTML:
https://www.w3schools.com/html/
Также пройдите Уроки Java
У вас должен быть опыт создания хотя бы небольших БД с несколькими таблицами, связями и пр. В курсе вы будете с нуля создавать БД на PostgreSQL, применять SQL запросы, использовать менеджер pgAdmin
https://www.w3schools.com/sql/
Что такое веб страница, браузер, url - эти элементарные понятия у вас должны быть. Если вы создавали веб приложения на другом языке - это поможет в изучении
Если у вас "нулевой уровень" - вам еще рано. Бесплатные материалы на эту тему
Frontend на Angular/TypeScript
Разработка всего клиента будет идти во фреймворке Angular, который предоставляет большие возможности "из коробки".
Backend на Spring/Java
Весь серверный код создается на Java с добавлением технологий SpringBoot, Hibernate, Data JPA и многие другие
Локализация приложения
Переключение языка "на лету" с помощью настроек. Хранение переводов в формате JSON на всех языках.
Аутентификация и авторизация
Специальный формат токена для аутентификации пользователя. Все RESTful запросы будут авторизовываться с помощью JWT (JSON Web Token).
Работа с пользователями
Полный цикл работы с пользователями (активация, сброс пароля, login, logout и пр.).
БД PostgreSQL
Специальный формат токена для аутентификации пользователя. Все RESTful запросы будут авторизовываться с помощью JWT (JSON Web Token).
Распределение по ролям с доступами
Каждому пользователю можно присвоить определенную роль, для которой будут открыты или закрыты некоторые страницы/компоненты
Защита от атак (CSRF, XSS)
Применение общих практик для защиты от популярных атак. С учетом технологий Angular и RESTful
Работа с куками SameSite
Какие значения выставлять для флага в различных ситуациях - применение на проекте для защиты веб запросов.
Защита при межсайтовых запросах с помощью CORS
Доступ к backend только с определенных адресов для безопасности.
Отправка писем пользователям с помощью SpringMail
Готовая технология для отправки писем пользователю (активация, сброс пароля, регистрация)
Тестирование приложения в популярных браузерах и ОС
Любой веб проект нужно тестировать во всех средах (Windows, macOS, Chrome, Firefox, Safari, Opera, Edge).
Мобильная верстка приложения
Верстка страниц под небольшие экраны, устройства, покрытие функционала. Тестирование на реальных устройствах.
Применение прокси для распределения запросов
Как правильно применить прокси, чтобы все запросы отрабатывали корректно на клиенте.
Генерация SSL ключей
Для локальной разработки потребуется создать тестовые ключи и добавить к ним доверие в ОС и браузерах.
Доступ к приложению через интернет
Как правильно настроить приложение, чтобы к нему мог обращаться по интернету любой человек
Применение защищенного канала HTTPS
Шифрование данных с помощью HTTPS, чтобы защититься от злоумышленников.
Запуск параллельных процессов с помощью Spring
Как быстро создать параллельный процесс на Spring (пример на основе отправки письма).
Роутинг и работа с запросами
Навигация и перенаправление запросов в зависимости от ответов backend.
Профилирование настроек для Spring Boot
Одновременная разработка для тестового и боевого сервера, разделение настроек на профайлы.
Работа с формами Angular
Валидация, доработка форм, которые заполняется пользователь (регистрация, логин-пароль)
На прохождения тренинга уйдет примерно 3 месяца: это средний срок, если заниматься каждый день по 3-4 часа. Материалов очень много и важно все выполнять последовательно.
Создание всей структуры БД, таблиц, связей, ограничений, индексов, триггеров и пр.
Реализвация RESTful сервисов на SpringBoot, запросы в БД, обмен данными в формате JSON, создание всего API
Применение JWT для аутентификации, авторизации. Добавление уровней безопасности, чтобы RESTful запросы могли выполнять только авторизованные пользователи.
Реализация UI на основе Angular/TypeScript - применение дизайна, компонентов и многое другое. В конце блока будет готов весь внешний вид приложения с учетом безопаности.
Как установить приложение, чтобы к нему мог обращаться любой пользователь из интернета.
Видеодемонстрация приложения
(нажмите Play и разверните на весь экран)
ОТКРЫТЬ ПРИЛОЖЕНИЕ ОНЛАЙН
(возможна загрузка до 20 сек)
* Посмотрите вживую как работает приложение
Основной фреймворк, в котором будет создаваться все приложение. Предоставляет готовые решения для создания как небольших, так и крупных веб приложений.
Отображение веб страниц и добавление стилей, селекторов, отладка кода в Google Chrome, добавление анимации
Язык разработки, основанный на Java Script, но более строгий и типизированный. Будете изучать сразу по ходу создания приложения на практике
Разметка страницы, создание responsive дизайна, использование сеточной системы и готовых селекторов CSS.
Реактивный стиль создания кода, который поддерживается в Angular сразу "из коробки" - асинхронные вызовы, уменьшение кода.
Хранение версий кода/проекта в локальном и удаленном репозиториях, связывание со средой IntelliJ IDEA Ultimate
Среда разработки (можно trial-версию), которая поддерживает Angular и TypeScript: подстановка кода, рефакторинг, генерация и многое другое..
Любое веб приложение должно уметь открываться на мобильных устройствах и корректно отображаться (компоненты, разметка)
Формат для передачи данных аутентификации, авторизации, ролей - добавляется к каждому веб запросу на backend.
Язык разработки backend - типизированный и с поддержкой ООП. Вы будете создавать на нем весь серверный код.
Самый популярный Java фреймворк, который умеет практически все: доступ к данным, обработка запросов, внедрение объектов и пр.
Промежуточный слой между вашим кодом и базой данных. Нужен для того, чтобы работать с таблицами БД как с объектами, а не создавать вручную SQL запросы.
Современная бесплатная база данных для любых типов проектов. Одна из самых популярных на данный момент.
Доступ к вашему приложения может получить любой человек через интернет.
Шифрование канала для безопасной передачи данных, применяется в любом крупном веб приложении.
JWT (JSON Web Token) - это современный механизм обмена данными для работы с пользователем (login, logout и пр.)
Вы будете строить для каждого запроса специальный формат JSON, в котором будет находиться вся служебная информация. Также, после каждого удачного входа будете получать уникальный токен (набор символов) для текущей сессии.
Многие разработчики не совсем верно используют эту технологию, позволяя хакерам получить данные (пароль, логин). Вы будете это реализовывать максимально безопасно.
Мало создать веб приложение - нужно еще и правильно защитить его. Многие новички даже не задумываются об этом, хотя это обязательное требования в любом крупном приложении.
В этом курсе вы сразу будете учитывать возможность различных атак (CSRF, XSS) - всю защиту будем строить как на backend, так и на frontend. Также - обязательно будете использовать флаг SameSite для правильной работы браузеров.
Важная особенность - в интернете много обучающих материалов на эту тему, по почти все они неверны, т.к. допускают одну и ту же ошибку, из-за которой можно получить все данные пользователя. Вы будете все делать по правильному - максимально безопасно с применением прокси сервера.
Все действия с пользователем будете выполнять с уведомлением: активация, сброс пароля, регистрация и любые другие действия.
Для работы с почтовым API - используется готовая библиотека Spring Mail, которая имеет гибкие настройки и многое другое.
Основной носитель информации будет в виде текста (похоже на статью). Так вам легче будет повторять материал (не нужно перематывать видео) .
Для визуальных данных - можно смотреть небольшие видео по ходу урока, чтобы представлять как это работает - чтобы наглядно все понимать.
Готовые исходники, которые можно открыть и запустить - на них нужно ориентироваться при изучении материалов.
Доступ к материалам и поддержке - неограничен. Можете изучать и возвращаться к урокам в любое время.
Да, сможете изучать на любом компьютере, независимо от операционной системы. Можно даже смотреть видео на мобильных устройствах, но сам код придется создавать на компьютере/ноутбуке.
Примерно 1-2 месяца - вы будете с нуля создавать весь комплекс технологий - на это нужно время.
Вопросы можно будет задавать на онлайн вебинарах (участвуют автор и ученики), в специальном разделе форума, комментариях к уроку.
Все исходные коды есть, по каждому уроку можно будет открывать в IntelliJ IDEA. Но я рекомендую все равно набирать весь код вручную, чтобы лучше запомнить его.
Вам нужно выбрать комплект курса, нажать кнопку покупки и ввести свои данные. На последнем шаге вы сможете выбрать любой удобный способ оплаты, в том числе из Украины.
Если оплачиваете онлайн платежом (картой или электронного кошелька) или через банк - то конвертация происходит автоматически по курсу вашего банка.
Если оплачиваете наличными (через банкомат или терминал) - нужно выполнить конвертацию самостоятельно. Подробная инструкция находится в способах оплаты.
Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет приходить вам на email.
Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.
Напоминаю, что Вы можете проходить этот курс/тренинг в любое удобное для вас время и задавать преподавателю вопросы на онлайн-вебинарах или на форуме. Здесь нет строгой отчетности и расписания.
Онлайн вебинары - это специальные закрытые комнаты, где собираются все участники и обсуждают свои вопросы - автор на них отвечает. Вам нужен только компьютер или телефон/планшет. Микрофон не обязателен.
Помимо этого - можно задавать вопросы в виде текста на специальном форуме или в разделе комментариев под каждым уроком. Вы сами выбираете удобный вариант. Срок поддержки неограничен
Личный кабинет со всеми материалами
Возможность прохождения в своем ритме
Видеоуроки, тексты, домашние задания
Исходные коды, решения дом. заданий
Обновления материалов и исходников
Поддержка автора по всем вопросам
Онлайн вебинары, форум, комментарии
Возможность общения с другими участниками
Доступ к материалам без ограничений
Доступ к GitHub репозиторию с исходниками