Задать вопрос
  • Структура студент возникла проблема кто может помочь?

    @res2001
    Developer, ex-admin
    Все более-менее нормально.
    Уберите cin.ignore();
    Замените getline(cin,FIO); на cin >> FIO;
    Ответ написан
  • Почему на статике не работает интернет?

    @res2001
    Developer, ex-admin
    DNS сервер у вас реально где расположен? Этот адрес и укажите на TS.
    Ответ написан
    1 комментарий
  • Как организовать удаленную работу сотрудников?

    @res2001
    Developer, ex-admin
    ВПН на базе OpenVPN.
    Чуть более геморойно в подготовке, но зато это полноценный ВПН со всеми плюшками, который неограничен одним RDP. Понимаю, что и в клиентский батник, предложенный Армянское Радио, можно добавить почти все что нужно, но это же надо каждого клиента обновить будет.
    Сервер может быть как под виндой, так и под линуксом (и прочими никсами). Ключи то же можно нагенерировать скриптом, процесс чуть более сложный чем для ключей SSH, но они формируют полноценную PKI, при желании даже списки отзыва прикручиваются.
    Клиентские конфиги можно делать одинаковыми. От клиента потребуется установить openvpn по дефолту, закинуть конфигурационный файл и ключи в нужные каталоги и запустить GUI (так же можно настроить и службу).
    Ответ написан
    8 комментариев
  • Как открывать изображения и другие файлы через контекстное меню?

    @res2001
    Developer, ex-admin
    Укажите запуск программы с помощью которой вы хотите, что бы файл открылся.
    www.script-coding.com/ContMenuExpl.html
    Ответ написан
    Комментировать
  • Как языки получают новые возможности из библиотек?

    @res2001
    Developer, ex-admin
    Грубо говоря в компьютере взаимодействие с любыми устройствами заключается в том, что нужно записать некоторый набор байт по определенному адресу в памяти (порт). Адресные диапазоны устройств (порты) и протокол обмена заранее известны. Каждый тип устройства имеет свой собственный протокол обмена с ПК (т.е. набор и количество данных и размер адресного пространства устройства).
    Современные ОС запрещают напрямую работать с устройствами, т.к. защита и все такое. Но ОС предоставляют собственные функции, позволяющие управлять устройствами, только более высокоуровневые. Ну т.е. вы не думаете куда и что именно надо записать, чтоб на экране нарисовалась точка. Вы просто вызывавете функцию ОС с заданными координатами точки.
    Когда все работали под MS-DOS, то ОС не препятствовала низкоуровневому доступу к оборудованию и любая программа могла непосредственно взаимодействовать с устройством без посредничества ОС. Сейчас погрузиться в это можно программируя микроконтроллеры.

    Обычно ОС пишут на Си. Поэтому разработчику ОС достаточно легко предоставить библиотеку API функций для Си. С++ как потомок Си так же умеет работать с Си библиотеками. В других ЯПах приходится реализовывать механизмы, чтоб из них можно было бы вызывать библиотечные Си функции.
    Ответ написан
    Комментировать
  • Как проверять на нестрогое неравенство вещественные числа?

    @res2001
    Developer, ex-admin
    Много букв, не осилил.
    Но для вашей задачи просто переведите float в double и забудьте об этой проблеме.
    Другой вариант - пересчитывать дельту в число с фиксированной точностью, в целое грубо говоря.

    Вопросы округления и сравнения в числах с плавающей точкой обычно важны в математических алгоритмах, где реально много математики. В прикладных задачах обычно это можно легко обойти, варианты обхода я написал выше.

    Про сравнение чисел с плавающей точкой есть вводные статьи на хабре. Вариантов сравнения, которые бы удовлетворяли во всех случаях я не встречал. Использовал несколько подходов, но все они работают в каких-то ситуациях, в других не работают. Ситуация тут это набор чисел для сравнения.
    Наиболее адекватный вариант, по моему, в boostе.

    https://www.boost.org/doc/libs/1_64_0/libs/math/do...
    https://rsdn.org/forum/cpp/2640596.1
    https://habr.com/ru/post/112953/
    https://randomascii.wordpress.com/2012/02/25/compa...
    Ответ написан
    Комментировать
  • Как запретить ввод букв в C++?

    @res2001
    Developer, ex-admin
    На уровне стандартной библиотеки это не сделать, т.к. в std реализована определенная схема работы: ввод заканчивается нажатием Enter, до окончания ввода программа не контролирует входной поток, только затем все введенные символы передаются на обработку программе.
    В простом варианте - читайте в строку, затем обрабатывайте каждый символ отдельно.

    Но по уму вам нужно переводить терминал в "сырой" (raw) режим средствами ОС, в этом режиме появляется возможность обрабатывать каждую нажатую клавишу отдельно, не требуется подтверждение ввода Enterом и т.д. Но в работе в этом режиме std и ее стандартные объекты вам не помогут никак, нужно переходить на уровень ОС.
    Можно поискать библиотеки, в которых реализован "сырой" ввод. Например в libuv это есть, но это кроме всего прочего еще и бибилотека ассинхронного ввода/вывода, что как бы добавляет сложностей.
    Ответ написан
  • При просмотре видео нагружается процессор?

    @res2001
    Developer, ex-admin
    Поставьте набор сторонних кодеков, например K-Lite Codec Pack.
    Ответ написан
    1 комментарий
  • Не работает код?

    @res2001
    Developer, ex-admin
    У вас GetRefStrict должна возвращать ссылку, а вы возвращаете указатель.
    return *res;
    Ответ написан
    Комментировать
  • В чем суть процедурного программирования?

    @res2001
    Developer, ex-admin
    Можно запросто писать в ООП стиле на процедурном языке. Плюшек в виде готовых конструкций, конечно нет и кода будет больше, чем то же самое реализованное на ООП ЯП. Но это не значит, что код будет медленнее или менее эффективен, просто в ООП язык программирования (компилятор) делает некоторую работу за вас, а в процедурном вы сами это делаете и этот факт увеличивает размер вашего кода.
    Вообще ООП вырос из процедурного стиля.
    Говоря о том, что многие проекты написаны в процедурном стиле, вы преувеличиваете важность "стиля". На самом деле многие проекты написаны на Си (процедурный стиль туда просто прикладывается как данность) и на то есть куча причин.
    Ответ написан
    Комментировать
  • Пользовательские типы и классы это примерно одно и тоже?

    @res2001
    Developer, ex-admin
    Класс является одним из вариантов пользовательских типов. Т.е. понятие пользовательский тип включает в себя не только классы, но и другие сущности (см. ответ Hemul GM )
    Ответ написан
    Комментировать
  • Как правильно работать с форком github в данном случае?

    @res2001
    Developer, ex-admin
    Сделайте свою ветку от последнего релизного коммита. Когда выйдет новый авторский релиз сделает ребэйз вашей ветки на новый коммит. Но, конечно, никаких гарантий, что не будет конфликтов никто вам не даст. Когда автор изменит тот же код, что и в вашей ветке, то будет конфликт.
    Ответ написан
    Комментировать
  • Выбор правильной стратегии ветвления?

    @res2001
    Developer, ex-admin
    Делает новую ветку от feture/new_name1 и делаете другой функционал на ее основе.
    После того как ветку feture/new_name1 примут, можно новую ветку запушить на гитлаб.
    Ответ написан
    2 комментария
  • Как вместо IP адреса SQL-сервера направлять запросы на сайт?

    @res2001
    Developer, ex-admin
    В MS SQL есть такая штука как MS SQL Browser. Эта стандартная служба идущая в комплекте с ms sql, она занимается разруливанием запросов идущих к разным экземплярам ms sql на одной машине. Возможно она умеет это делать и для ms sql расположенных не на той же машине.
    А вообще, можно использовать любой софт, который умеет редиректить порты. MS SQL использует 1 TCP порт.
    Но тут вопрос в том, стоит ли выставлять в интернет порт MS SQL? Туда сразу ломанутся куча кулхацкеров пытающихся его сломать. Я бы так не делал, если очень нужно то только через ВПН.
    Ответ написан
    Комментировать
  • Как работает WAN порт?

    @res2001
    Developer, ex-admin
    Обычное явление - на роутере в фаерволе закрыты пинги на WAN порт.
    Можете открыть их, если нужно.
    Ответ написан
    7 комментариев
  • Схлопывание версий в 2х таблицах?

    @res2001
    Developer, ex-admin
    Условием связывания вы вообще обнуляете смысл cross join.
    Собственно из-за этого условия отсеиваются записи, которых нет в ft.
    Предусмотрите в условии, что ft.id или st.id могут быть NULL, т.е. текущее условие должно выполняться только когда ft.id и st.id не NULL.
    Я бы сделал основной запрос с left join и к нему через union присоединил из st, то что не попало из st в первом запросе.
    Ответ написан
    2 комментария
  • Нужна помощь в написании батника с помощью команды set?

    @res2001
    Developer, ex-admin
    Ведите счетчик setов и добавляйте его значение к имени переменной. Схематично так:
    setlocal enabledelayedexpansion
    set "count=0"
    for /f "tokens=*" %%1 in ('dir /b z:\Doki') DO (
      set /a "count=!count!+1"
      set "G!count!=%%1
    )

    Для справки смотри:
    set /?
    for /?
    setlocal /?
    Ответ написан
    1 комментарий
  • Как сделать отладку по исходному коду, а не дизассемблеру в Qt Creator на linux?

    @res2001
    Developer, ex-admin
    Нужно собрать код с отладочной информацией. Для gcc ключ -g в опциях компилятора.
    На сколько я помню, в pro файле нужно задать:
    BUILD_FLAG=debug
    Тогда qmake включит отладочную информацию при сборке. Могу ошибаться, давно не использовал Qt и qmake.

    Если показанная точка - это не ваш код, а находится, например, внутри библиотеки, которую использует ваш код, то нужно эту библиотеку собрать с отладочной информацией. Но в этом случае, чаще всего ошибка все равно в вашем коде, так что возможно это и не потребуется.
    Ответ написан
    8 комментариев
  • VPN маршрутизация на Windows возможно ли?

    @res2001
    Developer, ex-admin
    Зачем вам server-bridge? Ниразу не видел openvpn работающий в этом режиме. Ну может оно и работает ...
    Режим topology subnet + server наше все.
    В общем когда ВПН клиент подключится к серверу останется только правильно настроить таблицы маршрутизации на ВСЕХ участниках обмена.
    Ответ написан
  • Как встроить переменные в sh скрипт?

    @res2001
    Developer, ex-admin
    Для обращения к переменным используйте такой синтаксис:
    ${FT_LINE1}
    Ответ написан
    1 комментарий