@woonem
> программа не должна настраивать систему
А почему вы считаете, что не нужно настраивать систему, чтобы пропускать через себя трафик? В любом случае придется менять системные настройки, и надеяться, что все интересующие вас программы будут их читать.
Иной путь - перехватывать траф в пространстве ядра, а-ля wireshark, но боюсь что этот вариант вам не подходит.
И да, что вообще представляет собой этот ваш дешифратор? Как его вообще подключить к трафику? Он сам по себе HTTP-прокси или что это вообще?
litvin2 да, индексы создаются под наиболее популярные плановые запросы, причем как для операций слияния (join), так и для фильтрации (where). Более того, в индексах следует, например, учитывать порядок сортировки, если where выполняется на сравнение больше/меньше.
Если у вас будет независимые индексы по столбцам, то врядли СУБД сможет воспользоваться обеими при фильтрации по двум столбцам одновременно - скорее всего она выберет записи используя один из индексов, а уже второе условие будет обрабатывать последовательным сканированием.
А вообще, чтобы не гадать, знакомьтесь с EXPLAIN и построением плана запроса.
Karponter начали с конфликта типов и каких-то несуществующих унаследованных операторов, закончили на том, что нужно хранить указатель на ноду :D. Ну вы и задаете вопросы))
Karponter если вы про std::iterator en.cppreference.com/w/cpp/iterator/iterator , то тогда я не понимаю, о каких унаследованных операторах идет речь (там только вложенные типы определяются), и о каком конфликте типов.
Lemann Carmicle ну вот раз конкретную cms уже нашли, тогда лучше читайте доки по ней. Принципиально потому, что если есть данные, то лучше их хранить в БД, а если нужна БД, то нужны и библиотеки работы с ней (например с MySQL). Они то конечно есть (оф. C++ клиент для MySQL), но с ними тоже придется разбираться.
Не знаю какие там рекомендации по архитектуре в cppcms, но как по мне проще всего будет сделать SPA, раздавать его как статику с помощью nginx, и отдельно сделать JSON-овское WebAPI и собственно реализовать на C++. Если в задании страницы нужно генерить на сервере, то это уже другой вопрос.
> Класс итератора структуры я наследую от двунаправленного итератора по узлам.
О каком классе идет речь и что вы планируете поиметь с этого наследования?
Lemann Carmicle жестко. Конечно, опредленная ценность с точки зрения обучения в этом есть, но назвать задание стандартным сложно.
Что за сайт, какова сложность, какое поведение должно быть?
Sashahttps://yadi.sk/d/8TkhbEVjkvW9z
Два варианта - с минимальными изменениями и более адекватный для чтения. Делал руками на глаз, если не будет работать - пишите. Не забудьте выбрать Release в выпадающем списке.
densafacewww.dependencywalker.com - тут есть обе сборки. Где-то на просторах github видел программку на Go для автоматического выбора нужной версии, но это уже удобства..
densaface MFC90D.DLL , MSVCR90D.DLL - вот этого в релизной сборке быть никак не должно, о чем я вам и говорил изначально, проверьте какие lib-файлы используются в релизной конфигурации.
MSVCP90.DLL/MSVCR90.DLL можно скопировать руками, можно поставить в виде redistributable пакета вместе с программой (второе предпочтительнее, но сложнее). Насчет MFC90.DLL не знаю, поищите рекомендации от MS.
COMCTL32.DLL и GDIPLUS.DLL это системные библиотеки, их лучше вообще не распространят со своим приложением (вероятно у вас даже нет на это права).
После того как обдумаете вышесказанное и скопируете нужные либы в папку с правильно собранным релизным exe-шником, запустите dep.walker, и откроете им exe из этой папки. Он должен показать, какие либы ПО КАКИМ ПУТЯМ загрузились. Так вы сможете проверить, все ли подтянулось правильно. Например, если вы решили положить MFC90.DLL рядом с exe, то вы сможете проверить, конкретно этот файл подтянулся или нет (кроме того, проверьте, нет ли ошибок загрузки, иконка не должна быть красной). Помните, что обязательно нужно соблюдать целевую архитектуру библиотек (нельзя мешать 32-битные DLL и 64-битный EXE и наоборот). DepWalker также вам в этом поможет - там на иконках написана разрядность, плюс к этому сам DepWalker имеет две версии: 32 и 64-битную для корректной работы в рамках указанной подсистемы. Это связано с тем, что C:\Windows\system32 для 64-битных приложений это одно, а для 32-битных - совсем другое и нужно опять таки использовать правильную версию DepWalk.
Я не указал это в вопросе, но в том то и задача, что хочется уйти от решения из палок и сами знаете чего :), а именно от старого шумного PC с фряхой на борту. Вот куда уйти - в этом и вопрос. Взять miniITX или же посмотреть готовое решение вроде того, что предложил Алексей Черемисин - никак не мог найти этот класс устройств (полноценный настраиваемый роутер на 3 и более портов, вместо стандартных 5 LAN - 1 WAN), уже начал сомневаться в их существовании.
Но все равно спасибо, пара роутер/коммутатор действительно разумное решение.
Благодарю за ответ! ERLite-3 очень интересная штуковина, была мысль когда-то насчет пары роутер/коммутатор, но как раз нормальный гибкий роутер на 3-4 порта (из которых любые можно настроить на апстрим) найти не получилось:). А это вполне рабочий вариант. Отдельное спасибо за дешевый DLink с VLAN-ами)
kay к сожалению, кроме страницы википедии https://ru.wikipedia.org/wiki/DivX не могу ничего конкретного сказать. Встройте одно такое видео в страницу и попробуйте открыть вашим браузером. В принципе можете так проверить каждый из используемых в вашей коллекции кодеков.
Sergey6661313
> Вообще смысл в том что имена переменных я вообще не буду знать заранее
Такие вещи на C++ , ввиду совершенно иной системы метапрограммирования, делаются совершенно иначе. Вам нужно либо выбрать правильный способ решения вашей задачи (скорее всего вы просто привыкли что-то делать на питоне и пытаетесь теперь это применить в C++), либо изучать приемы метапрограммирования в C++, как статического (с помощью тех же шаблонов), так и динамического.
Маловероятно, что вы пишете свою ORM или какой-либо еще метафреймворк, поэтому советую вам описать изначальную задачу, из-за которой вы не знаете имен ваших переменных. Поймите, что в терминах C++ это звучит как минимум странно.
OnYourLips ну если вы про кейворд dynamic, то это скорее динамический подъязык внутри статического). В большинстве статических языков механизмы создания новых пользовательских типов требуют фиксированной структуры таких типов. А для большинства динамических языков позволить изменять структуру объектов - не проблема.
В любом случае, автору вопроса полезно ознакомиться с базовыми различиями, т.к. человек явно не ведает, что творит, и пытается переписать программу с питона на плюсы построчно)