pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Почему может ОЧЕНЬ долго отвечать страница сайта?

Лучший ответ: Не знаю, как это делается конкретно для WP, но надо провести профилирование выполнения. Если в профиле не будет значимых задержек, то проблема в сети хостера или вашей. Если задержки в коде, анализировать и исправлять код. Если задержки на запросах к БД, смотреть план выполнения запросов, определять причину и устранять.

Худший ответ: Были исчерпаны ресурсы сервера, пришлось обновить тарифный план + обновить все сайты в аккаунте + настроить файрвол клаудфлера + настроить кэширование
Вопрос: Как на мастер залить контент другой ветки, избежав всех конфликтов?

Лучший ответ: Это, конечно, странная ситуация, но такое бывает, поэтому лучше всего сымитировать слияние, где содержимое одной ветки будет полностью заменено другой:
git checkout master
git commit-tree -p master -p feature -m "Overriding master with feature" feature^{tree}
12346aa23590aa
git merge --ff 12346aa23590aa

Команда git commit-tree создаст коммит-слияние мастера и фичи,  где содержимое мастера будет полностью заменено фичей, и выведет идентификатор этого коммита.
Последняя команда интегрирует этот коммит в мастер.

Преимущества:

 Выглядит как обычный коммит-слияние
 Корректно сохраняет историю веток
 Не надо проходить по разработчикам для выполнения каких-либо команд


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

Лучший ответ: Если серьезно углубляться - то C/C++,  Assembler
JS/Python в контексте разработки для микроконтроллеров - чисто поиграться...

Худший ответ: arduino и js это странная комбинация,  про micropyton я вообще молчу.
Платы Iskra по не понятным мне причинам программируются на js, но Iskra и arduino это очень разные девайсы, плюс лишняя трата и без того скудных ресурсов
Когда речь идет про написания "железных" программ то это Assembler, C, C++
Вопрос: Как объединить два SQL запроса в один?

Лучший ответ: По-моему, в PHP правильнее будет объединить: таблица стран, очевидно, небольшая, ее можно выгрузить и закешировать в виде массива ID => NAME. Потом просто в PHP подставлять вместо ID названия.

На sql сделать можно, конечно, но будет уродливо и не особо производительно.

Худший ответ: Как обычно - кривая структура хранения приводит к проблемам при обработке. 

SELECT p.*, GROUP_CONCAT(c.name) countries
FROM p
JOIN с ON FIND_IN_SET(c.id, p.country)
GROUP BY p.id
Если в поле p.country к тому же имеются паразитные пробелы- перед связыванием их необходимо удалить.

Настоятельный совет - нормализовать данные. CSV - это крайне неудачное решение.
Вопрос: Как решить проблему с браузерным Babel?

Лучший ответ: Babel standalone последней версии через unpkg CDN
Тут закралась ошибка. standalone существует только для того, чтоб просто потыкать и не более. Для продакшена это не годится.

Худший ответ: Итак, привожу как и обещал пример работающего кода привет мир

HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<body>
    <div id="hello"></div>
    <script src="script.js" type="text/babel"></script>

</body>
</html>

jsconst hello = (
    <div>hello world</div>
)
const domContainer = document.querySelector('#hello');
ReactDOM.render(hello, domContainer);

Дальше - знакомьтесь с документацией. Happy hacking! 
Ида,  при создании класса сам поймал ошибку.  Если вам важно создавать именно классы,  а не использовать функции и хуки - пишите,  разберемся)
Вопрос: Можно ли восстановить взломанную страницу в соцсети Одноклассники?

Лучший ответ: Можно ли как то надавить на них, что бы они захотели восстановить страницу
1)Если вас послала служба поддержки ОК на х**- то берете чемодан денег(желательно зелёных), идете к юристу, отдаете ему чемодан этих самых денег. Он смотрит лицензионное соглашение - и говорит вам, что вам никто ничем не обязан.

2)Просто регистрируйте новый аккаунт и все.

Если не хотите выкидывать деньги на ветер, то первый пункт можно пропустить.

Худший ответ: Можно ли как то надавить на них
Поржал. Чем Вам или вашим знакомым обязана бесплатная социальная сеть? Правильно - ничем. Саппорт одноклассников их послал и, в общем-то правильно сделал.
Не, заставить одноклассников что-то сделать можно. Но для этого надо быть медийной личностью весьма неихлого калибра, олигархом, политиком - словом, кем-то штучным, ради которого они прогнутся. Для обычного человека этот вариант закрыт.
Людей жалко, и они потеряли почти 10 лет архивов с фото семейными. 
Они ничтоже сумняшеся полагали, что одноклассники - им тут бесплатный файловый бэкап? И пароль поди был 123456...

В общем "грустная история, древняя, как жизнь"...
Вопрос: Безопасно ли обновление OpenSSL?

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

Если не хотите проблем, обновляйте версию ОС 8 ->9->10->11 и свой сайт тоже.

Худший ответ: Ну вообще-то система пятилетней давности и вовсе ничего нет удивительного, что обновление openssl потащило за собой столько обновлений других вещей. 
И обновляться конечно же надо. Но сначала нужен бэкап всего и вся, потому что:
- такое обновление наверняка сломается на половине
- даже если не сломается, вовсе не факт, что все заработает как должно
Вопрос: Как работать с командой eval?

Лучший ответ: Не использовать eval, а парсить уравнение самостоятельно или при помощи какой-нибудь готовой библиотеки.
Например вот: https://nerdamer.com/ или https://mathjs.org/
PS: серьезно. Не используйте eval. Никогда

Худший ответ: В node.js, кстати, есть превосходная альтернатива евалу - модуль vm

Он умеет запускать код в совершенно изолированной песочнице, где нет ничего, кроме стандартной библиотеки js. То есть никаких require, импортов, взаимодействий с операционной системой и т.д. Там нет даже setTimeout! Всё необходимое ты сам передаешь внутрь через "контекст". Вот в нем и можно запустить код безопасно. Если код свалится от синтаксической ошибки, как в примере из вопроса, то надо просто обернуть вызов в try-catch
try {
    vm.runInNewContext(code, {}); // второй параметр - тот самый "контекст", см. примеры
} catch (e) {
    console.log('error: ', e.message);
}
правда, и тут может подгадить злоумышленник - воткнуть бесконечный цикл или сожрать всю память. Вероятно, стоит использовать vm в отдельном потоке, установив ему лимит по времени, допустим, в полсекунды. Но вот что сделать с памятью, непонятно...

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

Лучший ответ: Реально ли на первое время подрабатывать на небольшие суммы разработчиком какого-либо языка, самообучившись по книгам, видео-курсам и т.д. и создав портфолио с готовыми работамиСложно, не невозможно, но очень маловероятно. Чисто логически представьте себе такого работодателя, которому нужен малоопытный недоджун, работающий по пару часов в день. Что ему можно поручить такого, с чем бы опытный не справился за время в 10 раз меньше? Ну и в целом джунов/трейни берут с перспективой вырастить своего недорогого спеца, в вашем случае это со стороны нанимателя просто не перспективно.

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

Худший ответ: А зачем вам диплом для этого?
Вопрос: Какой объем знаний и навыков нужно для того чтобы стать middle Rust разработчиком?

Лучший ответ: Сейчас редко нанимают чистых растаманов, тк язык молодой.
Обычно нанимают тех, кто переходит с других, более традиционных языков.
Так что тебе сначала надо стать мидлом/сеньором в C++/Java/C#/C а потом дотянуть знания раста, чтобы уметь на нём решать задачи, аналогичные тем, которые ты решаешь с основным языком.

Ну и соответствующий коммерческий опыт ~5 лет.
Учитывай ещё и специфику Rust-проектов: это что-то новое, что требует безопасности и эффективности, где нельзя/нежелательно/невозможно использовать "Традиционные" языки. 
Так что и уровень ответственности и требуемых знаний будет выше, чем на аналогичную, например Java-позицию.

Худший ответ: Как стать мидлом или сеньором-разработчиком
только реальная работа
Вопрос: Можно ли получить глубину рекурсии?

Лучший ответ: Что-то вроде такого
def recursion_func(..., level=0):
   ...
   recursion_func(..., level=level+1)

Худший ответ: Регулировать глобальный лимит рекурсии можно с помощью соответствующих функций из модуля os:
import sys
print(sys.getrecursionlimit())  # Получить текущий лимит рекурсии
sys.setrecursionlimit(1500)  # Установить лимит рекурсии в 1500

Внутри отдельной функции можно ограничить количество рекурсивных вызовов с помощью специального параметра-счётчика, например, так (LIMIT не должен превышать глобальный лимит рекурсии):
LIMIT = 1500


def test(calls=0):
    ...
    if calls >= LIMIT:
        return
    return test(..., calls=calls + 1)
Вопрос: Какой Linux выбрать для андроид разработки на слабом пк?

Лучший ответ: На что не хватает-то? На чтоб летало? Так это для разработки даже неплохо, зато на реальных устройствах тормозить не будет, как у тех, у кого в эмуляторе все летает.
А дистрибутив здесь не изменит ровно ничего. Главные потребители ресурсов - IDE и эмулятор.
Ах да, еще браузер, в котором ты "начал изучать" и он все время запущен.
Можно попытаться пошаманить с настройками Android Studio (в bin/studio64.vmoptions), но особенного эффекта это не даст, все упирается в память.

Худший ответ: Выбирай софт полегче. Хром - сразу нафиг. Firefox придется слегка попилить. Hdd меняй на ssd. ram если можно смени на 16, или какой там максимальный объем.
p.s. винда зачастую работает быстрее, даже после неплохой допилки линукса.
p.p.s. комп с авито на каком нибудь древнем сокете с 16гб рам стоит меньше 10к.
Вопрос: Как запустить Docker и Virtual Box одновременно?

Лучший ответ: Virtual Box работает с включенным Hyper-V.
https://www.how2shout.com/how-to/use-virtualbox-an...

Чем вас не устраивает нативный Hyper-V как платформа виртуализации? 
Зачем сторонний VirtualBox?

Худший ответ: Использовать linux. Там запустятся. 
Или запустить докер внутри виртуалки на  виртуалбокс
Вопрос: Как сделать центрировку символа в блоке на css?

Лучший ответ: Например с помощью flexbox:
.ava{
        display: flex;
        align-items: center;
        justify-content: center;
       ...
    }

Худший ответ: У символов разный размер, при этом высота строки одинаковая. Можно попробовать поиграть с параметром line-height (допустим, попробовать 0 или 1)
Вопрос: Какими средствами сделать веб-интерфейс работы с БД?

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

Худший ответ: Если подходят платные решения, посмотрите PHPRunner.  Легко и быстро сделает всязи между таблицами, фильтры, валидацию, CRUD итд. 

 А если самому, то серверную часть на питоне или чем-то другом, для фронтенда тоже фреймворков хватает.
Вопрос: По каким материалам можно изучить построение сетей на Linux?

Лучший ответ: Ну конечно же
Эви Немет сотоварищи - самый настоящий "памятник нерукотворный" бабулька себе воздвигла...

Худший ответ: именно на недружественном - Установка и первоначальная настройка Ubuntu 22.04 ...

в целом - Iptables, средства системного администратора Linux и т.д.
Вопрос: Как пишут обмен данными (сетевой движок) для компьютерных игр?

Лучший ответ: Какие известны хитрости, чтобы передавать меньше данных, не рискуя рассинхроном?
Чем меньше тик рейт сервера, тем меньше данных. Одно дело динамичный шутер(батла на 130 человек), а другое дело кооп игра на 4 человек.  В одних случая критичен высокий тик рейт в других нет.  Хотя... умереть в батле через секунду после того как ты забежал за стену благое дело...
Какие рассинхроны не критичны?
Опять зависит от игры.
В каком порядке происходит проигрывание на сервере того, что на клиенте было сделано, и как клиенты-друзья воспроизводят действия?
Ну почитайте какие нибудь статьи вот например на хабре
Мультиплеер в быстрых играх (части I, II)
Мультиплеер в быстрых играх (Часть III: появление ...
Мультиплеер в быстрых играх (Часть IV: Хэдшот! Пут...

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

Худший ответ: 1) Можно передавать нажатие/отжатие клавиш/мыши серверу, а он меняет положение игрока и всем рассылает его новые позиции (как в world of tanks)
В то время, пока сервер считает, клиент может предсказать и сам у себя визуально переместить, а затем поправить положение с пришедшим от сервера положением.
+ все расчёты делает сервер => многие читы не работают (aim, teleport)
- высокий пинг

2) Можно передавать свою позицию серверу, а тот рассылает её другим клиентам (как в cs)
+ низкий пинг
- читеры могут фейковые данные посылать (aim, teleport)

3) Можно напрямую передавать всем клиентам (peer to peer)
- высокая нагрузка на сеть (т.к. все постоянно друг-другу шлют данные)
- простор для читеров
Вопрос: Какое направление выбрать старику при переезде?

Лучший ответ: какое направление лучше всего выбрать, чтобы можно было справиться с обучением (6-8 месяцев), учитывая, что старому мозгу для освоения новой информации требуется встряска?
Однозначно - 2. C# (WinForms, WPF, .NET), SQL.

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

Поэтому берите C#, плюсы: статичная типизация, есть возможность свичиться по разным сферам, благо C# используется много где. Самый сок был бы - смотреть на Java, ибо как по мне после 40+  - приоритет - деньги, а Java как раз про стабильность, бизнес и минимизацию рисков.

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

Но вообще с любым вариантом будет норм если зайдет. Платят за все варианты хорошо. У моих знакомых в Германии не было проблем с нагрузкой и не было высокой квалификации и было нормально, но это скорее всего от компании зависит.
Вопрос: Как установить соединение с сервером Windows по TCP?

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

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

Лучший ответ: Судя по ошибкам - очень вероятно, что память.

Попробуйте вытащить плашки, почистить их, и слоты.
Затем запустите Memtest - он должен показать, с какой конкретно планкой проблема, если он останется.

Худший ответ: 10летний диск по умолчанию не может быть 100% хорошим. Попробуйте его отключить на время и посмотреть
очень похоже на глюк с оперативкой. на будущее - не берите оперативку AMD. берите кингстон, критикал...
Попробуйте поставить оперативку или 1,3  или 2,4 слоты, погонять, посмотреть. может и со слотом проблема

Удалите драйвера под амд, поставьте их с офф сайта мат платы
Вопрос: Как правильно соединить аудиовыход и микрофонный вход?

Лучший ответ: Нужен не микрофонный вход, а линейный вход (Line In)

Худший ответ: Конечно месяц прошел, но всё таки, если кто заинтересуется и в поиске отыщет: что бы такое сделать можно использовать виртуальный микшер, если драйвер вашей видеокарты такое поддерживает (а часто оно поддерживает). Правый клик по значку динамика в трее, выбрать "звуки", перейти на вкладку воспроизведение/запись, и там можно обнаружить устройство "виртуальный микшер". Если его включить, то с него в программу записи можно получить все звуки на выходе wasapi. Этого устройства нет драйверах Synaptic и generic USB audio device, но точно есть в рилтеках и некоторых внешних картах.  Путь два это установка виртуального аудиокабеля, выход звука направляете в виртуальный кабель A, а на вход программы записи ставите устройство B.
Вопрос: Какие за и против использования ISO кода валют в качестве первичного ключа базы данных?

Лучший ответ: Не используйте естественные ключи в качестве первичных. Используйте только суррогатные. Избежите многих проблем.

Основных проблем с естественными ПК две.

Проходит время, и возникает необходимость поменять естественный ключ. Например, его внесли с ошибкой (человеческий фактор). В вашем случае, допустим ISO решила, что существующий код оказывается не политкорректный, и его нужно поменять. И вам нужно поменять либо одну строку в одной таблице, либо все строки во всех таблицах, которые на нее ссылаются. Чувствуете разницу? А часть данных может быть уже в архиве, read-only и т.д.
Проходит время, и "уникальный" естественный ключ оказывается не уникальным. Например, вам понадобился тот же доллар, но с особым курсом и т.п. Если это ПК, то нормального решения нет, пусть даже сложного, как в п. 1. Вам придется превратить естественный ключ в суррогатный, а для естественного добавить отдельный столбец. Так лучше сделать это с самого начала. :)


Худший ответ: integer - 4 байта
nvarchar(3) - три байта (по идее)
Так что даже немного сэкономите)
Вопрос: Как можно узнать расход трафика конкретных сайтов в Google Chrome?

Лучший ответ: Ставьте uBlock Origin, потому что вот на этом вот:
погода и изредка новости
Висят огромные многомегабайтные скрипты и куча рекламы.

Да и в целом современными интернет страницами по 2-4 Мб уже никого не удивить. Почта особенно отжирает много.

А трафик можно инспектировать, если зайти в chrome://net-export/
Но не задним числом, да.

Худший ответ: вычистить фоновые сервисы из гуглохрома.
https://habr.com/ru/post/127818/

браузер, особенно с несильно разумной прокладкой между монитором и стулом, засирается говном в жутких количествах.
каждый сайтик пытается впихнуть в пользователя дополнительное количество рекламы, дабы копеечку заработать.
советую периодически удалять папку профиля (лучше всех всех юзеров) гуглохрома.
минус - затрутся пароли и явки, но это восстановимо.
путь к профилю в chrome://version
Вопрос: Can only concatenate str (not Proxy Error ) to str?

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

Худший ответ: Курнул я такой волшебного зелья, и увидел, что у вас ошибка, связанная с Proxy. Возможно, ip адреса pythonanywhere контакт забанил, чтобы юные хакеры не долбили их. В итоге вы пытаетесь сложить 2 строки, но вместо одной строки находятся непонятные данные.
Вопрос: Для чего нужен Promise.resolve, если он не срабатывает в Promise?

Лучший ответ: Promise.resolve(value) - это статический метод, возвращающий промис в состоянии fulfilled с указанным значением.
Эквивалент new Promise((resolve) => resolve(value))
И можно как-то выполнить промис без аргументов?Что значит "выполнить"? Создать можно, сменить статус с pending на fulfilled нельзя, на rejected можно по исключению.
P.S. Если вас смущает то, что и там и там используется resolve, то в new Promise это всего лишь название переменной для каллбэка в функции. Оно может быть любым.
new Promise((แก้ไข) => แก้ไข('Решено'));
//Promise { <state>: "fulfilled", <value>: "Решено" }

Худший ответ: Чтобы new Promise() куда-то сдвинулся,
надо вызвать одну из двух функций, передаваемых во внутрь:

new Promise((resolve, reject) => {
  // что угодно происходит
  // и в какой-то момент
  resolve(value);
});

А то, что внутри вдруг создали новый промис, который сразу в ресолвнутом состоянии – всем безразлично.
Вопрос: Как получить left и top position элемента при его перемещении?

Лучший ответ: getBoundingClientRect() вернёт нужные x и y.

Худший ответ: примерно так:
snippet
Вопрос: Как посчитать БЖУ?

Лучший ответ: https://www.google.com/search?q=линейная+алгебра+п...
https://ru.wikipedia.org/wiki/Матрица_перехода
gre=11.7*pro+2.7*fat+75*cbh
egg=12.7*pro+11.5*fat+0.7*cbh
sal=1.4*pro+90*fat+0*cbh
Матрица перехода:
11.7 2.7 75
12.7 11.5 0.7
1.4 90 0
Нужно вычислить обратную матрицу и умножить эту обратную на искомый столбец (100, 50, 150). Не забыть, что за единицу измерения взяли 100 г.

Худший ответ: Это задача о многомерном рюкзаке (multi-dimensional knapsack). Каких-то простых трюков, как с обычным одномерным рюкзаком тут нет. Только перебор с отсечениями. 

Еще можно свести задачу к целочисленному линейному программированию. Вводите переменные - сколько штук каждого пункта съели, составляете линейные уравнения. Потом можно это все скормить какому-нибудь решателю. Сейчас много библиотек и они довольно быстро такие задачи щелкают. Гуглите "integer linear programming solver".
Вопрос: Как сохранить личные данные на публичном сайте?

Лучший ответ: Просто добавить авторизацию, пусть даже базовую.

Худший ответ: Просто ограничиваете доступ по ip.

конфиг nginx/apache
iptables

Каких-то подробных советов дать не могу - ибо с конфигурированием серваков знаком поверхностно.
Вопрос: Почему программа зацикливается?

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

spoiler
Пусть искомое числоa = 10*x + 2
Тогда 2*10^n+x = 2(10*x+2) (переставили 2 в начало, n - число цифр в x)
Т.е. 2*10^n-4 = 19*x - нужно найти n, чтобы 2*10^n-4 делилось на 19.
Напишите такую программу



Худший ответ: Потому что while (1) - это бесконечный цикл.
Вопрос: Как исправить ошибку «имя не распознано как имя командлета, функции, файла сценария или выполняемой программы»?

Лучший ответ: touch это утилита командной строки Linux, а ты ввёл команду в Windows PowerShell

Худший ответ: Работай в Git-bash, там эта команда сработает. Либо погугли как в PowerShell файлы создают.
Вопрос: Какие провода нужны для Arduino Uno R3?

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


Худший ответ: Боевой набор "Ардуинщика".
1.Макетная плата.
2.Стабилизатор для внешнего блока питания на случай если 0,5А от USB не хватит.
3.Набор проводов разной длинны для подключения. 

На "Али эксперсс" масса предложений. Я себе 2 макетки поставил параллельно и 2 стабилизатора на каждую если ставить GPS или Большой экран то все можно разместить на макетках и удобно соединить. и запитать
Вопрос: Стоит ли покупать mac mini?

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

С моей лично точки зрения ПК ВСЕГДА надежднее любой портативной системы, ибо больше места, воздуха, проще в обслуживании,сборке,ремонте

Худший ответ: P.S Максимальная сумма которую я могу себе позволить 2k $
За эти деньги легко можно купить комп, который будет гораздо мощнее, чем макмини:
https://www.dns-shop.ru/conf/00dd052744ea3d03/ (на некоторых штуках можно сэкономить)
Ryzen 9 + 1tb NVMe + 64gb RAM
Ещё и зимой согреет.