Цели и задачи дисциплины
Целью дисциплины является освоение современных технологий разработки корпоративных приложений на платформе .NET, включающих контейнеризацию, веб-сервисы, базы и хранилища данных, средства безопасности и мониторинга приложений.
Задачи: освоение на практике последовательного процесса проектирования и программирования компонентов корпоративного приложения, включающего такие этапы, как разработка схемы базы данных, разработка слоя бизнес-логики в виде веб-сервиса, разработка веб-интерфейса пользователя в виде javascript-приложения.
Краткое содержание дисциплины
В рамках дисциплины изучаются и применяются на практике следующие технологии.
1. Терминал Windows c PowerShell 7.
2. Платформа .NET 8.0 LTS, язык C# 12, Visual Studio Community 2022.
3. ОС Windows: Docker Desktop (требуется WSL2). ОС Linux: Docker. Репозиторий образов DockerHub.
4. Entity Framework Core, провайдер для PostgreSQL (NuGet-пакет в VS), миграции БД, EF CodeFirst, LINQ.
5. Web-сервисы на .NET (ASP.NET Core WebAPI), Postman, C# async.
6. Интерфейс на Vue.js 3 версии.
7. Обратный прокси NGINX (балансировщик нагрузки, web-сервер для Vue.js).
8. JWT-токены, аутентификация, авторизация (роли) в приложениях Vue.js и ASP.NET Core.
9. Логирование в приложениях, стек ELK, мониторинг работы системы (Zabbix).
10. Кеширование web-запросов на Redis, снижение нагрузки на БД.
11. Резервное копирование и восстановление БД в Postgres.