Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как разделить работу верстальщика и vue frontendеров?

Лучший ответ:
Верстальщик и Frontend разработчик должен быть одним и тем же человеком. 
Если у вас в команде есть человек, который просто верстает (HTML, CSS), то где-то вы что-то делаете не так, мне кажется.
Вы сами ответили на свой вопрос ведьв результате приходится писать всю логику с нуля.
Зачем в команде отдельно верстальщик, если фронтенд разработчик может и делает (судя по вашему вопросу) всё тоже самое? Разве это ускоряет процесс разработки? Не думаю. Чисто вёрстка занимает всего пару часов. По сути, вам нужно обучить верстальщиков Vue.

Худший ответ:
Сдается мне - в Вашем случае - верстальщик и frontend developer - Вы и есть, в одном лице. ))
Вопрос: Что использовать для port forwarding в p2p приложении на C#: NAT-PMP или UPnP IGD?

Лучший ответ:
Обычно используют сразу оба метода, если есть возможность.

Худший ответ:
юзай https://github.com/alanmcgovern/Mono.Nat или его форк https://github.com/lontivero/Open.NAT
Как вариант сишную либу libnatpmp
По возможности лучше NAT-PMP но если нету то пробовать долбиться через UPnP IDG
Вопрос: [С++ ]Поставил begin — поставь и end. Как распознать вложения и правильно поставить в коде end?

Лучший ответ:
Никак.
Если бы можно было легко предугадывать куда вставить end, то все компиляторы давно бы этим занимались, а они почему то этого не делают, а только выдают сообщение об ошибке при этом, как правило указывается строка даже близко не указывающая на то место где не хватает endа.
И прочитайте внимательно задание - вам не надо вставлять end. Делайте как компилятор - считаете количество begin и end, если не равно - ошибка.

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

Лучший ответ:
А чуть чуть подумать?
Посмотреть на содержимое $_SESSION?
Посмотреть на код который Вы вызываете?
Прочитать ошибку?

Худший ответ:
print_r($_SESSION) ;
                                        if( isset( $_SESSION['name'] ) ) {
                                            $key = $_SESSION['name'];
                                            echo $key;
                                        }
почему если в массиве $_SESSION есть значение name оно не выводится ?
Вопрос: Как применить событие для новодобавленного класса?

Лучший ответ:
Даже через on('click' пробовал
а надо через $(document).on('click', '.qwe', function () {
https://jsfiddle.net/vkr7kog5/1/

Худший ответ:
 Далее если вызвать событие на этом новом классе 
Когда вы пишете $('div') - jquery делает выборку и кэширует результат выборки.
И события добавляет только этим элементам
Ок. Почему тогда не вызывается клик на этом же элементе при простом добавлении класса - спросите вы.
Тут тоже всё просто. сначала отработал $('div').click(...) - навесил события на все дивы. Далее тут же делается выборка с навешиванием события $('.qwe').on()- НО!
по диву-то еще никто не кликал и классов .qwe на странице не существует. Значит и событие клика на него не навешивается.
Всё! скрипт отработал. осталось висеть только событие клика на дивах.
Вопрос: SEO. Какова длинна имени изображения (файла) должна быть?

Лучший ответ:
Пофиг какая

Худший ответ:
Я делаю не больше 80 збп
Вопрос: Слетела «кодировка» на хостинге, как такое может быть?

Лучший ответ:
.htaccess
и еще вероятно 
meta charset="UTF-8"
все где то там.ваша 2я начинающая гадалка ;)

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

Лучший ответ:
Тебе нужен GUI и события. А вообще, ты странного хочешь.

Худший ответ:
ну так сделай парсер. Вика
При вводе анализируешь данные, делишь их на структурные единицы, например через пробел <команда> <параметр 1> <параметр 2> <параметр 3>, а потом вызываешь соответствующую функцию с соответствующими параметрами
Вопрос: Что такое 3D математика?

Лучший ответ:
Векторная алгебра (ну или векторная геометрия) в 3D.
Векторы, матрицы, базисы, однородные координаты, видовые преобразования, кватернион поворота…
Первый курс университета, покрывается курсом «Линейная алгебра и аналитическая геометрия».
Дизайнеру не нужно.

Худший ответ:
https://en.wikipedia.org/wiki/Transformation_matrix
Видимо друг говорил о знаниях, которые нужны чтобы понять содержимое этой и подобных статей.
Вопрос: Какой самый простой бэкенд для мобильного приложения?

Лучший ответ:
Rails 5 тоже есть API из коробки. Хотя если задача ограничивается только API я бы поискал что-то полегче и побыстрее, тем более по Вашим словам проблем с языками нет. Сейчас куча всего:Sails.jsRuby SinatraNodeJS ExpressJSPHP Slim.NET NancyPython FlaskJava JerseyGo Goji
Вообщем все от ваших предпочтений зависит.

Худший ответ:
django + djangoREST на openshift.com
3 отдельных проекта размещаются легко, при желании можно извратиться и разместить столько сколько влезет на 1гб
Вопрос: Ошибка в php, как исправить?

Лучший ответ:
Ошибка Ваша простая - нет среды для разработки. Такие ошибки можно искать часами, но обычно юзаешь IDE типа phpStorm или аналоги и она тебе однозначно подчеркивает где забыл закрыть скобку или поставить запятую и т.д. Так что не надо искать описку, ищите ПО, которое избавит от этого раз и навсегда.
Вы же it-шник, Вы должны думать и делать только то, что не может продумать или сделать программа.

Худший ответ:
$result = mysqli_query($dbc, "SELECT * FROM `table_products`");
if (mysqli_num_rows($result)>0) {
  $row = mysqli_fetch_array($result);

do
{
  echo '
<form action="" method="post" >
  <div class="producs col-md-4">
    <div class="product">
      <img src="'.$row["images"].'" width="100%" alt="">
      <a href="veiw.php?id='.$row["kod_product"].'">'.$row["name_product"].'</a>
      <p>Цена: '.$row["price_roz"].'</p>
      <a class="more" href="veiw.php?id='.$row["kod_product"].'">Подробнее</a>
    </div>
  </div>
</form>
  ';
}
while ($row = mysqli_fetch_array($result)) ;
Вопрос: Какой бесплатный движок, домен и хостинг (условно бесплатный) выбрать для жильцов дома?

Лучший ответ:
Вордпресс подойдет. Для общения и личных кабинетов ставьте WP-Recall. Поддержка на русском языке. Плагин уже включает в себя чат, личные сообщения, форум, сообщества (группы - они же блоги). Пользователям дана возможность публикации. Карма - есть система рейтинга - уже в комплекте. Другую сотню дополнений найдете здесь https://codeseller.ru/prodcat/wp-recall/ Дизайн у плагина современный и адаптивный. Мобильные юзеры рады такому. Личных кабинетов видов 7мь - есть что выбрать (есть и похожий на ВК)
Бесплатный хостинг не берите и дешевый тоже. Бери таймвеб - цена качество идеальные.
Регистрация простейшая используя плагин uLogin - так из соцсетей могут заходить в один клик.

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

Лучший ответ:
Начните с биографии Ады Лавлейс.

Худший ответ:
«Скромный программист» еще интересное чтение:
https://www.cs.utexas.edu/~EWD/transcriptions/EWD0...
Вопрос: На сколько безопасна авторизация в мобильный банк по отпечатку пальца?

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

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

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

Худший ответ:
Ура, сегодня вышел минорный апдейт React  с MIT
Вопрос: Как проверить фразы конкурентов в Яндекс Директ?

Лучший ответ:
Сервисы анализа конкурентов
spywords.ru
semrush.com
advodka.com
bukvarix.com
prodvigator.ru
serpstat.com
advse.ru
pr-cy.ru
saitreport.ru
advertseo-helper.ru/praktika_yadirekt/metod-i-prim...
similarweb.com
keys.so
megaindex.ru
ahrefs.com

Худший ответ:
Букварикс
Вопрос: Возможно ли подключиться по RDP к клиентскому компу через учётку админа параллельно, не блокируя к нему доступ самого пользователя?

Лучший ответ:
Windows Server. До двух сессий одновременно, дальше нужно бежать за лицензиями.
На клиентской форточке - кина не будет, не надейтесь.

Худший ответ:
Есть способ без патча termsrv.dll .RDP Wrapper
Вопрос: В CCleaner 5.45 обнаружили неотключаемый сервис «активного мониторинга». Можно ли теперь считать софт Spyware?

Лучший ответ:
CCleaner это же вредоносный софт, ему просто положено быть Spyware, и не только.Как считаете, намеренно ли это делает компания Нет, блин. Оно случайно включилось....
Как можно ненамеренно это сделать?и если да, то зачем?Чтобы денег заработать.

Худший ответ:
Я может быть чего-то не понимаю, но на сайте https://www.ccleaner.com/ нет информации о том, что они проданы Avast. Обычно в пресс-релизах такое пишут. Копирайт стоит прежний - Piriform Ltd. Гугл выдает сайты типа roem.ru, доверия к которым у меня нет.
Кто-то может дать ссылку на пруф?
Извините за офтоп.
Вопрос: Как понять Promise?

Лучший ответ:
Что есть "привязчик функции"?
Вы на resolve и reject должны указать именно функции. Так как таким образом в аргументах у них будут необходимые данные. А таймер - хороший вариант "сфабриковать" асинхронное действие.
Материал выбран хороший, прочитайте, поиграйтесь с примерами, потом посмотрите эту статью с хабра.
Промисы нужно пощупать на практике, причем обязательно попробовать обработать ошибки:
а) когда нет интернета
б) когда ваше api ответило не "200"
Затем попробуйте выполнить цепочки промисов (последовательно, параллельно).
Смотрите в дебаггере по шагам, что за чем идет. 
Таким образом рано или поздно точно получится разобраться) Я сам, почитал Кантора уже после того, как "потыкался" с промис-библиотеками. Поэтому не могу точно вспомнить, откуда начал, но его статья хорошая на мой взгляд.

Худший ответ:
Вот более жизненный пример, может так будет понятнее:function fetch(url) {
  return new Promise(function(resolve, reject) {
    $.getJSON(url, function(response) {
      if(response){
        resolve(response); 
      } else {
        reject(new Error('No response'));
      }
    });
  });
}

fetch('http://jsonplaceholder.typicode.com/users').then(function(users){
  var output = '';
  users.forEach(function(user) {
    output += '<p>' + user.name + '</p>';
  });
  $('body').html(output);
}).catch(function(err) {
  console.trace(err.message);
});JSBIN
Вопрос: Как выглядит скрипт проверки загружености страницы?

Лучший ответ:
document.addEventListener('DOMContentLoaded', function(){
 // сработает когда будет загружен весь html
 // как и jQuery.ready() или jQuery.on('ready')
});window.onload = function(){
  // сработает когда будет загружен весь html, стили и картинки
  // как и $(window).load() или $(window).on('load', function(){})
}

Худший ответ:
Никак. Можно только эмулировать setimeout или же загружать по блокам.
Вопрос: Дадут ли доступа к api instagram сервису по взаимному обмену лайками и подписками?

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

Худший ответ:
А зачем вам апи к тому же там в апи совсем же другое
Делайте через паблик апи , вебверсия же открытая
Вопрос: Как долго ждать публикации в Google Play?

Лучший ответ:
У меня меньше суток было.

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

Лучший ответ:
Добрый вечер.echo "Текущая версия:" . $array['version']['number'] . ". Количество игроков " . $array['players']['online'] . '/' . $array['players']['max'];

Худший ответ:
$foo = "Текущая версия: "
  . $data['version']['number']
  . ". Количество игроков "
  . $data['players']['online']
  . "/"
  . $data['players']['max'];
Или так:$ver = $data['version']['number'];
$online = $data['players']['online'];
$max = $data['players']['max'];
$foo = "Текущая версия: $ver. Количество игроков $online/$max";
Вопрос: Прием платежей с иностранных карт и Paypal для физ.лица?

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

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

Лучший ответ:
Лови :-)$(function() {
  $('.btn-news').click(function(e) {
    var $current = $('.content-block.active');
    $current.removeClass('active');
    $current.next('.content-block').addClass('active');
  });
});

Худший ответ:
Через index этого класса при чередования элементов в массиве each лучше будет.
Вопрос: Какой каркас angular приложения?

Лучший ответ:
Для первого: angular-tips.com/blog/2015/06/using-angular-1-dot-...
Для второго: https://github.com/AngularClass/angular2-webpack-s...

Худший ответ:
Сам недавно задался этим вопросом, выбрал в итоге этот https://github.com/AngularClass/NG6-starter.
Вопрос: Компилляция под 86 & 64 — C++?

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

Худший ответ:
Программы под 32 бита будут работать на 64битных системах, по крайней мере должны. Разница в выделяемой памяти для переменных. А системе с большими битами все равно скольких битный код, если не больше чем она может воспроизвести. Если не прав - поправьте
Вопрос: Почему до сих пор используют опасные аналоги TeamViewer?

Лучший ответ:
Я уже однажды писал один коммент. Его смысл приблизительно в "данная статья указывает как автор городит грабли.  И не коим образом не претендует на качественное решение проблемы".  Но ведь на хабре нет значка "нестандартное решение (грабли)".  И новички принимают это за качественное решение проблемы.  С любым софтом так и обстоят дела!  Есть одно - два качественных решений и остальное море овна!  Это называется "свобода выбора"!!!! =D

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

Лучший ответ:
Для переходов между страницами можно использовать Barba.js. А как именно делать сами анимации - смотрите сами, что вам проще будет делать. По идее в WebGL здесь нет необходимости - все можно сделать на CSS-трансформациях.

Худший ответ:
Ну сделать такой фон на css просто, подобрать нужное время и кривую анимации. Но производительность такого добра будет оставлять желать лучшего. И чем больше экран, тем хуже. Лучше делать на webgl (glsl), примеров подобных смен картинок - валом.
Вопрос: Как настроить маршрутизацию в такой сети?

Лучший ответ:
1. На всех свичах нужный влан есть и активен? И входит в транк?
2. ip default-gateway прописан на свичах?
Как настроить сеть управления на Cisco?

Худший ответ:
Судя по топологии, у вас в сети одна тока маршрутизации.
1) Проверьте что с роутера доступны все свичи по ip 
2) проверьте со свичей что доступны смежные сети роутера(ip адреса на роутере.)
Вопрос: Почему в js метод indexOf работает за О(n)?

Лучший ответ:
Так indexOf не ищет по индексу значение, он ищет индекс по значению. O(1) это как раз обращение к массиву по индексу arr[0]

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

Лучший ответ:
В вашем случае любую "взрослую" систему виртуализации которую знаете (Hyper-V/ VMware ESXI/ Proxmox)

Худший ответ:
Тут скорее надо оттталкиваться от знаниний, желания и денежных средств. Если вы с чем то работали, то с ним же и продолжайте (но с учетом того что вы пытаетесь сравнить гипервизоры разных типов скорее всего вы с виртуализацией не знакомы), а если нет, то я бы на вашем месте смотрел бы простоту реализации поставленной задачи. Т.е. нужен гипервизор с хорошим сообществом (имхо Hyper-v, Vmware, Citrix, KVM (и его ипостасии) только остаются). Потом берем стоимость внендрения (благо у них у всех есть бесплатные версии). А вот теперь самое интересное - базовый беспланый функционал и возможность расширения и тут (опять же ИМХО) проще всего взять Hyper-V Server 2012/2016 - проще поставить на железо (Vmware привиреда еще та), хорошее сообщество, все можно понажимать через GUI (59manager или RSAT и тд), Win сервера чуствуют себя на нем хорошо, лайвмигрейшн, кластеризация и т.д
Вопрос: Какую выбрать CRM легче всего?

Лучший ответ:
А в облаке не подходит? Посмотрите amocrm, у них и партнерка есть.

Худший ответ:
AmoCRM безусловно отличная вещь. Но она платная.
Вопрос: Как подключит less в Yii2?

Лучший ответ:
Зачем его подключать, Используйте gulp/grunt, собирайте проект. А после этого подключаете один css фаил.

Худший ответ:
Это можно сделать в комплекте ресурсов
Вопрос: Как правильно работать с большими таблицами?

Лучший ответ:
Лучше выбирать по 1000/5000 записей получать максимальное значение  id (PK) и идти дальше, смещаясь по primary key. where id > ? limit 1000 order by id asc
 Limit/offset не гуд на больших объемах - так как, к примеру,  offset 10000 limit 1000  переберет 10к строчек чтобы отдать 1000

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

Лучший ответ:
Snap для того, что вообще нельзя установить через apt (например, приложения от JetBrains), или для того, что требует подключения дополнительного репозитория (например, Slack, Insomnia, Sublime Text)

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

Лучший ответ:
В целом,у вас не очень правильное представление о том, что такое доступность и как вебом пользуются люди с ограниченными возможностями.
На 90% доступность сайтов зависит от того, какой там html. Сделайте семантичную, валидную разметку, в которой есть нужные атрибуты и логика расположения элементов.
Почитайте статью и познакомьтесь с информацией по ссылкам в конце — https://habrahabr.ru/post/309076/
А ещё есть вот такой чек-лист — webaim.org/standards/wcag/checklist

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

Лучший ответ:
Пока в Вилабаджо сидят на Тостере и задают вопросы о том, можно ли устроиться на работу, в Вилларибо уже устраиваются на работу и работают.
Говоря серьёзно, вопрос о том, можно ли устроиться на работу за "n месяцев" не имеет ответа без точных характеристик того, кому предстоит устраиваться. У всех по-разному работает голова, у всех разная обстановка, привычки и наклонности.

Худший ответ:
Можно. До Джуна, если повезёт
Вопрос: Йййййййййййййййй?

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

Худший ответ:
Выглядит реалистично, во всяком случае способ которым снифался трафик - 100% рабочий.
Вопрос: Какими аргументами мотивировать верстальщика перейти с Ps на XD?

Лучший ответ:
О, это просто: платите за работы выполненные на XD сильно больше, чем за работы на PS.

Худший ответ:
Интересная постановка вопроса. Вы не умеете в Photoshop, поэтому всех хотите заставить перейти на то что умеете. Я не дизайнер и не верстальщик, но ИМХО Ps будет популярнее XD . Так что может быть это вам стоит задуматься о смене инструмента?
Вопрос: Как настроить одинаковые учетные записи для всех ПК локальной сети?

Лучший ответ:
Нужно поднять Домен.

Худший ответ:
можно настроить на одном компьютере 30 учётных записей, снять образ (например с помощью Acronis True Image) и развернуть этот образ на других компьютерах
Вопрос: Как скачать шапку с youtube канала?

Лучший ответ:
Посмотреть ресурс страницы, найти HTML ссылки img src= , например <img src="//yt3.ggpht.com/wDo0Kbf0HvEGTJM0SWWY9fRHYnWkJihOoUEqD29-b7-JjOkBJMgj8PbFMqI00jVdEib8OodHQw=w2560-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no">
<img src="//yt3.ggpht.com/wDo0Kbf0HvEGTJM0SWWY9fRHYnWkJihOoUEqD29-b7-JjOkBJMgj8PbFMqI00jVdEib8OodHQw=w2120-fcrop64=1,00000000ffffffff-nd-c0xffffffff-rj-k-no">
<img src="//yt3.ggpht.com/wDo0Kbf0HvEGTJM0SWWY9fRHYnWkJihOoUEqD29-b7-JjOkBJMgj8PbFMqI00jVdEib8OodHQw=w2560-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no">
Нажать на ссылку -> Откроется в следующей вкладке -> Coхранить как...
Кстати, там есть картинки для шапок разных размеров.

Худший ответ:
Нажимаешь на шапку правой кнопкой мыши, "сохранить как", и сохраняешь
Вопрос: Почему не работает popup форма на Yii2?

Лучший ответ:
использовать namespace и use для классов лежащих на одном уровне не надо - это про первый скриншот.
По поводу второго с app/components/FBFWidget: 
конфиг трогать точно не стоит. Я бы переписал заново название файла, название namespace и имя класса. Там банально могла русская буква затесаться где-то. Ну и проверить что бы папка components реально существовала, s на конце тоже сверьте, пару раз попадался на таком.

Худший ответ:
Доброе утро.
Попробуйте переписать пути к файлам, очистить runtime/cache.
Вопрос: Как узнать, какой usb-контроллер установлен в телефоне?

Лучший ответ:
спецификация или APK показывающие железо

Худший ответ:
Любое устройство имеет PID (product ID) и VID (vendor ID), которые видны в Менеджере устройств любой операционной системы. По ним и ищите драйвер.
Вопрос: Как помешать декомпилировать клиентскую программу?

Лучший ответ:
1) Наговнокодить
2) Вырубить дебаг режим при компиляции.  
3) Использовать  какой-нибудь обфускатор типа ProGuard
Больше нет смысла заморачиваться.

Худший ответ:
Смотря какая цель преследуется:
1. Не дать воспользоваться вашим кодом для создания другого аналогичного продукта.
2. Скрыть какую-то маленькую "изюминку", которую можно использовать для читерства, если раскопать ее в коде.
Первое - вполне реально. Стоимость доработки вашего кода без исходников будет намного превышать стоимость создания аналогичного продукта с нуля.
Второе - нереально в принципе. Не стоит тратить время на это. Потребность в скрытии "изюминок" возникает обычно вследствие ошибочных архитектурных решений (например, проверка на клиенте того, что по-нормальному должно проверяться на сервере) или ошибочных бизнес-моделей.