• Как определить координаты тела, если оно движется по эллипсу?

    https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%BB%D...

    Отличие от окружности только в различающихся радиусах-коэффициентах a и b.
    Ответ написан
    Комментировать
  • Как перехватывать весь трафик и перенаправлять на прокси в C# или С++ (пишу в VS)?

    Nipheris
    @Nipheris Куратор тега C++
    Вадим Егоров
    > подключение к прокси при настройке через панель управления осуществляется по протоколу HTTP
    Конечно по HTTP, под "прокси" обычно и понимают как раз таки HTTP-прокси. Если вам нужно перенаправлять ЛЮБЫЕ TCP-соединения, т.е. в том числе те, которые не имеют вообще никакого отношения к HTTP (например, SMTP), то тогда обычно пользуются соксами (https://en.wikipedia.org/wiki/SOCKS), а если программа сама не умеет инкапсулировать трафик в этот протокол - то используют соксификатор, например такой www.freecap.ru .
    Нужен ли вам socks или нет - это зависит от того, что у вас там за прокси. Я еще раз отмечу, что не понимаю, что это за сервер такой, что он шифрует и по какому протоколу работает. Если это ваш собственный протокол, то тогда у вас два пути:
    1) вы пишете локальный socks-прокси, направляете программы через него (путем настройки программы или путем насильственной соксификации), а он уже шифрует трафик как вам надо и общается с УДАЛЕННЫМ прокси по ВАШЕМУ протоколу
    2) вы пишете аналог соксификатора, т.к. программу, которая будет форсировать передачу трафика через себя, и также будет шифровать его и направлять по ВАШЕМУ протоколу на удаленный прокси. Тогда вам скорее всего и придется разбираться с перехватом пакетов. Самым простым вариантом будет использование WinPcap - тогда не нужно будет работать в режиме ядра (это не самая простая вещь на свете), плюс в современных версиях этой же либой можно и отправлять пакеты: www.winpcap.org/docs/docs_412/html/group__wpcap__t... . FreeCap реализует иной подход - он перехватывает вызовы Winsock API у целевого процесса, заменяя их на свои функции. Вариант интересный, но ИМХО менее надежный.
    Ответ написан
  • Объясните по-простому суть индексов в MySQL?

    - Анжела, где в нашей библиотеке искать посты с типом 15, статусом "опубликовано" от 13 марта 2015 года? А то читатели спрашивают, а перебирать все подряд я буду до конца следующей недели.
    - Без проблем, Вероника, сейчас скажу (заглядывает в индекс). Так, опубликованные посты с типом 15 начиная с февраля и заканчивая сентябрем 2015 лежат в третьем зале, 10-й шкаф, 5-я полка сверху. Конкретный пост сама найдешь, там на полке больше 20-ти штук все равно не помещается.
    - Благодарю!
    Ответ написан
    5 комментариев
  • Как сгенерировать код с++ из php?

    Nipheris
    @Nipheris Куратор тега C++
    то мне нужно было сделать сайт на си++

    вы ничего не перепутали?
    Я могу вам дать пару советов, но не уверен, что они вам нужны.
    EDIT: простейший вариант - SPA с JSON WebAPI на плюсах (например, связка cpp-netlib.org + https://github.com/nlohmann/json/ )
    Ответ написан
    4 комментария
  • Как найти разницу двух чисел в массиве рекурсивно?

    Навскидку:
    const D = 10
    int N = ...
    int a[N] = ...
    
    find(i, j, N):
    	d := a[j] - a[i]
    	if d = D then
    		return (i, j)
    	else if d < D then
    		if j + 1 == N then
    			return nil
    		else
    			return find(i, j + 1, N)
    		end
    	else if d > D then
    		if i + 1 == N - 1 then
    			return nil
    		else
    			return find(i + 1, j, N)
    		end
    	end
    
    find(0, 1, N);

    Сложность по идее O(2n). Вообще не очень красиво для рекурсивной реализации, но вроде рабочий вариант.
    Вторую задачу - сами.
    Ответ написан
    5 комментариев
  • Как сделать "имитацию чата" через NamedPipeClientStream и NamedPipeServerStream?

    Nipheris
    @Nipheris Куратор тега C#
    Что конкретно делаете/добавили? Какие исключения? В каком месте кода?

    На вопрос в текущей версии можно ответить только так:
    а) построить реализацию чата с помощью именованых каналов возможно;
    б) вы построили реализацию с ошибками (какими, пока непонятно);
    в) для реализации чата можно предложить много других способов, например использовать TCP/IP и сокеты Беркли, только непонятно какой вам нужен.
    Ответ написан
    Комментировать
  • Каких файлов не хватает приложению для запуска?

    Nipheris
    @Nipheris Куратор тега C++
    См. ответ Ринат Велиахмедов - универсальное решение, когда непонятно, что происходит.

    Хотя, если "наваял программку", то есть вероятность, что вы делаете попытку дистрибуции впервые. Поэтому, сначала скомпильте релиз-версию вашей программы, чтобы зависеть от релизных библиотек, а не от дебажных (VC Redist ставит только релизные библиотеки, т.к. дебажным место только на компьютерах разработчиков). Если не поможет, открывайте dep walker и в студию список зависимостей.
    Ответ написан
    9 комментариев
  • Как просмотривать домашнюю видео коллекцию в браузере?

    Рискну предположить, что смена контейнера - меньшая проблема, а гораздо большая - поддержка кодеков, используемых в вашей домашней коллекции видео. Я бы начал со сверки этих списков:
    - https://helpx.adobe.com/flash/kb/supported-codecs-...
    - caniuse.com/#feat=video (вкладка subfeatures содержит конкретные форматы)
    с тем, что вы используете у себя. Вам не обойтись без перекодирования, если половина видео в вашей библиотеке закодирована в других кодеках.
    Ответ написан
  • Поясните правила 57 и 58 в MISRA C. Почему break, continue - плохо?

    Потому что break и continue это варианты goto, а goto нарушает принципы структурного программирования.
    Ответ написан
    Комментировать
  • Почему у Windows 10 ftp или SSH соединения начинают долго соединяться после недели без перезагрузки?

    Если проблема не в конкретном сервисе (т.е. и FTP и SSH себя неадекватно ведут), то дело таки в системе. С другой стороны, относительно маловероятно, что проблема в ядре или драйверах. Поэтому в очередной раз вместо перезагрузки попробуйте следующее:
    1) перезапустить конкретный сервис (FTP например), посмотреть, помогло или нет;
    2) если нет - перезапустите по одному сервисы, имеющие отношение к сетевому взаимодействию, например виндовый файрволл; после перезапуска каждого проверяйте, не разрешилась ли проблема;
    3) если не прояснилось - запустите на машине TcpView и посмотрите, как происходит подключение клиента к сервисам: долго ли открывается TCP-соединение, нет ли внезапных разрывов;
    4) если времени у вас достаточно - посниффайте Wireshark-ом и попытайтесь сузить проблему до конкретного этапа установления соединения;
    5) вообще, попробуйте зайти на сервисы с локалхоста; вдруг проблема не в вашей системе, а в каком-нибудь роутере через который вы пробрасываете порты (если таковой есть): возможно он начинает тупить, а перезагрузка системы приводит также и к сбросу сетевого интерфейса на роутере/перевыдаче IP-адреса, что приводит роутер в чувство.
    Ответ написан
    Комментировать
  • Создание свого аудиоформата, с чего начать?

    С написания диссертации по обработке сигналов. Ну или со знакомства с человеком, который пишет диссертацию по обработке сигналов.

    Почему? Потому что чтобы превзойти существующие решения хотя бы в какой-то нише (напр., приемлемое качество речи при очень низком битрейте, или lossless-кодирование с высокой степенью сжатия) нужно хорошо поработать. Потом еще провести десяток-другой серьезных экспериментов, чтобы доказать преимущества вашего подхода в конкретных случаях (см. выше). Тогда в вашем кодеке будет реальная ценность, и вас, возможно, услышат серьезные люди.
    А "для себя" - Stalker_RED уже все сказал: изучите теорию, и существующие решения. Узнаете столько всего, что с вероятностью 98% перехочется делать свое. Зато будете знать, как делают другие.
    Ответ написан
    Комментировать
  • Как эффективно тестировать клиент-серверные приложения написанные на Qt на одной машине?

    обмен идет через UDP

    QTcpSocket

    Непонятно, что из этого выбрать.

    Не совсем понял смысл выражения "значение QTcpSocket", но с точки зрения протокола IP, операционная система при стандартном способе привязки сокетов будет иденфтицировать сокет (и соответствующее приложение) по паре (IP адрес; порт). Если вы все-таки используете UDP и соответствующий тип сокетов, то вы так или иначе решаете задачу подключения нескольких клиентов к серверу (в случае TCP это делал бы для вас QTcpServer). В зависимости от выбранной вами модели управления, клиенты либо используют фиксированный UDP порт и посылают дейтаграммы с некоторого IP-адреса и этого порта, сюда же ожидая ответ от сервера, либо выбирают случайный свободный UDP-порт.
    В первом случае сложно называть клиентов "клиентами", т.к. они также висят на фиксированном порту и с точки зрения сети равноправны с сервером. Чтобы протестировать этот случай, можете попробовать добавить дополнительные IP-адреса вашей машине, и привязываться разными "клиентами" на разные адреса, чтобы пара (адрес, порт) была уникальной.
    А во втором случае проблем быть не должно, если порт выбирается случайным образом.
    Ответ написан
    2 комментария
  • Хранение данных полигонов от карт в базе?

    В SQL Server есть специальные географические и геометрические типы (мсдн), пробовали? Если это действительно полигоны, не вижу никакого смысла хранить их "как есть".
    Ответ написан
    Комментировать
  • Как разделять логику запросов в СУБД и PHP?

    Как правильно разделить работу СУБД и PHP?

    Есть очень простой принцип.

    СУБД - это подсистема, которая хранит и извлекает данные, а приложение (на PHP или на чем угодно) - их обрабатывает и модиифицирует, если нужно.
    СУБД архитектурно (и физически) "ближе" к данным. Одна из важнейших задач СУБД - выбрать из всего объема БД только нужные сейчас данные. Именно на уровне СУБД нужно производить максимум фильтраций. У нее есть все нужное для этого - индексы и прочие хитрые структуры данных.

    Однако, чтобы СУБД лучше выполняла свои основные задачи, не стоит нагружать ее лишней вычислительной работой. Все, что не связано с поддержанием целостности и согласованности данных, отдают на уровень приложения - тогда эти вычисления (куда относятся, к примеру, подготовка JSON-ответов или сборка web-страницы по шаблону) можно выполнить логически и физически на других узлах, что влечет за собой очевидные преимущества.

    Поэтому вывод такой: выбирайте как можно меньше записей и столбцов/атрибутов в запросе к БД (т.е., например, никаких * в плановых запросах), и делайте как можно больше работы с ними на уровне приложения (настолько, насколько удается соблюдать требуемые гарантии целостности).
    Под "как можно меньше записей" я имею в виду делать запрос максимально конкретным и узконаправленным, но достаточным для выполнения текущей задачи.
    Ответ написан
    7 комментариев
  • Как база данных производит подсчет строк?

    Да, как реализован COUNT()?

    Зависит от:
    а) того, что будет внутри COUNT
    б) того что будет в WHERE (и будет ли он вообще);
    в) реализации в конкртеной СУБД;

    Пример 1: если вы сделаете COUNT с WHERE по неиндексированному полю, то без сканирования таблицы не обойтись. Кроме того, если поле внутри COUNT() может быть NULL, то СУБД придется выкидывать еще и нуллы, т.к. COUNT их не учитывает.

    Пример 2: если вы сделаете COUNT по первичному ключу без каких-либо фильтров, то СУБД вероятно просто вернет вам количество строк из своих служебных структур, т.к. первичные ключи а) уникальны; б) не могут быть NULL в большинстве сегодняшних СУБД.

    Вывод: SQL это высокоуровневый декларативный язык, который перекладывает принятие алгоритмических решений на планировщик СУБД, что дает очень большой простор для оптимизаций в конкретных реализациях. Лучший рецепт - построить план КОНКРЕТНОГО запроса и увидеть, что потребуется для его выполнения.
    Ответ написан
    Комментировать
  • Тенденция к перехвату проектов/клиентов сотрудниками с последующим увольнением. Что делать?

    Я вам могу только одно сказать - если человеку так легко уйти и открыть свою компанию, еще и вашего конкурента, то возможны три случая:
    1) человек - идиот, совершенно не оценивает свои возможности и не понимает, какую работу по созданию фирмы ему предстоит выполнить (весьма частый случай);
    2) человек настолько желает создать свою фирму и/или ему настолько скучно у вас, что он готов выполнить эту работу (достаточно редко);
    3) на самом деле открыть свою фирму по вашему роду деятельности не составляет труда, и по сути и этот человек, и вы сами просто пытаетесь "быть на коне" по принципу кто первый встал - того и тапки.

    Подробнее по последнему пункту.
    Я вот сейчас даже представить себе не могу, насколько невероятный объем сил мне нужно будет вложить, чтобы попытаться создать хотя бы подобие конкурента той фирме, где я работаю. Т.е. если я решу уходить - это будет уход в какой-то совершенно отдельный проект, гораздо меньшего масштаба, и не имеющий ничего общего с текущим рабочим местом, но очень интересный для меня (т.е. как раз случай 2).
    Поэтому ВАМ вопрос: а что вы сделали такого невероятного в рамках своей фирмы? Вы нашли уникальные проекты? Уникальные связи, приправленные вашей проверенной репутаций (важнейший момент)? Вот на моем рабочем месте это все есть. А на рабочих местах в вашей компании это есть?
    А если нет, то чего вы удивляетесь? Вы делите легкодоступные ресурсы, также как и двухмесячные вебстудии вырывают друг у друга сайты-визитки за три тыщи. Тогда вы должны уже привыкнуть к "закрыванием подписями".

    Нет, ну серьезно, как вы вообще ведете бизнес, если главное для вас - юридическая клетка работника? Почему в вашем вопросе вы говорите об этом, а не о том, что у вас в руках лучшие клиенты города?
    Ответ написан
    3 комментария
  • Возможно ли собрать Open Office под Win16?

    современные решения

    способные работать в 16-разрядной Windows

    взаимоисключающие параграфы, не находите?
    Ответ написан
    Комментировать
  • Как сделать релиз проекта с directx?

    Nipheris
    @Nipheris Куратор тега C++
    Подключить в релизной конфигурации релизные библиотеки и выбрать релизную конфигурацию при сборке проекта.
    Ответ написан
    7 комментариев