Репозиторий курса СГН3 Информационные системы и технологии
-
Образ виртуальной машины Linux Ubuntu 22.04 для выполнения заданий курса
-
Видеозаписи лекций в YouTube
- Лекция 1. Введение в Web
Основы Web: HTML, URI, кратко HTTP. CSS, кратко JavaScript. Основы работы браузера. DOM
- Лекция 2. Основы JavaScript
операторы, функции, коллекции, классы
- Лекция 3. История Web, трехуровневая модель приложений, Шаблонизация, Django
История Web, трехуровневая модель приложений, Шаблонизация, Django
- Лекция 4. Протокол HTTP
- Лекция 5. База данных PostgreSQL. Админка Django и ORM
Базы данных, ER, PostgreSQL. ORM. Админка Django. Курсоры
- Лекция 6. Методология Agile. Диаграммы UML
Методология Agile, состав команды. Диаграммы UML
- Лекция 7. Веб-сервис. Swagger. Микросервисы
Веб-сервис. Swagger. Микросервисы
- Лекция 8. Модель SPA. Фронтенд
npm, HTTP, модель клиент-сервер, spa, кратко express, фронтенд
- Лекция 9. Запросы AJAX
AJAX. JSON/XML, XmlHttpRequest, Cors
- Лекция 10. Асинхронный JavaScript
Event Loop, промисы, async/await, fetch
- Лекция 11. Web реального времени
- Лекция 12. Авторизация. Сессии. Куки
Авторизация, куки, токены, хранилище сессий. Ограничение прав на части приложения
- Лекция 13. JWT. SSO
У каждого своя предметная область на 3-7 лабораторные работы: бронирование отелей, билетов в театр/кинотеатр, онлайн-магазин
Основной вариант лаб по беку - это Django. Но есть ещё варианты на Go
, Java
, C#
и Node.js
При защите необходимо продемонстрировать работу приложения, UML диаграмму, репозиторий github с кодом и ответить на вопросы.
Создание калькулятора: верстка на HTML, CSS. LiveServer. Добавить кнопки по варианту.
Контрольные вопросы: HTML, CSS
Создание калькулятора: функции на JS. По вариантам реализовать различные функции калькулятора: log, sin, накопление итога и тд
Контрольные вопросы: JavaScript, HTTP
Базовая шаблонизация в Django для словаря. Создание базового интерфейса для просмотра списка (отели, товары, рейсы и тд) с ссылками и частью полей (цена, город) и при переходе по ссылке другая страница с более подробной информацией о товаре (описание, картинка и тд).
В приложении должны быть использованы стили, для каждого элемента списка подгружается свое изображение.
Добавить поле input для ограничения количества записей, отображаемых на странице (по умолчанию отображать все).
На выбор Django
, Go
, Spring
, Node.js
Контрольные вопросы: MVC, Django, шаблонизация, HTTP, Web, HTML
Создание базы данных PostgreSQL
/MySQL
(SQLite
использовать нельзя), подключение к шаблонизатору. Создание админки.
Для карточек таблицы услуг добавить кнопку удаления услуги с помощью выполнения SQL запроса.
ER диаграмма: таблицы, связи, столбцы, типы столбцов и их длина, первичные, вторичные ключи
Контрольные вопросы: ORM, SQL, модель и миграции
Создание веб-сервиса для получения/редактирования данных из вашей БД. Требуется разработать методы для основных (минимум трех) таблиц вашего приложения. Проверка в swagger/postman.
Добавить метод для подсчета суммы (количества) покупок/бронирований за определенную дату через обращение к методам модели.
Диаграмма компонентов+классов: компонент сервиса, интерфейс, структура модели по классам
Контрольные вопросы: веб-сервис, микросервисы, REST, RPC
Создание проекта через npm, сервер express. Верстка интерфейса с карточками, данные через mock объекты.
Deployment диаграмма: узлы фронтенда, веб-сервиса, базы данных, web-сервера со статикой
Контрольные вопросы: npm
Продолжение Лабораторной работы 6: подключение фронтенда к разработанному в 5 лабораторной API. Cors, запросы XHR или fetch
Sequence диаграмма: получение HTML
страницы, AJAX
запросы
Контрольные вопросы: AJAX, json, XmlHttpRequest/fetch