Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему Go выдает Undefined для структуры, объявленной в том же пакете?

Лучший ответ:
Потому что вы запускаете только один файл main.go. Либо запускайте все *.go, либо напишите имена 2 файлов - go run main.go msg.go.

Худший ответ:
Потому что вы запускаете только один файл main.go. Либо запускайте все *.go, либо напишите имена 2 файлов - go run main.go msg.go.
Вопрос: Какой VPS мне выбрать для сайта с посещаемостью 10000 человек в день?

Лучший ответ:
Я бы изначально не ставил такую задачу. Я очень сильно не уверен, что у вас будет сразу 10 000 человек в день.
Далее нельзя, что-то конкретно советовать по VPS, так ка кне понятно какой сайт, на чем написан итд итп.
Возможно можно будет использовать несколько VPS и размазывать нагрузку. 
Поэтому берите любой средний и пробуйте. Нужна будет мощность, постепенно увеличивайте мощность vps машины.
P.S. Можно использовать всякие нагрузочные тесты на боевой доступной машине , например yandex танк.
https://github.com/yandex/yandex-tank

Худший ответ:
MusicFeed  Вот отличный инструмент для нагрузочного тестирования - GoldenEye
Во всем остальном можно поступить как посоветовал Vladimir Zhurkin
Вопрос: Нужен пример ТЗ верстальщику от дизайнера по макетам psd?

Лучший ответ:
psd - это и есть тз
больше ничего не надо
если в дизайне нет слоев с ролловерами  - это прошлеп дизайнера и, все равно, пояснительная не нужна
пояснительная нужна только в том случае - если есть какая-то динамика адаптива, которую в статичном макете показать невозможно - тогда можно сделать гифку\видяшку\на словах обьяснить че там происходит

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

Лучший ответ:
так
или так

Худший ответ:
Изначально сделать два дива, а не один. Ваш кэп.
Вопрос: Где взять нормальную документацию по msGallery в minishop2?

Лучший ответ:
ЗАПОМНИТЕ РАЗ И НА ВСЕГДА!!! РАЗРАБОТЧИКИ MODX REVO ПИШУТ ДЛЯ СЕБЯ, ДЛЯ ТЕХ, КТО В ТЕМЕ И КТО СЛУЧАЙНО ПОПАЛ В ЭТУ КАБАЛУ (ему просто неповезло, разрабочик вкинул денег и приходится в этой гадости теперь разбираться). ОТСУТСВИЕ НОРМАЛЬНОГО ДОКУМЕНТИРОВАННОГО, ПОНЯТНОГО КОДА И ДОКУМЕНТАЦИИ. УВАЖЕНИЕ К НАЧИНАЮЩИМ РАЗРАБОТЧИКАМ ПОЛНОСТЬЮ ОТСУТСТВУЕТ, ПОРОГ ВХОДА 0-Й И ЭТО ТЯНЕТСЯ ГОДАМИ. ВСЕМ ПРОСТО ПЛЕВАТЬ ИЛИ ВРЕМЕНИ НЕТ ИЛИ ЕЩЕ ЧТО-ТО, ДАЖЕ У ТЕХ, КТО ЗА СВОИ КОМПОНЕНТЫ БЕРЕТ ДЕНЬГИ! API - ДОКУМЕНТАЦИЯ ПО MINISHOP2 - КУРАМ НА СМЕХ!
Писал все в капсе, так как может хоть так можно достучаться до этих "молодцов"-разработчиков. НАЧНИТЕ НОРМАЛЬНО ОБЪЯСНЯТЬ, ЧТО У ВАС ПРОИСХОДИТ, РАСПИСЫВАЙТЕ ПАРАМЕТРЫ НЕ ТОЛЬКО ВХОДЯЩИЕ, НО И ШАБЛОННЫЕ. ИЗ-ЗА ТОГО, ЧТО У ВАС ВСЕ ПОСТРОЕННО НА ЯДРЕ И С "ООП", КОД НЕ ЧИТАЕМЫЙ НОРМАЛЬНО БЕЗ ДОКУМЕНТАЦИИ СЛОЖНО ВОЗИТСЯ С КОДОМ!

Худший ответ:
на сайте разработчика, наверное, https://docs.modx.pro/components/minishop2/
Вопрос: Как сделан этот ползунок?

Лучший ответ:
Каким-то хреновым вы браузером пользуетесь. У input[type="range"] есть shadow root в котором ещё куча элементов, для них написаны стили. Например инспектор Хрома умеет их показывать.

Худший ответ:
Да это, мне кажется, просто range slider с завязанным на нём большим слайдером с картинками
Наподобие:раздватри
Вопрос: Как удалить битый файл с PC под Windows?

Лучший ответ:
Привет,
Загрузись с какого-нибудь Linux Live USB, подмонтируй этот диск на read-write и удали.

Худший ответ:
Как рекомендовал товарищ  Unlocker portable и вот ещё прога под названием: Wise Force Deleter-эта по мощнее будет лочкера.
Вопрос: Всплывающие окно, как прицепить к div?

Лучший ответ:
Тут нет настродамусов, нужен полный код или jsfiddle.
Ваше окно должно быть в диве где и город, сам div в position:relative, всплывашку в absolute, можно по ховеру показывать, а можно по клику.

Худший ответ:
Добавить
.gorod{
    position: relative;
}
Вопрос: Какие показатели в железе наиболее важны при работе с вебом?

Лучший ответ:
критически память 16+ гб. потом ssd. потом проц

Худший ответ:
Также интересен вопрос по сборщику ноубука (лично мне привлекателен делл но исключительно как бренд, ничего не знаю про качество) и по верси проца M, HQ и тд
Вопрос: Как настроить wi-fi принтер для всего офиса?

Лучший ответ:
Да. Если у вас работает локальная сеть, хотя бы на примитивном уровне, принтер будет просто ещё одним устройством в ней.
Конкретные настройки зависят от топологии сети.подключить WIFI принтер к тому же компьютеруНет. Принтер подключить к точке доступа Wi-Fi.

Худший ответ:
Ответ выше верен полностью
Вопрос: Как сделать, если цифра 0, то class="noactive", если больше 1 «active»?

Лучший ответ:
Как вариант сделать так:<span class="minicart-number mn-<?php echo yith_wcwl_count_products(); ?>"><?php echo yith_wcwl_count_products(); ?></span>
И создать класс:span.mn-0 {
  color: ...;
}
с отдельным цветом для нуля, можно будет сделать еще классы для 1, 2 а в minicart-number будет цвет по-умолчанию.

Худший ответ:
Ну или например так:<span class="<?=(yith_wcwl_count_products() > 0) ? 'minicart-number active' : 'minicart-number noactive';?>"><?php echo yith_wcwl_count_products(); ?></span>
Вопрос: Не устанавливается Let's Encrypt. Что делать?

Лучший ответ:
Привет,
А что же вы хотите? У вас же доступ к сайту извне закрыт полностью, или 403 выдает или 404. Откройте доступ к сайту извне и все заработает.

Худший ответ:
пользуйтесь вики! там все примеры есть, даже с конфигами nginx https://wiki.debian.org/ru/LetsEncrypt
Вопрос: Как рендерить компонент только после получения данных из геттера VUEX?

Лучший ответ:
Не надо рендерить элемент, в который вы выводите data.capitalization, пока нет data: v-if="data".

Худший ответ:
убрать вообще вычисляемое свойство data и использовать просто $store.getters['currency/getCapitalization']
в шаблоне, оно и так реативное. А ещё лучше так:<template>
<div class="box">
<div class="currency" v-if="getCapitalization.capitalization">
{{getCapitalization.capitalization | comma | dollar}}
</div>
</div>
</template><script>
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters('currency', [
'getCapitalization'
])
}
}
</script>
Вопрос: Как реализовать постоянную проверку обновления базы данных на PHP?

Лучший ответ:
Есть соц.сеть на wordpress 
это успех)

Худший ответ:
повесить скрипт на  cron
Вопрос: Как установить Assembler на windows 10?

Лучший ответ:
Просто используйте современный компилятор - YASM или FASM.

Худший ответ:
Supported Operating System
Windows 2000 Service Pack 3, Windows Server 2003, Windows XP Service Pack 2
В режиме совместимости попробуй запустить.
Да, ещё требуетVisual C++ 2005 Express Edition
Вопрос: Как отделить отдельный блок div со всем содержимым в нём html коде от всего кода, в котором этот div находится?

Лучший ответ:
Погугить поиск и замену текста в файлах?
Буквально первый результат: решение для Total Commander

Худший ответ:
Если позиции этих блоков в файлах не меняются, то можно прогнать утилитой `sed`:
1. Скачать утилиту: https://github.com/mbuilov/sed-windows
2. Вставить в `cmd` файл скрипт:  https://pastebin.com/5wA16DTB
3. В блоке SETTINGS указать начало и конец блока и путь до скачанной утилиты
4. Перетащить папку с нужными файлами на полученный `cmd`
5. В папке `out` появятся обрезанные html-ки
Ну, или любым другим способом выполнить команду над каждым файлом, подставив нужные номера строк:sed -n "27,129p" in.html > out.html
Вопрос: Как разместить большую MySQL-базу на нескольких серверах и как при этом будут работать индексы?

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

Худший ответ:
Не факт что нужен кластер. Зависит от профиля работы с СУБД. БД в основном запросы на чтение или запись?
У MySQL есть различные движки хранилищ и они подходят под разные профили работы. Нужно подбирать под нужды. Есть множество инструментов для профилирования и подгонки нужно применять по ситуации. Есть ещё Percona Server for MySQL.
Подгонять настройки MySQL нужно исходя из нагрузки и возможностей железа.
Вопрос: Выбор специализации в web разработке?

Лучший ответ:
fullstack это эникейщик
Нет в вебе это не так.
Выбирайте то что по душе вам, мне например JS нравится, значит на node.js пойду, а вёрстка меня бесит просто все эти кнопки, формы, рамки, поэтому я в backend больше углубляюсь. А знакомый у меня backend вообще понять не может, туго до него доходит, зато он во фронте хорошо ориентируется.

Худший ответ:
Никто же не мешает Вам углубиться во что-то одно, но знать и другое.
Если вас тяготит к фронтэнду, то на самом деле узнать нативный js и ознакомится с популярными библиотеками и инструментами не так много времени займет, и останутся еще силы продолжать работу с C#.
С другой стороны после смены работы вам вряд ли потребуется знать и то и другое и третье, как тут правильно заметили: разделение труда - действительно хорошая вещь.
Вопрос: Как попасть на стажировку или найти первую работу?

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

Худший ответ:
для примера можно самому создать себе "проблему" и пробовать её решить , у вас хотя бы частичное знание html5 и css3 есть ?
Вопрос: Разработка Python/Django на Windows?

Лучший ответ:
Во-первых, хардкодить пути - это в целом плохая практика, а в Django особенно. Во-вторых, используя функции из модуля os.path можно писать код работающий с путями кроссплатформенно.

Худший ответ:
Выносите пути в отдельные переменные или в конфиг. Ну или как уже сказали выше - os.path
Вопрос: Почему не работает justify-content, если задаешь ширину флекс-контейнеру?

Лучший ответ:
Если не задаю ширину флекс-контейнеру, то jutify-content работает
Вы сами ответили на свой вопрос. Если вам нужно выровнять внутренние элементы то просто уберите ширину - это не inline объекты. Если вы хотите выровнять всю форму, то оберните её в div и примените flex-свойства:<div style="display:flex;justify-content:center">
  <form>
  <input class="subscribe-field">
  <input class="button-subscribe">
</form>
</div>
А вообще повнимательнее почитайте свойства flex-объектов. Как дочерние объекты выравняются если вы ограничили свободное пространство до их суммарной ширины.

Худший ответ:
В качестве ширины флекс-контейнера (570px) задаю сумму ширин флекс-элементов (390px + 180px).
Если сумма ширин элементов равна ширине контейнера - о каком выравнивании может идти речь? Есть выравнивание, нет его - внешне разницы не будет.
Предположу, что вам надо на самом деле выравнять контейнер по центру страницы - добавьте margin: 0 auto элементу .subscribe-form, например.
Вопрос: Каковы перспективы самописных ОС типа ReactOS, чего они добиваются?

Лучший ответ:
Тогда зачем?Сделать Windows c отрытым кодом.в роли догоняющихЭто если есть за чем гнаться. Не всем нужно то, что сейчас добавляется в Windows 10.

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

Лучший ответ:
Правильно подметили в комментариях, что все зависит от уникальности и ожидаемой гибкости.
Я всегда стараюсь в первую очередь отталкиваться от правила "сделать максимально удобное редактирование для самого тупого котентщика". Исходя из этого, в подобных задачах поступал следующим образом.
Нам нужно, чтобы контентщик мог самостоятельно создать новую страницу. Значит, будет 1 инфоблок, а страница -- это элемент инфоблока. Т.е. при создании страница автоматом получит динамический адрес.
Вся информация в блоки на странице будет выводиться через свойства инфоблока. Их нужно будет красиво сгруппировать. Каждая группа свойств -- отдельный блок. У каждой такой группы будет 2 обязательных свойства: активность блока и сортировка блока. Галочка активности будет отвечать за показ блока на странице. А сортировка будет указывать положение блока относительно остальных блоков (т.е. устанавливать порядок блоков). Остальные свойства в группе -- индивидуальны для каждого блока.
Вам останется только разместить на физической странице комплексный компонент Новостей (чтобы включить ЧПУ) и переписать шаблон детальной страницы (реализовать группировку свойств, вывод и сортировку блоков).
В результате получится небольшой конструктор страниц, с которым справится даже ребенок.

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

Лучший ответ:
vi/vim позволяют перемещаться по тексту кучей различных способов, кроме стрелочек.
Да и вместо стрелочек можно использовать hjkl

Худший ответ:
Пишу код 10 пальцевой системой, но из за того, что необходимо постоянно передвигать курсор стандартными стрелками При вводе текста курсор перемещается автоматически - собственно он указывает где будет буква. Если вы имеете ввиду отступы, от в IDE это тоже автоматизировано (нужно настроить, как вам удобно).сделал опечатку, необходимо вернуться к предыдущему символуНапечатайте всё, опечатки исправите потом с помощью мыши.
Вопрос: Как отключить кнопку назад в приложении?

Лучший ответ:
Сделать override для вызова onBackPressed и\или KeyEvent.KEYCODE_BACK с пустым\нужным вам экшеном. 
Хотя это выглядит как костыль и описанную вами ситуацию стоит решать другими способами.

Худший ответ:
я бы не отключал кнопку назад. У Вас уже есть наследник от AndroidApplication ?
Нужен как общее хранилище для всех активити.
В нем статический метод ПинВведен()
В остальных активити при их выходе на первый план проверял бы MyApp.ПинВведен()
и если нет, то на ввод его.
Можно свой класс активити написать с этим функционалом и наследовать от него все, кроме активити пина
Вопрос: Как бы вы сверстали такие блоки с картинками?

Лучший ответ:
Родителю rotate в +, потомку в -. Потомка лучше создать через псевдоэлемент

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

Лучший ответ:
db.Exec возвращает интерфейс error, вам нужно его попробовать привести к *pq.Error, чтобы обработать._, err := db.Exec(insert)
if err != nil {
    if pgError,ok := err.(*pq.Error); ok {
        // Достаём код из переменной pgError
    } else {
        // Пришедший тип не является *pg.Error
    }
}
И самое главное!
НИКОГДА не используйте Sprintf для формирования запроса, вы открываете SQL Injection в вашем коде. Используйте возможность подстановки, которую даёт вам пакет database/sqldb.Query("select id, name from users where id = ?", 1) // Вот так, например

Худший ответ:
Вам нужен type assertion - приведение к типу.
if pqError, ok := err.(*pq.Error); ok {
  ...
}
Вопрос: Зачем нужна связка python и go?

Лучший ответ:
разработка на python куда быстрей чем на Go, но производительность меньше
скрещивают чтоб компенсировать потерю производительности в особо узких местах, при этом не переписывая весь проект на Go

Худший ответ:
Питон все-же более высокоуровневый чем го, и писать на нем легче. Плюс большое кол-во библиотек скопилось.
А дальше можно подключить код на го как с lib, а в свою очередь в го можно вкомпилить код на с.
Как по мне это круто.
Вопрос: Как отсрочить запуск сервиса на Raspbian?

Лучший ответ:
Попробуй добавить в  /etc/init.d/danted
# Required-Start:     $network $remote_fs $syslog
# Required-Stop:      $network $remote_fs $syslog

Худший ответ:
Найдите где у вас действующий конфиг для Systemd - файл sockd.service
И попробуйте изменить и добавить строкиAfter=network-online.target
Wants=network-online.target
//Был включен dhcp. Dante запускался до получения адресом. Лучше настроить статику.
Вопрос: Терминальный сервер с одной «общей» учеткой. Как сделать разграничение «куки» в браузере?

Лучший ответ:
Возможно, проканает вбить в ветку HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cookies путь, включающий в себя %CLIENTNAME% ?

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

Лучший ответ:
https://toggl.com/ - крайне удобный сервис.

Худший ответ:
У upwork.com есть собственный.
Вопрос: Как правильно предоставить в суд репозиторий с кодом Bitbucket/Github в качестве доказательства выполненности работ по договору?

Лучший ответ:
Если суд далек от технологий, то наверно надо привлечь независимого эксперта.

Худший ответ:
Ну во- первых не спешите . Оформляйте иск, подавайте в суд. Будет первое предварительное судебное заседание, на нем по крайней мере можно будет оценить адекватность судьи , потому как от него ЛИЧНО будет зависеть решение. Далее судья может делать судебные запросы в различные инстанции, на которые ответ будет получен в любом случае . Ну и юрист должен разбираться в теме , либо Вы с ним посещать все заседания совместно . Могу порекомендовать хорошего юриста , напишите мне liptsansk@gmail.com
Вопрос: Какой тест-фрейм лучше для Django?

Лучший ответ:
pytest + django-pytest
unittest + nose рабочие решения, но это примерно как если сейчас svn использовать вместо git.

Худший ответ:
Unittest поддержка у Django из коробки. Не нужно возиться с дополнительными плагинами, но по мере усложнения тестов столкнетесь с необходимостью что-то подпиливать.
Nose или Pytest - это вопрос ваших предпочтений, опыта работы и количества собственных плагинов под них.
Лично я за PyTest.
Да, в тему о тестах - не забудьте посмотреть на FactoryBoy, думаю пригодится.
Вопрос: Не работает API Одноклассники для сайта Wordpress, что делать?

Лучший ответ:
Столкнулся с той же проблемой, у меня был WordPress 4.8.2 с Wordpress Social Login 2.3.3
В данный момент обработчик Одноклассников устарел, их АПИ обновилось + используется доп. ключ авторизации (в письме это "Публичный ключ приложения"). Вот что мне помогло:В поле "Application Secret" для Odnoklassniki в плагине Social Login устанавливаем "Секретный ключ приложения" из письма Одноклассников о регистрации приложенияДалее придется редактировать обработчик ОК в плагине, это на самом деле плохо, но это самый быстрый способ решить проблему (по хорошему внести правку на GitHub):открываем на редактирование файл "/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Odnoklassniki.php"в функции "initialize()" необходимо сменить УРЛы точек доступа, итоговый вид функции:function initialize() 
	{
		parent::initialize();

		// Provider apis end-points
		$this->api->api_base_url    = "https://api.ok.ru/fb.do";
		$this->api->authorize_url   = "https://connect.ok.ru/oauth/authorize";
		$this->api->token_url       = "https://api.ok.ru/oauth/token.do"; 
		$this->api->sign_token_name = "access_token";
	}после внесения данных правок должна заработать аутентификация, но выборка данных работать не будетдалее, в функции "getUserProfile()" необходимо установить корректное значение для публичного ключа, в текущий момент оно береться с переменной "$this->config['keys']['key']", для этого в начале функции можно прописать что то вроде:function getUserProfile()
	{
		$this->config['keys']['key'] = '<Публичный ключ приложения>';
		$sig = md5('application_key=' . $this->config['keys']['key'] . 'method=users.getCurrentUser' . md5($this->api->access_token . $this->api->client_secret));
		$response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig); 
		...
	}
вместо "<Публичный ключ приложения>" впишите свое значение

Худший ответ:
julia-finance нашли решение?
Вопрос: Как соединить несколько офисов в единую сеть?

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

Худший ответ:
Я понятия не имею, что в данном контексте "микрокомпьютер". RB450G с RouterOS на борту размером в две пачки сигарет - под такой критерий пойдет? Ну тогда по одному микротику на филиал, один в центр (помощнее, типа RB1100 или хотя бы RB4011). И соединить именно через IPSec. А тех, кто сказал, что это нехорошая идея - спроси, а что же циска - продвигает нехорошие идеи, да? :)
Разумеется, IPSec надо уметь готовить :)
Например, я сейчас сижу дома. Это сообщение набираю на рабочем компе, связанном с домашней сеткой через все тот же RB450G (по RDP). А каталог "Мои документы" находится на сервере, который находится на другом конце города - и подключен он - правильно - тоже через все тот же RB450G. Двумя туннелями на IPSec :)
Вопрос: Как выгрузить проект Git в удалённый репозиторий без истории?

Лучший ответ:
1. переименовываете или удаляете папку .git
2. создаете репозиторий на github
3. дальше по стандарту:git init
git commit -a
git remote add origin git@github.com:user/reponame.git
git push -u origin master
Потом либо возвращаете старую папку .git, либо используете новый репозиторий.

Худший ответ:
1. переименовываете или удаляете папку .git
2. создаете репозиторий на github
3. дальше по стандарту:git init
git commit -a
git remote add origin git@github.com:user/reponame.git
git push -u origin master
Потом либо возвращаете старую папку .git, либо используете новый репозиторий.
Вопрос: Легально раздобыть и пользоваться Windows 98 сегодня — реально?

Лучший ответ:
Покупаете коммерческую (не ОЕМ!) лицензию на Win10, ставите Win98, пользуетесь.
https://download.microsoft.com/download/6/8/9/6896...

Худший ответ:
>  можно ли на сегодняшний день каким либо образом приобрести лицензионную копию девяностовосьмёрочки
Ответ «STFW» просто напрашивается.  Нет, серьезно, как вы искали, прежде чем задавать вопрос?  Вот, например, в Питере: есть за 500 рублей [0] и есть за 20 тысяч рублей [1]
[0] https://www.avito.ru/sankt-peterburg/igry_pristavk...
[1] https://www.avito.ru/sankt-peterburg/igry_pristavk...
Вопрос: Hyper-V Server или Windows Server + роль Hyper-v?

Лучший ответ:
Hyper-V Server ничего не может, кроме Hyper-V и управляется только с PowerShell. У него почти нет GUI. Виртуалками через GUI можно управлять через удалённую оснастку со своего компьютера, подключившись через неё по сети к этому Hyper-V Server.Windows Server может всё, включая Hyper-V, и управляется через полноценный GUI.
Из-за того, что Hyper-V Server не может делать ничего лишнего, у него меньше потребления ресурсов самой ОС, а значит больше свободных ресурсов для виртуалок. Его ставят на больших парках гипервизоров (хостинг-компании) для повышения плотности.
Если перспектива писать командочки в PowerShell вместо тыка в интерфейс, и отсутствие задач на этом сервере кроме Hyper-V Вас устраивает, то выбирайте Hyper-V Server.

Худший ответ:
Скорее всего разница в потребляемых ресурсах такого сервера. Можно предположить, что связка Windows Server + Hyper-V будет потреблять ресурсов больше, чем Hyper-V Server. Ну и как одно из следствий - Hyper-V Server будет работать шустрее.