• Как можно сделать два Ethernet подключения?

    @dronmaxman
    VoIP Administrator
    Можно указать второй IP на интерфейсе и прописать маршрут, для DNS настроить nrpt policy.
    Ответ написан
    4 комментария
  • Данные в таком случае будут хранится в стеке?

    15432
    @15432
    Системный программист ^_^
    Данные будут храниться в сегменте .rodata или .text
    Ответ написан
    Комментировать
  • Undefined behavior в C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Скомпилирует любой компилятор с++. Может выдать ворнинги, если включена опция реагировать на предупреждения, как на ошибки, то тогда не скомпилирует, но только потому что его конкретно об этом попросили. Это не ошибка компиляции.

    В этом главная проблема Undefined Behavior: компилятор его почти всегда не видит, и программа с ним может даже работать в каких-то случаях так, как программист задумывал. А в других совершенно необъяснимо падает или выдает бред.

    У ОС защита от такой наглости с памятью, конечно, есть. Такая программа рано или поздно упадет с access violation, segmentation fault или еще чем-то подобным, когда цикл дойдет до не вашей памяти.
    Ответ написан
    Комментировать
  • Откуда появляется это странное число?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Читайте код внимательно:
    Ввод:
    for (int i=0; i<x; i++){

    Вывод:
    for (int i = 0; i <= x; i++){

    У вас там <= в конце. Из-за этого идет обращение к элементу по индексу x, за границей массива. И оттуда выводится какой-то мусор - это и есть ваше странное число.
    Ответ написан
    Комментировать
  • Как в cmd файле указать путь куда должен установиться exe?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если приложение поддерживает настройки пути установки - то да, можно. Если нет - то нельзя.
    Ответ написан
    1 комментарий
  • Как полностью заблокировать доступ к файлу?

    hint000
    @hint000
    у админа три руки
    Если Agent работает от системной учётной записи, то никак вы ему не ограничите логически права в пределах этой системы. Есть два с половиной варианта (но Agent может отказаться работать с любым из них или с обоими, нужно проверять методом тыка).

    1. ограничить запись физически - поместить файлы на CD-ROM; очень редко встречаются флешки с переключателем защиты от записи; на SD-картах (которые не microSD, а большие) и переходниках SD/microSD есть переключатели. Тут фикус-пикус в том, что, вероятно, потребуется создать symlink'и, а вы говорите, что Agent их удаляет. Но можно попробовать сделать symlink не на отдельный файл а на целую папку, содержащую этот файл. Возможно, Agent не догадается удалить и создать заново эту папку.

    2. ограничить права за пределами этой системы - поместить файл на сетевой шаре, расшарить только для чтения. Даже имея полные права на своей системе, Agent будет бессилен на другом хосте, содержащем шару. Опять же, шару придётся смонтировать, как сетевой диск; догадается ли Agent отмонтировать сетевой диск? Откажется ли работать с сетевым диском?

    0. а не проще ли мониторить изменение файлов (есть утилиты для этого) и при обнаружении изменений сразу восстанавливать файл из резервной копии? Да, есть шанс, что это не сработает, если немедленно после обновления файла он считывается и восстановление уже опаздывает. Но если повезёт, то будет хватать времени для восстановления. Я бы попробовал.
    Ответ написан
    7 комментариев
  • Какой ближайший хоп у России с европейской страной?

    @d-stream
    Готовые решения - не подаю, но...
    Во-первых каналов связи значительно больше одного, во-вторых пакеты динамически маршрутизируются и в каждый момент времени пакет может пролететь по совершенно разным маршрутам. На это влияют кучи факторов начиная от загрузки и заканчивая балансами пиринга.
    Так что чудесного "волшебного маршрута" не бывает.

    life-internet-world-connections-1024b.jpg
    Ответ написан
    11 комментариев
  • Можно ли безопасно запустить программу (только stdin/stdout, легковесная виртуализация, jail)?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Создайте отдельного пользователя без админских прав - и запускайте ваши бинари из-под него. Если там внутри не 0-day уязвимость с повышением привелегий - этого будет достаточно, чтобы не огрести непоправимых последствий.
    Ответ написан
    Комментировать
  • Вычитаю одно округленное число из другого, в ответе выдается число с кучей знаков после запятой, как это исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Добро пожаловать в реальный мир вычислений чисел с плавающей запятой с погрешностью! Если вам нужны точные вычисления - используйте тип decimal или аналогичный для вашего ЯП.
    https://habr.com/ru/articles/266023/
    https://learn.microsoft.com/ru-ru/office/troublesh...
    https://0.30000000000000004.com/
    Ответ написан
    2 комментария
  • Почему трясётся виджет во время перемещения мышью?

    @kaka888 Автор вопроса
    C, C++, Qt, Python Flask, MySQL, Lua
    Причина оказалась в относительных координатах курсора. Корректные координаты получаются только если вызывать event->globalPosition().
    Ответ написан
    Комментировать
  • Как получить доступ с OpenVPN сервера к локальной сети клиента?

    ValdikSS
    @ValdikSS
    Многопользовательские L3-туннели (в т.ч. OpenVPN TUN, WireGuard) не позволяют указывать IP-адрес, через который происходит маршрутизация (ip route … via 10.9.0.2) — эта опция требует L2-связности. Вам нужно настроить внутреннюю маршрутизацию OpenVPN.

    В конфигурационный файл на сервере добавить:
    client-config-dir ccd
    route 192.168.1.0 255.255.255.0

    Создать файл ccd/имя_клиента с содержимым:
    iroute 192.168.1.0 255.255.255.0

    И добавить маршруты на устройствах сети 192.168.1.0/24 через VPN при необходимости (в вашем случае не нужно).
    Ответ написан
    1 комментарий
  • Восстановление контроллера домена из бекапа veeam в песочнице, какой вариант лучше?

    @Desert-Eagle
    Новичок во всем
    КД не восстанавливают из бекапа, поскольку если у вас их два, то ключи могли поменяться. На бекап ушли старые ключи керберос, а сломался он с новыми, в итоге когда вы разворачиваете из бекапа, то данные идут старые и у вас ничего не работает.
    КД дублируются в сети через репликацию, но не восстанавливают.
    Ответ написан
    5 комментариев
  • Почему для самого класса статическая переменная использует правильное значение, но при попытке вывести его, выдаёт 1?

    @rPman
    static int Print(){
    это ФУНКЦИЯ
    для ее вызова нужно использовать скобки
    Bacteria::Print()
    иначе ты получаешь ее адрес
    Ответ написан
    7 комментариев
  • Использует ли WSL виртуализацию Hyper-V?

    Ответ написан
    Комментировать
  • Makefile не правильно раскрывает переменные, почему?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    SRC_DIR := src/brick_game/tetris # Папка с исходным кодом

    вот из этой строки нужно убрать все пробелы после слова tetris. Потому что иначе они попадают в переменную SRC_DIR. Комментарий можно оставить только впритык. Это же относится и к определениям остальных переменных.
    Ответ написан
    2 комментария
  • В чём проявляется зависимость c++ от железа и касается ли это Rust?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Многие пишут, что C++ - низкоуровневый язык и программы могут не работать на разных платформах в отличии от той же Java и касается ли эти проблемы Rust?

    Касается, и это не проблема, а фича.

    C/++, rust и go требует компиляции под конкретное железо. Для Java и C# необходима компиляция в промежуточный код (java байт-код и CIL соответственно) под их виртуальную машину (JVM и .NET соответственно). Виртуальная машина позволяет практически не заботиться о том, на каком железе будет выполняться написанное приложение, если конечно данное железо/os поддерживает эту виртуальную машину.

    Однако, Java и C# могут быть так же скомпилированы сразу в машинный код (AOT), но это не является обязательным. Данная компиляция так же производится под конкретное железо.
    Ответ написан
    Комментировать
  • Почему printf() выводит нули после точки?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    потому что int cusBal[10]. У вас массив целых чисел, вы его инициализируете константой 35.50. При этом происходит приведение к типу int и часть после точки с запятой теряется.

    Вторая проблема, вы эту int переменную выводите через "%.2f". Так что вам еще очень повезло, что оно вывело вообще что-то похожее на нужное число.

    Об обеих ошибках компилятор вам выдавал предупреждение (если он правильно настроен). Их все надо внимательно прочитать и убедиться, что они все безобидные, а лучше, чтобы их вообще не было.
    Ответ написан
    Комментировать
  • Как разумно поставить себе начало в программировании (C++ и C#)?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    C++ является одним из сложных ЯП... блабла...Я осознаю, что для меня это слишком серьёзное и тяжелое начало

    Я разобрался как работает стек и как адресуется память в пятом классе без интернета и практически без документации. Была какая-то книжка по С++, которую просто перечитал раза 3-4, пока не понял смысл.

    На протяжении обучения в школе я размышлял о начале изучения языка программирования.

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


    Чувак, ты слишком много размышляешь и мало делаешь. Нет какого-то оптимизирующего волшебства, который может значительно сократить твой путь. Ты должен писать код. Много кода.
    А ты занимаешься фигней типа анализируешь трудоустройство еще даже не поняв, а можешь ли ты вообще что-то.
    Ты должен понимать, что если ты можешь написать, например, крестики нолики или морской бой - это еще не значит что ты станешь программистом и сможешь этим зарабатывать. Это просто любитель. Но ты даже этого уровня не достиг, а уже хочешь анализировать тренды и тем более подсчитывать предполагаемый заработок, до которого еще годы пути. Ты посмотри на политику в стране, никто не знает что будет через год.

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

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

    А про трудоустройство начинай думать, когда при прочтении описания вакансии ты считаешь, что 50-60% ты знаешь.
    Ответ написан
    12 комментариев
  • Почему у - "wsl доступ к этому файлу из системы отсутствует"?

    @RedkoCode Автор вопроса
    решение оказалось простым:
    "C:\Program Files\WSL\wsl.exe" --uninstall
    Затем переустановите его, используя следующие команды:

    wsl --set-default-version 2
    wsl --update
    Ответ написан
    Комментировать
  • Зачем использовать кучу если есть стек? а так же где применяются указатели и ссылки?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Проблема стека в том, что там лежат только локальные данные, которые исчезнут вместе с выходом из функции. Кроме того, обычно размер всех переменных на стеке известен во время компиляции. Некоторые языки умеют выделять на стеке массивы переменной длины, но даже не все C++ компиляторы так умеют. В самом стандарте языка c++ - таких масивов нет. Поэтому стек часто не подходит.

    Помимо стека и кучи, есть еще глобальные переменные - но там проблема в том, что все они жестко определены во время компиляции.

    Т.е. если вам нужны данные доступные вне какой-то функции, да еще их точный размер и/или количество неизвестно на этапе компиляции - вам нужно что-то кроме стека и глобальных переменных. Это и есть куча.
    Ответ написан
    4 комментария