Репозиторий для хранения проекта (`Artillery`) для обучения в ИГУ, 2025

Volovikov Alexander 372b238235 fix changes 10 tháng trước cách đây
_Docs 31d1bd9681 fix 10 tháng trước cách đây
_Infra 36c078fadc fix 10 tháng trước cách đây
.gitignore 1fcff76ff1 start repo 10 tháng trước cách đây
20250131.sql 5a69579d6f 20250131 10 tháng trước cách đây
readme.md 372b238235 fix changes 10 tháng trước cách đây

readme.md

\usepackage{amsmath}

Разработка систем на основе PostgreSQL

Стек

  1. Операционная система: Linux, Docker
  2. СУБД: PostgreSQL , postgrest
  3. Front: JavaScript, Jquery, Html

Легенда

Вы включены в команду целью которой состоит в разработке базы данных и Backend для системы подготовки метрологических данных в рамках разработки ПАК (Программно-аппаратного комплекса) согласно Технического задания.

Основаня задача команды - это разработать решение которое должно соответствовать следующим критериям:

  • Решение должно работать в режиме как SINGLE-USER так и MULTI-USER
  • В режиме MULTI-USER, количество одновременных пользователей до 50 000
  • Требуется обеспечить максимальную производительность при минимально производительном оборудовании
  • Необходимо обеспечить максимально гибкий и простой вариант загрузки справочников и таблиц стрельбы

Выгрузка

pg_dump -h localhost -U admin study2025 > 20250131.sql

Домашние задания

Период Задание Решение

| 1 | 2025-01-31 |

  1. Создать таблицу для учета пользователей системы. Предусмотреть справочник военных должностей.
  2. Изменить таблицу measurement_batch изменить поле username.
  3. Оформить решение в виде скрипта и приложить в виде PullRequest. Если есть вопросы по домашнему заданию, написать в Forlabs.

Решение
HomeWork20250131.sql

| 2 | 2025-02-07 |

  1. Создать pgSQL скрипт в который поместить прошлое задание по созданию инфраструктуры проекта.
  2. Добавить в pgSQL скрипт таблицу поправок по температуре (Таблица 1). Так же, добавить данные в эту таблицу.
  3. В скрипт включить создание связей по ключам между таблицами и тип данных interpolation
  4. Написать отдельный pgSQL скрипт для расчета поправке к температуре на основе Таблица 1 с применением интерполяции.
  5. Приложить решение в виде PullRequest в решение включить результат расчета интерполяции.

Решение
HomeWork20250206.sql
HomeWork20250206_Part2.sql

| 3 | 2025-02-14 |

  1. Создать таблицу с настройками для проверки входных данных measure_settings В рамках данной таблицы нужно хранить все константы
  2. Температура. Минимальное значение -58, максимальное 58, указывается в цельсиях
  3. Давление. Минимальное значение 500, максимальное 900, указывается в мм рт ст
  4. Направление ветра. Минимальное значение 0,максимальное значение 59 и т.д.
  5. Создать собственный тип данных для передачи входных параметров
  6. Написать собственную функцию которой на вход должны подаваться входные параметры, а на выходе собственный тип данных с заполненными значения. Функция должна проверять входные параметры. При нарушении граничных параметров формировать raise error
  7. Дописать и оформить "основной" скрипт. В него включить все функции для расчета интерполяции и метео средний.
  8. Написать отдельный pgSQL скрипт, который сформирует тестовые данные. Нужно добавить несколько пользователей в таблицу emploees , а так же не менее 100 измерений с разными параметрами для каждого пользователя. Для указания высоты, давления, температуры использовать функцию random(). Для создания скрипта обязательно использовать циклы.