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

Volovikov Alexander 769f431bc1 final 1 개월 전
_Docs e7df06227d fix changes 1 개월 전
_Infra 769f431bc1 final 1 개월 전
_Template 8a46db6167 fix changes 1 개월 전
.gitignore 1fcff76ff1 start repo 2 달 전
readme.md 561885bc11 fix homework 2 달 전

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(). Для создания скрипта обязательно использовать циклы.

Решение
HomeWork20250220.sql