pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как организовать wifi с разными частотами, в частном доме?

Лучший ответ: первый роутер (принимающий интернет), имеет частоту только 2,4 ГГц, а второй роутер уже на частоты 2,4 и 5 ГГц?Пофиг.
Роутер это устройство которое маршрутизирует трафик, к WiFI отношения вообще не имеет.
В данном случае у вас роутер и точка доступа WiFi в одном корпусе.
Сначала ставится роутер, потом хоть тысячу точек доступа вешайте, а роутеров вам больше не нужно.

Худший ответ: Берите двухдиапазонные роутеры, а дальше разруливайте их настройками. Никаких проблем не будет.
В нормальных роутерах диапазоны независимы друг от друга, можно им даже разные сетки присвоить. А можно одну и разруливать куда подключаться на уровне устройства (не все правда так умеют).
Вопрос: Валидация на сервере каждого поля формы с использованием Vue. Оптимальное решение?

Лучший ответ: Подумайте в сторону универсального компонента для инпута.
Что-то такое:<template>

    <input type="text"
      :placeholder="placeholder"
      :value="value"
      @input="onchange">
    <app-transition type="toggleDown">
      <div>{{ notify }}</div>
    </app-transition>
</template>

<script>
  export default {
    name: 'app-input',
    props: ['type', 'value', 'placeholder'],
    computed: {
      notify() {
        let text = 'Поле может содержать только ';
        return ( this.type === 'tel' &&  text + 'цифры' )
            || ( this.type === 'page' && text + 'латинские буквы, цифры (не менее 6 символов)' )
            || ( this.type === 'name' && text + 'русские и латинские буквы, цифры (не менее 3 символов)' )
      },
      validation(value) {
        return {
          tel: (/^[0-9]+$/).test(this.value) || !this.value.length,
          page: (/^[a-z0-9]+$/i).test(this.value) && this.value.length > 5,
          name: (/^[a-zа-яA-ZА-Я0-9 ]+$/i).test(this.value) && this.value.length > 3
        }
      }
    },
    methods: {
      onchange(e) {
        if ( this.validation[this.type] ) {
          this.$emit('input', e.target.value);
        }
      }
    }
  }
</script>

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

Лучший ответ: Это не переменные, это объекты. 
Можно только скопировать целиком свойства в новый объект. let oldObj = {
  a: 1,
  b: 2
}
let newObj = Object.asign({}, oldObj);

Худший ответ: Это не переменные, это объекты. 
Можно только скопировать целиком свойства в новый объект. let oldObj = {
  a: 1,
  b: 2
}
let newObj = Object.asign({}, oldObj);
Вопрос: Хватит ли для комфортной работы в фотошопе графического ядра процессора или нужна отдельная видеокарта?

Лучший ответ: Действительно ли для комфортной работы в фотошопе и других программах для разработки дизайна хватит графического ядра процессора?Да. Фотошоп умеет использовать видеокарту, и в некоторых случаях она способна увеличить скорость выполнения операций в разы. Однако работает это далеко не на всех операциях, поэтому повышение быстродействия от видеокарты будет 1-2% обычно. 
Вот если вы занимаетесь пакетной обработкой часто - накладываете фильтры на сотни изображений - тогда она может оказаться очень полезной.Есть ли ещё важные моменты, которые нужно учесть при сборке под мои задачи? Вроде следую советам о которых пишут везде: побольше ssd, озу, i5/i7. Может что-то ещё?Ну в принципе правильно. Памяти желательно побольше, можно взять еще один SSD, но это тоже будет увеличивать скорость работы не на много, поэтому такие вещи лучше смотреть и докупать в процессе эксплуатации. Не стесняйтесь во время работы запускать монитор ресурсов.

Худший ответ: Возьмите карту обязательно и обязательно GTX GeForce от nVidia. 
Сейчас все граф. программы (включая фотошоп) - работают с CUDA, так что отказываться от производительности - абсолютно не стоит.
Asus STRIX по-мощнее берите и всё.
Вопрос: Как указываются/рассчитываются зарплаты на StackOverflow, и HH-биржах?

Лучший ответ: обычно указываются "грязные" (без учета налогов) суммы, потому что во многих странах нет фиксированной налоговой ставки.

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

Лучший ответ: нужна широкополосная антенна
Нужна узко диапазонная антенна на частоту LTE, ну можно и 2band но характеристики уже ниже - из-за компромисов.какая антенна нужна
Направленнаяполучится ли усилить
получиться и что как вообще
Покупаем антенну, подключаем к модему, поворачиваем ориентируясь на максимальный сигнал, тестируем.
А какая именно антенна, это уже сами выбирайте - по своим финансам и допустимым габаритам.
Радиосвязь это штука такая не предсказуемая что тыкать в антенны и говорить "бери эту, всё взлетит", просто глупо.

Худший ответ: На сколько понимаю - нужна широкополосная антеннаНаоборот.
Для начала надо оценить где расположены ближайшие к вам базовые станции это можно посмотреть на карте, есть приложения для смартфонов.
Так же нужно узнать какие из них поддерживают 3g или 4g - ибо это есть не на каждой БС.
Ну и определившись с направлением можно прикинуть куда ставить антенну.
Антенна должна быть хорошей, под нужную частоту, ее необходимо точно навести на БС. Кабельная сборка от модема до антенны должна быть как можно меньше. В идеале не более 10см.
Вопрос: Где найти подработку системному администратору?

Лучший ответ: Учите 1С, если заработать хотите. По частным вызовам, Авито почти бесполезна. Больше эффект от объявлений на подъезде. При том, чем крупней город, чем меньше будет жить ваше объвление.

Худший ответ: В школу устройся на пол ставки) системным администратором
Вопрос: Динамичное изменение изображения при наведении на ссылку?

Лучший ответ: <div class="owl-item">
   <img crs="thumb/1.img"  />
   <p>Продукт 1<p/>
   <a href="#">Хочу такую</a>
</div>$(function(){
    $(document).on('hover', '.owl-item', function(){
        $('#_blank').attr('src', $(this).find('img').attr('src'));
    });
});

Худший ответ: $(".owl-item").hover(function(){
    img_src = $(this).data('image');
    url_to_img = "/img/";
    img_src = url_to_img + img_src;
    $('_blank').attr('src',img_src);
});
Может кому пригодиться, реализовал через data-* атрибут, вроде неплохо получилось, реакция очень быстрая, работоспособная
Вопрос: Как присвоить значение массиву (с++ )?

Лучший ответ: Вы присваиваете значение массива указателю на массив. Это то же самое, что и int* p = 42;.
Компилятору нужна область памяти, где массив собственно будет храниться. То есть, как минимум, должно быть tAbcs Abc;Насколько я знаю, в C++ можно только инициализировать массивы таким образом, но не копировать/присваивать. Если хотите, чтобы присваивание работало так, как у вас, используйте std::array.

Худший ответ: про размерность я знаю, это пример для описания моей проблеммы
я знаю как это сделать в pascal-е, но нужно тоже написать в с++, для Arduino.
type
   tabc=array[1..2, 1..2] of byte;
   tabcs=array[1..3,1..3] of tabc;
var abcs:^tabcs;
как это реализовать в с++, и присвоить значения этому массиву?
Вопрос: Что значит верстка в одни экран или в два экрана?

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

Худший ответ: Обычны в заказах по лендингах такое пишут, имеют виду видимую область экрана ... например 1360x768px ... один слайд полноэкранный
Вопрос: Проверка документа с эцп?

Лучший ответ: 1. Смотрим кто выдал ЭЦП.
2. Смотрим - а доверяем ли мы этому выдавшему.

Худший ответ: В списке упомянутом @laxikodeje дополню:
п.3 - если доверяем, проверяем валидность подписи.
примечание к п.2 - в РФ есть список Центров Сертификации, которым все (надо полагать - подданные, но в общем - все) должны доверять. Кроме того центры сертификации могут доверять другим центрам сертификации, так что всё как у девочек в ВК "всё сложно".
Вопрос: Чем раньше пользовались разработчики до появления свойства min-width?

Лучший ответ: Зависит от ситуации. Не зазорно использовать JS для стайлинга отдельных частей в каком-нибудь IE6, что я в свое время и делал - иначе было просто нереализуемо. А в целом, табличная верстка - это топ, почти тот же флексбокс, только не семантический и не адаптивный. Для минимальной ширины можно взять 2 элемента, внутреннему (распорке в 1px) задать определенную ширину, а под ним - контент.

Худший ответ: совсем давно пользовались распорками в ячейках таблиц из однопиксельных прозрачных гифов.  страшно подумать сколько файлов spacer.gif до сих пор лежит в интернете.
во времена ie6, когда мы уже заморачивались на семантику и стеснялись верстать таблицами, применяли ещё метод эмуляции min-width широкими бордерами по бокам враппера и компенсирующим их отрицательным маржином внутреннего дива.
Вопрос: Достаточно ли VPN в связке с Tor, чтобы зайти в Google аккаунт и мой ноутбук не мог быть отслежен?

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

Худший ответ: Я когда то пробовал, через tor/i2p у вас не получится полноценно работать с сервисами google, как минимум вы не сможете зарегистрироваться. А в случаях когда получится - вы замучаетесь отгадывать капчу.
Сформулируйте задачу, от кого вы хотите быть анонимным.
Вопрос: Можно ли заменить сессионные переменные localStorage?

Лучший ответ: Можно.
А как же авторизация всякая и так далее?

Худший ответ: Смотря для чего раньше использовались сессии и куки.
Если это уже ни на что не влияет - то можно.
Вопрос: Низкая скорость записи SSD на OS X ElCapitan, как исправить?

Лучший ответ: Вчера купил новый спорткар от мерседесса, выехал в город.
Замерил скорость от дома до работы - в среднем 20-50км/ч по пробкам в центре.
Но ведь мерседесс по заявлению производителя может ехать со скоростью 250км/ч.
Почему он у меня в центре города не может разогнаться до 250км/ч?

Худший ответ: Сейчас чтение 480, запись 400 спустя пару дней мерял снова.
Не уверен но подозреваю что после востановления из бэкапа - система шифровала данные и контролер ссд был занят делом. Хотя активности по чтению и записи мониторинч не показывал. Так что вполне заводские скоростя.
Вопрос: Массивы char в c++?

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

Худший ответ: 1. sizeof возвращает размер объекта, которым в данном случае является указатель, и у вас случайно совпало с длиной строки.
2. массив таким образом в C++ создавать нельзя. Как уже написали выше. 
PS: можно конечно поизвращаться и написать константное вычисление строки на этапе компиляции.
Например наподобииtemplate <int L>
constexpr size_t cstrlen(const char (&s)[L])
{
	return L ? L - 1 : 0;
}
Или:constexpr size_t cstrlen(const char* s)
{
	return *s ? 1 + cstrlen(s + 1) : 0;
}
Но в каких компиляторах такое может как-то не так выстрелить никто не скажет
Вопрос: Встречали ли вы такую сетку/расположение блоков?

Лучший ответ: flexbox с двумя колонками. У широких новостей flex-grow:1, у мелких - 0
И начинаешь заполнять
.grow1
.grow0
.grow0
.grow1
.grow0
.grow0
Будет большая, две маленьких, большая и снова две маленьких
А вот и пример :)
codepen.io/DTX/full/qNOdRx
(сверху слева кнопка - Add News)

Худший ответ: Это разметка, в которой блоки стоят один за другим и обладают стилем:ul li {
...
    display: inline-block;
...}
Вопрос: Взаимодействие нескольких python скриптов?

Лучший ответ: Опрашивать файл не надо, достаточно использовать inotify от самой ОС.
Под Python есть кросс-платформенные реализации отслеживания изменения файлов через inotify-like подсистемы. Отслеживающие скрипты будут ловить событие по итогам записи и закрытия файла, даже без коммуникации с основным процессом.
А так, скрипты могут взаимодействовать друг с другом как по HTTP (публикуя от себя маленький веб-сервер), так и по любому самописному RPC-протоколу поверх TCP или unix socket'ов.

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

Лучший ответ: Используйте паттерн visually-hidden:.visually-hidden {
  /* Удаляем элемент из потока документа */
  position: absolute;
  /* Временное решение для неверно произносимого, размазанного текста */
  white-space: nowrap;
  /* Устанавливаем минимально возможный размер (некоторые скринридеры игнорируют элементы с нулевой высотой и шириной) */
  width: 1px;
  height: 1px;
  /* Скрываем вылезающий за границы контент */
  overflow: hidden;
  /* Сбрасываем любые свойства, которые могут повлиять на размер элемента */
  border: 0;
  padding: 0;
  /* Вырезаем ту часть контента, которая должна отображаться. */
  /* Устаревшее свойство clip для старых браузеров */
  clip: rect(0 0 0 0);
  /* clip-path для новых браузеров. inset(50%) определяет область вставки, которая позволит контенту исчезнуть.  */
  clip-path: inset(50%); 
    /* Похоже, никто до конца не понимает, почему тут margin: -1px. Кроме того, это приводит к проблемам (читай: https://github.com/h5bp/html5-boilerplate/issues/1985). */
  margin: -1px;
}

Худший ответ: Будет в индексе.
Генерируй, показывай и скрывай через JS
Вопрос: Виртуальная и реальная реальность как называется это в одно?

Лучший ответ: Дополненная реальность?

Худший ответ: Дополненная реальность?
Вопрос: Нормальный пакетный менеджер для арча?

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

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

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

Худший ответ: Вангую, или схлопывание, или медиазапросы.
Вопрос: Перейдет ли поисковой бот по select->option?

Лучший ответ: Замени на CSS меню, онлайн конструкторов для них вагон.

Худший ответ: Замени на CSS меню, онлайн конструкторов для них вагон.
Вопрос: Как узнать номинал раздавленной отверткой smd детальки?

Лучший ответ: похоже конденсатор снаббера (RC цепочка между S и D), смотри в другом плече должен такой-же стоять.
можно фото платы чуть дальше, чтобы было видно побольше.

Худший ответ: Найди схему модуля и там смотри.
Вопрос: Exiting PXE ROM?

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

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

Лучший ответ: Вместо вот этого var src = ($('.clientAvatar').attr("src") === "<?php bloginfo('template_url') ?>/img/client.png")?"<?php bloginfo('template_url') ?>/img/teamMemberTwo.png":"<?php bloginfo('template_url') ?>/img/teamMemberOne.png" ;
вам надо$.ajax({
  url: ' /*адрес страницы или скрипта,
 откуда вы хотите получить url-новой картинки*/ ',
  success: function(data){
   var src=$(data).find( /*чего вам надо найти*/ ).text();
  }
});
Вот, почитайте: Ссылка на http://jquery.page2page.ru/index.php5/Aj...

Худший ответ:  обрабатывается на сервере, а в теге img уже будет путь.
Можно брать атрибут src, обрезать имя файла (в гугл:) и добавить новое.
Вопрос: Как перенести ДНС зоны с одного сервера Bind на другой?

Лучший ответ: 1. Установить bind на новый сервер.
2. Синхронизировать конфиги и файлы зон rsync -om.
3. Проверить работу нового bind-a
4. Поменять на новом dns сервере ip ns сервера на новый.
5. Поменять на старом dns сервере ip ns сервера на новый.
6. Проверить, через сайт https://www.whatsmydns.net/ отдается ли новый верный ip для ns сервера, если да, то можно гасить старый bind.

Худший ответ: Думаю можно скопировать содержимое /etc/bind/
Вопрос: Доработать скрипт открытия двух блоков?

Лучший ответ: Так?
https://jsfiddle.net/z8ngx9cy/

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

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

Худший ответ: Сначала надо понять, реализуема ли идея технически, какие будут подводные камни, нужен  этот стартап миру? (Очередной электроёршик, к примеру, не нужен). После чего вы открываете ООО "Интернет Стартап Технолоджи Инкорпорейтед", нанимаете технического директора, который и будет этим всем руководить. Для мотивации предлагаете этому человеку долю в проекте. Далее вы занимаетесь своими вопросами, он - своими. Понимание вами всех нюансов не обязательно, но желательно.
Вопрос: Фильтрация в WordPress без указания параметров в ссылке?

Лучший ответ: Если objects - это постоянная страница, то все get параметры можно сделать в виде ЧПУ. Об этом подробно расписано тут с примерами.
А вот код, который решает Вашу проблему:add_action('init', 'rewrite_rule_my');
function rewrite_rule_my(){
	add_rewrite_tag('%metro%', '([^&]+)');
	add_rewrite_rule('^(objects)/([^/]*)/?', 'index.php?pagename=$matches[1]&metro=$matches[2]', 'top');
}
Вставляется в functions.php. После вставки обязательно идём в админку -> Настройки ЧПУ и просто жмём "Сохранить", чтобы новые правила вступили в силу. В шаблоне страницы objects получаем значение так (3 способа):get_query_var('metro') // рекомендуемый
$wp_query->query_vars['metro']
$wp_query->query['metro']
а там уже используете его по назначению.

Худший ответ: Можно. Добавьте произвольное rewrite_rule которое будет транслироваться в нужные переменные:/**
 * Custom rewrite rules for filters:
 * /objects/%metro%/
 */
function custom_rewrite_rules() {

	add_rewrite_rule(
		'objects/([^/]+)/?$',
		'index.php?pagename=objects&page=&metro=$matches[1]',
		'top'
	);

}
add_action( 'init', 'custom_rewrite_rules' );
В строчке где идет index.php? в примере подставлено правило на базе страницы (pagename=objects). Если у вас там custom post type - модифицируйте URL соответственно.
Что касается роботов - если на эти виртуальные страницы фильтров есть ссылки, то роботы их проиндексируют. Еще можно добавить / убедиться что они есть в sitemap.xml. Если наоборот, не нужно чтобы они индексировались - применяйте стандартные приемы - nofollow, noindex, исключайте из карты сайта.
Вопрос: Как успокоить атакующую армию ботов, кликающую на рекламу на моем сайте?

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

Худший ответ: Проще найти иголку в стоге сена, чем достучаться до тех поддержки гугла. И как бы меня эта атака не напрягает. Пока что времени на все это нет. Планирую заняться уже этим со следующего месяца.
А будет ли проще достучаться после того, как Вы получите бан? Думаю в Google есть защита от подобных мероприятий, например, Яндекс имеет такую защиту и не учитывает подозрительные клики, но если Google решит, что Вы делаете это намеренно?
Думаю Вам нужно сообщить Google о том, что имеется подобная проблема.
UPD:
https://support.google.com/adsense/answer/2581949?hl=ru
https://support.google.com/adsense/troubleshooter/...
https://support.google.com/adsense/answer/57153
Так же можно попробовать написать сюда: adsense-support@google.com
Подскажите, как можно связаться с поддержкой AdSense
Вопрос: Откуда такой запрос?

Лучший ответ: Да просто бот манит все стандартные пути конкретно этот ищет старые пхпмайадмин с уязвимостями

Худший ответ: Где то ты собирешь эту строку и 1 из параметров у тебя неопределен
Вопрос: Linq to DataTable как получить строку с минимальным значением в столбце?

Лучший ответ: Значения NULL уровня базы данных нужно проверять с DBNull.Value.
Если цены хранятся в виде строк, то следует учитывать, что в разных культурах может использоваться разный десятичный разделитель. Лучше хранить данные сразу в виде числе, чтобы не было проблем с преобразованием форматов, и код работал быстрее."Цена" в представленном коде является просто строкой, содержащей слово "Цена". Если это имя поля, то следует обращаться к нему через myRow.from myRow in dt.AsEnumerable()
where myRow["Цена"] != DBNull.Value
orderby double.Parse(myRow["Цена"])
select myRow;

Худший ответ: Вот так попробуй:IEnumerable<DataRow> results = from myRow in dv.Table.AsEnumerable()
                                           orderby double.Parse(myRow["Цена"].ToString())
                                           where myRow["Цена"]!=null && myRow["Цена"]!=""
                                           select myRow;
Вопрос: Как объединить все маленькие локальные сети в одну большую, и зажить счастливо?

Лучший ответ: VPN объеденяет несколько локальных сетей и (или) устройств поверх глобальной сети.
Подсети должны иметь разные IP адреса, чтобы хосты могли отличать ip-адреса локальной сети, от ip адресов удаленных сетей.
Допустим, к R2 подлючен комп с адресом 192.168.1.5, и хочет отправить пакет на хост, который находится в сети R1, и имеет адрес 192.168.1.10. Комп сравнивает ip адресата со своим, видит, что первые 3 октета совпадают, думает, что целевой хост находится в локальной сети, и отправляет пакет на роутер вместо VPN.
Почитайте про маску сети в интернете, зачем она нужна, и как она работает

Худший ответ: Выдавай подключившимся не 10.8.0.0, а 192.168.2.2-192.168.2.254 - что-нибудь из этого диапазона и с такой маской 255.255.255.255
Вот тут есть интересный пример.
https://help.keenetic.net/hc/ru/articles/213967789...
Вопрос: Как реализовать схему зала с возможностью бронирования места?

Лучший ответ: без svg
Без SVG - дивами.1 место - 1 див;Каждому диву уникальный ид;Каждому ид - соответствие места;Собственно все.

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

Лучший ответ: Ответ прост - невыгодно. Легче пилить говномобилки и иметь прибыль, чем пыхтеть над проектами уровня ААА, которые еще неизвестно выстрелят ли. + на ПК-гейминге никто не любит донатить, в отличие от мобильных дрочилен.

Худший ответ: Вы видимо не следите последние 3-4 года за данным рынком
Вся игровая индустрия сейчас ориентирована на мобайл