Сайты ТУСУРа

Разработка Веб-сервисов для научных и прикладных задач

Методические указания по выполнению лабораторных работ и самостоятельной работе для студентов всех направлений

Данные методические указания предназначены для выполнения лабораторных работ по дисциплине «Разработка веб-сервисов для научных и прикладных задач» и разработаны с учетом требований ФГОС ВО для всех на-правлений подготовки. Цель лабораторных работ: получение навыков разработки веб-приложений и веб-сервисов с использованием одного из фреймворков, использования типовых научных библиотек для решения простейших задач по обработке данных. Лабораторные работы выполняются в соответствии с порядком, описанным в методических указаниях.

Кафедра автоматизированных систем управления

Библиографическая запись:

Суханов, А. Я. Разработка Веб-сервисов для научных и прикладных задач: Методические указания по выполнению лабораторных работ и самостоятельной работе для студентов всех направлений [Электронный ресурс] / А. Я. Суханов. — Томск: ТУСУР, 2023. — 113 с. — Режим доступа: https://edu.tusur.ru/publications/10800
Автор:   Суханов А. Я.
Год издания: 2023
Количество страниц: 113
Скачиваний: 12

Оглавление (содержание)

Введение 5

1 Лабораторная работа 1. Базовые возможности python и numpy 6

1.1 Кратко о Python. 6

1.2 Начало работы. 6

1.3 Установка Python и настройка environment 7

1.4 Настройка виртуальной среды 11

1.5 Первые шаги в Python 14

1.5.1 Информация о базовых операциях и типах. 14

1.5.2 Простые примеры правил написания кода 15

1.5.3 Простые операции и форматированный вывод и ввод 16

1.5.4 Работа с графиками 18

1.5.5 Работа с массивами numpy 22

1.6 Использование Python на Google Colab 26

1.7 Работа с изображениями на Python 29

1.8 Задание 31

2 Лабораторная работа 2. Возможности python для обработки данных 35

2.1 Примеры ресурсов с открытыми данными. 35

2.2 Обработка Kaggle датасетов с помощью Pandas 35

2.2.1 Вывод общей информации describe и сведений о столбцах 37

2.2.2 Просмотр только уникальных значений полей, без повторов 37

2.2.3 Выборка и фильтрация данных по значению полей 37

2.2.3 Агрегирование и группировка данных 38

2.2.4 Преобразование значений полей в столбцы Dataframe (stack) 39

2.2.5 Отображение данных, используя seaborn и matplotlib 41

2.2.6 Использование pairplot для отображения данных таблиц 43

2.2.7 Получение части датафрейма по столбцам 44

2.3 Пример обработки еще одного датасета 44

2.3.1 Группировка по данным 46

2.3.2 Преобразование части данных в столбцы unstack 46

2.3.3 Фильтрация по условию 47

2.3.4 Проверка корреляции в данных, график тепловой карты и pairplot 48

2.3.5 Консолидация данных по диапазонам значений 48

2.4 Задание 50

3 Лабораторная работа № 3 «Разработка веб-приложения на python» 51

3.1 Непрерывная интеграция (CI) для GitHub 51

3.2 Примеры веб-сервисов для непрерывной интеграции 51

3.3 Что такое YAML 52

3.4 Создание проекта веб-приложения на Flask 52

3.5 Продолжение простейшего эксперимента с проектом Flask 54

3.5.1 Что такое WSGI 55

3.5.2 Примеры wsgi серверов и Gunicorn 56

3.5.3 Запуск проекта с использование gunicorn 56

3.5.4 Ремарка о тестировании 57

3.6 Краткое знакомство с шаблонами Flask 57

3.7 Изучение шаблонов, форм 59

3.7.1 Добавление в проект форм 59

3.8 Добавление нейронной сети для классификации 61

3.9 Добавление капчи 62

3.10 Добавление возможности классификации изображения 63

3.10.1 Итоговый client.py запрашивающий реализованный сервис 63

3.11 Возвращающение разных документов в зависимости от шаблона. 65

3.12 Деплой на heroku. 67

3.13 Разработка придожения используя Fastapi 69

3.13.1 Пример использования в качестве системы контроля версий GitFlic 69

3.13.2 Управление окружением Pipenv и краткие сведения о ней. 70

3.13.3 Создание проекта в PyCharm c использованием Pipenv 71

3.13.4 Подключение git в PyCharm и push на Gitflic 71

3.13.5 Push проекта на GitHub и тестирование на GitActions 74

3.13.6 Тестирование с помощью workflows 75

3.13.7 Запуск uvicorn и работа с веб-приложением 78

3.13.8 Deploy на render.com 79

3.13.9 Продолжение реализации проекта, создание шаблона FastAPI 83

3.13.10 Добавление работы с формами 87

3.13.11 Пример использования Captcha 89

3.14 Задание на лабораторную работу №1 «Разработка web приложения». 92

4 Лабораторная работа №4 «Разработка web-сервиса». 95

4.1 Создание отдельной среды окружения для проекта flasgger 95

4.2 Библиотека flask_restplus для документирования веб-сервиса 99

4.3 Примеры API функций и их документации на FastAPI 104

4.4 Задание на лабораторную работу №4 «Разработка web-сервиса». 105

5 Требования к содержанию и оформлению отчета 107

Список использованных источников 108

ПРИЛОЖЕНИЕ А 109

ПРИЛОЖЕНИЕ Б 113


Похожие пособия