vitaly_74, это больше походит на MQTT, чем туже Kafka, к которой больше бы применялось безпорядочность потока с целью передачи больших данных.
в системе Pub/Sub же нету "безпорядочности или хаотичности". Как ни крути, но это все равно Сервер-Клиент Архитектура, где клиентов просто n-ное кол-во. Только сюда добавляются основные источники информации (Брокер). Представь банальную систему подписки на новости/каналы/Топики итд. Получается Новость/Новый контент канала/Новые комменты в топике - это брокеры, которые отсылают информацию о новом, обновлениях итд на всех, кто подписан на этот обьект. Т.е. эта инфа отправляется конкретным обьектам с конкретным временем и конкретной порядочностью (в условиях конкретного обьекта).
В твоем же изначальном сообщении ты писал о шине, по которой идут данные от многих источников и тут уже совсем другой подход, ты постоянно проверяешь весь этот поток и выделяешь только то, что тебе нужно, +последующая обработка идет уже именно на эту структуру данных. Если ты не знаешь её, то ты не сможешь её нормально обрабатывать, поэтому это все согласовывается. А если это еще и зашифрованные данные, то тебе их надо расшифровывать, а для этого нужны подходящие ключи. Но в целом ты всего лишь "listener". Серверу пофиг, есть ли ты или нет, это даже скажем некий бродкастинг. Если в первом случае еще как-то можно дебажить проблемы на стороне сервера, который будет регистрировать получил ли подписчик сообщение или нет, то во втором случае это требует анализа обеих сторон и крайне трудоёмко
Чтобы понимать такие вещи и переносить их на диаграммы - попробуй для начала чисто для себя написать все юз кейзы.
Нарисуй абстрактный рисунок и будет уже видно.
По твоему вопросу же не видно конкретики, можно самому додумать многое. А это уже не вопрос, а прямое задание додумать за тебя )
У каждого юзера есть 1 баскет, значит в колонке юзера будет стоить FK баскет айди. Баскет же будет иметь FK от юзера.
У каждого баскета есть от 0 до бесконечности(или конечности) продуктов. То есть баскет будет иметь так же FK продукта, но не наоборот. В этом случае будет только указатель на обьекты.
Но чего то тут не хватает. Баскет будет служить как связное звено Ордера. Поэтому думаю туда же можно будет еще добавить некий каунтер как номер заказа, который должен быть юник.
DevMan, да согласен, но увы людям без обширного опыта просто никак не узнать эти хотелки в силу своей неосведомленности. Чтоб иметь какое то представление, понимать разницу и даже свои вкусы, надо сперва перепробовать уйму всякого разного) По ютубу увы этого не сделать, надо в реале.
И от человека к человеку все будет по разному.
TheRevan, сделать можно всегда что угодно и как угодно. На то программирование и есть обычный инструмент. Ставь всегда вопрос "для каких задач", если нужно что-то идендифицировать, то не стесняйся никогда добавлять айдишники или другие классы-контейнеры. Дабы разделять подтипы твоих типов (хз правда зачем, и у наследия и у полиморфизма, есть конкретные цели, если они не нужны, то и использовать не стоит).
Гнаться за мелочами в "производительности" в таких вещах не стоит от слова совсем. Только разве что почесать свое эго.
С регулярками сам не очень дружу, но вот тебе идея...
Если ты уверен, что данные на 100% верны и всегда в такой последовательности, то замени все "<" на NewLine, а все ">" удали.
После чего у тебя будет четкая структура для заполнения обьектов через "std::istringstream"
Karapolo, в любом случае тебе надо открыть хотябы ютуб и выделить час-два времени на изучение этих вещей. Иначе никак. Иначе только фриланс и пытаться сдать готовые решения.
Это тебя ничего не научит. А раз это не универ, то не просто для корочки, а сама хочешь научиться. А раз хочешь сама уметь, то будь готова тратить неимоверное кол-во часов на изучение и пробы (пусть и методом тыка). Иначе никак от слова совсем.
разница не велика.
я так понимаю строка имеется ввиду просто предложение с "от 0 до бесконечности" символов?
для этой задачи надо понимать только 2 вещи. Абстрактно, что есть реализованная библиотека "String"
- String stroka "random endless text"
- cout << stroka
- random endless text
и то что тип string это по сути массив, т.е.
cout << string[1] выведет букву "а" из слова рандом. Т.е. 2ая позиция
а если абстрактно повыводить по буквам эту строку то
for (int i = 0; i < stroka.size(); i++) {
cout << stroka[i] << endl
}
будет выводить текст так до конца
e
n
d
l
e
s
s
.....
Для этого ребята в европе к примеру существует распространенная практика стажерства во время учебы.
Или работы во время учебы. У нас где то половина людей точно где-то работала и интерисовалась своей профессией. Сейчас кого не встречу - все работают там, где должны работать.
А те, для кого учеба было весельем, то и проблем с трудоустройством у них было в разы больше.
Дак вот, что мешает делать тоже самое в России? Или для вас ВУЗ был отсидеть или пробухать пары и быть свободным? Или мыслишки в виде, "да я, такой молодой и перспективный работник, никогда за гроши рабогтать не буду! долгой рабство! Быстро взяли меня на работу, все показали, рассказали, обучили и еще накормили". Так люди нынче думают?
ты хочешь сразу начать прыгать как мировой рекордсмен.
Тише... тииииише. Так задачи не делаются. Так вообще любые дела не делаются. Всему свое время - сначала начни просто работать и скажи, что мир айти - это ТВОЕ. Потом стань полноценным работником в типовой области. И только потом уже думай о таких свершениях (если сможешь).
Твой вариант - это прыгнуть... в лужу и уйти домой мокрой.
не знаю как в джанго, а там для этого есть тригеры на конкретных таблицах. К примеру пишутся запросы при
"on update, on delete, on insert". В твоем случае тебе надо сделать такой тригер в таблице Questions on insert и в зависимости от foreign key - вписывать каунтер++ в нужном поле таблицы тест.
Но так как это джанго... погугли есть ли тут такое ))
Странный вопрос. Это тоже самое, что если ты найдешь кошелек на полу без денег. Как бы и не поимеешь ничего, но помочь человеку спокойно можешь, по визитке, которая лежит в нем.
Ты можешь выкинуть этот кошелек на пол и пойти дальше или можешь позвонить владельцу и сказать о находке.
Я не думаю, что такой сайт как ты нашел - это цель, где можно наживиться. Скорее всего будет или игнор или спасибо или маленькая благодарность.
и еще добавлю, что для всех выше-перечисленных задач - не обязательно нужен именно линукс.
Автор просто не понимает еще чего он хочет и куда он идет.
Он не один такой, сейчас реально бум какой-то на слове "DevOps". Кто это так форсит?