Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Я наверно болен, но мне нужна понятная документация по началу работы с Gulp?

Лучший ответ:
Вы не больны. Больны люди, считающие node.js отличной штукой.
Это адская хреновина, которая говорит вам, что  все покрешилось в либе, которую вы никогда в глаза не видели и стектрейс никоим макаром не объясняет какая проблема возникла в вашем коде.
NPM, Gulp, Grunt, Bower - понаплодили. 
Если раньше были книги "Как бросить пить и начать писать сайты на PHP+MySQL за 24 часа", теперь их вытесняют "Как начать употреблять ЛСД и программировать на JavaScript с первой дозы".
Ни один джедай NodeJS не сможет вам объяснить, как оно работает. Ибо мильен тыщ зависимостей хрен пойми чего.
Однако, с этим приходиться жить. Ищите наркодилера в вашем регионе.

Худший ответ:
Ну возьмите какой-нибудь готовый настроенный пакет для фронта и в его коде разбирайтесь потихоньку
Вопрос: E-mail вместо id плюсы и минусы?

Лучший ответ:
1) Так и не понял, вы хотите email вместо логина или вместо id. Начинаете вопрос одним, заканчиваете другим.
2) Если вместо логина - то что вообще значит "вместо"? Не использовать логин вообще или использовать email для авторизации?
3) Если вместо id - оно как бы в теории можно, но как бы не стоит. Вы же помните, что вам потом внешние ключи ставить в виде email-ов? И обновлять их при смене адреса пользоватаелем. Правильно, это жесть, поэтому не надо.
4) А чего вы вообще переживаете про WHERE `email`='почта@домен' - ну авторизовали аутентифицировали человека один раз, в сессию положили его id, дальше выборки по id, в чем задача-то?

Худший ответ:
индексы в памяти - хорошо бы, но не всегда влезают. 
пожалуй единственный значимый минус email в роли логина -его длина. длиннее  поле - "тяжелее" индекс. 
как вариант (к слову - неплохой) хранить и искать не по самому логину, а по хэшу. тот-же MD5 - всего 16 байт.
Вопрос: SEO специалисты утверждают, что SEO очень сложная наука, а учителя по SEO совсем другое. Кому верить?

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

Худший ответ:
У всех своё призвание в жизни. У меня вот линуксы админить тьфу-тьфу получается. А кому-то это жуть как сложно. 
А по сабжу - если с другими сеошниками не бодаться (ну то есть не лезть в коммерческие высокочастотники) - то ничего сложного. Мой бложек сам по себе без всякого сео в топ10 по нужным запросам и в гугле, и в яндексе.
Вопрос: Как пробросить IP адреса одного роутера через другой (получился NAT, надо его убрать/отменить/как ещё сказать)?

Лучший ответ:
Если наличие именно такой топологии не принципиально, сделайте следующее:
1. В настройках netis отключите dhcp сервер.
2. Выключите входящий кабель из WAN порта netis и включите в любой другой свободный.
В результате все устройства будут в одной сети, а netis будет работать как свич.

Худший ответ:
Wireless User может отправлять запросы на IP-адреса Wired Router'а и Wireless Router'а, а Wired User не может отправлять запросы на адреса Wireless Router'а. Как это исправить? 
Прописать маршруты.
Вопрос: Возможно ли использование книги Кернигана и Ритчи для обучения программированию?

Лучший ответ:
Конечно, «K&R C» это шикарная книга же. Я сам по ней Си учил, в школе ещё.

Худший ответ:
Лучше начните с ddili.org/ders/d.en/index.html (тут с азов)
Вопрос: Проблема с Windows VPN connection

Лучший ответ:
Первым делом исключить железные проблемы, то есть взять несколько WiFi адаптеров в магазине с манибэком и попробовать на них, если не получится- тот же самый финт с роутером. Если пляски с железом не помогут то копать дальше… Как вариант из скрытых устройств удалить оставшиеся там неиспользуемые карты- идем в «Переменные среды» в системных переменных создаем переменную DEVMGR_SHOW_NONPRESENT_DEVICES и присваиваем ей значение 1. После чего открываем диспетчер устройств, в меню «Вид» включаем отображение скрытых устройств и удаляем скрытые отключенные сетевухи.

Худший ответ:
После достаточно долгих эксперементов выяснилось
1) Виноват роутер
2) Его новая прошивка

Успешно откатился на 1.0.01 и все стало прекрасно работать.
Вопрос: CSS trick. bg-size auto 100% , min-height, responsive

Лучший ответ:
Если картинка в background - то никак, ибо на flow она никак не влияет. Можно вложить картинку в блок отдельным элементом, тогда высота блока будет не меньше высоты картинки (если не указано обратное).

Худший ответ:
Вариант 1 (упомянут выше):<div><img ... ></div>
img css: max-width: 100%;Вариант 2:
jQuery pluginhttps://github.com/srobbin/jquery-backstretch
Вопрос: Как делать права доступа в laravel?

Лучший ответ:
Используйте Entrust для управления ролями и доступами.

Худший ответ:
Используйте Entrust для управления ролями и доступами.
Вопрос: Как настроить программу-шпиона для слежки за сотрудниками фирмы?

Лучший ответ:
УК читайте для начала. И начальнику дайте, на всякий случай.

Худший ответ:
и буду админить на своем компьютере. Вы не правильно выразились.
Если это будет контроль, осуществляемый сотнудником, к примеру CISO в соответствии с должностной инструкцией значит тут нет никакого нарушения, так как все это делается в целях безопасности предприятия. Но как уже было сказано выше, нужно разработать политики безопасности и в соответсвующий способ уведомить сотрудников об обязаносты их выполнений и ответственность в случае нарушения.
Вопрос: Нужен мануал настройка почтового сервера dovecot+postgresql+exim на Debian/Ubuntu?

Лучший ответ:
Из недавних: http://habrahabr.ru/post/197756/ 
А вообще поставьте iRedMail и не мучайтесь.

Худший ответ:
Могу еще посоветовать вот это:
http://nixman.info/?p=2290
http://nixman.info/?p=2292
Вопрос: Раскритикуйте концепт. Что изменить в макете?

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

Худший ответ:
Если в общих чертах, то ваша работа просто не дышит, не функционирует. Цветовые решения весьма спорные. Попробуйте воспринять такого рода работу как программу. Сейчас это больше похоже на разворот журнала.
Вопрос: Какая технология для анимации используется на banki.ru?

Лучший ответ:
Урок по созданию таких же и не только эффектов: tympanus.net/codrops/2012/08/08/circle-hover-effec...

Худший ответ:
Я думаю, что scrolltop
Вопрос: Выбор СУБД.....?

Лучший ответ:
MongoDb — документоориетированная СУБД
www.mongodb.org/
Шустрая и удобная. Есть для драйвера под популярные ЯП.

Худший ответ:
Еще как вариант можно попробовать Sphinx'ом
Вопрос: Подскажите движок для простого интернет-магазина

Лучший ответ:
Может Ecwid?

Худший ответ:
Попробуйте — booot.ru/
Вопрос: SEF URL's in Symfony2. Как из базы тащить по id, а выводить ЧПУ?

Лучший ответ:
Никак. Да и нет в этом никакой надобности.
В сущности страницы добавляется поле - дополнительный уникальный идентификатор (slug зовется буржуями).
В запросе приходит именно этот параметр, и именно по нему вы и ищите в базе.
Вполне себе годное решение.

Худший ответ:
Действительно, надобность в этом отпала. Пошевелил извилинами и нашел решение своей проблемы другим путем.  А вообще можно slug на regexp сделать (нашел живой пример на stack overflow).  Возможно кому-то поможет.
Вопрос: В VBA есть потоки и как их организовать?

Лучший ответ:
Сомневаюсь, что ктото кинется разбираться в потоках с нуля вместо меня. Я лишь попросил готовую конструкцию тех кто уже с этим сталкивался. 
Я понимаю вашу озабоченность. Но я не описал конкретно свою задачу и не прошу готового решения. Польщён, что поганенький макрос назвали проектом))

Собственно тут очень хорошо описано про потоки в VB.

Всем спасибо, все свободны.

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

Лучший ответ:
Любой

Худший ответ:
suse. у него по старой памяти очень хорошие отношения с ad.
Вопрос: Какие коды ОКВЕД 2016 года нужно указать для открытия веб-студии при регистрации ИП?

Лучший ответ:
Выбирайте набор сами из подходящих:Код ОКВЭД: Создание и разработка сайтов (УСН)
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(72.40) Деятельность по созданию и использованию баз данных и информационных ресурсов
(72.30) Обработка данных
(74.40) Рекламная деятельность
(74.84) Предоставление прочих услугКод ОКВЭД: Фриланс, дизайн (Интернет, реклама) (УСН)
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(92.31.22) Деятельность актеров, режиссеров, композиторов, художников, скульпторов и прочих представителей творческих профессий, выступающих на индивидуальной основе
(22.22) Полиграфическое исполнение рекламных материалов
(22.25) Прочая полиграфическая деятельность
(74.81) Деятельность в области фотографии(ЕНВД, УСН, Патент)
(74.40) Рекламная деятельность
(74.84) Предоставление прочих услугКод ОКВЭД: Программирование, разработка и тестирование. (УСН)
(72.20) Разработка программного обеспечения и консультирование в этой области
(72.30) Обработка данных
(72.40) Деятельность по созданию и использованию баз данных и информационных ресурсов
(72.50) Техническое обслуживание и ремонт офисных машин и вычислительной техники
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(72.10) Консультирование по аппаратным средствам вычислительной техникиКод ОКВЭД: Продвижение, раскрутка сайтов(SEO, СЕО) (УСН)
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(72.40) Деятельность по созданию и использованию баз данных и информационных ресурсов
(72.30) Обработка данных
(74.40) Рекламная деятельность
(74.84) Предоставление прочих услугКод ОКВЭД: Системное администрирование(сисадмин) и ремонт ПК (УСН)
(72.50) Техническое обслуживание и ремонт офисных машин и вычислительной техники
(72.40) Деятельность по созданию и использованию баз данных и информационных ресурсов
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(72.10) Консультирование по аппаратным средствам вычислительной техники
(72.20) Разработка программного обеспечения и консультирование в этой областиКод ОКВЭД: Продажа ссылок с веб-сайта (УСН)
(72.60) Прочая деятельность, связанная с использованием вычислительной техники и информационных технологий
(74.40) Рекламная деятельность
(72.30) Обработка данных
(72.40) Деятельность по созданию и использованию баз данных и информационных ресурсов

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

Лучший ответ:
$('.add_time').each(function(){
    var self = $(this);
    var iv = setInterval(function(){
         var v = parseInt(self.attr('value'), 10);
         self.attr('value', v+1); 
         if (v > 3600){
              self.text('Добавлен более часа назад');
              clearInterval(iv);
         }else{
              var m = Math.floor(v / 60);
              var s = v - m*60;
              self.text('Добавлен ' + m + ':' + (s>10?'':'0') + s +' мин назад');
         }
    }, 1000);
});
исправленная версия - чтобы не сбивалось время при долгом просмотреvar start = new Date().getTime();
$('.add_time').each(function(){
    var self = $(this);
    var sv = parseInt(self.attr('value'), 10);
    var iv = setInterval(function(){
         var now = new Date().getTime();
         var v = Math.floor(sv + (now - start) / 1000);
         // self.attr('value', v);
         if (v > 3600){
              self.text('Добавлен более часа назад');
              clearInterval(iv);
         }else{
              var m = Math.floor(v / 60);
              var s = v - m*60;
              self.text('Добавлен ' + m + ':' + (s>10?'':'0') + s +' мин назад');
         }
    }, 1000);
});

Худший ответ:
Советую расмотреть jQuery плагин - Timeage
timeago.yarp.com
Вопрос: Где можно достать официальную версию компилятора для С++?

Лучший ответ:
Я так полагаю, перепутаны термины компилятор/ide, и вам нужна ide.
Это могут бытьQtCreator и компилятор Mingw32Code::Blocks
DevCPP
Microsoft Visual Studio Express.
Желание скачать именно русскую версию - моветон. Учите английский язык, если хотите хорошо программировать.

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

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

Худший ответ:
www.artlebedev.ru/everything/toster — Вот.
Вопрос: Как настроить ЛВС с двумя роутерами?

Лучший ответ:
Переведите роутер 2 в режим точки доступа - все сразу решится, зачем городить маршрутизацию там, где она не нужна.

Худший ответ:
р1. используете как основное подключение, р2. как "удлинитель\размножитель".
Вопрос: Какой Линукс можно установить из-под Винды?

Лучший ответ:
можно-ведь еще с USB загрузиться :)

Худший ответ:
Slax можно распаковать в раздел ntfs и делать мультизагрузку с помощью grub4dos.
По идее можно любой дистрибутив, но у слакса есть загрузка из рам диска, потому с ним и экспериментировал.
Вопрос: Научится программировать на Си

Лучший ответ:
Пока вы не прочитаете и не поймёте хотя бы половину K&R, приступить к решению реальной задачи не сможете: Си это не тот язык, где «взял и по примеру в книге начал писать». Без понимания принципов языка вы не сможете даже работать со строками. Поэтому возьмите K&R и просто решайте задачи, которые находятся в конце каждой главы.

Худший ответ:
Всё же просто! Напишите интерпретатор PHP 8)
Вопрос: У меня пиратка Windows 8, но появилась кнопка получить Windows 10?

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

Худший ответ:
Хитрые уловки майкрософта 
Да, не видитесь на провокации.
Вопрос: Почему не удаляются элементы в XML документе?

Лучший ответ:
Указатель итератора foreach ставится на элемент с индексом 0, затем этот элемент удаляется, соответственно нумерация сдвигается. Итератор переходит на элемент с индексом 1, пропуская элемент, получивший индекс 0.
Можно сделать так:while($items->length) {
    $sitemap->removeChild($items->item(0));
}

Худший ответ:
Используйте вот такой циклfor($i = 0, $item = $items->item($i); $item; $item = $items->item($i)) {
    $sitemap->removeChild($item);
}Удаляя элемент, вы меняете объект, а foreach об этом не знает
Вопрос: Nginx возвращает 403, при том, что index имеется?

Лучший ответ:
403 — доступ запрещен.
Может у пользователя, под которым работает nginx нет прав на чтение /home/anotheruser/repos/site.ru?

Худший ответ:
права имеются, 755 на все папки начиная с /home/anotheruser и заканчивая /home/anotheruser/repos/site.ru
Вопрос: Где можно купить модели средневековых домов?

Лучший ответ:
Например, здесь или здесь.

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

Лучший ответ:
Поставьте винду

Худший ответ:
Выбросьте Unity на помойку. Единственный рабочий DE — KDE (если не считать падения плазмоидов).
Вопрос: Как гайд по написанию веб-приложений на Java лучший для вас?

Лучший ответ:
yeoman.io в generators ищем: "Java"
вот первый например:
jhipster.github.io
- Что это?
- Это утилита, которая генерирует профессиональный проект, с подключенными библиотеками и всякими вкусняхами. Для новичка - клад.

Худший ответ:
Как вариант, можете посмотреть "Онлайн библиотека на Java/Spring" от Батыршинова Тимура. Но он совсем для тех, кто не знает что за чем должно идти в разработке веб приложения. Да там много вещей, которые моя но было бы улучшить, но для первого раза можно посмотреть.
Так же можете посмотреть канал Петра Арсеньева там он разрабатывает легкое веб приложение с нуля и до Spring/.....
Если есть возможность вложить деньги в свое обучение посоветовал бы пройти курс TopJava (github rero) . Там вы напишите такое приложение
Вопрос: Как называется человек, который делает динамический дизайн?

Лучший ответ:
Юзабилист, UI/UX дизайнер.

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

Лучший ответ:
isMobile = {
	        Android: function() {
	            return navigator.userAgent.match(/Android/i);
	        },
	        BlackBerry: function() {
	            return navigator.userAgent.match(/BlackBerry/i);
	        },
	        iOS: function() {
	            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
	        },
	        Opera: function() {
	            return navigator.userAgent.match(/Opera Mini/i);
	        },
	        Windows: function() {
	            return navigator.userAgent.match(/IEMobile/i);
	        },
	        any: function() {
	            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
	        }
	    };

    if(isMobile.any()){
// Тут то, что должно работать на мобильных устройствах
    }
Еще есть https://github.com/matthewhudson/device.js?

Худший ответ:
WordPress из коробки имеет функцию wp_is_mobileif( wp_is_mobile() ) {
	echo 'бла бла бла' // бла бла бла  будет видно только на мобильных девайсах
}
Вопрос: Оптимизация подключения скриптов/css в Wordpress?

Лучший ответ:
Не лучше ли помержить все JS в один файл, и, соответственно, все CSS тоже в один? Тут больше шансов потерять на времени посылки HTTP-запроса, чем на большом трафике. К тому же, JS и CSS отлично gzip'уется.

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

Лучший ответ:
Нужно учесть Google Карты.

Худший ответ:
API у Яндекс карт довольно обширное, функциональное и эластичное (если можно так выразиться).
А вот с фильтрами вам придется помучаться, если опыта в JavaScript нет.
Вопрос: Modx Revo 2.4.2. Как вставить значение любого ТВ в сниппет?

Лучший ответ:
За это я и ненавижу модх. Не знаю, может быть существует какой-то нормальный способ. Я выкручивался так:
Наделал дополнительных полей
Создал специальный шаблон сделал эти поля доступными для него
Создал ресурс с использованием этого шаблона
Набил себе татуху с идентификатором этого ресурса чтобы не забыть
Сделал специальный сниппет
И там где надо навызывал с указанием нужного тв
Это жуть, но больше мне ничего в голову не пришло

Худший ответ:
Есть такой сниппет - fastField, там TV вызываются таким образом:[[#10.tv.image]]
где:  10 - id нужного ресурса.
Т.е. выводите сниппет в сниппете, должно сработать.
Вопрос: Как уменьшить размер GIT ?

Лучший ответ:
Да, можно уменьшить размер репозитория. 
Например удалив тяжелые бинарники.
Почитайте про git filter-branch
Подчистить историю это - git rebase

Худший ответ:
С помощью git rebase сливаем коммиты.
Ну и git-archive никто не отменял
Вопрос: Есть ли инструменты для визуального построения массива, объекта с большой вложенностью?

Лучший ответ:
Даже не могу подумать зачем это нужно

Худший ответ:
так пользуйся той ссылкой а потом json_encode ?
Вопрос: Изучил JavaScript, что дальше?

Лучший ответ:
Побольше практиковаться, с опытом придет))

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

Лучший ответ:
Не знаете какая у шрифта лицензия — идите на сайт его автора, гарантированно найдете правильный ответ. Создатели шрифта чаще указаны в самом названии (PT — ParaType, PF —Parachute, ALS — ArtLebedevStudio и т.п.), в общем, Гугл всегда подскажет ;)
Также можно зайти на myfonts.com, практически все коммерческие (реже бесплатные) шрифты там представлены. Указана цена — значит лицензия платная, но иногда шрифт может иметь скидку вплоть до 100%.
100% бесплатные лицензии имеют все шрифты отсюда: www.fontsquirrel.com Но надо смотреть позволяется ли коммерческое использование.
Но лучший способ это все же прочитать на сайте автора конкретной гарнитуры. Если в официальной продаже нет, то гарантированно верная информация о лицензии только у создателя.

Худший ответ:
Берите шрифты только с google font
https://github.com/google/fonts
Вопрос: Практика программирования на PHP

Лучший ответ:
Если можешь сделать сортировку масива «пузырьком», то переходи дальше. Если нет — то разберись в простейшей работе с массивами и таки сделай эту сортировку.

Сделай простой сайт (не статический, а с базой данных).
И усложняй, приделывая:
 — админку для добавления, удаления и редактирования страниц (практика основных простых запросов к БД)
 — сделай регистрацию и авторизацию на своем сайте (практика работы с $_POST и $_GET, сессии, cookies)
 — сделай чтобы страницы могли быть вложенны друг в друга и чтобы можно было в админке изменять у страницы родителя. На сайте выводи дерево страницы. (познаешь основы «деревьев», рекурсию)
 — сделай форму для закачки файла (практика прастейшей работы с файлами)
 — сделай чтобы закачивалась картинка и масштабировалась (практика работы c библиотекой GD для работы с изображениями). Можно капчу попробовать сделать кстати.

Потом прочитай, что такое MVC и можешь все переделать под этот шаблон проектирования.

Худший ответ:
Сайт себе напишите :) Потом разместите там портфолио, контакты. 
В принципе и не особо сложно и полезно :)
Вопрос: Как сделать, чтобы код выполнился после завершения setInterval?

Лучший ответ:
$.get() - это асинхронный запрос, это значит что выполнение функции someFunc завершится раньше чем выполнится этот участок кода:function (res) {
    _this.output = res;
}
И в вашем случае функция someFunction будет всегда возвращать undefined
Можно сделать так:function someFunc () {
    return $.get('/path', data);
}

someFunc().then(function(res){
    тут обработка полученного результата
});
И почитайте тут

Худший ответ:
api.jquery.com/jquery.ajax
Читайте про параметр async
Вопрос: Алгоритм генерации перестановок с сохранением порядка элементов в группах

Лучший ответ:
Если я правильно вас понял — можно использовать генератор всех перестановок с повторениями на следующем множестве:
Количество элементов = количеству тестируемых записей (3 в примере у вас)
Количество повторений каждого элемента = 3 (добавить, изменить, удалить).
И потом просто для каждого повторения элемента (их три) слева направо проставить «создать» «изменить» «удалить».

Но тут есть проблема — вы не можете протестировать цепочки «создать» «удалить» — для этого надо генерировать еще кучу возможных перестановок.

А вообще, во первых — вы так тестируете только корректное поведение, не проверяя что будет при ошибочных вызовах.
Второе — ИМХО (исходя из представленной информации) у вас подход не совсем верен, надо разбить код на модули и протестировать все только с одним элементом, и написать тесты на то, что при наличии нескольких элементов не происходит накладок (т.е. работа с ними ведется независимо).

Худший ответ:
А для тестирования «создать»/«удалить» нужно добавить случайное число с вероятностью 1/2, в зависимости от значения которого либо использовать «set» либо выбрасывать второе из вхождений вообще.