Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как передавать данные из игры/в игру на микроконтроллер?

Лучший ответ:
Использовать MK c подключением по usb и com портом. Подключаем плату, получаем com порт в системе. Далее, самое простое - чтобы MK сам сыпал в com порт раз в 10 мс, или так быстро, как он может, состояния датчиков (все равно это будет считывание данных с АЦП). А программа на компе уже сама будет парсить данные, сглаживать значения и вносить изменения в работу игры на компе.
При использовании Arduino, например, нужно понимать что у него АЦП 10 бит и все возможные значения могут быть от 0 до 1023. Также, нужно учитывать что бывает много помех и всегда нужно фильтровать данные с АЦП хотя-бы скользящей средней или более продвинутыми фильтрами (т.к. фильтры будут срезать "мельтешения", у которых частота выше нежели у полезного сигнала). А фильтрация - это задержка. А для ввода, задержка больше 100мс - уже фатальна.
Также, отдельная задача - как грамотно подключить к АЦП руль, например (это делается просто при помощи переменного резистора высокого качества) или кнопки (при помощи концевых выключателей или пьезовыключателей). Просто подключить - легко, а вот как сделать так, чтобы наводки не влияли, а также чтобы со временем не сбивались показания - это большая наука.

Худший ответ:
Есть два варианта
1. Использовать API игры, если есть
2. Ковырять память игры, писать драйвер с прямым доступом к необходимой памяти. Задача не тривиальная, можно попробовать использовать ArtMoney для поиска нужных параметров, но не факт,  но не факт что получится
Вопрос: Как сравнить строки в c#, чтобы получить результат сравнения в процентах?

Лучший ответ:
Так данная строка будет описанием или нет? Считаем, что будет.
1. Бьём строки на слова.
2. Возможно, выкинуть незначащие слова и преобразовать все в базовую форму. Надо признаться, тяжёлое дело: если нет словаря, то «дочь генерала» — это сущ+глагол или сущ+сущ? А со словарём: «уж» — это частица или существительное? В общем, лучше выдавать все возможные основания, и у нас получается нетранзитивное «=» — OK, если совпадает хотя бы одна форма. Возможно, проводим ёфикацию или деёфикацию: первое сложнее, второе чревато ложными срабатываниями.
3. Вычисляем расстояние Левенштейна между этими массивами, считая неделимыми сущностями не буквы, а слова.
4. Преобразуем его в наш процент — например, % = d / max{|s1|, |s2|}.
Можно продолжать: если совпадение не только по основанию, но и по форме — дополнительные очки. Работать с синонимами, как из словаря, так и ручными, например, небезызвестный Milfgard придумал игру «Шакал», и вручную, по результатам исследования логов, вписал синоним «Койот». А нужно ли работать с орфоошибками? В том числе с неправильным написанием слова наподобие «джин/джинн»? И тот, и другой встречается в бутылке, но первый пьют, второй исполняет желания. :)
В общем, задача исследовательская, и важная её часть — понять, где остановиться и чего хватит, чтобы решить задачу более высокого уровня.

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

Лучший ответ:
Как вариант:$('.submenu:last').addClass('active');

Худший ответ:
$('ul.submenu:not(:has(ul.submenu))')
Но быстродействие будет хреновое.
Вопрос: Как правильно начать вести блог?

Лучший ответ:
Лучше добавлять по несколько с определенным интервалом, тогда поисковые боты "научатся" заходить на твой сайт согласно этому интервалу.
Короче лучше по чуть-чуть, но регулярно, чем раз в год по 200 статей.
Если статьи сео оптимизированные, т.е разбиты на ключевики, для каждой есть СЯ, то начинай с низкочастотных, поэтапно повышая.

Худший ответ:
никак не отреагируют 
150 статей просто ни о чем для любого поисковика если оне не копипаста
Вопрос: В какой таблице лучше ставить внешний ключ при связи 1 к 1?

Лучший ответ:
Вам нужно определить, какая сущность главная, а какая второстепенная для вашей программы. Как это будет выглядеть? Сначала заводится список тренеров а потом к ним крепятся команды? Или, наоборот, есть список команд и нужно создать им тренера? А может, это равнозначные сущности, и вы хотите иметь возможность завести список команд и список тренеров независимо друг от друга, а уже потом проставить связи? 
Ставьте внешний ключ той сущности, которая не будет иметь множественной связи с большей вероятностью. 
К примеру, если это соц сеть для тренеров, то вероятнее всего, тренер сможет добавлять список команд которых он тренировал. И тогда trainer_id пригодится в teams.
Но если ваша соцсеть вырастет и там будет база команд, которые тренер сможет выбрать из выпадающего списка (т.е. у команд тоже может быть много тренеров), то придется делать M:N. Ваш случай связи 1:1 возник только потому что ваше приложение еще недостаточно развилось. 
Также не забудьте что 1 к 1 реализуется назначением UNIQ ограничения на внешний ключ. Иначе это 1 ко многим.

Худший ответ:
Речь не об одном внешнем ключе, это два РАЗНЫХ внешних ключа, и Вам необходимо создавать оба.
P.S. это при условии, что у вас обязательно должен быть тренер привязан к команде, а команда к тренеру
Вопрос: Каким инструментом выявить горизонтальную прокрутку?

Лучший ответ:
Обычно делаю так, открываю стили и вписываю* {
    outline: solid 1px red !important;
}

Худший ответ:
$('*').each(function(){
    if($(this).width() > 1903){
        $(this).css('border', '1px solid red')
    }
});
вместо 1903 указать ширину во время проверки, минус скролл вертикальный 17px в хроме
если блок сдвинут margin и этим создает прокрутку, тогда скрипт не поможет
Вопрос: Как правильно сформировать структуру БД?

Лучший ответ:
Самый простой вариант - завести новое поле в постах, например "user_id", хранящее уникальный _id пользователя, создавшего этот пост, и например агрегацией вытаскивать данные пользователя, дополнительно поработав фильтром:db.posts.aggregate([
   {
      $lookup: {
          from: 'user',
          localField: 'user_id',
          foreignField: '_id',
          as: '_user'
       }
   }
]);
Либо в коллекции пользователя завести поле 'posts', которое являлось бы массивом, и хранило _id постов. Однако в таком случае стоит помнить о лимите на размер коллекции.

Худший ответ:
Либо SQL+Join, либо NoSQL с эмуляцией join или дублированием и синхронизацией данных.  В целом в Mongo есть https://docs.mongodb.com/manual/reference/operator...
Вопрос: Как отменить все изменения(в том числе восстановить удаленные записи) из БД MySQL — Delphi 7?

Лучший ответ:
Возможно вам помогут транзакции?
https://dev.mysql.com/doc/refman/5.7/en/commit.html

Худший ответ:
Разобрался..
Компонент ZQuery может сам кешировать изменения, в том числе удаление информации.
Помогла данная инструкция:
www.delphiplus.org/sql-v-delphi5/sql-v-delphi5_43.html
Но как работать с MySQL через UpdateSQL непонятно, точнее у меня компонент не работает.
Вопрос: Как обновить корзину без перезагрузки?Woocomerce + Wordpress?

Лучший ответ:
add_action( 'wp_footer', 'cart_refresh_update_qty', 100 );

function cart_refresh_update_qty() {
    if ( is_cart() ) {
        ?>
        <script type="text/javascript">
            jQuery('div.woocommerce').on('change', 'input.qty', function(){
                setTimeout(function() {
                    jQuery('[name="update_cart"]').trigger('click');
                }, 100 );
            });
        </script>
        <?php
    }
}
При изменении значения количества имитируется нажатие на кнопку

Худший ответ:
// Ajax обновление корзины
    const ajaxUpdateCartContainer = document.querySelector('div.woocommerce');
    if (ajaxUpdateCartContainer){
        ajaxUpdateCartContainer.addEventListener('change', ({ target }) => {
            target.closest('input.qty');
            document.querySelector('[name="update_cart"]').click();
        });
    }
Вопрос: В консоли высвечивается неясный шрифт вместо нужного,как изменить?

Лучший ответ:
Надо выставить:
1. Console.OutputEncoding = Encoding.UTF8;
2. Используемый шрифт в "Lucida Console". В ручную в консольном окне или программно, через API функцию SetCurrentConsoleFontEx

Худший ответ:
Проблема в кодировке. Самый простой вариант - не использовать русский.
Вопрос: Использовать var или объявлять тип явно?

Лучший ответ:
Без разницы. 
Локальная переменная с неявным типом имеет строгую типизацию, как если бы тип был задан явно, только тип определяет компилятор. 
https://msdn.microsoft.com/uk-ua/library/bb383973.aspx

Худший ответ:
На мой взгляд там, где тип известен  - все-таки явное указание типа будет лучше. 
Мой взгляд собственно вырос из эксплуатации как жестко типизированных языков так и совсем нетипизированных, где можно было написать где-нибудь в редкой ветке 
x="qqq"
а потом где-то забабахать цикл
for(x=0, x=x+1, x<10)
и в итоге в рантайме словить редкую ошибку -)
Вопрос: Как найти все страницы на сайте?

Лучший ответ:
Парсите все доступные ссылки с сайтаЗатем данные с robots.txt и sitemap.xml (если есть)А затем поисковую выдачу site:адрес_сайта. У яндекса для этого есть xml.yandex.ru
п.2,3 можно обнаружить разные страницы на которые не проставлены ссылки со страниц сайта.

Худший ответ:
1. docs.guzzlephp.org/en/latest
2. symfony.com/doc/current/components/dom_crawler.html
3. ИЛИ готовое решение https://github.com/spatie/crawler (они любят Laravel)
Если переход на страницу делается через JavaScript то единственный адекватный вариант на PHP - это парсить этот JS и добывать из него ссылку. Но проще забить на этои редкие ссылки на JS
Вопрос: Как закрывать временно доступ к БД?

Лучший ответ:
Нужно использовать транзакции

Худший ответ:
Блокировки в MySQL на Хабре. 
Если коротко:LOCK TABLES tiles, points WRITE;

-- тут конвертируем одно в другое

UNLOCK TABLES;
Вопрос: Зашел в тупик, в какое IT сообщество написать статью о карьере?

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

Худший ответ:
Вот поддерживаю Саботёра. Когда заходят в тупик, обычно спрашивают, консультируются итп. Но не пишут развернутые статьи как они зашли в тупик. 
 Вот потом, когда ты выйдешь из этого тупика, проделав впечатляющую работу. Тогда можешь с гордостью написать статью, о своем провальном пути и потом как ты из него выбирался.
 А так... Ну кому интересно читать как кто-то просто зашел в тупик? Каждый второй заходит в тупик ) Или заходил в тупик. В любом случае - это не законченая история, а как "введение".
Вопрос: Где создать sql сервер в интернете?

Лучший ответ:
VPS/VDS?
Можно было бы вообще копеечный shared-хостинг посоветовать, но не все хостеры позволяют прямые соединения с серверами БД извне.

Худший ответ:
Вообще - любой хостинг предоставляет sql базу.
P.S. Cloud - не так уж и дорого. Сколько вы предполагаете это должно стоить..?
Если хотите дешево - свой домашний комп, или где-то в углу собрать маленький бесшумный комп для подобных нужд и пусть крутится.
Вопрос: Полная копия моего аккаунта в Instagram — кто и зачем?

Лучший ответ:
Может готовятся для социнженерной атаки на вашего коллегу/друга, мол смотри вот мой аккаунт новый

Худший ответ:
в общем, три жалобы написал, на все стандартный ответ, под копирку:Hi,
Thanks for your report. It looks like you share the same name as the person you reported and it does not appear that they are otherwise impersonating you.
Thanks,
мои попытки что-то объяснить ,мол вот я, вот мой акаунт, вот моя рожа на фоточках ,вот мой документ ,усы-лапы-хвост, вот мои подписчики, живые, вот полные копии ихх комментов от продающих хрень аккаунтов... сперва получали снова и снова этот ответ ,потом письма стали уходить в никуда. 
в общем, стандартное для поддержки контор цукерберга скотство, разбавленное  полным нежеланием тамошнего контингента вникать в проблему.
как результат закрыл аккаунт.
спасибо всем ответившим, всем мира и добра.
Вопрос: Как автоматически добавлять ip в iptables?

Лучший ответ:
Вопрос шикарный. Ничего не понял.
Но попробую угадать что Вам нужно защитить сайт от перебора паролей к админке wordpress
fail2ban + плагин для вордпреса который пишет в лог "фейлы". Работает автоматически и надёжно.
"капча" - чистый плагин к вордпресу (их есть вагон и маленькая тележка)
.htaccess в wp-admin каталоге с возможностью доступа только с определённых ваших IP или даже добавить http auth.

Худший ответ:
Либо fail2ban как отметил younghacker. Fail2ban смотрит логи и выполняет указанное вами действие. Может добавлять в iptables в том числе.
Либо да, писать bash скрипт для добавления правил + его запуск по cron.
Вопрос: Как Laravel узнаёт имя таблицы MySQL?

Лучший ответ:
Метод getTable() должен вернуть имя таблицы, при этом идет обработка свойства table, можете или свойство задать либо сразу метод переназначить. По-умолчанию можно увидеть, что берет имя модели и обрабатывает через функции plural и snake

Худший ответ:
https://laravel.com/docs/5.3/eloquent#defining-models, раздел «Eloquent Model Conventions».
Читайте документацию, иначе так и будет тыкаться аки слепой кутёнок.
Вопрос: Как правильно посчитать количество элементов цикле foreach?

Лучший ответ:
А count вам не подходит?echo count($vs);

Худший ответ:
$key не всегда число. Лучше через отдельную переменную.
Вопрос: Как юзабильней расположить компоненты на экране?

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

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

Лучший ответ:
Ставишь Wine, под ним Рег Органайзер - профит.
зы А чем под виндой штатный апплет "программы и чтотатам" не угодил?

Худший ответ:
сообщите дополнительные сведения:
какая у вас ОС?
 для этого можно запустить в терминале командуuname -a
как установлена эта программа?
  - если она установлена средствами операционной системы, то средствами операционной системы и нужно её удалять. Это делается одной командой например,apt-get remove ТА_САМАЯ_ПРОГРАММА
 - если программа скопирована в папку на компьютере или собрана там, то следует удалить эту папку
 - если программа собрана в некоторой папке и установлена с помощью её же средств, то и удалить нужно с помощью тех же средств. Обычно устанавливается командойmake install
удаляетсяmake uninstall
то и другое с правами администратора.
если в последнем случае разработчики не предусмотрели средства удаления программы, то это отдельный вопрос и придётся повозиться побольше
Вопрос: Почему после нанесения более дорогой термопасты железо работает хуже?

Лучший ответ:
А вы физику учили в школе? Как вы себе представляете теплопроводность в десять раз больше ? 
Кпт достаточно для 99 процентов случаев, очевидно что вы просто криво нанесли пасту и где то есть не контакт или воздушное пятно.
Кпт делают не из опилок если что

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

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

Худший ответ:
Используйте шаблон вот пример
В html должен быть только этот шаблон<template id="tmpl-popup-student">
    <div class="popup" id="popup_student" aria-hidden="true" tabindex="-1">
        <button class="popup__close j-popup-close" aria-label="Закрыть"></button>

        {{#if title}}
        <header class="popup__header popup__header_simple">
            {{title}}
        </header>
        {{/if}}

        <div class="student">
            {{#if student.name}}
            <div class="student__name">
                {{student.name}}
            </div>
            {{/if}}

            {{#if student.rate}}
            <div class="student__rate">
                {{student.rate}}
            </div>
            {{/if}}
        </div>
    </div>
</template>
далее при клике на модалку делаете запрос на сервер получаете данные студента и показываете модалку с полученными данными
для шаблонов использую template7
моя функция рендера((d) => {
  window.template = (id, data, precompile) => {
    if (typeof precompile === 'undefined') {
      precompile = false;
    }

    if (d.getElementById(id) !== null) {
      const pattern = d.getElementById(id).innerHTML;

      if (precompile) {
        if (!window.precompiledT7) {
          window.precompiledT7 = Template7.compile(pattern);
        }

        return window.precompiledT7(data || {});
      }

      return Template7.compile(pattern)(data || {});
    }

    return '';
  };
})(document);
вызывается такvar data = {
  title: 'О студенте',
  student: {
    name: 'Иванов Иван',
    rate: '4.5'
  }
}

template('tmpl-popup-student', data)
Вопрос: Существует ли бесплатная или дешевая биллинговая панель?

Лучший ответ:
hopebilling.com/ru но лучше Billmanager

Худший ответ:
Знаю только Billmanager от ISPsystem.
Вопрос: На чем верстать сайты?

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

Худший ответ:
Veritas23, Со всей ответственностью заявляю — WordPress не медленный. Но в кривых руках и голый html будет работать через жопу. 
Если вы имели в виду именно верстку — HTML. Других вариантов тут нет.
Если вы имели в виду "создание сайта" — юзайте WP (если конечно с ним знакомы). Иначе — любой стек технологий. В вашем случае абсолютно не важно что вы выберете. Просто используйте что нравится.
Вопрос: R,w,x для файлов и папок?

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

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

Лучший ответ:
Добрый день. 
Я бы рекомендовал поставить https://searchbooster.io/ru/
Для подключения вам нужен XML фид, можно YML по стандарту Яндекс.Маркет.

Система индексирует все товары и дальше позволяет работать с:

синонимами
транслитом
корректирует опечатки
сохраняет поисковую историю
генерит поисковые подсказки и.д.


Худший ответ:
Компонент bitrix:search.title
p.s. Как сделать живой поиск Bitrix?
Вопрос: Как верстается и адаптируется такая таблица, и таблица ли это?

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

Худший ответ:
все давно придумано - гугл в руки и выбираешь себе подходящий вариант
trydevkit.com/blog-post/responsive-tables-best-pra...
Вопрос: Футер не отталкивается вниз при появлении объектов сверху него,?

Лучший ответ:
Привет. У тебя у футера задано абсолютное позиционирование, о каком сдвиге может идти речь?) Измени на relative.

Худший ответ:
Для того элемента что выше подвала дай паддинг-боттом равный высоте подвала
Вопрос: Как скрыть div на странице, если его value =?

Лучший ответ:
Это можно сделать на обычном CSS

Худший ответ:
Идеально присвоить ему id и сделать display: none по айдишнику
Вопрос: Используют ли React как шаблонизатор в Node?

Лучший ответ:
Вот прекрасный шаблонизатор на React для Express. 
Как плюс позволяет переиспользовать шаблоны на фронте. 
Это не для "изоморфных" решений, а именно шаблонизатор.

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

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

Худший ответ:
Тут один вариант - заниматься фрилансом после основной работы и на выходных) Но с вашими знаниями я бы переходил полностью во фриланс - это гораздо интересней и больше опыта вам принесет)
Вопрос: Паттерн MVP — в чём его суть?

Лучший ответ:
Cуть в том, что код в активити сложно тестируем. Кроме того, проблема разрастания активити, включение в него разного рода кода который работает с вьюхами, логикой, базой данных, сервисами и проч и проч.
Поэтому программистами искались выходы и находились. )
MVP был придуман задолго до андроида. Суть его (как и других аналогичных шаблонов) в разделении модели и ui. Особенность в том, что мы делаем полностью пассивную вьюху, логику вьюхи переносим в presenter. 
схематично это так: есть интерфейс view. активити реализует этот интерфейс. презентер знает об этом интерфейсе. 
Получается презентер не зависит напрямую от активити, только от некого интерфейса. Поэтому его сравнительно легко тестировать (подставляя свою заглушку view)
Так решается две основных проблемы:
- код стал более тестируемым
- код разделен на пассивную активити и ее логику в презентере.
По вопросам:
1. активити читает пароль и логи и передает их в презентер (вызывая соотвествующие методы презентера). а он далее из обрабатывает.
2. отрисовку данных делает активити с интерфейсом (названным например ActivityView). презентер  имеет ссылку на этот интерфейс (активити передает свою ссылку ему), а далее вызывает например activityView.setText(text)
3. есть два подхода
а) время жизни презентера равен (не больше) времени жизни активити
б) время жизни презентера больше времени жизни активити
соотвественно а) данные сохраняются в budle и передаются в презентер
б) данные хранятся в  презентере
4 - выше
5. активити - пассивный объект. управление через презентер. любая хоть немного сложная логика в презентер. 
Применение интерфейсов обязательно. иначе потеряем тестируемость и не избавимся от жесткой зависимости презентер-активити.
это все описано очень неточно. например вместо "активити" можно подставить "фрагмент". но суть надеюсь понятна.

Худший ответ:
По mvp для андроида почитай авторов moxy, на хабре есть несколько статей, в репе на гитхабе есть несколько примеров
Вопрос: Как «захватить» поведение элементов на странице и сгенерировать видео?

Лучший ответ:
Процитирую Stackoverflow:
You can use ready-made solutions:
www.google.com/analytics
www.clicktale.com
https://segment.io/
www.extrawatch.com
mouseflow.com
https://www.seevolution.com/
clicky.com
You can do amazing stuff with Google Analytics and its Event Tracker:
https://developers.google.com/analytics/devguides/...
searchenginewatch.com/article/2287906/10-Google-An...
If you're looking for a custom-made solution, you can try the following one with PHP and JavaScript:
css-tricks.com/tracking-clicks-building-a-clickmap...
Keep in mind that using third-party solutions is better performance-wise. Writing the coordinates of the mouse movements in a database in real time, needs a lot of resources.
https://stackoverflow.com/questions/18713415/user-...

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