Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Поиск по объекту js?

Лучший ответ:
const technics =[
  {
    name: "Автовышка"
  },
  {
    name: 'Эксковатор Погрузчик'
  }
];

// ПОИСК

const product = technics.find(item => item.name === "Автовышка");

Худший ответ:
Надо перебирать ключи, сравнивая с введенной строкой (все, приведенное в нижний регистр). Если подстрока находится в названии – включать объект в массив найденных.Кодconst $out = $('#suggest');
const $in = $('#in-search');

const technics = {
  'Автовышка' : {
    "name" : "secret"
  },
  'Эксковатор Погрузчик' : {
    "name" : "secret"
  },
}

$in.on('input', function(){
  const v = $(this).val().toLowerCase();
  if(v.length < 3) {
    $out.html('');
    return;
  }
  const matches = [];
  for(let title in technics) {
    if(!!~title.toLowerCase().indexOf(v))
      matches.push( title );
  }
  $out.html(
    matches
      .map(t=>t + ': ' +technics[t].name)
      .join('<br>')
  );
});Рабочий пример
p.s. короткая запись !!~ перед indexOf(..) приводит к true/false найдено/не найдено. Всё, кроме -1 даёт true.
Вопрос: Как изменить файл с очень длинным названием в архиве?

Лучший ответ:
Варианты:
1. Переместить архив и temp архиватора в папку с названием покороче. В крайнем случае в корень диска.
2. Использовать другой архиватор (пробовать разные, или собрать 7zip с параметром DWIN_LONG_PATH, например)
3. Использовать другую ОС
Возможно вас порадуют также другие игрушки:zip-бомбы, рекурсивные архивы и RarJpeg.

Худший ответ:
Как изменить файл с очень длинным названием в архиве?Очень просто.Распаковать архив в папку с коротким путем.Изменить.Запаковать обратно.Нужно заменить в нем одну строчку, но windows не дает его открыть, ругаясь на длину файла.Если windows ругается на длину файла при чем тут длина названия???
Смотрите программу которой редактируете файл, значит она не может открыть такой длинный файл.
Вопрос: Как обеспечить безопасность сайта?

Лучший ответ:
Очень крутой вопрос, прямо хочется бегать по кругу, размахивать руками и кричать.
Ну... как-бы... ВСЕХ дыр стоит остерегаться!
И того, что вам вместо аватарки шеллскрипт зальют, и того, что вместо поискового запроса будет sql инъекция, и того, что в вашу форму с оплатой заказа прилетит "левый" запрос сформированный при помощи XSS. И это не полный список возможных неприятностей, если что. А полный список будет сильно зависеть от того, какие вообще злоумышленник сможет делать запросы и есть ли в обработчиках этих запросов хоть какие-то проверки.
Общие правила примерно такие:
1. Проверяйте и/или фильтруйте все данные, которые приходят со стороны пользователя
 1a. Убедитесь, что эти запросы не ddos, не брутфорс и не xss.
2. Наймите хорошего сисадмина, который будет следить за безопасностью и обновлениями OS и компонентов вебсерера.
Конечно, если ваш сайт не представляет интереса для "крутых хакеров™", то можно на все это просто забить и довольствоваться защитой Неуловимого Джо.

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

Лучший ответ:
пусть /dev/sda1 это ваш старый диск и раздел
а /dev/sdb1 - новый, отформатированный раздел, куда вы хотите перенести /homemkdir /mnt/newhome && mount /dev/sdb1 /mnt/newhome
rsync -a /home /mnt/newhome
Проверяете все ли нормально перенеслось.
редактируете /etc/fstab
там ищете старый хоум, или если его нет вписываете что-то вроде/dev/sdb1 /home           ext4   defaults        0       1
Нужно чтоб адреса и тип ФС были правильными. 
После чегоmount -a

Худший ответ:
А что мешает просто второй диск воткнуть и примантировать и юзать его? Какие цели вы преследуете? Отделить /home в отдельный раздел?
Вопрос: Что будет, если лицензионную версию Windows (XP, 7, 8, 10 и т.д.) установить одновременно на несколько ПК?

Лучший ответ:
1. Будет активироваться, пока ключ не заблокирует MS.
2. Нет.
3. Да.
4. Нет, и даже по спец.запросу вряд ли можно это получить. 
Блокировка ключей в МС автоматическая, но на какую частоту настроено срабатывание, вам даже в МС четко не скажут, потому что до тех.специалистов вряд ли дозвониться, а call center будет говорить что одна лицензия - один комп.

Худший ответ:
1. Будет активироваться, пока не кончится счетчик. Для некорпоративной версии счетчик маленький - не то три, не то пять, после чего нужно звонить в коллцентр и доказывать, что ты на самом деле купил, если доказал - ну еще раз три-пять. У корпоративной версии количество установок и количество оставшихся активаций показывается в интерфейсе управления лицензиями.
2. Нет. Активировалась - значит лицуха.
3. Да, и очень быстро - см. ответ #1. Существующие компы не блокируются.
4. Нет. Где-то в логах M$ конечно есть информация о том, кто когда откуда активировал, но вряд ли они ее предоставят - разве только по официальному запросу американской Фемиды.
Вопрос: Мониторинг приложения в Zabbix 3.2?

Лучший ответ:
Zabbix agent это умеет достаточно давно  
Все указано в документации zabbix_get -s ipadress -k proc_info[<процесс>,<атрибут>,<тип>]
Примеры:
proc_info[iexplore.exe,wkset,sum] - для получения общего количество физической памяти выделенной под все процессы Internet Explorer
proc_info[iexplore.exe,pf,avg] - для получения среднего количества ошибок на страницах для процессов Internet Explorer
Обратите внимание, что для корректной работы этого элемента данных на 64-битной системе потребуется 64-битный Zabbix агент.
Обратите внимание: Все атрибуты io_*,gdiobj и userobj доступны только в Windows 2000 и более поздних версиях Windows, не в Windows NT 4.0.

Худший ответ:
Помимо вышесказанного (про proc_info), также отмечу, что заббикс умеет снимать инфу через performance monitor винды. Если ваше приложение туда какую-то статистику отгружает, то можно этим пользоваться. Настроить такой мониторинг не вполне тривиально, но можно.
Если же у вас приложение самописное, то ничего не мешает сделать API, с помощью которого можно снимать статистику и отправлять в заббикс. Либо локально выполняемой командой, описанной в UserParameters агента, либо скриптом по крону и отправкой в заббикс с помощью утилиты zabbix_trapper.
Вопрос: Возможно ли организовать высоконагруженный проект поэтапно?

Лучший ответ:
1. 2000 пользователей, это, простите, не социальная сеть.
2. 2000 пользователей - заработок на рекламе никакой. 
3. Добиться такой регулярной посещаемости - крайне непросто. Я бы рассчитывал на год раскрутки минимум. Если повезет, то будет 2000.
Так что у вас не будет такой проблемы - как высоконагруженный проект.
И, к слову, 2000 - это не нагрузка, а так - смешно.
4. Есть бесплатные хостинги (там бесплатно до каких то пределов нагрузки), у меня несколько проектов есть на таких. Крутятся годами бесплатно. Раз в полгода просят 1 доллар, так как выхожу за бесплатный лимит. Google AppEngine, OpenShift и пр.
Недостаток - там программируется современным модным способом. Классическое ПО веб сайта, если его туда установить - скушает вам сразу весь бесплатный лимит.
5. 120 рублей в месяц - это смешно. Лишний раз пива не попейте - заплатите за месяц.
6. Хорошо помогает распределение нагрузки. Например, у меня файлы видео именно на специализированном облачном хранилище - закидываю 100 рублей за в три месяца - а файлов видео там ооооочень много. И хорошая посещаемость.

Худший ответ:
У облачных провайдеров обычно есть программа поддержки стартапов, в рамках которой они дают год или больше пользоваться своими ресурсами в каких-то пределах. Например, Microsoft Bizspark или IBM Bluemix (поищите и другие).
Напишите им письмо – мол, вы стартап, план такой-то, рост будет большой, команда у вас такая-то. Дайте погонять вашу платформу. Вам предоставят некий лимит, в рамках которого сможете пользоваться их услугами бесплатно. Например, запустить пару неслабых серверов в MS Azure на три года. Этого хватит, чтобы запуститься и вырасти до первых миллионов пользователей. А там и деньги появятся.
Вопрос: Как разобраться в архитектуре чужого приложения?

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

Худший ответ:
Приветствую
Как вариант, развитие понимание архитектуры приложения:
1. Если вы разбираетесь, что такое наследование и т.д. из ООП, то скачиваете архив с кодом приложения из github: а) вначале приложение с тематикой вам знакомого, пример приложение планировщик, чата и т.д., б) затем приложение уже посложнее.
2. Открываете программу для визуализации кода в диаграмму, к примеру interprise architector и т.д. 
3а. Разбираетесь с указанным в п.1. приложением на полученной диаграмме. Изучаете, что откуда и на что ссылается. Гуглите, если чтото непонятно. Читаете приложенное описание к проге.
3б. Изучаете сам код.
4. Ответьте себе, почему разработчик именно так сделал? Что можно лучше сделать?
5а. Напишите свои вопросы разработчику, (если разработчики из другой страны, то если вы английский не знаете - гугл переводчик в помощь), можно те же вопросы задать, к примеру, почему он так сделал? и т.д. Часто отвечают.
5б. Поищите в интеренете, может есть статьи с описанием этого приложения, в т.ч. и его архитектуры и т.д.
6. Почитать книги по архитектуре.
И так "очень много" приложений разобрать. Понимание придет, по крайне мере опыта наберетесь.
Вопрос: Безопасные почтовые сервисы с рабочим SMTP?

Лучший ответ:
Не обманывайте себя.
Все выдадут.

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

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

Худший ответ:
Сервисы, ну я не встречал таких, вопрос решается легко чуть выше Глеб Варганов написал примерно как и что, а вообще бро если ты слабоват в веб разработке,  то советую или реально  изучить работу с формами, если ты заказчик и тебе дико нафиг надо этот веб, тип там подшаманил прикрутил и с богом))), то в таких случаях рекомендую обращаться к людям которые сделаю, я про фрилас! Также советую просмотретьhttps://habr.com/post/245731/ https://htmlweb.ru/java/forms.php
Вопрос: Python. Как проверить слово на палиндром, удалив одну букву?

Лучший ответ:
return (word == word[::-1])
[::-1] перевернёт строку
(word == word[::-1]) сравнит строку с ее перевернутой версией
return вернет булев результат

Худший ответ:
Решал задачу на нахождение самого длинного палиндрома в качестве тестового задания при приеме на работу. Может будет полезно https://gitlab.com/albertalexandrov/test-tasks-for...
Вопрос: Где хранить данные при работе с angular.js?

Лучший ответ:
В сервисе
stackoverflow.com/questions/18036629/inject-a-conf...
Все что не дирректива, не контроллер идет в сервис

Худший ответ:
Можно, конечно, вынести в отдельный файл, например. Но у вас же, наверное, это все с сервера будет подтягиваться, да?.controller('myCtrl', function ($scope) {
    $scope.links = linksList;
}

var linksList = [{
        url: 'http://',
        ancor: 'some string',
    },
    {
        url: 'http://2',
        ancor: 'some string2',
    }
];
Вопрос: Организация продвижения, один сайт, поддомены?

Лучший ответ:
1 сайт

Худший ответ:
Мы для таких компаний регистрирум 1 домен. На нем ТОЛЬКО лендинг 3-х страничный и общие виды деятельности. Также на нем в обязательном порядке микроразметка, региональная принадлежность и прочие  атрибуты продвижения. На нем же фиксируем все остальные ссылки на субдомены.
2) Затем делаем к нему субдомен info.domain.ltd (типа магазина) на котором вся продукция или услуги в подробностях. По всем видам деятельности.
3) затем по каждому виду продукции делаем субдомены, например okna.domain.ltd, dveri.domain.ltd, balkony.domain.ltd и прочее. На них также ландинги с поисковой оптимизацией, но ссылку "подробнее" даем только на субдомен info.domain.ltd
4) Обязательно отдельным субдоменом "вопрос-ответ" - в открытой форме например help.domain.ltd и завидываем частые вопросы пользователей. Q&A CMS В топ влетает на "ура", по каждому виду деятельности и в целом
Только внимательно смотри, чтобы тот домен на котором собрались делать не находился по АГС, вытащить труднее, чем с нуля запустить новый. Если нужен домен remland.ru (неплохо для строительных компаний и лакокрасок), могу выставить на Telderi.
Вопрос: Как организовать россплатформеннаю разработку модуля для Joomla и WordPress?

Лучший ответ:
Нужно что-то вроде такого https://github.com/JBZoo/CrossCMS
Но я бы не стал пытаться, проще разрабатывать отдельно.

Худший ответ:
надо разрабатывать 3 проекта (независимо)
1) собственно модуль на чистом PHP предоставляющий некий интерфейс
2) модуль для интеграции с WP, использующий интерфейс
3) модуль для интеграции с Joomla, использующий интерфейс
Вопрос: Какие форматы файлов допустимы в github/bitbucket?

Лучший ответ:
любые.
дело только в том, что бинарные файлы хранить в vcs в большинстве случаев не имеет никакого смысла.
https://robinwinslow.uk/2013/06/11/dont-ever-commi...

Худший ответ:
Если картинки являются частью верстки, например, то естественно их допустимо там хранить.
Вопрос: Один виртуальный сервер с 10-ю сетевыми картами?

Лучший ответ:
Такая возможность есть, мануалов в интернете навалом.

Худший ответ:
Посмотрите в сторону Proxmox и LXC
Вопрос: Какие решения для создания UI вы используете?

Лучший ответ:
Windows Forms устаревшая технология. Сейчас для десктопа под виндовс разрабатываются на WPF. Там спецом все сделано для возможности гибкого дизайна.

Худший ответ:
Нет у WPF достойных альтернатив.
Вопрос: Можно ли организовать загрузку html без перезагрузки страницы, используя WebSocket?

Лучший ответ:
К языку программирования Go, что у вас в тегах указан - это не имеет отношения.
А имеет отношение к языку программирования JavaScript, но он у вас в тегах не указан.

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

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

Худший ответ:
Используй мнемотехнические приёмы запомингания
Вопрос: Проверка e-mail адреса через js, как дозволить регистрацию через определённые ящики?

Лучший ответ:
Ну, допустим. После валидации 
var sps = mail.split('@');
var domain = sps[sps.length - 1];
var domains = ['main.ru', 'yandex.ru', 'gmail.com'];

if (domains.includes(domain)) {
   // все ок
}
Но это некорректно. Вам придется составлять очень длинный список "популярных" почтовых доменов. У самого майла их штук 5 вроде. У меня вот почта на своем домене, и что мне теперь, закрывать вкладку с вашим сайтом?

Худший ответ:
Сделайте тупо выпадающий список с доменами.
Вопрос: Как одолеть SICP?

Лучший ответ:
Первая причина: Книга не для начинающих,так как требует уже приобретенные технические навыки.
Другой причиной может быть "непереваривание" синтаксиса Scheme,который выглядит как обфусцированный Си.Он действительно выносить мозг,неподготовленным новичкам и мешает восприятию теоритических концепций,скрывающихся за мешаниной языковых конструкций.
P.S. Также лучше читать в оригинале.Перевод плох.
Вопрос нужно ли на работе зависит от ваших амбиций.Это компьютерная теория, которая возможно далека от современной программной инженерии,но учит в первую очередь думать креативно,а не следовать готовым рецептам и решениям.В этом плюс книги,не смотря на язык.
Материал можно разделить на два основных обьекта изучения "парадигмы функционального программирования" и "компиляторы". 
Если не получилось преодолеть барьер восприятия,но ставите цели изучить данные темы: 
по первой теме можете найти курс Functional Programming Principles in Scala 
по второй :  Stanford: Compilers. 
Чтобы Уйти  от  популярной парадигмы Google/StackOverflow Driven development,также стоит тренировать алгоритмическое мышление каждый день.Больше писать своего кода.Составлять алгоритмы.Решать задачи. Например на codewars

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

Лучший ответ:
in_array($word, ['WD Jorgname 10','WD1012'])
или сделать заменy одного слова на дрyгое и потом сравнивать.

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

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

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

Лучший ответ:
Вам же по ссылку указано с чего начать?

Худший ответ:
На сервере freBSD,  нашёл библиотеку: p5-Mail-DKIM-0.37
Не могу пока понять этого хватит для создания ключа и прописи его в днс?
Если да, подскажите, плиз, какой командой это сделать? Спасибо!
Вопрос: Переменная $_SESSION в PHP?

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

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

Лучший ответ:
Если у вас не только в prerouting стоят первые 4 правила, но и в таблице маршрутизации созданы routing mark соответствующие, то картина ничем не отличается от одного аплинка. Эти правила как раз и обеспечивают ответ на входящее соединение именно на тот канал, откуда запрос пришёл.
Я для удобства в nat завёл цепочку port_forward, в которую перебрасывал пакеты по правилам in-interface=ether2 и in-interface=ether3. А в этой цепочке уже обычный форвардинг без привязки к реальному интерфейсу./ip firewall nat
add action=masquerade chain=srcnat out-interface=ether3-gw0
add action=masquerade chain=srcnat out-interface=ether4-gw1
add action=jump chain=dstnat in-interface=ether3-gw0 jump-target=port_forwarding_udp protocol=udp
add action=jump chain=dstnat in-interface=ether4-gw1 jump-target=port_forwarding_udp protocol=udp
add action=jump chain=dstnat in-interface=ether3-gw0 jump-target=port_forwarding_tcp protocol=tcp
add action=jump chain=dstnat in-interface=ether4-gw1 jump-target=port_forwarding_tcp protocol=tcp
add action=dst-nat chain=port_forwarding_udp dst-port=6891 protocol=udp to-addresses=192.168.5.20
add action=dst-nat chain=port_forwarding_tcp dst-port=80 protocol=tcp to-addresses=192.168.7.10
Если с какого-то аплинка порт остаётся закрыт, попробуйте попинговать сам роутер. Если пингов нет на том же самом провайдере - разбирайтесь с routing-mark. Я не раскурил в своё время, как работает эта магия с check-gateway 8.8.8.8.

Худший ответ:
я не до конца понимаю где у меня ошибка:(
правило проброса я создаю как обычно?
/ip route
add distance=1 gateway=8.8.4.4 routing-mark=to_ether1
add distance=1 gateway=8.8.8.8 routing-mark=to_ether1
add distance=1 gateway=8.8.4.4 routing-mark=to_ether2
add distance=1 gateway=8.8.8.8 routing-mark=to_ether2
add check-gateway=ping distance=1 gateway=8.8.8.8
add check-gateway=ping distance=1 gateway=8.8.4.4
add distance=1 dst-address=8.8.4.4/32 gateway=192.168.6.1 scope=10
add distance=1 dst-address=8.8.8.8/32 gateway=192.168.5.1 scope=10
Вопрос: Алгоритма подбора книг?

Лучший ответ:
На ум сразу приходит алгоритм k-means для рекомендательных систем, он самый простой для реализации. Подбирает книги/фильмы/что угодно по подходящим параметрам.

Худший ответ:
На ум сразу приходит алгоритм k-means для рекомендательных систем, он самый простой для реализации. Подбирает книги/фильмы/что угодно по подходящим параметрам.
Вопрос: Как организовать SPA-приложение на vue.js?

Лучший ответ:
Для Ваших целей нужно использовать vue-router, он позволяет динамически передавать параметры нужному компоненту, а тот, в свою очередь, будет связываться с нодой и делать что Вам необходимо.
Вот документалка по Динамическим роутам 

Худший ответ:
Да, так и надо)
Вопрос: HTML Framework?

Лучший ответ:
Pug, не фреймворк, но фреймворк в классическом понимании, вам слабо поможет.

Худший ответ:
Bootstrap на мой взгляд лучшее решение
Вопрос: Mozilla включает телеметрию для вкладок в режиме приватного просмотра. Чем это чревато?

Лучший ответ:
Как все будет обстоять на самом деле - знает только мозилла. Точно так же, как про то, как реально обстоит дело с телеметрией WinX - знает только MS. Телеметрия от мозиллы опасна тем же, чем и любая другая - тем, что данные о том, куда ты ходил, уходят в какую-то левую контору. Она может сколько угодно бить себя в грудь пяткой левой задней ноги, что она за приватность, свободу и толерантность - MS говорила точно то же самое :) - но данные анализировать будет :)
Видимо придется прибавить к списку серверов с телеметрией винды - список серверов с телеметрией мозиллы...

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

Лучший ответ:
Смотря с чего начинать нужно.
Если со школы то khanacademy/interneturok. Если первые курсы универа то mathprofi. Там или достигаете просветления и смотрите что вам реально нужно или бросаете это дело. 
Еще рабочий вариант но долгий пойти в топ ВУЗ на подобную специальность, обязательно на очную. 
Плохорабочие варианты:
Можете ориентироваться на программу для поступления в ШАД как на несколько избыточный   вариант. 
Можете включить режим ботаника взять серию книжек Математика в техническом вузе(14 книжек) + сборники задач и засесть на два года.
Почему они плохо работают? Нужно представлять что вам нужно, а что не нужно и от этого копать, даже робототехника очень расплывчато описывает то чем вы будете заниматься. Аэродинамика(дифф уры), фильтры калмана/комп зрение(статистика/линал), движение в пространстве(кватернионы/углы эйлера)? Или посадить поливалку на ардуино?

Худший ответ:
Крутые у вас приоритеты, я бы со школьной программы где то с 8-го класса пошел)