pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Почему не работает цикл while в python?

Лучший ответ: Потому что True это 1, а не 10. Но приведение 10 к булеву значению даст 1. 
i = 10
while bool(i) == True:
    print(i)
Во втором варианте оно неявно приводится интерпретатором, поскольку while принимает на вход только булево значение.

Худший ответ: Потому что True это 1, а не 10. Но приведение 10 к булеву значению даст 1. 
i = 10
while bool(i) == True:
    print(i)
Во втором варианте оно неявно приводится интерпретатором, поскольку while принимает на вход только булево значение.
Вопрос: Право писать команду только админу?

Лучший ответ: отвечать на команды только при условии, что отправитель - админ.
т.е. узнать свой телеграм id
и реагировать на команты если параметр сообщения ['message']['from']['id'] - равен вашему id

Худший ответ: Так же можно использовать как пример

admin_keyboard = telebot.types.ReplyKeyboardMarkup(True)
admin_keyboard.row(" Купить")
admin_keyboard.row("ℹ️ Изменить FAQ ")

user_keyboard = telebot.types.ReplyKeyboardMarkup(True)
user_keyboard.row(" Купить", "ℹ️ FAQ")
и потом с помощью reply_markup ты присваиваешь кто может использовать команду. Это либо admin_keyboard или же user_keyboard.row

так же с помощью команды ignor_command = ["ℹ️ Изменить FAQ ",] Ты запрещаешь использовать команду ["ℹ️ Изменить FAQ ",] user_keyboard.row

Примерно так выглядит код
admin_keyboard = telebot.types.ReplyKeyboardMarkup(True)
admin_keyboard.row(" Купить", "ℹ️ FAQ")
admin_keyboard.row("ℹ️ Изменить FAQ ")

user_keyboard = telebot.types.ReplyKeyboardMarkup(True)
user_keyboard.row(" Купить", "ℹ️ FAQ")
ignor_command = ["ℹ️ Изменить FAQ "]
Вопрос: Какие минимальные требования к ноутбуку для веб разработки на Python?

Лучший ответ: Опыт показывает, что можно работать на хилом ноуте 2007-го года выпуска.

Худший ответ: Если хотите кодить - вам ничего не помешает. Можно кодить хоть с бабушкиного железа и даже с телефона. Но если нужен какой-нибудь современный ноут, то могу посоветовать Asus VivoBook 15s, которым лично я пользуюсь уже больше года. Также можете посмотреть сюда
Вопрос: Как лучше собрать пк?

Лучший ответ: Лучше брать поколение новее. Зачем HDD в этой системе, тормозить все?

Худший ответ: БП помощнее разве ненадо?
Ну и насчет матери хорошо подсказывают
Вопрос: Можно ли определять сторону света по телефону?

Лучший ответ: Вам стороны света в смысле компаса или хотите отбрасывать тень в зависимости от освещенности ?
Пример компаса  https://dev.to/orkhanjafarovr/real-compass-on-mobi...

Худший ответ: Вообще-то, опытные люди первым делом смотрят, с какой стороны на ём мох растёть. Я так постоянно так делаю.
Вопрос: Как связке апач-nginx настроить переход на https?

Лучший ответ: У вас зачем-то 80 порт и апач, и нгинкс слушают - проблема в этом. Перевесьте апач куда-нибудь, имхо.

Худший ответ: У Apache укажите <VirtualHost 127.0.0.1:88>, после чего у Nginx proxy_pass http://127.0.0.1:88;
Вопрос: Что такое API в PHP?

Лучший ответ: грубо говоря, html странички - для живых юзеров, которые по ним ходят, жмут кнопки и читают буквы
api - для служб, которые ходят друг к другу, читают информацию в виде массивов или объектов (json, xml, и др.) и собственно взаимодействуют посредством вызовов api

UI - user interface
api - advanced program interface

Худший ответ: "API - это интерфейс, для работы с какой либо сущностью/объектом/классом/бд"
В какой-то степени - да. Но я бы определил так:
API - это контракт между системами, каким образом данные передаются от одной к другой, т.е. некая спецификация описывающая формат обмена. Благодаря наличию контракта каждая из систем может однозначно определить, что запросила или ответила другая система.

Здесь есть важные моменты: обе системы в курсе о спецификации и она не оставляет возможности иного толкования.
И, кстати, зачастую эти системы могут быть написаны на разных языках, или переписаны на другие языки, но формат обмена остается универсальным, и одним и тем же.
Вопрос: Как будут продвигаться два одинаковых сайта по SEO?

Лучший ответ: Двух полностью одинаковых сайтов не бывает. По мелочи они все равно будут отличаться, иначе один из них будет рассматриваться как дубликат второго, и в итоге один из сайтов будет пессимизирован. 

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

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

Худший ответ: В сео учитываются сотни факторов, явно все одинаковым не будет, плюс есть некий формат случайности, например в какое время будут индексироваться статьи, так как вы не контролируете поисковик от слова совсем, так что ничего одинаково не будет
Вопрос: Лучший способ автоматического бэкапа для mysql?

Лучший ответ: бэкап обычным bash скриптом
скрипт запихнуть в крон
после выполнения бэкапа - с помощью rclone копирование на ftp или облако или куда угодно фактически

Худший ответ: mysqldump если нужен sql дамп, а так можно просто директорию с базами скопировать
Вопрос: Чем set VUE_APP_PROCEDURE=build отличается от определения в .env?

Лучший ответ: Как вариант, проблема может быть в самом объявлении переменной, 
внутри "set VUE_APP_PROCEDURE=build & vue-cli-service build" обычный cmd (shell) скрипт, set реализация переменных в cmd,
так как в cmd нет разделителей на конец строки, то-есть ";" вероятно скрипт после присваивания может читать пробел в set VUE_APP_PROCEDURE=build & до & (который разделяет команды для возможности использования inline) и у вас получается не build а build с пробелом
Попробуйте так
"build": "set VUE_APP_PROCEDURE=build& vue-cli-service build",

Худший ответ: Есть пакет для этого, cross-env называется
Вопрос: Почему включаются кулеры на ноутбуке когда нету нагрузки/при подключении зарядки?

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

Худший ответ: Есть huawei matebook 14, кулеры живут своей жизнью, как им угодно. "При обычной работе (браузер/ютуб) " - этого вполне достаточно создать нагрузку.
Вопрос: Какой роутер умеет использовать сразу несколько источников доступа в Интернет?

Лучший ответ: Микротик это хорошо, но...если дело до этого не имели с микротами то не рекомендую. А рекомендую Кинетик Hero4. Словить wifi и раздать называется WISP. В кинетике есть WISP, 4g модем и 2 проводных WAN порта. 
https://keenetic.ru/ru/keenetic-hero-4g
https://4pda.to/forum/index.php?showtopic=1006908
Либо дешевле кинетик раннер, либо любой самый дешевый кинетик с ЮСБ портом и внешним модемом тогда, у всех есть ван порт, у всех есть WISP. Но не у всех 5ггц, гигабитные порты, много памяти и некоторых функций

Худший ответ: Бюджетное.... ну притащенный с помойки 478 комп с такой задачей думаю справится.
А так микротик по идее должен такое суметь.
Вопрос: Надо ли знать C# разработчику javascript?

Лучший ответ: Вроде недавно несколько раз задавали такой вопрос.

Если будешь делать фронтенд, то js тебе понадобится в любом случае.

Сам по себе в чистом виде асп нет к фронтенду отношения не имеет, но у него есть расширения в виде Blazor и MVC, которые как раз отвечают за фронт.

ИМХО: тут идеально подходит поговорка "волков бояться - в лес не ходить".
Сейчас практически все продукты так или иначе связаны с интернетом, а значит с сайтами и js.

Сам по себе JavaScript очень простой язык и его бояться не следует, особенно если говорить про TypeScript.

Если вот принципиально не хочешь писать на js, а хочешь писать только на C#, то обрати внимание на геймдев с Unity и десктопную/мобильную разработку с WPF, Winforms, Xamarin, MAUI, UNO, Avalonia

Худший ответ: Да, знать обязательно
Вопрос: Чем отличается синематик от кат сцены?

Лучший ответ: Это термины из разных плоскостей.
Кат-сцена - прерывает геймплей, раскручивает сюжет без (или с минимальным) влиянием игрока.
Синематик - ИМХО - игровой ролик, отрендереный НЕ игровым движком - т.е. пререндер.
Т.е. катсцена может быть синематиком. А может и не быть

Худший ответ: Синематик - это видео, а кат сцена - это скрипт с блокировкой управления.
Вопрос: Как мобильный оператор понимает, в каком качестве я смотрю видео?

Лучший ответ: В сети любого мобильного оператора есть узел PCEF, который определяет типы пользовательского трафика. Так отделяются, например, мессенджеры, социальные сети, видео и тд. Качество видеопотока можно однозначно определить исходя из объема передаваемой информации. Далее по истечении пробного периода можно ограничить скорость до определенного сервиса, качество видео будет автоматически подстроено (тем же протоколом HLS) под доступную полосу.

Худший ответ: ну смотря где... но на всех норм видеосервисах разные "потоки" для разного разрешения видео... так что это видно

А не проще сразу норм оператора подключить?
Вопрос: Как создать gitignore файл на маке при выгрузке проекта на gitHub?

Лучший ответ: Файл .gitignore создают не при отправке готовой работы во внешний репозиторий, а задолго до того. Желательно даже вообще до создания первого локального коммита. Это обычный текстовый файл и он создаётся как и любой другой файл с кодом. Мак тут ничем не отличается от винды или линукса. Разве что Finder не показывает имена начинающиеся с точки.  Если нажать command + shift + ., то увидишь скрытые файлы.  Но мы всё равно создаём файлы в текстовом редакторе или в IDE, а не в проводнике. И редактор и Git этот файл видят в любом случае.

Худший ответ: Любым способом, какой устраивает.
Вопрос: Как сделать так, что бы нумпадовская точка всегда писала бы точку, а не запятую при используемых 3 раскладках?

Лучший ответ: Это можно сделать с AutoHotkey - утилита для автоматизации выполнения задач

1. Для начала надо где-нибудь создать папку где будут лежать файлы скрипта
Структура папки готового скрипта

2. Затем надо скачать компилятор AutoHotkey. Прямая ссылка: тут
В корне архива надо выбрать AutoHotkeyU32.exe или AutoHotkeyU64.exe
Выбор зависит от разрядности Windows
Через этот файл запускаются все AHK скрипты

3. Сам скрипт будет выглядеть как-то так:

script.ahk
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir% 
#SingleInstance force
#Persistent
Menu, Tray, Tip, % "AHK: Закрепить точку нампада"


NumpadDot::
  Send .
  Return
Код скрипта нужно скопировать в любой текстовый редактор и сохранить с расширением .ahk
Запустить скрипт можно "перетащив" файл скрипта в файл AutoHotkey.exe
Иконка скрипта появится в трее Windows
Подробнее про каждую строку скрипта можно найти в поиске по документации

4. Для удобства, чтобы всё время не "перетаскивать" файл скрипта на файл AutoHotkey.exe, стоит создать vbs скрипт, который будет запускать скрипт не показывая командную строку...

fixed-num-dot.vbs
opener = ".\AutoHotkeyU64" ' предположим что разрядность Windows = 64
file = ".\script.ahk"

set WShell = WScript.CreateObject("Wscript.Shell")
WShell.Run  opener & " " & file, 0, false
На этом всё. Ярлык на vbs скрипт можно вывести на рабочий стол или даже в папку автозагрузки

Худший ответ: в настройках языка выбрать везде точку.
Вопрос: Как писать на с++ на el capitan?

Лучший ответ: https://www.jetbrains.com/clion/

хотя писать можно в любом редакторе.

Худший ответ: Вижуал Студии нет нигде, кроме Виндов, и лучше бы и там не было.
Для изучения С++ отсутствие Вижуал Студии - несомненное благо.
Правда, доступный на Маке XCode сделан [censored] для [censored], но он хотя бы не навязывает свой собственный надъязык вместо стандарта. И если вы дорастете до публикации своих приложений, яблочная инфраструктура все равно заставит вас им пользоваться.
Вопрос: Какой язык наиболее актуален для переписывания нейросети с питона перед её размещением на робототехническом устройстве?

Лучший ответ: Обученная нейросеть это по сути алгоритм, с помощью которого решается реальная задача. Алгоритм может быть разным, но чаше всего - это в конечном итоге некая математическая формула. Причем живущая не сама по себе, а взаимодействующая с другими компонентами системы (например -  с системой управления того-же пылесоса, или системой управления автомобилями из ваших примеров).  В свою очередь это предполагает, что эти системы уже функционируют на некоторых процессорах, встроенных в объект. Отсюда ответ - Нейросеть "в режиме продакшн" может и должна быть реализована на том языке, на котором имеется компилятор для вашего процессора.  Как правило, это действительно "С", "С++" или "Go", но могут быть варианты. Надо смотреть и решать именно исходя из характеристик целевого вычислительного устройства (процессора).
P.S. Идеальный вариант, конечно, всегда ассемблер соответствующего  процессора, как язык, позволяющий писать наиболее эффективные на этапе выполнения решения. Но позволительна такая роскошь с точки зрения наличия соответствующих разработчиков,  стоимости, а также скорости разработки  -  другой вопрос. Наверное Тесла может себе такое позволить. А вот некий маленький стартап -  не уверен.

Худший ответ: Что значит переписываются? Разберитесь для начала с пайплайном, ну допустим, на питоне у вас описан нейрон и топология сети, хотя это и не то что не быстро, не удобно и как правило на питоне писана лишь обёртка, что гораздо удобнее и гибче. Не суть, результат обучения есть топология, и коэффициенты, которые вполне переносимы, тк нейроны и их топологию можно хоть на ассемблере написать, а коэффициенты просто загрузить готовые.
Проблемы будут с точностью и правилами вычислений, которые могут различаться в системе обучения и на целевой платформе. И самый простой способ их избежать, учитывать особенности целевой платформа в процессе обучения.
Ну или стать настоящим сатанистом, ведь сайенс он не в инжениринге данных, а именно в понимании математики всей этой кухни. Открывающей широкие возможности оптимизации и извлечения данных из обученных сетей!
Например можно обучать на столько глубокие сети, что публичные средства уткнутся в затухании сигналов и шумах захлебнутся,  а потом оптимизировать это дело до возможности гонять в обычном GPU окружении без значимых потерь качества.
С контроллерами та-же шляпа, мне приходилось переносить даже на PIC с ATmega-ми, на сях писать-то можно что угодно, и есть библиотеки которые сделают вам математику, вопрос скорости и размера ;-) И по факту, что-бы реально делать такие фокусы, приходится делать свою математику, а что бы её делать, с ней приходится разбираться весьма фундаментальненько.
Вопрос: Проблема Hyper-V Windows Server 2012 с Ubuntu Server 18.04 с проборосом физических дисков?

Лучший ответ: Пробуйте монтировать по UUID

Худший ответ: Судя по всему резервирование происходило копированием байт-в-байт с помощью dd? или файловое копирование rsync?

Для начала нужно определить, какой диск был исходным какой копируемым, и определить, какие файлы не скопировались, сравнив сначала на основе имен, размеров и времени последнего изменения, и если различий не обнаружено - повторить процесс но уже с проверкой по содержимому

Сравнение можно проводить с помощью утилиты diff, в принципе ее более чем достаточно но работать с ее выводом может оказаться неудобно

Лично я для сравнения каталогов собираю два списка файлов в текстовом виде (относительный путь до файла + размер + время timestamp + хеш, считать md5sum) по очереди для исходного каталога и для каталога с копией, затем сортирую файлы (например с помощью sort по имени) и сравниваю их уже с помощью diff - получается красивый и удобный список различий. Операцию повторить дважды, сначала не считая хеши - быстрое сравнение, а затем, при необходимости повторить но уже собрав хеши. Скрипт это делающий занимает строчек пять.

Так как размещение файлов на разных физических устройствах, подсчет хешей можно провести одновременно для источника и архивной копии (само хеширование не тратит процессор, только диск), обычно этот процесс идет на максимуме скорости работы дисков, так что много времени это не займет (считанные часы)
Вопрос: Какой voip шлюз на 8 fxs лучше?

Лучший ответ: Замените телефоны на ip, стык аналога и ip в телефонии самое проблемное место.

Худший ответ: Насколько обязательны аналоговые телефоны? Берите сразу IP-телефоны, избавитесь от кучи проблем.

Можно взять недорогие DECT аппараты (к примеру, GIGASET C530A IP), будет отличное решение.
Если необходима жёсткая экономия - можно взять их же б/у, как минимум некоторые DECT базы от Gigaset позволяют подключить до 4х любых стандартных DECT трубок и поддерживают до 2х одновременных разговоров (т.е. на комнату в 8 человек можно ставить 2-4 базы и получить 4-8 одновременных разговора).
Вопрос: Как подключаться по ssh с готовым private key в ubuntu?

Лучший ответ: ssh -i <путь к к файлу ключа> user@ip
Гуглится секунд за 10...

Худший ответ: выдали файлик private_key
Звучит страшно. Приватный ключ не должен покидать машину на которой он был сгенеррован. Если ключ выдали, то он автоматически скомпрометирован.
Ты должен был сгенерировать себе пару ключей и открытый ключ передать админам, а они добавили бы его на сервера. Рекомендую тебе бежать из этого детского сада, как можно скорее.

Чтобы подключиться с помощью ключа, явно укажи его используя флаг -i, подробности найдёшь в man ssh.
Так же можешь разместить приватный ключ в ~/.ssh под соответствующим типу ключа именем, тогда явно его указывать будет не надо, подробности там же в man ssh.
Ещё можешь прописать соответствующие настройки в ~/.ssh/config. 

PS
Магия SSH
Памятка пользователям ssh
Вопрос: Хорошая литература по HTML, СSS и JavaScript: что выбрать?

Лучший ответ: По HTML и CSS можно почитать на htmlbook.ru, также можно взять документацию MDN это веб-документация от Mozila
Самый лучший учебник по JavaScript это https://learn.javascript.ru/
На мой взгляд это лучшие учебники по вебу. Какие-то другие книги я не знаю, но я изучал HTML, CSS3 и JS по этим документациям, а также в Sololearn. Еще кстати можно на Codecademy изучать, там есть некоторые уроки бесплатные.

Худший ответ: JavaScript - Ник Морган
Вопрос: Как передать пароль exe запускаемому из powershell?

Лучший ответ: например:
Get-Credential (postgres) | Export-Clixml -Path "c:\Scripts\PGHash.Cred"
...
$Cred = Import-CliXml -Path "c:\Scripts\PGHash.Cred"
$Cred.UserName = "postgres"
$Cred.Password - собственно, пароль

Худший ответ: Спасибо всем за помощь 
Пока решил вопрос так (ибо нужно чтоб работало уже сейчас) , в дальнейшем попробую реализовать как советовал Роман  и Max

#Задаем пароль для postgree в переменную окружения
$env:PGPASSWORD = 'DrC759123'
#Указываем где лежит запускаемый exe
Set-Location "C:\Program Files\PostgreSQL\14.2-3.1C\bin"
#Запускаем его с нужными параметрами
.\vacuumdb.exe --dbname postgres --host 127.0.0.1 --port 5432 --username postgres
Вопрос: Как в коде (язык Python) указать ссылку на GitLab?

Лучший ответ: Скачать файл с гитлаба и брать из него данные?

Худший ответ: Обычно на таких сайта есть кнопка raw у файлы(как на гитхабе). Это открывает текст файлы без лишних элементов(тупо текст). Вы можете сделать запрос на эту страницу и получить этот код, взять из него данные и подключиться к бд.
Вопрос: Создание теста для опроса пользователей?

Лучший ответ: Можно ли в код прилагаемого файла добавить tkinter?
Можно

можно ли цеплять вопросы и ответы из текстового файла и рандомизировать их ?
Можно

Худший ответ: В котором из 300 вопросов система будет на выбор выбирать в случайном порядке 40 вопросов
random.sample()
question_list = random.sample(questions, 40)
который в последующем был записан в log файл
По-простому и записывайте через file.write, как уже заметили, текстом вопрос - ответ.
Для хранения вопросов в текстовом файле можно структурировать
Можно структурировать и хранить данные вопросов в виде словаря и хранить его в json файле, читать тоже будет просто: json.load()
Примерно так:
questions = {
1: {"question": "Как называется программное средство, в котором осуществляются операции по таможенное оформлению?",
"answers": ["АИСТ-М", "ВОРОБЕЙ-У", "ЧАЙКА-П", "СТРАУС-Т"],
"correct": 0},
2: {"question": "Имеет ли право пользователь использовать предоставленные ему ресурсы в личных целях?" ,
"answers": ["Да", "Нет", "Иногда"],
"correct": 1},
...
}
В таком виде у нас каждая запись содержит полные данные в виде словаря: сам вопрос, неограниченный список вариантов ответов, индекс правильного ответа. Какого-то дополнительного класса для работы не требуется, по крайней мере не для того, чтобы связывать вопрос-ответ.
или в базу данных
Можно. Но лучше изучите основы реляционных БД, чтобы создать правильную структуру. Примерно так будет: таблица вопросов, таблица ответов, таблица логов ответов пользователей (только привязка уже будет по идентификаторам таблиц, а не текстами).
Вопрос: Как почистить Git-репозиторий?

Лучший ответ: Вот несколько фактов, которые помогут понять как работает Git. 

Файл .gitignore предназначен для описания того, что мы не хотим СЛУЧАЙНО добавить в репозиторий. Либо не хотим случайно удалить переключив ветку.
Мы можем ПРИНУДИТЕЛЬНО добавить в репозиторий ЛЮБОЙ файл, даже если он описан в .gitignore.
Добавление файла в .gitignore не удалит сам файл из репозитория. Если файл УЖЕ в репозитории, то он продолжит отслеживаться, независимо от  наличия .gitignore.
Если больше не хотим отслеживать какой-то файл, то просто удаляем его из репозитория. Ключ --cached позволит оставить файл в рабочем каталоге текущего репозитория если он нужен.
git rm --cached -- '.DS_Store'
git commit
Но последний рецепт сработает только на одном компьютере. Если коллеги переключатся на этот коммит, то файл удалится у них из рабочего каталога.

Худший ответ: Советую просвятиться на тему:
man git-gc
Вопрос: Какая термопаста для процессора лучше Evercool Nano Diamond [TC-H03] или Arctic Cooling MX-4 (2019)?

Лучший ответ: Вместо подбора пасты, оверклокерской матери, памяти, проца, охлаждения. Просто купите норм проц. И я таки уверен что система будет стабильней. Даже с КПТ

Худший ответ: Пять лет на mx-4 !
Какие ещё вам нужны доказательства ее надёжности?
Вопрос: Не понимаю суть ошибки, можете объяснить?

Лучший ответ: from sqlite import db_start, create_profile, edit_profile
from main import balance

main импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который импортирует sqlite, который импортирует main, который ...
Ну ты понял.

Быстрого волшебного решения тут нет. Разбирайся с областями видимости, избавляйся от глобальных переменных. 
Например, почему у тебя при создании нового профиля используется balance? Т.е. новый пользователь получает столько денег, сколько было у последнего активного?
Почему вообще у тебя вещи, специфичные для одного пользователя, лежат то в глобальных переменных, то в данных машины состояний (state)? Бери их из БД , когда они потребуются.

Худший ответ: Циклические импорты в python запрещены.
Вопрос: Dhcp сервер и статический ip устройства?

Лучший ответ: Да может.
Регулируется это либо созданием исключений в DHCP scope, чтобы определнные адреса не выдавались DHCP, либо переключением ip адреса на динамическим и созданием DHCP reservation, чтобы DHCP выдавал всегда определенный адрес по MAC адресу.

Худший ответ: Зависит от DHCP сервера.
Поэтому проверяйте, или назначайте в другой диапазон, нежели у сервера.
Но проще конечно назначать статику на dhcp и не иметь таких проблем.