|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Сокет юникс, protobuff, qRPC? Ось линуксоподобная. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 17:26 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
shmem Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 17:40 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Боюсь слишком низкий уровень. Все писать надо, семафоры, проверялки что там что то появилось для события. Сериализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 18:22 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Ну, раз ты для себя уже всё решил, так в чём вопрос? Между устраивающими тебя вариантами можешь выбирать с помощью монетки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 18:37 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 19:23 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Не решил. Обсуждаем плюсы минусы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 19:52 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Сокет юникс, protobuff, qRPC? Ось линуксоподобная. protobuf здесь выпадает из списка. Он вобщем не относится к интеракции процессов. Это просто протокол сериализации как и Avro/Apache Thrift. И его можно юзать и для файлов и для сетей. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 19:56 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Про D-Bus еще можно почитать. Вот щас в Ubuntu используется. Вообще думаю надо пойти еще и от языка разработки и платформы. Если Qt - то будет одно. Если Java то будет еще штук 20 как. ZeroMq удобен когда 1 процесс должен за секунду передать тыщу мегабайт в другой процесс и тот другой должен так-же быстро это схавать. Если таких требований нет - то лучше наверное брать что-то высокоуровневое. Или просто то что удобно программировать. Без амбиций. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 20:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dima T !!! :) ... Я без зазрения совести пихаю ZMQ во все дыры, пока - полет нормальный. Правда, я остановился на версии 4.2 (кажется), которую все еще под WinXP можно. Очень классная транспортная основа, поверх неё легко наращивать прикладное "мясо". Легко расширяется и вбок и вглубь. Не завязан ни на какие-либо брокеры, особенности операционок, не требует инсталляции, надежность, понятные исходники. Почти нет разницы при организации разных уровней (межнитевое, межпроцессное, межкомпьютерное) взаимодействий. Отличная документация, мощное комьюнити, бесплатно. Из недостатков: если пытаться использовать сокеты ZMQ "привычным" ("а вот в <Berkeley Sockets>||<Windows Sockets>,...") образом - получится фигня, наблюдал не раз. Т.е., чтение документации должно предшествовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2020, 23:35 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Автору я предлагаю написать 2 превед-медвед-мира на D-Bus, ZeroMQ. И просто посмотреть где оно практически будет удобно. И прикинуть цену внесения изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 10:19 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp Сокет юникс, protobuff, qRPC? Ось линуксоподобная. protobuf здесь выпадает из списка. Он вобщем не относится к интеракции процессов. Это просто протокол сериализации как и Avro/Apache Thrift. И его можно юзать и для файлов и для сетей. Да. Прочитал. А там даже никаких вкусностей сверху нету? У gRPC такая же картина? Не в курсе? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:29 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Я протобуф использовал косвенно. Как часть проекта Apache-ORC. И там протобуф использовался просто для хранения длинных последовательностей вещественных и целых чисел в файлах. +Еще были опции сжатия. Но они скорее всего шли от Apache-ORC. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:31 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
C gRPC не работал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:32 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Автору я предлагаю написать 2 превед-медвед-мира на D-Bus, ZeroMQ. И просто посмотреть где оно практически будет удобно. И прикинуть цену внесения изменений. Подскажи, ожидать API при общении с модулями как в шарпе или java servis.getUser() То есть построить семантику методы тут реально? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:35 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Не понял суть вопроса. На примере лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, Суть построения API в java и тут совершенно противоположная. Тут шлем структуры с командами по одному и тому же методу. По крайней мере в протобафе. А в java или API google есть список методов с комментами. Как сделать api на 50 методов. В соап там прокси класс генерится с этими методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:53 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Не понял суть вопроса. На примере лучше. servis.getUser() Сериализовать тут что? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 13:57 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Вряд-ли я тебе отвечу на этот вопрос сразу. Ты начни делать HelloWorld - и по мере поступления информации - будем смотреть где API удобнее. Про сериализацию - непонятно. Можно ответить и да и нет. Смотря какие фреймворки и протоколы связи. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 14:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, ОК. Попозже. Протобаф - передача структур и классов в другой процесс. А мне метод с именем вызввть надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2020, 14:13 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Ты начни делать HelloWorld - и по мере поступления информации - будем смотреть где API удобнее. народ. Подскажите как сделать бинарники в протобаф либе для студии в винде. Я директиву make вообще не знаю. Вот инструкция https://github.com/protocolbuffers/protobuf/blob/master/src/README.md авторTo build protobuf from source, the following tools are needed: autoconf automake libtool make g++ unzip Но тут меня напугало, что делать в винде? Если ничего этого нет? И make я в жизни не запускал. Что делать? С чего начать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 17:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Вот тут пишут что есть уже скомпилированные бинарники. Но опять же, внутри архивов их не нашел https://github.com/protocolbuffers/protobuf/releases/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 17:47 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
ХЗ. Но там дальше по тексту они дают более конкретную ссылку на CMake + VisualStudio https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 17:52 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton ХЗ. Но там дальше по тексту они дают более конкретную ссылку на CMake + VisualStudio https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md OK CMake на компе не было - поставил. Делаю дальше ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 17:58 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5.
- путь добавлять в CMakeLists.txt? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:09 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp - путь добавлять в CMakeLists.txt? по данному вопросу не тот путь был Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp cl is not a full path and was not found in the PATH. Может, его нужно запускать из студийного шелла, который устанавливает все нужные переменные окружения?.. Кстати, там может внезапно обнаружиться и CMаke, уже установленный вместе со студией. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:34 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Я когда еще на винде сидел - все С++ каноничные вещи проверял сначала на виртуалке VBox под Linux. Там обычно все "изкаробки" работает. А потом когда освоил что к чему переносил в винду. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:37 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, уже успел проверить немного эту идею. Но там вроде круче. С 17ой студии вообще самому не надо запускать CMake https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019 если я правильно понял. Пробую апдейт студии ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Там обычно все "изкаробки" работает. винда и линукс слишком больная разница. Чтобы по шагам переносить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:44 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC SharpС 17ой студии вообще самому не надо запускать CMake Они просто включили CMake в состав студии. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:49 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Да но этож мать ево Protobuf. Цитирую language-neutral, platform-neutral, extensible mechanism for serializing structured data Тоесть должен летать. Везде. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:49 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov PetroNotC SharpС 17ой студии вообще самому не надо запускать CMake Они просто включили CMake в состав студии. ну это как раз на MS похоже - никаких копаний в файлах. Всё в IDE ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:55 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Тоесть должен летать. Везде. сборка без ide для меня темный лес. Привычка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 18:56 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Dimitry Sibiryakov пропущено... Они просто включили CMake в состав студии. ну это как раз на MS похоже - никаких копаний в файлах. Всё в IDE У меня знакомец прямо из Студии приложения запускает в Линукс на виртуалке. Если я правильно его понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 19:16 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Если кроме него это никто не умеет, ценность этого сразу падает. "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 19:49 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, У нас типа Git стоит. Написал что то в винде. Протестил то что виндовое. Потом отправил одной командой в хрранилище. В линуксе получил и работай точно также. Все равно есть места где директивы компилятору для кого участок кода. Без этого не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 20:05 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Вот так счас делается бинарник CMake через студию. Появилось понятие Проект CMake. https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 23:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Вот так счас делается бинарник CMake через студию. Появилось понятие Проект CMake. https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019 Ну, собственно, мой знакомый примерно это и сделал. Он в Студии создал отдельную конфигурацию сборки для Linux. Прикрутил туда clang, какой-то из вариантов make. Запуск прямо из Студии в виртуалке с Линукс и удалённый отладчик. Повторюсь, если я правильно понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2020, 23:55 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton language-neutral, platform-neutral, extensible mechanism for serializing structured data Далее. Даже если у вас есть "platform neutral" исходные тексты, то это не отменяет суровой привязки к процессу сборки на всех этапах. А "platform-neutral toolchain" ещё не завезли. И, вроде как, даже не планируют. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 09:13 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Ну хотя-бы декларированы намерения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 10:16 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке? https://developers.google.com/protocol-buffers/docs/cpptutorial ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 10:55 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке? https://developers.google.com/protocol-buffers/docs/cpptutorial дак это сишный язык)) На одном конце профиля - структуры. Мы их кидаем на другой конец провода. Всё банально. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:02 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav PetroNotC Sharp Вот так счас делается бинарник CMake через студию. Появилось понятие Проект CMake. https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019 Ну, собственно, мой знакомый примерно это и сделал. Он в Студии создал отдельную конфигурацию сборки для Linux. Прикрутил туда clang, какой-то из вариантов make. Запуск прямо из Студии в виртуалке с Линукс и удалённый отладчик. Повторюсь, если я правильно понял. возможно. Просто это имхо дичайший оверхед. Мне всего нужен батник в винде чтобы всё скомпилировалось. Пришлось ставить CMake в Program Files и ....хорошо что студия взяла это всё Г...требуху к себе. Но ещё я не понял, поддерживают ли формат студия<--> Make File все проекты на гитхабе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:05 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке? https://developers.google.com/protocol-buffers/docs/cpptutorial с другой стороны я выше жаловался, что мне структуры не нужны. Мне 22122055 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Про D-Bus еще можно почитать Не надо dbus. Тогда уж rabbitmq/kafka. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке? https://developers.google.com/protocol-buffers/docs/cpptutorial дак это сишный язык)) На одном конце профиля - структуры. Мы их кидаем на другой конец провода. Всё банально. Я знаю что банально. Опубликой что-нибудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:08 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Я знаю что банально. Опубликой что-нибудь. Обязательно. Я ещё не скомпилил)))) Линкер ругается. В процессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:10 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке? https://developers.google.com/protocol-buffers/docs/cpptutorial с другой стороны я выше жаловался, что мне структуры не нужны. Мне 22122055 А зачем ты учишься собирать protobuf если тебе нужен удалённый вызов методов, как я понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, мне вообще нужны просто бинарники для винды от него ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:26 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Я делаю Hello World protobuff --> qRPC потом возможно ZeroMQ. Ты про него что там есть вызов методов? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:28 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp потом возможно ZeroMQ. Ты про него что там есть вызов методов? Я просто пробежался по описанию protobuf, почитал твои посты и задал вопрос. А ты не интересовался Inter-Process Communication in Qt? Вон они пишут, что к D-Bus прикрутили систему слоты-сигналы. Ты же на Qt программируешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Я тоже чисто прочитал что в Qt сигналы меж процессов не работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 11:45 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, Я тоже чисто прочитал что в Qt сигналы меж процессов не работают. А я по документации и примерам (D-Bus Chat Example) вижу что работают. Я правда не уверен, что это будет работать под Win. Но у меня собралось, запустилось и написало, что не может подключиться к сессии D-Bus. Код: plaintext 1. 2. 3. 4.
Может я что-то не понимаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 12:08 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, ну, если не трудно то сделайте демку. Я не такой уж спец. - два Qt приложения Сервер и клиент - запускаем рядом в разных процессах - в окошке клиента вводим 1234 и в окошке сервера это появилось. А потом я попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 12:18 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, ну, если не трудно то сделайте демку. Я не такой уж спец. - два Qt приложения Сервер и клиент - запускаем рядом в разных процессах - в окошке клиента вводим 1234 и в окошке сервера это появилось. А потом я попробую. Зайди в папку аля "Examples\Qt-5.10.1\dbus\". Там есть сэмпл "chat" и даже файл .pro есть, xml описание протокола. Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 12:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav "Examples\Qt-5.10.1\dbus\" Счас, добью protobuf и посмотрю. Спс. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 12:29 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Вот так счас делается бинарник CMake через студию. Появилось понятие Проект CMake. https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019 вроде работает. Нужно правой кнопой на проекте и buid - libprotobuf.lib = появится в Users.... ............ Но при переключении конфига exe с release на debug ошибка: Код: plaintext
Если я не отлаживаю либу а отлаживаю экзешник это правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 16:49 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Либу я сделал одну в режиме release и прописал в проект exe тоже одну. Если я не отлаживаю либу а отлаживаю экзешник это правильно? Конечно. Но я бы всё же разобрался что там происходит с макросом '_ITERATOR_DEBUG_LEVEL'. Это не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 18:18 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
c Protobuf демкой вопрос решён - работает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 23:20 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Если по некоему каналу данных будут в произвольном порядке передаваться структуры Person, Cat, Dog. Эта проблема решена в protobuf? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 23:30 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Мне стыдно за либу но там нифига нет кроме сериализации. То есть как из строки сделать классы там живые ...в оперативке. ParseFromIstream(... Всё То есть ваш вопрос решается не в либе а в любом коде сервера. Если передача асинхронно, то будет беспорядочно. Если синхронна, то будем ждать ответа или освобождения канала. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 23:46 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, ну вот, я собираюсь qRPC либу посмотреть. Говорят она в яндекс маркете) Дак вот там генерируетя как синхронный так и асинхронный сервер-клиент. Как раз ваш вопрос. https://habr.com/ru/company/yandex/blog/484068/ авторЕще одна фича gRPC — клиент и сервер генерируются при помощи proto-компилятора и gRPC-плагина на основе proto-описания. Есть возможность в моменте, когда пишется код, выбрать какой клиент будет использоваться. То есть выбрать асинхронный или синхронный клиент, в зависимости от того, какого рода код вы пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 00:08 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, Мне стыдно за либу но там нифига нет кроме сериализации. То есть как из строки сделать классы там живые ...в оперативке. (Развёл руками) Protobuf — это гугловская разработка? Через год они похоронят этот проект. У Гугла традиция убивать проекты. Что-то новое изобретут. У них есть деньги на переписывание своих проектов на другие либы. Есть ли эти деньги у тебя? Поэтому я и предлагаю что-то более стабильное: D-Bus + Qt. Но это, я опасаюсь, под Win будет сложно запустить. Но под Linux работать будет, слоты-сигналы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 00:14 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Дык у тебя исходники. Хоть вечно работай. Таки же как и DBus. Только боюсь там транспорт писать надо. Опять просто расшаривает данные на 2 процесса. Я посмотрю позже. Ну а бросает разработчиков не гугл а MS. Вспомни COM, Сильверлайт, веб сервер единственный. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 09:02 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, Дык у тебя исходники. Хоть вечно работай. Ты считаешь, что сможешь саппортить разработку Гугла? Это хорошо, что ты так считаешь, смелость и безбашенность города берёт. PetroNotC Sharp Таки же как и DBus. Только боюсь там транспорт писать надо. Опять просто расшаривает данные на 2 процесса. Я посмотрю позже. Какой транспорт, когда там явно написан в примерах межпроцессный вызов сигналов-слотов и, очевидно, кодогенерация по xml описанию протокола взаимодействия. Не смотри. :) PetroNotC Sharp Ну а бросает разработчиков не гугл а MS. Вспомни COM, Сильверлайт, веб сервер единственный. Ещё OLE и DDE. А они что IIS убили? Что-то сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 10:01 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav А они что IIS убили? Что-то сомневаюсь. Nginx всех убил. Apache по инерции плывёт, но тонет каждый год. а IIS даже не пытается всплывать. 2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 10:04 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Алексей Роза petrav А они что IIS убили? Что-то сомневаюсь. Nginx всех убил. Apache по инерции плывёт, но тонет каждый год. а IIS даже не пытается всплывать. 2017 ASP Net core полностью без обратной совместимости. Все проекты надо переписать с нуля. Ну а там первый кроссплатформенный веб сервер kestrel. MS поняло что упустило линукс ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 10:09 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Что значит саппортить? По русски это сопровождать? Откройте выше ссылку. Там 3 файла cpp. Любой заказчик лучше это возьмет чем наколенное поделие. А либа 1 и либа 2 чем не равны? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 10:12 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Алексей Роза пропущено... Nginx всех убил. Apache по инерции плывёт, но тонет каждый год. а IIS даже не пытается всплывать. 2017 ASP Net core полностью без обратной совместимости. Все проекты надо переписать с нуля. Ну а там первый кроссплатформенный веб сервер kestrel. MS поняло что упустило линукс ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 12:01 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Алексей Роза, "слишком много" это не инженерный термин. Перефразируйте свою мысль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 12:50 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Алексей Розана ютубе, кстати, про protobuf много слишком много для такой простой технологии, где "только сериализация"... Ты ещё с порно сравни... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 13:33 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А либа 1 и либа 2 чем не равны? Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 13:45 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, Согласен. Если функционал требуемый одинаков в обоих, то D-Bus выигрывает. Но решают что брать как и у тебя наверху. Я готовлю аналитическую записку по вариантам А, Б, С. Эта тема обзорная. По всему что есть межпроцессного. Дойду и до D-Bus. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 14:22 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav Ты считаешь, что сможешь саппортить разработку Гугла? Это хорошо, что ты так считаешь, смелость и безбашенность города берёт. Там нечего саппортить, протобуф - это идея. Масса самопальных реализаций для языков, не поддерживаемых гуглом. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:22 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav PetroNotC Sharp А либа 1 и либа 2 чем не равны? Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость. Ну и что? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость. Ну и что? Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:32 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Ну и что? Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio? Нет я считаю что инженерия знаний - это поиск и исопльзование. Если ты нашел что-то и оно решает твою задачу в разумные сроки - это успех. Если из принципа не подключать зависимости к коду (дескыть я и сам напишу) - то такой путь предполагает что ты напишешь сам вообще все. И драйвер к БД. И рендерер 3Д графики. Можно и Буст написать. Вобщем граница здесь - зыбкая. Я не осуждаю. Не хотите - не используйте. Но эволюционный процесс - предполагает предпочтение повторного использования изобретению. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:40 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
maytonЕсли ты нашел что-то и оно решает твою задачу в разумные сроки - это успех. А если нашёл что-то, что решает не совсем твою задачу или не совсем её решает? Вот как у топикстартера, например. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Protobuf - все решит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:48 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
А если решит не всё, надо найти ещё одну библиотеку, которая в сочетании с ним решит недостающее. Это Ява-ой-вэй. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:50 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio? Нет я считаю что инженерия знаний - это поиск и исопльзование. Если ты нашел что-то и оно решает твою задачу в разумные сроки - это успех. Если из принципа не подключать зависимости к коду (дескыть я и сам напишу) - то такой путь предполагает что ты напишешь сам вообще все. И драйвер к БД. И рендерер 3Д графики. Можно и Буст написать. Я где-то призывал не использовать сторонние библиотеки? Да ерунда, не было такого. Вы манипулируете. mayton Вобщем граница здесь - зыбкая. Я не осуждаю. Не хотите - не используйте. Но эволюционный процесс - предполагает предпочтение повторного использования изобретению. Нет, эволюция как раз и есть квинтэссенция изобретения. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:50 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А если решит не всё, надо найти ещё одну библиотеку, которая в сочетании с ним решит недостающее. Это Ява-ой-вэй. На этом форуме явно не хватает функции лайков. :) Лайк! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:53 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav Нет, эволюция как раз и есть квинтэссенция изобретения. Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:53 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav Я где-то призывал не использовать сторонние библиотеки? Да ерунда, не было такого. Вы манипулируете. Тогда прошу прощения. Это направление дискуссии закрыто. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:54 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav Я где-то призывал не использовать сторонние библиотеки? Только те, которые Гугл "тянет"? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:58 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton petrav Нет, эволюция как раз и есть квинтэссенция изобретения. Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП? Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 19:04 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
"стакан полу налитый или полупустой"? ))) Я выше про функционал говорил к такому примеру. Если потребуется отправить команду - метод по IP на другую машину то qRPC решит задачу. А DBus не решит. Это как пример функционала. Надо это или нет решает руководство. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 19:04 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp "стакан полу налитый или полупустой"? ))) Я выше про функционал говорил к такому примеру. Если потребуется отправить команду - метод по IP на другую машину то qRPC решит задачу. А DBus не решит. Это как пример функционала. Надо это или нет решает руководство. Тут еще тонкий момент. Есть взаимодействие типа посылка месседжей (MQ). И есть - вызов методов (RPC). Они похожи но первый асинхронный и практически без обратной связи. Тоесть контролируется просто факт доставки хотя-бы одному потребителю. Работает очень быстро. А что дальше с сообщением случилось на прикладном уровне? Обработано оно или у тебя был division by zero... ХЗ. Это уже не задачи MQ. Это уже прикладной слой. И второе взаимодействие - дёрнул метод (RPC) и получил код ошибки. Работает медленно. Но надежно. Каждая интеракция между процессами имеет фиксацию. Ты точно знаешь что получил ответ. ZeroMQ, DBus - это про первое. Это стрим месседжей. Любая библиотечка Rest/SOAP/Http - это второе. И protoBuf - это ни первое и не второе а просто протокол сериализации-десериализации объекта в БЛОБ. Причем такой блоб которому пофиг на разрядность int, и пофиг на порядок байтов в слове (BigEndian). И более того. ProtoBuf может подружить между собой например C++/JavaScript и все остальное. Мы используем протобуф не напрямую а косвенно как Apache-ORC - формат документа для биг-дата где десятки терабайт таблиц упаковываются в такие-себе Vertical Arrays. И со сжатием ZLib/Snappy уже поверх данных и завернутых в proto. А какие усилия сишник потратит для поддержки вот такой кросс-платформенности на основе структур struct? Я не знаю. Опять-же чтоб прочувствовать преимущества прото-буф - надо чтобы оба процесса были на разных архитектурах. А если у тебя процессы - гомогенные (оба под Win32 и одной разрядности) то наверное протобуф тебе и не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 19:54 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП? Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути. С тобой иногда бывает так сложно говорить. Вот ты сказал первый свою банальность дескыть: >> Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость. Это - банальность. Знаешь я не помню в каком бизнес-сегменте ты работешь. Кажется что-то с авиацией или АСУТП. Но мне кажется что у тебя есть определённая проф-деформация. Я всегда старался из себя эту деформацию изгонять. Смотреть на мир широко отрытыми глазами и не позволять предвзятости брать верх. У тебя есть элемент предвзятости. Ты сослался на PVS-Studio? Ты что? Cотрудник этой организации? Зачем вообще нам в дискуссию затаскивать это? Неужели у нас нет аргументов кроме какого-то кастомного приложения которое создавалось чтоб стыдливо закрыть дефекты 40 летней эволюции кодирования на С++? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 20:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Есть взаимодействие типа посылка месседжей (MQ). конечно, в данном топике message-oriented middleware мы не рассматриваем. Все просто - getName() из другого процесса\демона ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 20:09 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton А какие усилия сишник потратит для поддержки вот такой кросс-платформенности на основе структур struct? Я не знаю. Опять-же чтоб прочувствовать преимущества прото-буф - надо чтобы оба процесса были на разных архитектурах. На самом деле обмен структурами Human, Car, Dog... причём в произвольном порядке в канале данных. Это весит, ну максимум 500 строчек кода. С проверкой контрольной суммы, с анализом возможных шумов в канале данных. Причём взаимодействие на разных архитектурах. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 20:33 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav Это весит, ну максимум 500 строчек кода. какого уровня программиста и сколько будет в баксах потеря компании если там баги? Вот пример на java простейшего сервера для школы. Они есть готовые --------- Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 20:41 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, а шумы в канале откуда? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 20:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути. С тобой иногда бывает так сложно говорить. У всех свои недостатки, я прошу прощения. mayton Вот ты сказал первый свою банальность дескыть: >> Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость. Это - банальность. Конечно, это банальность. Но я не задавал банальных вопросов. А вы, mayton , задали именно что банальные вопросы. При этом вы высококвалифицированный программмист. mayton Знаешь я не помню в каком бизнес-сегменте ты работешь. Кажется что-то с авиацией или АСУТП. Нет. mayton Но мне кажется что у тебя есть определённая проф-деформация. Конечно, как и у вас. mayton Я всегда старался из себя эту деформацию изгонять. Смотреть на мир широко отрытыми глазами и не позволять предвзятости брать верх. Это пример для подражания. mayton У тебя есть элемент предвзятости. Ты сослался на PVS-Studio? Ты что? Cотрудник этой организации? Нет, я не сотрудник этой компании. Да, у меня есть элемент предвзятости, но эта предвзятость основана на боевом опыте и на статьях, которые они пишут. Я просто их уважаю и понимаю. mayton Зачем вообще нам в дискуссию затаскивать это? Неужели у нас нет аргументов кроме какого-то кастомного приложения которое создавалось чтоб стыдливо закрыть дефекты 40 летней эволюции кодирования на С++? ?! Хватит говорить ерунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Нет. Сокет-сервер - это слишком примитивно. Автору нужен API для синхронных интеракций. Например на базе Http. Давайте на верхнем архитектурном уровне нарисуем этот API как абстракции. А потом имплементируем. Код: plaintext 1. 2. 3.
Почему я хочу именно в таком виде. Чтобы отвязаться от всяких Human, Car, Doc и от разговоров ниочем. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:04 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, давай возьмем паузу на недельку. Просто мы напрягаем общество банальностями и перебранкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Автору нужен API для синхронных интеракций. Например на базе Http. Например, ZeroMQ с парой штатный zmq сокетов req-rep. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:09 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
ъъъъъ mayton Автору нужен API для синхронных интеракций. Например на базе Http. Например, ZeroMQ с парой штатных zmq сокетов req-rep. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:09 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
ъъъъъ, ну дак, для кругозора и альтернативы надо ещё знать одну - две либы. Чтобы выбирать то было из чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:23 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, это же прикольно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:42 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
ъъъъъ, прикольно в ПТ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 21:47 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav Это весит, ну максимум 500 строчек кода. какого уровня программиста и сколько будет в баксах потеря компании если там баги? Обмен через сокеты (или любой другой канал данных) любыми структурами в любой последовательности реализуется средним программистом за пару недель. 1-3-ри дня на разработку. И две недели на тестирование на фоне другой работы. Там просто... очень просто. Без багов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:03 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, угу. И в каждой фирме сидит прогер и пилит через сокеты))) Неужели сериализацию тоже? ))) А асинхронность могём? Этот прогер только потоки неделю отлаживать будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:11 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav, в принципе, одному прогеру дали интерфейс и он пошёл писать БЛ (бизнес-логику). mayton Код: plaintext 1. 2. 3.
ну а ваш прогер пусть пилит транспорт. Будет два прогера. Системщик и Разработчик ИС. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:14 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Да. Это разумное разделение архитектуры на слои. Но мой поинт был в том чтобы создать УСЛОВИЯ сравнения между собой zmq req-rep, HTTP(Rest/GraphQL), SOAP, gRPC. Единый интерфейс - это что-то вроде общего знаменателя. Или правил судейства. Сами посудите если я нарисую интерфейс Код: plaintext 1. 2. 3.
то мы мысленно упрощаем себе постановку. И нам уже не нужны сложные протоколы сериализации объектов. А если так Код: plaintext 1. 2. 3.
То это кардинально переворачивает постановку. Нам уже нужны способы как сериализовать сложный объект Car и уже здесь как раз выходит на сцену XML, JSON, eBML, ProtoBuf, Apache Avro, Thrift. (из этого списка я юзал все пожалуй кроме последнего). А если нужна сложная модель данных - или само-документрированность то лучше SOAP или GraphQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:38 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Вот пример на java простейшего сервера для школы. голосую за вылизанную либу протобафов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:40 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton То это кардинально переворачивает постановку. Я выше писал что нужно getName() ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 22:57 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Как-то настолько у тебя всё легко что я ищу подвох. Получается что ты так долго сетапишь удалённое взаимодействие только для того чтобы ... взять name() ? Оно-же string возвращает? А другие методы у тебя будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 23:06 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Код: plaintext
так что делать с этой ошибкой? Вставил отладочную lib в проект release. При компиляции эта ошибка. Релизной либы нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 23:13 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Как-то настолько у тебя всё легко что я ищу подвох. mayton Получается что ты так долго сетапишь удалённое взаимодействие только для того чтобы ... взять name() ? не было удаленного особо mayton Оно-же string возвращает? и что? Надо std:string\QString? mayton А другие методы у тебя будут? Выше писал 100 - 200 методов ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 23:15 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Выше писал 100 - 200 методов Опиши что будет у тебя в этих методах. Только строки или будешь гонять сложные объекты. Без бизнесовых имен разумеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 23:17 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp Выше писал 100 - 200 методов Опиши что будет у тебя в этих методах. Только строки или будешь гонять сложные объекты. Без бизнесовых имен разумеется. Меня другое интересует. 200 методов — это нормально? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 23:52 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Ну... чисто с человеческой точки зрения наверное тяжело разбирать такой API. Если побить его на 7 пакетов (по 30 методов) в каждом то уже как-то легче. Я думаю что есть какой-то признак как можно побить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 00:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Ну... чисто с человеческой точки зрения наверное тяжело разбирать такой API. Если побить его на 7 пакетов (по 30 методов) в каждом то уже как-то легче. Может и не то что бы тяжело, а просто гавнокодинг? 200 методов... А вы, давеча, рассказывали про бизнесовый объект с 1000-й полей данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 00:15 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Так то - другое. Никто конечно Java-класс с 1000 полями не создает. Но таблица в бигдате реально существует. И есть отдельно спека которая такой описывает. А если надо с энтитей поработать то на нее смотрят сквозь призму какого-то интерфеса. Например если это Organization то у нее есть к примеру штук 20 базовых свойств. Вот с ними и работают. Если нужны там квартальные отчоты по организации то можно посмотреть через другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 00:27 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Core Guidelines настаивает, что в классе должен быть минимум методов... автор# C.4: Make a function a member ONLY if it needs direct access to the representation of a class. Меньшее связывание, чем с функциями-членами, меньшее количество функций, которые могут вызвать проблемы при изменении состояния объекта, уменьшает количество функций, которые необходимо изменить после изменения представления. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 07:35 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, 200 методов? Ну наверно преувеличил. Это как бд выбирают. Нужно 500 мегов, а ТЗ пишут на 5 гигов))) Что в методах? Простые типы или классы? Постараемся простые. Классы сложнее версионность поддерживать. Да и основа REST. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 09:51 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Алексей Роза, Не в классе 200 методов, а на ИС 200 методов. А в ИС может быть 200 классов. Вот и выходит по одному на класс. Class ракета.run Class пиво.run Class юзверь.run ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 09:55 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Ты же не сразу сделаешь 200 методов. Будет какой-то итеративный процесс. Побьешь на несколько ендпоинтов. В процессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 09:56 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp PetroNotC Sharp Код: plaintext
так что делать с этой ошибкой? Вставил отладочную lib в проект release. При компиляции эта ошибка. Релизной либы нету. Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере. Буду искать макрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 09:58 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, Конечно. Счас вообще один метод тестирую. С одним protobuf неудобно. Нужно придумать структуру и там поля Имя метода Возврат Тип возврата Параметер1, парам2, Тип парам1, тип парам2, .... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 10:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере. поиск дал строку только в *.obj и двоичных файлах( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 10:51 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp PetroNotC Sharp Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере. поиск дал строку только в *.obj и двоичных файлах( В исходниках библиотеки искал? Что в аля Microsoft.Cpp.Win32.user? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:00 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Конечно. Счас вообще один метод тестирую. С одним protobuf неудобно. Нужно придумать структуру и там поля Имя метода Возврат Тип возврата Параметер1, парам2, Тип парам1, тип парам2, .... Посмотри еще для комплекта Apache Thrift https://thrift.apache.org/ Как альтернатива protobuf. И я тоже для себя посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav В исходниках библиотеки искал? Уже нашел что в студии можно поставить _HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0; но не работает petrav Что в аля Microsoft.Cpp.Win32.user? где смотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:07 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton Thrift Как то староват показался. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:08 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, авторЕсли вы хотите намеренно связать свой проект A в выпуске с другим проектом B в Debug, скажем, чтобы сохранить общие преимущества производительности вашего приложения во время отладки, вы, скорее всего, ударите эту ошибку. Вы можете исправить это, временно изменив флаги препроцессора проекта B, чтобы отключить отладку итератора (и сделать его совпадением с проектом A): В свойствах "Отладка" проекта "В", "Свойства конфигурации" → "C/С++ → ", "Предпроцессор", добавьте следующее в определения препроцессора: _HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0; Восстановите проект B в Debug, затем создайте проект A в Release и он должен правильно установить ссылку. не понял выделенное. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:10 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Thrift Как то староват показался. А в чем старость? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:13 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton А в чем старость? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:20 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton А в чем старость? Ну ассемблер тоже слабо цитируют. Хотя мы часто тут его косвенно обсуждаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:22 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, "обсуждаем но не применяем". Обсуждайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:25 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav В исходниках библиотеки искал? Уже нашел что в студии можно поставить _HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0; но не работает petrav Что в аля Microsoft.Cpp.Win32.user? где смотреть? В Студии меню View -> Property Manager. _ITERATOR_DEBUG_LEVEL для Дебаг == 2. Для Релиз == 0. По умолчанию. Не очень понятно, что у тебя происходит. Такое впечатление, что ты пытаешься собрать Дебаг, но собираешь Релиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:37 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
Почему-же? Ассемблер - это вообще главный ударный аргумент в вопросах перформанса компилляторов старого типа C/C++. Тех которые сразу на выходе выдают x86/x86_64. Про Java - тоже самое. И Елизаров и Шипилев приводят фрагменты ассемблера чтоб показать что где и как мы схитрили и сделали какой финт ушами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:39 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:39 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, Я люблю мейнстрим в IT. Этим всё сказано. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:40 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
petrav В Студии меню View -> Property Manager. Там нужно выбрать текущий режим запуска и в результате выходим на Проект - ПКМ (правая кнопа мыши) - Properties - C++ - Preprocessor - Definition Далее? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:44 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp petrav, типа <Скриншот> У тебя itkvnl-<бла-бла-бла>.obj собран в Дебаг, а Source.obj собран в Релиз. И ты их пытаешься слинковать. Что-то накосячено в проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:53 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 11:56 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ты закинь этот макет в github и мы быстрее пофиксим. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 12:01 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp, ты закинь этот макет в github и мы быстрее пофиксим. это на второй день без решения)). Всё по плану. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 12:04 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
хммм.... Интересная либа есть в qRPC Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63.
для того чтобы отправлять сообщения не по IP а по именам компа в сети: address_sorting Android's implementation of RFC 6724 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 13:43 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
И что здесь интересного? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 14:05 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
mayton, методы вызывать можно не по IP. Доп функционал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 14:14 |
|
Что выбрать для межпроцессного взаимодействия модулей приложений?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, методы вызывать можно не по IP. Доп функционал. А что ты такого пишешь что тебе нужна библиотека ITK ? Просто интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2020, 14:16 |
|
|
start [/forum/topic.php?all=1&fid=57&tid=2017425]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
166ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 274ms |
0 / 0 |