Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какая разница между качеством и разрешением видео?

Лучший ответ:
Качество видео измеряется в основном в битрейте (в проводнике Windows это "общая скорость потока"), а не "BD, DVD или TV/Web". То, что у вас называется качеством - банальный источник видео (причем я не уверен, что реальный). Blu-Ray, DVD или Интернет.
Разрешение это высота и ширина кадров видео. В основном 720P, 1080P, 2160P (4K) и целая гора всего, что ниже 720P - можно называть их все "SD".
Реальной связи между источником видео и разрешением нет, а вот с качеством - вполне возможно. На blu-ray обычно пишутся файлы с большим битрейтом, ибо он гораздо больше DVD. А вот в Интернет можно выложить что угодно, там качество никак не регулируется, и зная, что источник "Web", предположить качество невозможно.В приложении я пытаюсь правильно отображать индикацию для видео.Используйте разрешение и битрейт. Учтите, что даже видео в разрешении 4К можно сжать так, что "родная мама не узнает", если поставить слишком низкий битрейт.

Худший ответ:
Термин "качество" не имеет строгого значения, употребляется многими от балды. Если вы хотите сказать что-то осмысленное про видео, его лучше не употреблять, как правило.
Разрешение - это размер в пикселях, либо линейный (вдоль сторон или по высоте), либо площадной (общее количество, обычно - в мегапикселях).
То, что действительно описывает видео вместо "качества" - битрейт (объем на единицу длительности), степень сжатия, профиль кодека, количество бит на компоненты цвета.
Говорить "видео в качестве FullHD" - безграмотно, потому что FullHD фиксирует только разрешение (количество пикселей), но не всё остальное. Потому "видео в разрешении FullHD".
Вопрос: Центрирование текста в Pillow?

Лучший ответ:
Говорят, чтение документации помогает:
PIL.ImageDraw.ImageDraw.text
PIL.ImageDraw.ImageDraw.multiline_text
PIL.ImageDraw.ImageDraw.textsize
PIL.ImageDraw.ImageDraw.multiline_textsize

Худший ответ:
чтобы текст сам центрировался 
Microsoft Word

а в Питоне - ручками: вычисляй координату и ставь
Вопрос: Не понять регулярку?

Лучший ответ:
Эта регулярка будет совпадать с текстом, начинающимся с открывающейся квадратной скобки, состоящий из одного или более любых символов вплоть до ближайшей закрывающей скобки.
Вопросик нужен, чтобы плюсик был нежадным, то есть не сожрал закрывающуюся скобку тоже. По умолчанию + и * жадные, то есть сожрут как можно больше символов, но чтобы в целом выражение сматчилось.
Если ваш текст "12[34]56[78]90", то жадная регулярка (без вопросика) найдёт "[34]56[78]", а не жадная найдёт "[34]" и "[78]".

Худший ответ:
Всё просто. Идём на regex101 вводим регулярку, читаем справа описание, вводим тестовые строчки ниже для проверки.
В общем и целом. Посимвольно: Ищем одиночный символ [ -- \[. Потом у нас идёт группа в скобках (.+?) . -- любые символы(кроме перевода строки), +? -- повторённые один или неограниченное количество раз. И наконец ищем закрывающую квадратную скобку ] -- \]. В результате эта регулярка ищет строку любой длинны в квадратных скобках.
Вопрос: Можно ли создать массив, который будет обновляться у всех пользователей без перезагрузки страницы не используя сервер?

Лучший ответ:
Как я могу это сделать в связке React, TypeScript, Webpack.К сожалению, никак.

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

Худший ответ:
Можно извернуться через webrtc
https://m.habr.com/ru/post/220767/
Вопрос: Как правильно сегментировать сеть предприятия?

Лучший ответ:
Могу разработать и предоставить план по переходу на отказоустойчивую схему с возможностью расширения, также иерархический айпиплан, подбор оборудования, резервирование и и.д. Нарисую подробную схему как все будет работать. За деньги естественно. Бесплатно никто вас консультировать не будет

Худший ответ:
 Порядок цен на такую услугу 
Стоимость нового оборудования * 2
Вопрос: Какой движок более подходящий для школьных конкурсов?

Лучший ответ:
Форма на сайте + CRM

Худший ответ:
Битрикс 24 сбор лидов.
Вопрос: Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

Лучший ответ:
скорее всего он за вами недостающие закрывающиеся теги добавляет

Худший ответ:
такое бывает, если использовать какой-то JS фреймворк.
Вопрос: Верстка по BEM. Файловая структура. Как присваивать классы независимому блоку?

Лучший ответ:
Дисклеймер: Я не гуру БЭМа и давно не заглядывал в их доки. Данные стоит перепроверить.
На мой взгляд, есть 3 варианта, которые не противоречат методологии:
1) Кладем .logo внутрь элемента .header__logo, стилизуем header__logo. Всё просто, не требует ничего специального.
2) Вешаем .header_logo на .logo . Шаблонизатор (в данном случае - галп плагин) должен уметь прокидывать пропсы к подключаемым файлам, т.е. должно выглядеть типа `@include('../blocks/logo/logo.html', {"className": "header__logo"})`. По БЭМу блок может быть элементом другого блока
3) Переопределяем стили типа `.header .logo`. БЭМ, насколько я помню, тоже позволяет переопределять стили в зависимости от контекста.
4) Делаем модификатор, например `logo--highlited`, который уже стилизуем в рамках блока. Так же шаблонизатор должен это уметь.
Единственно-правильного способа, как мне кажется, нет.
Для позиционирования я, обычно, применяю 1-й способ. Для изменений стиля/цветов только в данном конкретном контексте - 2 или 3.
Если изменение требуется не только в контексте одного блока, а где-то еще - то 4.

Худший ответ:
Вообще-то блоки независимы именно потому, что они должны выглядеть одинаково в разных частях страницы. Если блок должен иметь какой-то особый внешний вид "по месту", то это должны быть разные блоки. БЭМ не допускает селекторы вида: .блок1 .блок2 {...}
Если сам блок допускает какие-то режимы своего отображения (скажем, раскрывающееся меню может раскрываться в разные стороны), то это может задаваться с помощью БЭМ-модификаторов блока, но не снаружи.
Вопрос: Как добавить место к диску linux?

Лучший ответ:
Потому что добавили место вы в конце диска, а раздел /sda1 в начале диска. Между ними другие разделы.
Как увеличить домашний раздел в Ubuntu через gparted, когда свободное место находится не рядом?
Сдвиньте /sda5 в конец.
Потом сдвиньте /sda2 вплотную к /sda5.
После этого свободное место будет сразу после /sda1 и вы сможете расширить /sda1.
Хотя к чему эти сложности, /sda5 у вас swap, его легко можно удалить и заново создать.
А про /sda1 вы говорите, что уже удалили его. И что там остаётся? /sda2 размером 1КБ - какая-то пустышка?
Не проще ли с нуля всё сделать? Разве что вы делаете это в учебных целях.

Худший ответ:
ИМХО более простой путь - это создать новый раздел, и перенести туда из "/" большие директории. Это может быть "/home", или что-то другой - проверьте 

du -kx / | sort -rn |head -20
Вопрос: Как вы проектируете классы в ООП и их взаимодействие?

Лучший ответ:
В PHP сообществе вообще не развиты вопросы проектирования и архитектуры. Большинство лепит, что придумает. PHP изначально родился для примитивных homepage, вобрал в себя всю несерьезность, низкий порог входа и как следствие довольно слабое комьюнити, что часто становится объектом для шуток.
Искать ответы на вопросы проектирования и архитектуры нужно в Java. Например там почти каждый с самых азов слышал о де факто ставшей стандартом слоистой архитектуре, она же layered architecture, она же n-tier architecture и видел изображение похожее на это
Из которой нужно понять, что всю программу можно разделить на несколько слоев и зависимость между слоями должна быть направлена сверху вниз, но не наоборот. Таким образом, например фреймворк может быть инкапсулирован в presentation слой и в любой момент безболезненно заменен на другой, так как другие слои ничего о нем не знают. Вся бизнес-логика инкапсулирована в domain слой в виде plain old java object, который не зависит вообще не от чего, а также предоставляет интерфейсы (репозиториев например) для инфраструктурного слоя и только в этом слое фактически и будет тот самый настоящий ООП, который все так упорно пытаются найти. Никакого стороннего кода в бизнес-логике нет, а соответственно весь сторонний код можно в любой момент поменять, не трогая бизнес-логику вообще.
Для этого нужно открыть какую-нибудь книгу, где за руку проведут с нуля до конкретного приложения построенного с использованием этой архитектуры. Например Implementing domain-driven design, хоть эта книга и о DDD, но я уже говорил, что слоистая архитектура это де факто. С опытом, будет понятно, что в более простых приложениях количество слоев можно уменьшить, понимая на какой компромисс придется пойти, что иногда можно объединить domain и часть infrastructure и получить всем известный шаблон Active Record или вообще выбросить эти слои и получить шаблон transaction script, когда для решения просто не требуется что-то более сложное. Придет понимание, как можно начать с transaction script и в итоге постепенно катиться в сторону domain layer, через active record или не через active record если это когда-нибудь понадобится и тому подобное. Cтанет понятно, зачем, как и когда использовать патерны о которых написал Мартин Фаулер в своей книге Patterns of Enterprise Application Architecture.
Полученные знания можно применить к любому языку. В том числе и PHP. Будет хорошо, если уровень этого сообщества хоть чуть-чуть будет подтягиваться к уровню Java, вместо того чтобы бомбить пятиуровневые ифы создавая такую цикломатическую сложность, что все метрики кода горят ярче красного.

Худший ответ:
Вместо бумажки — miro. Но суть та же — описать объекты, методы и компоненты, в которых эти объекты собраны. Рядом тут же методы api и структура БД. Но это такоэ. Тоже с удовольствием почитал бы про правильный процесс и софт для проектирования.
Вопрос: Как избавиться от «такого» кода?

Лучший ответ:
Я бы посоветовал:
1) Разбить код на функции с осмысленными названиями. 
Гораздо лучшее читаются короткие участки кода.
Для примера, я бы вынес функции validateRequest, sendMessage, findAnswer. Перенести в отдельные функции/методы классы запросы к внешним сервисам (vk)
2) Убрать неиспользуемые переменные. Зачем тут $GROUP_ID ?
3) Не использовать однобуквенные переменные.
Вместо `foreach ($VK_CONFIG_FAQ as $k => $v) {` лучше что-то вроде `foreach ($VK_CONFIG_FAQ as $questionPattern => $answers) {`
4) Не дублировать строковые константы типа 'Бот не нашёл ответа на ваш вопрос!'. Лучше вынести в отдельную константу типа NOT_FOUND_ANSWER
Ну и про PSR уже написали

Худший ответ:
Я бы посоветовал:
1) Разбить код на функции с осмысленными названиями. 
Гораздо лучшее читаются короткие участки кода.
Для примера, я бы вынес функции validateRequest, sendMessage, findAnswer. Перенести в отдельные функции/методы классы запросы к внешним сервисам (vk)
2) Убрать неиспользуемые переменные. Зачем тут $GROUP_ID ?
3) Не использовать однобуквенные переменные.
Вместо `foreach ($VK_CONFIG_FAQ as $k => $v) {` лучше что-то вроде `foreach ($VK_CONFIG_FAQ as $questionPattern => $answers) {`
4) Не дублировать строковые константы типа 'Бот не нашёл ответа на ваш вопрос!'. Лучше вынести в отдельную константу типа NOT_FOUND_ANSWER
Ну и про PSR уже написали
Вопрос: Может ли американская компания сейчас подписать какой-то вид контракта рабочего с российским гражданином (работа удаленная)?

Лучший ответ:
может, кроме Крыма. 
обычный контракт субподряда.

Худший ответ:
Проще оформить ИП и далее делается обычный договор на двух языках.
Вопрос: Как определить число объектов в директории (файлов и папок)?

Лучший ответ:
есть ли встроенные средства в Linux
Если нужно количество объектов непосредственно в указанной директории, тоls -l -A /home | wc -l
Если нужно количество объектов вместе с рекурсивно вложенными в поддиректориях, тоfind /home | wc -l
В обоих случаях имя целевой директории для примера взято /home
Ну и результат плюс-минус один-два, :) лень было учитывать заголовки. Если актуально количество с точностью до единицы, то поправите.

Худший ответ:
У го есть удобнейшая функция filepath.Walk, которая рекурсивно обходит дерево папок. Достаточно подсчитать вызовы WalkFunc или проверить внутри этой функции os.FileInfo на предмет того, файл это или папка и только после этого подсчитать.
https://golang.org/pkg/path/filepath/#Walk
Вопрос: Как подгружать часть React бандла только при переходе по роуту?

Лучший ответ:
https://ru.reactjs.org/docs/code-splitting.html#co...
смотри раздел "Разделение кода на основе маршрутов"

Худший ответ:
С помощью React lazy
Вопрос: Как запушить на GIT только папку build в моем проекте в PhpStorm?

Лучший ответ:
Нельзя. Гит оперирует репозиторием, а не папками. И вообще не нужно хранить в гите собранные файлы.
https://ru.stackoverflow.com/a/996242/190728

Худший ответ:
Чтобы корень репозитория был в другой папке, надо было создавать его в другой папке.И почему-то папку .idea все равно упорно пушит на github.ты видимо уже добавил .idea в гит.git rm --cached -r .idea
Вопрос: Как настроить домашний сервер на Linux?

Лучший ответ:
Зачем вам вообще графический интерфейс на сервере? Для описанных задач он совершенно не нужен.
Для удалённого доступа замечательно подходит ssh. 
Для торрентов есть transmission, имеющий cli и web интерфейс.
Как основу лучше использовать что-то более распространённое, например, debian/ubuntu или centos в серверном варианте. Будет куда проще найти информацию.

Худший ответ:
Зачем на сервере гуй? Виндовые привычки? Так даже винда начала отказываться от этой идеологии - только PS, только хардкор...
Да и выбор дистрибов какой-то немного странный. MX Linux, основанный на дебиане и зюзя - энтерпрайзный дистриб. Ни тот, ни другой (особенно второй) вообще не про новичков. Про новичков - всеми любимая бубунта :)
Вопрос: Как работает return в фукции?

Лучший ответ:
Как раз в функции ты и объявил массив.
new Array()
Эквиволентно
[]

Твой код выглядит так:
let res = [];
res.push(a + b); 
res.push(a - b);
res.push(a * b);
res.push(a / b);
return res;

параметры , которые у тебя в скобках -- быстрое добавление в массив

Худший ответ:
А что по вашему означает "объявить" массив?
В данном случае создаётся массив и сразу же возвращается через return.
Вопрос: Какой Linux предустанавливают на ноутбуки в магазаних?

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

Худший ответ:
На сайте производителя ищите.
Вопрос: Комфортный серфинг, офис и мультимедиа на ATOM N2600. Как?

Лучший ответ:
Проблема-то не в системе, а в нехватке памяти. Современный браузер тормозит на 2 гигах, особенно если в нем наоткрывать вкладок. Никакими шаманствами с ОС этой проблемы не решить.
Как вариант - установить древнюю версию более-менее отлаженной системы с тогдашними браузерами и прочими программами, предъявляющими куда меньшие требования к памяти.
Но полноценной работы в современном интернете и это не даст.

Худший ответ:
Даже в те времена, когда это придумали - его основная ниша была - текстовые редакторы и браузер. Причем браузер тех времен, которые жрали куда меньше памяти. Весьма скромное количество памяти и слабый проц - тут хоть заоптимизируйся с осью, как только запускается современный браузер, он сьедает всю память. Можно разве что поставить браузер времен XP - он может и заработает, но будут косяки с сайтами. Можно попробовать другой, более легковесный браузер.
Проблема не в оси, не в браузере. Проблема в старом слабом железе.
Вопрос: Какие есть программы стажировок?

Лучший ответ:
После его окончания хочу пойти на стажировку
Поздно в этот момент уже искать стажировку, после окончания надо уже на работу выходить. Надо было после первого же семестра, с февраля начинать искать летнюю практику. Через преподов, родителей, знакомых, объявления. После первой-второй практики надо пытаться залезть куда-нибудь на полставки. Если повезёт, туда же, где практику проходил. Часто университетские ВЦ берут студентов на полставки. Курса с 4-го можно пробовать договариваться с деканатом и преподавателями о свободном посещении и переходить на полную ставку. В случае успеха, вместе с дипломом получаешь статус мидла, заинтересованность в тебе рынка труда и возможность выбирать работодателя. Иначе в 23 года оказываешься на рынке труда с протянутой рукой и в толпе других таких же никому не нужных.

Худший ответ:
Прорекламирую компанию, в которой я работаю.
В СКБ Контур регулярно проводят стажировки для разработчиков и не только.
(в некоторые команды принимают стажёров круглый год, по тому можно например сразу на почту написать)
Вопрос: ASUS после установки SSD погорело гнездо?

Лучший ответ:
и вообще какие последствия могут бытьВ лучшем случае остались без слота m2 в худшем без ноутбука.

Какая причина этого ?Сложно сказать по столь скудному описанию.
От банального брака - маловероятно, но возможно.
До банального втыкания неподходящего девайса в слот - наиболее вероятно.
Например диск воткнули в слот для wifi и тому подобное.

Точную модель ноутбука и диска в студию.

Худший ответ:
КЗ
Руки
И ноут и SSD на помойку
Вопрос: Как обернуть return в span?

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

Худший ответ:
Пользуйтесь
Вопрос: Как сделать border-bottom?

Лучший ответ:
Уберите header из контейнера, а в контейнер поместите содержимое header'а<header class="header-menu">
      <div class="container">
        <div class="header-menu__logo"><img src="img/logo.png" alt="Логотип"></div>
        <div class="header-menu__nav-bar">
          <nav class="header-menu__nav">
            <a class="header-menu__links" href="#">ABOUT</a>
            <a class="header-menu__links" href="#">CONTACT</a>
            <a class="header-menu__links" href="#">CATALOG</a>
            <a class="header-menu__links" href="#">BLOG</a>
            <button type="button" class="header-menu__btn" name="button">Sign in</button>
          </nav>
        </header>
     </div>
теперь у вас header на всю ширину, можете задавать ему border

Худший ответ:
Владимир Проскурин уже ответил вам, как следует адекватно сделать, но если Вы захотите немного псевдоэлементов и оставить структуру кода html, как есть, то переходите по ссылке)
https://codepen.io/anon/pen/dBKeaz
Вопрос: Как найти разницу в двух датах и выразить ее в днях?

Лучший ответ:
Не программирую на Go, но нагуглил ответ за минутуt1 := time.Date(2018, time.Month(1), 1, 0, 0, 0, 0, time.UTC)
t2 := time.Date(2019, time.Month(1), 1, 0, 0, 0, 0, time.UTC)
days := t2.Sub(t1).Hours() / 24
fmt.Println(days)

Худший ответ:
Не программирую на Go, но нагуглил ответ за минутуt1 := time.Date(2018, time.Month(1), 1, 0, 0, 0, 0, time.UTC)
t2 := time.Date(2019, time.Month(1), 1, 0, 0, 0, 0, time.UTC)
days := t2.Sub(t1).Hours() / 24
fmt.Println(days)
Вопрос: Threading, как закрыть поток на Python?

Лучший ответ:
Встроенного механизма остановки потока из-вне нет, как вариант можно делать примерно так:
import time
from threading import Thread

stop = False


def some_thread():
    while not stop:
        print(stop)
        time.sleep(0.5)


if __name__ == "__main__":
    some_task = Thread(target=some_thread)
    some_task.start()

    time.sleep(2)
    stop = True
    some_task.join()

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

Лучший ответ:
Для 3д — бесплатный блендер или платная синема4д. 

Для вектора — иллюстратор для сложного, фигма для простого. 

Для растра — фотошоп. 

Для сайтов/интерфейсов — фигма.

Худший ответ:
Ранее я пользовался Adobe Photoshop, но сейчас собираюсь выйти на более высокий уровень

Это, пожалуй, гениально.

1. Для рисования в векторе есть либо Adobe Illustrator, либо для более простых задач Adobe XD. Для рисования в растре - Photoshop. Который, к слову, ещё умеет решать простые векторные задачи через инструмент Paths.

2. Для 3d есть много чего. Сомневаюсь, что требуется создание реалистичных сложных трехмерных изображений. Поэтому, опять же, 3d objects из Photoshop. 

По сути вопроса я понял, что Вы только начинаете. Мой совет - не гонитесь за множеством программ, лучше изучите одну, но более детально. И это - Adobe Photoshop.
Вопрос: Каким путем пойти, чтобы создать маркетплейс?

Лучший ответ:
1. В чем подводные камни готовых темы Wordpress?В том что это вордпресс? Ни нормальной архитектуры, ни нормальной функциональности вы на базе движка блогов не получите. Да, он популярен, в основном за счет простоты базовой настройки, но как только возникает задача чуть сложнее вывести 20 записей блога на страничку - начинаются вопросы как с реализацией, так и с производительностью.2. Может нужна другая CMS?При серьезном подходе цмс как вариант для коммерческого проекта отпадает сразу, вы можете пожертвовать некоторым функционалом для создания MVP, но "писать" на цмс коммерческий продукт = стрелять себе в ногу в начале гонки.3. В будущем нужно будет разрабатывать сайт с нуля или получится улучшать первоначальную версию? В цмс основная фича - возми готовое как есть и пользуйся, в этом виде оно хорошо выполняет свою задачу, во всех случаях требующих серьезной кастомизации цмс - не обладает достаточной гибкостью для этого, или эта гибкость выходит боком, в следствие заложенных в основу "универсальных алгоритмов", которые, естественно, всегда будут уступать специальным, которые подходят под конкретную задачу. 4. Какие есть другие варианты (готовые решения, заказать разработку)?Готовые решения наверняка есть, другой вопрос на чем и как они написаны, + всегда остается вопрос работы над кастомными фишками, которые собственно определяют конкурентное преимущество, ну, не считая рекламы, без которой все вложенные средства в разработку лучше потратить на хавчик и бухло - пользы будет больше, а нервов потратится меньше.5. Сколько это может стоить?Как договоритесь, может за 300 баксов, может за 20 000 баксов, без ТЗ и дизайна никто не скажет, суть в том что требуется определенное количество человекочасов на ту или иную фишку, почти все можно посчитать +-, но все равно на 100% никто не уверен что учли все-все, где то да возникнут неопределенные моменты, неучтенные нюансы и т.п., так что сначала ТЗ, потом оценка.

Худший ответ:
подвох в том где вы трафик будете брать? без нормального трафика продавцы не будут вам платить.
Вопрос: Как задать массив в glob?

Лучший ответ:
Доки надо читать
glob("/dir/*.{png,jpg,jpeg}", GLOB_BRACE));

Худший ответ:
https://www.php.net/manual/ru/function.glob.php
Открою секрет. Там есть информация обо всех функциях
Вопрос: Сборка ПК. Это хорошие комплектующие или советуете что-то заменить?

Лучший ответ:
Нормально. HDD лучше сразу выбросьте в помойку, где ему и место, и добавьте в сборку SSD не менее 500Gb, а лучше 1Tb.

Худший ответ:
Cooler Master NCR-12K1-GP питаются от molex напрямую и не имеют регулятора оборотов, а так - норм.
Вопрос: Мониторы и неттопы Российского производства существуют?

Лучший ответ:
Почти все телевизоры Samsung собраны в России в Калужской области (не только для российского рынка).
Мониторы они там некоторые тоже производят.
Эти например:
Samsung S24D300H
Samsung C27F390FHI
Samsung C27FG73FQI

Худший ответ:
 купить у российского производителя поддержать Россию.
Скорее всего вы поддержите Китай и маркетолога из России. Пример, российская компания Dexp - компания российская, но вот всё что внутри - китай + 70% нонейм запчасти.

Хотите геморой(при починке) и одноразовый товар(так как починить его будет крайне сложно) - велком -
Пример такого товара - 
https://market.yandex.ru/product--monitor-roversca...
Вопрос: Как рационально выбрать видеокарту?

Лучший ответ:
1. Смотришь в кошелек, считаешь деньги.
2. Смотришь в магазинах, около найденной суммы найдется несколько претендентов. 
3. Смотришь по ним тесты.
4. Учитывая свои потребности, делаешь выбор.
Алгоритм универсальный года с 2000.

Худший ответ:
RTX2070S
Это для игр (почти все на максималках) и для софта.