математическими расчетами. Математика проводится на сущностях (структурах) описанных в коде, данные к которым подтягиваются из бд.
Имеется известное ограниченное n кол-во сущностей, каждая сущность - это конечный известный набор интов (или float64, не важно)
Есть задача, сделать так, чтобы при добавления поля в структуры этих сущностей, или при добавлении новых сущностей, не приходилось коммитить и полностью перезапускать сервис и его контейнер.
Такое с Go вообще делают? ну, тобишь напрашиваются дженерики которых тут нет. Фабрику тут для структур можно, но саму структуру придется описывать для фабрики, и так или иначе работать с сущьностью поинтерфейсу бесконечно нельзя, на каком-то уровне всеж нужна конкретика и тип...
Смотрел в сторону генерации кода с описанием структур из скриптового файлика, который с фронта будет генерироваться, и перекомпилировать, как утилиту работающую в бэкграунде, но эт кажется тяжеловатым..Вдруг кто подобное делал уже
Если поменялись сущности, то и код их обработки должен поменяться. Как это сделать с перекомпиляцией и рестартом — так же, как в вебе делают миграции БД и перевыкат. Как это сделать без перекомпиляции — хранить код снаружи, т.е. обработку сделать на скриптовом движке, т.е. встроить в приложение lua, js, python, etc. Поменялись сущности - приложение поняло, обновило скрипты, работает с новой версией сущностей и кода.
Обсуждают сегодня