Pro_Code, я бы предложил docker compose с тремя контейнерами: nginx, site1, site2
первый слушает 80 (и 443 если надо) и роутит запросы на порты, которые в свою очередь слушают site1 и site2.
При установке убунта спрашивает, куда ставить загрузчик. куда ставили?
Для легаси диск должен быть размечен в MBR, установлен загрузчик не в раздел а на диск (собстна в мбр, 512 байт, первый сектор диска), и с этого диска надобно грузиться.
qw1klyy, ответьте (прежде всего сами себе) что такое данные в боте? храните ли вы состояние, и если да, то где? Хорошим тоном при запросе будет смотреть в базу на предмет обновленных данных.
Если вам нужно по событию изменения данных в БД некой внешней системой выполнять действия в боте, то можно сделать в базе триггер, который по интересующему событию дернет хук вашего бота.
по моему это не очень уточняющий вопрос и выглядит как "И чё хочет эта челядь ?"
Не судите строго, на Q&A ежедневно пишутся вопросы, автор которых хочет либо странного, либо сам не вполне понимает чего хочет. Как видите, после уточнения стало сразу стало понятнее, чего хотите вы, и что не получается.
Поймите главное, в голове у собеседников нет контекста Вашей задачи, и перед глазами собеседника нет экрана с Вашей базой и прочим: поэтому максимальное количество вводных, что хотите, что сделали для этого, что не получилось.
ну не знаю поймёте ли вы, если скажу что хочу получить из запроса тройной массив
не вполне, тройной массив не знаю: но если понимать как массив из трех элементов, то вам нужна аггрегатная функция ARRAY_AGG, о чем собственно Adamos и писал выше.
holllop, смотрите, все очень и очень просто:
вы хотите вывести o.order_id, w.id_work, e.n_plan, при этом уникальных order_id у вас 3.
Но проблема в том, что уникальных w.id_work у вас 5, и посгря без подсказки понятия не имеет, как 5 запихнуть в 3.
И эту подсказку в запросе необходимо указать.
Собственно ошибка "столбец "w.id_work" должен фигурировать в предложении GROUP BY или использоваться в агрегатной функции" о том и говорит.
что можно сделать:
GROUP BY w.id_work и 5 в 3 запихивать на стороне клиента базы
исключить w.id_work из запроса
придумать, найти (если есть) или написать (если нет) соответствующую аггрегатную функцию (к примеру, конкатенировать w.id_work через точку с запятой и возвращать клиенту стрингу)
P.S. хамить на уточняющие вопросы - харам. То что вы называете "многовложенность или хз как это называется" - это и есть аггрегатные функции. Самый простой пример SUM() или COUNT().
Для более конкретного ответа опишите логику, в каком виде вы хотите получить несколько w.id_work у одного o.order_id в выборке.
Не имел дел со Spring Boot, но на ASP .NET Core неплохо работает следующая схема:
В шареной либе описываем модель ошибки, коды сообщений, сообщения и их локализацию, если надо.
Там же описываем middleware для обработки ошибок.
В сервисах встраиваем middleware в пайп обработки запроса, и теперь в любом месте можно сделать throw MyCustomEx(ErrCode.SOMETHING_WENT_WRONG);
Еще можно в middleware обработки ошибок через DI контейнер добавлять специфичные для сервера коды и сообщения, чтобы не держать их в общей библиотеке.
#, лучше так, чем в условном фортране, где вот такой пример совершенно легален
integer i ! не инициализировано, автоматом не зануляет, условно i = 0xdeadbeef
i = i + 1 ! обычный инкремент
print(i) ! конечно же не 1, а 0xdfadbeef или 0xdeadbef0 в зависимости от byte order
Антон, в первую очередь нарисуйте самому себе схему того, что у вас происходит, например
фронт(браузер) (1) -> интернет -> фронт(сервер) (2) -> бэк (3) -> база (4)
в этой схеме если запросы исполняет (2), то миксед контент не проблема, достаточно настроить, чтобы бэк на машине 3 слушал только машину 2, а база 4 давала подключиться только бэку
если же запросы идут от браузера (1), то бэк (3) должен слушать запросы извне (как правило не сам, а через reverse proxy), и тут уже нужен и SSL (чтобы не было Mixed) и иногда CORS (если бэк по какой-то причине на отдельном домене).
FLAIMS, нового в этом бюджете ничего не будет, но на рынке б/у к примеру Lenovo Thinkpad T480 можно посмотреть, в районе 30к как раз будет.
Проц сразу стоит выбрать по требованиям, а память можно обновить после.
FLAIMS, а зачем именно мак для web разработки? обозначенном бюджете можно найти например пробук или синкпад поколений этак на 4-5 свежее и добить памяти до максимума, поставить windows или linux по вкусу
Имхо это скорее список того, с чем точно тестировалось.
не вижу причин, по которым 2 или 4 тб не завелся бы - это не оперативка, контроллер на самом диске же.
Было бы неплохо понять, как Cloudflare определяет браузер, поскольку, например, куки и юзер-агент вы в своем приложении вольны выставить произвольно, добыв их из того же хрома.
в данном случае даже для 3d не используется, ЕМНИП - BT headphones - отдельный выходной девайс, и наличие-отсутствие карточки (и даже встройки) и фичей на него никак не сказывается.
первый слушает 80 (и 443 если надо) и роутит запросы на порты, которые в свою очередь слушают site1 и site2.