pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как в Windows запустить предоставить доступ на запуск лишь одной программы с повышенными привилегиями?

Лучший ответ: как костыль:  runas /savecred и сделать ярлык(cmd) для запуска приложения (один раз запросит пароль, сохранит его в хранилище и не будет больше запрашивать).
НО! пользователь сможет (если догадается) запускать любые программы через runas с этой сохраненной учеткой

Худший ответ: Runas не советую. Пользователь потом сможет запускать любые программы от администратора.
Я когда-то пользовался программой AdmiLink. Не знаю, работает ли она на современных системах.
admilink.narod.ru/admilink.htm
Вопрос: Возможно ли стать бекенд Ruby on Rails разработчиком? Или там только full-stack?

Лучший ответ: сновной его паттерен - MVC - подразумевает как серверную часть, так и версткунет, не подразумеваетВозможно ли писать на нем только бек? даИли основную часть проектов придется и верстать самому?как захочешь / как тебе скажут

Худший ответ: Обычно, верстать не приходиться, то всё-же HTML+CSS+JS знать нужно.
Вопрос: Можете подсказать IDE для красивых интерфейсов?

Лучший ответ: Пфф, берете electron framework и используйте все возможности web-стека(html/css/js) в своем приложении. Производительность норм, а варианты свистелок и перделок упираются только в Вашу фантазию.

Худший ответ: WebGL только хардкор.
Вопрос: Уровень владения Git'ом для работы в студии. Он какой?

Лучший ответ: Скажите, этого достаточно как рядовом разработчику в студии?
В условиях фактической субъективной реальности, на просторах бывшего СССР - это примерно всё, что Вам придётся когда либо узнать о работе с Git'ом, примерно в 97% "студий". То есть, отвечая на Ваш вопрос - да, этого будет достаточно. Возможно Вас ещё паре-тройке особенностей конкретно их работы обучат. И будет довольно неплохо, если "там" будут работать с Git'ом хотя бы так, как Вы описали. А не гадить в одну ветку в 20 человек... 
То есть, в целом, если в "студии" слышали про Git и тем более ветки, - это уже хорошо. А если знают зачем они нужны - это прям вообще не плохо. А если ещё и пытаются применять их по назначению... - это считайте, уже почти топовая компания.

Худший ответ: То что вы описали достаточно для 99 процентов разработчиков
Вопрос: Как подключить внешнее API к сайту?

Лучший ответ: Понимаю, что ссылка подключается так:
Нет, так она не подключается. Этот урл нужен для того, чтобы посылать на него запросы (методом GET), получать ответ в JSON, а затем уже этот ответ использовать у себя на сайте.
Почитайте:Руководство для начинающих по HTTP и RESTBeginners guide to creating a REST API

Худший ответ: Роман, думаю там есть нужные  настройки, раз дают данное API. Оно для этого и предназначено, чтоб на сторонних сайтах выводить информацию интернет магазина брокера Финам, для партнеров. Ладно, думаю пока мне стоит это оставить. Поизучаю немного, когда понимать начну больше, тогда и сделаю всё. Или деньги появятся, проще фрилансеру дать заказ.
Вопрос: За какое время можно выучить C++ зная нативный JavaScript (ES6)?

Лучший ответ: За какое время можно выучить C++
За какое время можно научиться собирать самолеты "Боинг", умея собирать мотоциклы "Урал"?

Худший ответ: Смотря что понимается под выучить, у нас в универе курс C++ включал в себя си, некоторые вещи из std вроде потоков ввода вывода и чуть-чуть ООП под конец. Я тогда учил в основном по этому сайту cppstudio.com
Вопрос: Сколько ОЗУ на VPS потребуется?

Лучший ответ: Хватит ли оставшейся оперативки если установлю apache + php + mysql?
Для того, что бы оно запустилось - думаю хватит.Нагрузка на сервер предполагается мизерной — бот на php для telegram.
Зачем Вам Apache или вообще веб-сервер? Запускайте скрипт из консоли. Можете попробовать встроенный в ПХП веб-сервер.При жесткой необходимости можно отказаться от mysql и хранить данные в файлах.
При жесткой необходимости, и в её отсутствие тоже, можно отказаться от MySQL и хранить данные в SQlite3.
P.S. панель показывает: 120.2 MB of 256 MB Used / 135.8 MB FreeЕдинственное, что меня смущает - как и зачем Вы умудрились панель вкрутить на сервер с 256Мб оперативки :)) Но... это в принципе к делу не относится, просто мысли вслух.

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

Лучший ответ: Вам нужно:
0) Начать пользоваться английской версией всего. Русская локализация на самом деле ужасна.
1) Перейти на вкладку "Профили Qt" и добавить корректный профиль (если там его уже нет, если есть, то перейти к шагу 3). Для этого нажмите "Добавить" и укажите путь к qmake.exe из установленной версии Qt. Для этого, скорее всего надо ещё и установить отдельно Qt.
2) Нажать "Применить"
3) На вкладке "Комплекты" указать добавленный профиль Qt.
4) Нажать "Ok".

Худший ответ: Скорее всего проблема с переменными среды. Посмотрите, есть ли в PATH путь к установленному Qt
Вопрос: Как следить за тем, что вводит пользователь в prompt?

Лучший ответ: Никак, на prompt нельзя навесить никакие слушатели событий. Реализуйте своё модальное окно на html и делайте с ним что хотите.

Худший ответ: var rez = prompt ('введите что-то цифровое', '');
if (rez.replace (/\d/g, '').length) alert ('вы ввели не только цифры');
Вопрос: Как сверстать линии?

Лучший ответ: https://codepen.io/topicstarter/pen/mgdrJv - вот так можно если умеете работать с SVG

Худший ответ: Думаю, вам стоит посмотреть в сторону SVG
Вопрос: Как востановить промокшую флешку?

Лучший ответ: После попадания влаги никогда не подавайте питание на устройство. При напряжениях компьютера кз не будет, но дорожки банально очень быстро окислятся, в лучшем случае.
Все что вы сейчас можете сделать сами - разобрать флешку, тщательно ее промыть в дистиллированной воде, а потом в спирте (лучше изопропиловом, но пойдет и обычный 96% этиловый).
После чего тщательно просушить и осмотреть на предмет повреждения/окисления дорожек. Если такие имеются - восстановить, если не видно - попробовать воткнуть и отдать в ремонт/выкинуть :)

Худший ответ: Стирал 3 раза, но обычно ночь отсвхала и все было нормальноПроблема в этом в основном.
У вас на контакты попадает вода, с активными средствами, на флешке куча мелких зазоров где эта влага будет долго сохранятся даже после высыхания. А малейшее попадание влаги, особенно с агрессивными веществами начинает активный процесс коррозии. Со временем дорожки разъедает. И все.
Если постирали даже один раз - тут же промыть чистой дистилированной водой, и вытеснить остатки влаги спиртом, лучше в УЗ ванне. Без этого как ни крути - долго работать не будет.
Вопрос: Как получить данные о погоде?

Лучший ответ: Зачем парсить когда можно использовать API погодных сайтов.

Худший ответ: openweathermap.org/API
С помощью API этого сайта, можешь получать данные о погоде.
Вопрос: Как в битриксе вывести свойство справочника?

Лучший ответ: Вот такif (CModule::IncludeModule('highloadblock')) {

    $ID = 1; // ИД 

    $hldata = Bitrix\Highloadblock\HighloadBlockTable::getById($ID)->fetch();
    $hlentity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hldata);
    $hlDataClass = $hldata["NAME"] . "Table";

    $result = $hlDataClass::getList(array(
                "select" => array("ID", "UF_NAME", "UF_XML_ID"), // Поля для выборки
                "order" => array("UF_SORT" => "ASC"),
                "filter" => array(),
    ));

    while ($res = $result->fetch()) {
		// Выводите что вам надо
    }
}

Худший ответ: По примеру вашего кода немного поменял его. Подскажите как сделать чтобы показывались только выбранные списки? Щас выводятся все имеющиеся. даже если не выбраны. Где то ошибка?
<?if ($arItem["DISPLAY_PROPERTIES"]['accept']){?>
				<div class="map-accept">
					<?

					if (CModule::IncludeModule('highloadblock')) {

						$ID = 1; // ИД 

						$hldata = Bitrix\Highloadblock\HighloadBlockTable::getById($ID)->fetch();
						$hlentity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hldata);
						$hlDataClass = $hldata["NAME"] . "Table";

						$result = $hlDataClass::getList(array(
									"select" => array("ID", "UF_NAME", "UF_XML_ID", "UF_FILE"),
									"order" => array("UF_SORT" => "ASC"),
									"filter" => array(),
						));

						while($res = $result->fetch()){?>
							<?$img_path = CFile::GetPath($res["UF_FILE"]);?>
							<img alt="<?echo $res["UF_NAME"];?>" title="<?echo $res["UF_NAME"];?>" src="<?echo $img_path?>"/>
						<?}
					}
					?>
Вопрос: Можно ли заменить SSD MacBook Pro 13 2017?

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

Худший ответ: никаких паяльников и танцев с бубнами не нужно. 

Если Ваш макбук до серии включительно 1708 (mid 2017), то откручиваете 2 винтика и меняете себе спокойно ссд. В моделях выше, увы уже ничего заменить нельзя. 

подробная инструкци здесь

купить ссд можно здесь
Вопрос: Как с помощью AngularJS $http получить ответ без Access-Control-Allow-Origin?

Лучший ответ: Читаем что такое CORS.
Короткий ответ - из браузера - нет.

Худший ответ: Без указания Access Control - никак. Он для этого и создавался
Вопрос: Какую систему лучше установить на старый ноутбук 2007 года?

Лучший ответ: Windows XP. Можно конечно и семерку, но она половину памяти сама займет и под софт мало останется.

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

Лучший ответ: Привет.
1) Начинаем плясать от договора. Был ли данный договор или нет. 
 - Если договора нет, и заказчик начинает "напрягать", то берешь деньги и уходишь. 
 - Если этих пунктов в договоре нет, то опять же берешь деньги и уходишь.
2) Обычно оплата идет за позиции в топ, либо за трафик с каким-то коэффициентом внутренней оптимизации. Заказы - лиды - звонки - это уже не к Seo.
3) SEO - обеспечивает продвижение сайтов в поисковой системе.  Также (иногда) он обеспечивает лучшую конверсию посетителей на сайте (показатель отказов, среднее время и так далее). Но ни первое, ни второе не может гарантировать, что будут заказы. Например, если человек продает дилдо по 2000 рублей, а везде они стоят 500 рублей, то хоть ты ему миллион посетителей пригони, конверсия (заказы и звонки) будет никакой.
4) Маркетолог, SMM-менеджер, Пиарщик итд. Когда заказчик начинает тебя нагружать тем, чтобы было бы неплохо еще маркетинг разрабатывать, Пиар придумывать, вести группу, плясать с бубном - то это означает, что человек сам не понимает, что ему нужно, и зачем он тебя нанял. 
 - В этом случае забираем деньги и уходим. Это равносильно тому, что программиста заставят заниматься контентом на сайте, который он разработал.
Поэтому, если ты даешь результат, а заказчик "не понимаем" и пытается нагрузить тебя левыми обязательствами и лишней работы, то собираешься и уходишь. Работа с мудаками - дело неблагодарное.
Если все же так нужен этот клиент, то говоришь, что ты даешь трафик и внутреннюю оптимизацию, остальное не твое дело (если у тебя в договоре не прописано четко, что ты гарантируешь им заказы). И да, не ломайся под давлением и не бери на себя лишние обязательства.

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

Лучший ответ: Первое условие более читаемое. А философия Питона "Читаемость имеет значение(с)"

Худший ответ: Приветствую, weranda.
Python, каким я его для себя принимаю, и каким его видят разработчики, к мнению которых я прислушиваюсь - это в первую очередь выразительность/читабельность/удобство восприятия кода. Оптимизация после. А маниакальное стремление впихнуть все в одну строчку (а-ля "А вот я могу и так") - это еще после того, как после.
Поэтому вариант 1.
Дополнительный, более наглядный, пример навскидку к сказанному:хуже:>>> my_lists = [[[1, 2, 3], [4, 5, 6]]]
>>> flat = [x for sub1 in my_lists for sub2 in sub1 for x in sub2]
>>> flat
[1, 2, 3, 4, 5, 6]лучше:>>> my_lists = [[[1, 2, 3], [4, 5, 6]]]
>>> flat = []
>>> for sub1 in my_lists:
         for sub2 in sub1:
	             flat.extend(sub2)
>>> flat
[1, 2, 3, 4, 5, 6]
Такова моя точка зрения.
Вопрос: Какую систему сборки FroneEnd'a выбрать? Grunt, gulp или webpack?

Лучший ответ: Про grunt можете забыть, изучайте gulp, если планируете писать много JS, тогда после галпа сразу изучайте webpack.

Худший ответ: Webpack сейчас встречается довольно часто, так что какой-то конфиг собрать нужно, но с другой стороны сильно париться по этому поводу нет смысла. В основном, главное, чтобы проект работал. Есть готовые конфиги и бойлерплейты и нет ничего плохого в том, чтобы ими пользоваться. 
Gulp vs Grunt — Gulp вроде очевидный выбор будет, хотя grunt также используется. А что касается актуальности, то известные front-end разработчики рекомендуют переходить на npm скрипты. 
В общем-то, если работа не диктует стек технологий сейчас, то выбор за Вами. Что больше нравится, то и берите.
Вопрос: Как сделать радиозвонок для домофонной трубки?

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

Худший ответ: Берете обычный проводной телефон, который умеет дозваниваться по определенному номеру по нажатию кнопки.
Программируете его для дозвона по вашему номеру телефона. 
Далее делаете примитивную линую задержки и таймер, ставите 2 реле. Одно снимает трубку, второе нажимает кнопку. Ждете несколько секунд, кладете трубку. Все.
У вас в кармане ваш сотовый телефон. По короткому звонку можно догадаться, что это был домофон.
Собрать это все можно как из говна и палок, так и на всяких ардуинах с GSM модемом, если нет проводного телефона.
Вопрос: Оптимальный способ работы с router-outlet?

Лучший ответ: Из документации, как мне кажется,   это ваш случай.

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

Лучший ответ: На мой взгляд, танковые щели 21:9 имеют преимущество только при работе со специфичными, очень широкими данными. Большие таблицы, графики - что-то типа биржевых котировок, диаграмм Гантта и тому подобное.
Для веб-дизайна - хрень.
P.S. Вот еще в соседнем ответе очень хороший пример привели - аудио/видео-редакторы с их монтажными дорожками. Одним словом, если контент стремится в ширину.

Худший ответ: Это все на любителя, кому как больше нравится и кто к чему привык.
Мне к примеру нравится больше 2 монитора по FHD, один в портрете, второй в ландшафте, для каждого находятся задачи согласно ориентации и это удобней, причем иногда эти задачи удобно менять местами.
Брат под вебдиз взял 4K, ему удобней развернуть два окна по 1920х2160, говорит - само то - и страницу всю видно (крутить в 2 раза меньше) и одновременно кода много влазит, минус - нужна производительная видюшка из-за чего пришлось менять вайо на огрызок.
По мне ниша 21:9 это аудио/видио редакторы, сверхширокие таблицы, мнемосхемы и т.п.
Вопрос: Как правильно выставить права на файл для чтения из PHP?

Лучший ответ: Вынести файл из /root в каталог предназначенный для доступа web-сервером.

Худший ответ: Если файл не динамически создаваемый сторонним софтом, то возможно подойдет вариант с hardlink:ln /root/audio/list.txt /readable/for/non/root/path/list.txt
Т.е. то, что у вас там изменяет этот файл - так и будет изменять. А вы сможете его читать оттуда, откуда можно читать.
Если файл постоянно создается новый, но под вашим контролем, то при создании файла создавайте так же и ссылку.
Если файл создается сторонним софтом и вы никак не контролируете этот процесс, то можно воспользоваться чем-то вроде incron для мониторинга создания файла и создавать для нового файла hardlink.
Вопрос: Что значит @ в c#?

Лучший ответ: вы уверены, что именно в таком видели ?
public class @ClassUPD:
Ну смотрите: я знаю два случая использования
1. Игнорирование экранирующих символов. Например, чтобы написать путь в файловой системе, вам нужно писать директории через "\\",  т.к. если напишите "\", компилятор рещит, что сейчас будет экранируемый  символ в строке.Assembly a = Assembly.LoadFrom("D:\\\\my\\directory\\src\\CarLibrary.dll");
А можно поставить @ и компилятор не будет ждать экранируемых символовAssembly a = Assembly.LoadFrom(@"D:\\my\directory\src\CarLibrary.dll");
2. Razor. Движок, разработанный мелкомягкими, для отрисовки фронта в веб-разработке (см ASP.NET MVC 4)@using (Html.BeginForm(«action», «controller»))
{
 //html form
}
Ни то, ни другой, под этот случай (public class @Class) не подходит

Худший ответ: Для примера, слово class является зарезервированным, поэтому его дополняют разрешенным в наименованиях символом @.
И уже можно обьявлять наименования такие как: @class, @params, @const и др.
Вопрос: Поиск по таблице, как сделать?

Лучший ответ: на каком-нибудь значении полей типа xxx');drop table sale -- твой поиск закончится.

Худший ответ: А как насчет сделать таблицу search_entity в которую положить:
`id` int(11) NOT NULL AUTO_INCREMENT,
`sale_id` int(11) NOT NULL,
`text` text,
Причем  FULLTEXT KEY `text` (`text`)
И делать запись 1к1 в данное поле.
Причем text - это все поля через пробел, можно без знаков препинания, союзов и т.п.
Тогда поиск будет по отдельной таблице, можно сделать собственное ранжирование (например добавить ключ sort) и выделять нужные поля.
Вопрос: Как вызвать js из svg?

Лучший ответ: Подключайте скрипт не в html-, а в svg-файле: <svg width="100" height="100"
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink">

  <script xlink:href="svg.js" />

  <rect fill="#080" width="100" height="100" onclick="msg()" />

</svg>

Худший ответ: Чтобы расширить область видимости из объекта, как в вашем примере, необходимо указать что вызываемая функция находится вне SVG.

       style="opacity:1;fill:#008000;stroke-width:0.26458332"
       id="rect1"
       width="10"
       height="10"
       x="2"
       y="272"
       ry="0.015"
       onclick="top.msg()" />
А так все тоже самое
Вопрос: Какой паттерн лучше для разработки на Swift?

Лучший ответ: Все работает хорошо, но после одного случая, когда передал проект на дальнейшую поддержку другому айосеру, который сказал что у меня беспредел и проект тупо не расширяется, в итоге сам занимался поддержкой этого приложения
ну так уточните у программера какие у него есть замечания, или найдите на стороне человека который проведет ревью Вашего кода.  И уже по результатам делайте выводыРазрабатываю шаблоном в народе называемым псевдо-MVC, а вокруг все твердят о VIPER и MVVM. 
а шаблон то тут причем? 
Во первых нельзя взять какой-то один паттерн пихать его во все проекты и думать "так правильно делать". Это ни разу не правильно. Паттерн - это решение конкретной технической задачи, и соответственно использовать какой-то конкретный паттерн или нет, стоит решать исключительно исходя из задачи.
Во вторых само наличие каких либо паттернов не говорит еще о том что Ваш код хорош или плох. Качество кода зависит от множества факторов начиная от стиля именования переменных и функций и заканчивая соблюдением принципов парадигмы в которой Вы работаете.

Худший ответ: До этого использовал MVP(resenter). В последнее время перехожу на Координаторы.
Вопрос: Переустановка Ubuntu на Windows?

Лучший ответ: На ваш вопрос невозможно ответить:
1) Не понятно какой была разметка диска при установленной и рабочей Ubuntu
2) Не понятно какой стала разметка диска после ваших манипуляций
3) Не понятно что именно и куда вы закидывали
4) Не понятно какие именно способы и чего именно вы пробовали
5) Без Live CD или загрузочной флэшки с Windows вы Windows не поставите, если сейчас у вас не грузится ни Linux, ни Windows
6) Без Live CD или загрузочной флэшки с Linux вы не вернете Linux к жизни, если Linux вы уже били и он не грузится

Худший ответ: Я писал обсуждение в своей группе на эту тему. Вот рабочий способ записи флешки в дебианподобной системе.
https://vk.com/topic-126466944_35127258
Вопрос: Почему не устанавливается Chrome на Windows 10?

Лучший ответ: Может Chrome уже установлен? Посмотрите в диспетчере задач процессы.

Худший ответ: В последней на данный момент инсайдерской сборке Windows 10 (под номером 1809) Microsoft реализовала новую функцию, препятствующую установке браузеров Chrome и Firefox. Вместо этих веб-обозревателей операционная система предлагает использовать системный браузер Microsoft Edge. Пользователю нужно вручную отказаться от программы редмондского гиганта, чтобы продолжить установку Chrome или Firefox. Инстаграм Трешбокса с важными новостями дня в формате "сторис". При запуске установочного файла браузеров конкурентов, инсайдерская версия Windows 10 отображает баннер о преимуществах Microsof... 
Но есть способ обойти и этот запрет.
1 Удалите Виндовс 10 и установите его заново
2 Создайте локальную учётную запись
3 Установите антивирус
4 Скачайте Гугл Хром офф-лайн установщик
5 Отключитесь от интернет
6 Установите браузер и все необходимые вам сервисы гугл.
7 Войдите в Виндовс с помощью учётной записи Microsoft (После входа переустановка сервисов Гугл и браузера будет не возможна как и обновления)
Вопрос: На что можно использовать старый планшет 2014 года?

Лучший ответ: Фоторамка, интернет-метеостанция, с колонкой хорошей - плеер, в принципе как читалка по идее должен работать.

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

Лучший ответ: Хоровиц, Хилл. В двух томах.
Дальше сам поймешь, куда двигаться.

Худший ответ: 11001110010100100011 
А если серьёзно то при помощи 10 мы даём сигналы транзисторам. Почитайте о работе електроники в целом (не цифровой) и тогда будет намного проще понять цифровую.
Вопрос: Свой собственный локальный Интернет возможно или нет?

Лучший ответ: Амбициии прут?)))) Каникулы в действии.
Загугли, что такое интранет

Худший ответ: Комментатор res2001 прав.
Вопрос: Почему не могу ничего установить?

Лучший ответ: ОЗУ/ХДД или вирусы.

Худший ответ: Возможные варианты:
1) Кто-то или что-то перехватывает трафик и перезаписывает его, в итоге пакеты приходят битыми (возможно, это делает вирус или наоборот, антивирус)
2) Битая оперативная память, данные в процессе обработки бьются
3) Битый жёсткий диск, данные считываются с ошибками
Вероятнее всего первый вариант, так как при вариантах 2-3 скорее всего проблем было бы гораздо больше, чем "ничего не устанавливается"
Вопрос: Border сложной формы на css?

Лучший ответ: самое лучшее это svg
вот так например : https://codepen.io/topicstarter/pen/NYLBGY
так как тему svg не досконально знаю то вопрос задал специалистам в сфере svg и ожидается ответ : https://ru.stackoverflow.com/q/809836/33274

Худший ответ: SVG или Canvas (рисуем в памяти и вставляем в блок бэкграундом).