Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно планировать проект?

Лучший ответ:
Тебе нужно получить обратную связь от твоего "запланированного" в виде визуальной картины.
Для этого изложи все свои идеи на большой меловой доске, завари кофе и рассматривай их в течение часа каждый день, периодически "подрисовывая" какие-то детали, всплывшие в голове.
Быстрый старт - тебе понадобится доска, большая на всю стену, если нет - постарайся ее найти (я делаю доски сам и могу рассказать про все способы создания такого инструмента).
UPD: ответил в ветке про доски:
Доска должна жить с нарисованным не менее недели а лучше трех чтобы никто не стер информацию.
1. Разделяешь доску на три сегмента - первый слева это будет "накопитель" законнекченый к твоему мышлению.
Важно чтобы ты мог все время туда дописывать. 
Что делаешь - стоишь и думаешь о проекте, и любое слово (осмысленное) ты выписываешь из головы на доску. Просто в столбик и далее в колонки если место позволяет.
Выписывать слова до момента когда ты осознаешь что в голове нет мыслей о проекте - они все на доске. 
Повторять этот пункт каждое утро.
2. Глядя на все написанные смыслы в левой части - стараешься расположить их в формате сетевого графика, поняв что за чем следует и к чему приводит. Тут и помогает "доска", потому что ты можешь все время переделывать картинку. 
Критерий готовности - ты должен видеть всю картину связей в рамках написанных смыслов. Если нет связей - они либо проявляются, либо это знак что это несвязанная с твоим замыслом вещь и ее можно вычеркнуть.
Повторять эту процедуру каждый день.
3. Во втором пункте ты получил все свои цели. И если они тебе интересны - ты их для себя уже утвердил.
Когда получишь внутреннее ощущение глядя на это добро "да - это то что надо" - берешь слева-направо в твоем сетевом графике каждую цель и начинаешь по ней расписывать "задачи" в оставшемся третьем сегменте доски - отвечая на вопрос "как этого достичь". 
Просто списком ты делаешь такой "акутальный беглог" твоей цели, который тебе и "насыпают" заказчики в трелло.
4. Ты просто берешь каждую задачу которую сам себе описал и делаешь.
Теперь у тебя есть инструмент сказать себе честно - либо ты не так хочешь этого достичь, либо ты хочешь чего-то другого, либо ты действительно хочешь организоваться как-то но не можешь все устаканить на свои места.
Если тебе нужно определиться попробуй 5 почему Тойоды, или прочитай на эту тему хороший материал (в первой его части есть ответы на твои вопросы) - https://vc.ru/tribuna/67821-melnir-platforma-dlya-...
Успехов!

Худший ответ:
Я почитал сотни блогов и советов, как правильно планировать проект, но я пытался это сделать себе, но везде нужно рисовать на листочке, а я не умею рисовать, для меня уже нарисовать макет на листочке это головная боль и идея моментально затухает.
Варианты:
1. Научиться рисовать на листочке.
2. Заплатить другому, чтобы он нарисовал за вас.
3. Попробовать использовать готовые UI-киты.
Вопрос: Крик души. Что можно замутить на 1500$?

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

Худший ответ:
Как только осознаете разницу обычного ПК от серверного, так сразу всё встанет на свои места.
Для вашей задачи может и не требуется именно серверное железо.

p.s. С железом-то какие вопросы? У вас паромами тачки загоняют. Неужели нет ничего? Та же Турляндия рядом. Странно.
Вопрос: GIT-хостинг — удобный, простой, тупой — есть ли?

Лучший ответ:
Проблема: Нету времени разбираться с G
Если "дивелопир" не может осилить Git, то его время ничего не стоит.

Худший ответ:
https://git-scm.com/book/ru/v2
Github, GitLab, BitBucket если не сможете это освоить, в контроль версий вам еще рано играться.
И еще интересно, зачем вы ищете git хостинг, если не умеете пользоваться самим гитом? Почему git clone и git push для вас сложнее чем "выбрал папочку на странице и залил", и что именно в github нужно "остваивать"  чтобы выполнитьэти две команды?
Вопрос: Можно ли из одного очень мощного системного блока, сделать «несколько компьютеров»?

Лучший ответ:
для винды - оплачиваешь такую штучку https://www.ibik.ru/ru/ (или не оплачиваешь) и ок.
для линухи - гуглишь how-to

windows server предоставляет доступ по RDP это совершенно другое.

Худший ответ:
Тут
Вопрос: Как исправить ошибку при добавление записи в бд?

Лучший ответ:
protected $table_cuisines='cuisines';
это что?

Худший ответ:
protected $table_cuisines='cuisines';
это что?
Вопрос: Как уменьшить потребление ОЗУ Android Studio?

Лучший ответ:
Никак. Продукты джетбрейнс прожорливые.
Если так надо попрогать для андроида - используйте что то вроде VS Code. 
Как альтернатива - попробовать вкатить максимально легковесный linux (типа xubuntu какой нить)
А вообще 4гб - это уже слишком мало - щас браузер +операционка столько съедят легко.

Худший ответ:
Никак. Продукты джетбрейнс прожорливые.
Если так надо попрогать для андроида - используйте что то вроде VS Code. 
Как альтернатива - попробовать вкатить максимально легковесный linux (типа xubuntu какой нить)
А вообще 4гб - это уже слишком мало - щас браузер +операционка столько съедят легко.
Вопрос: Как вывести строку при определенном выборе?

Лучший ответ:
А как сделать проверку для case?
какую проверку?

Или возможен ли какой-то другой подход?
Вместо case можно использовать dictionary 

Худший ответ:
Вы делали всё правильно, только у вас choseDigit это число, поэтому кавычки не нужны. А метки case можно группировать:
switch (choseDigit) {
  case 1:
  case 2:
  case 12: Console.WriteLine("Зима");
  break;

   case 3:
   case 4:
   case 5: Console.WriteLine("Весна");
   break;

   case 6:
   case 7:
   case 8: Console.WriteLine("Лето");
   break;

   case 9:
   case 10:
   case 11: Console.WriteLine("осень");
   break;

   default: Console.WriteLine("Нет такого месяца");
   break;
}
Вопрос: Как сделать редирект конкретной страницы nginx?

Лучший ответ:
Конструкция if там лишняя. Достаточно одного rewriterewrite ^/reviews/$ https://www.mysite.ru/o-kompanii/otzyvy/? permanent;

Худший ответ:
Сделайте локейшен с более строгим совпадением. if действительно не нужен.
Вопрос: Не работает редирект с https на http, почему?

Лучший ответ:
Закончился ssl сертификат
Дело как раз в том, что он закончился. Браузер видит, что срок действия сертификата истёк и не даёт подключиться к сайту, вследствие чего редирект и не работает

Худший ответ:
Дело в том что соединение производится до того как сервер начнет отдавать реальный HTML и будут работать htaccess и т.д. Сервер по технологии SNI получает имя домена и не находит в своем хранилище нужный ключ/сертификат, и берет либо первый по списку, либо определенный по умолчанию и на нем создается соединение, после только этого соединения начнутся реальный обмен. Если вы согласитесь на использование такого соединения вы сразу же будите переброшены на http.
Это нужно для гугла, т.к. он наровит использовать https по любому поводу, и не проверяет действительность сертификата. Яндекс без надобности не будет сканировать https.
Поэтому, если в итоге идет переадресация, этого достаточно.
Вопрос: Как сделать выборку данных из Mysql и создать из них ассоциативный массив php?

Лучший ответ:
Если подумать за автора, то ему надо это$result= mysqli_query($conn, "SELECT value FROM _main WHERE variable = 'logo'");
$row = mysqli_fetch_assoc($result);
$logo = $row['value'];В ПДО действительно будет проще$logo = $pdo->query("SELECT value FROM _main WHERE variable = 'logo'")->fetchColumn();
Если нужен, как выясняется, словарь, где ключами являются значения колонки variable, то PDO без вариантов.$settings = $pdo->query("SELECT variable, value FROM _main")->fetchAll(PDO::FETCH_KEY_PAIR);
echo $settings['logo'];
даст нам вожделенную картинку, поскольку метод fetchAll() с модификатором PDO::FETCH_KEY_PAIR
 как раз и дает нам двумерный массив, где ключи - это содержимое перво....

Худший ответ:
//я делаю запрос в бд и выборку по столбцам с переменными и их значениями
"SELECT `variable`, `value` FROM `_main` limit 10 (или) 15";
//потом пытаюсь сделать из этого массив
Делай так (PHP 7)
$rows = mysql_fetch_all($result, MYSQLI_ASSOC); - все в массив
$neededRows = array_column($rows, 'value', 'variable'); // собираем массив - где значение - value, а . ключ - variable
Вопрос: Варианты повышения отказоустойчивости сервера на SSD nvme диске?

Лучший ответ:
Программный RAID попробуйте. Штатными средствами операционной системы.

Худший ответ:
пришёл к выводу, что raid на nvme ssd, скорее плохо чем хорошо в плане производительностиГрамотный вывод. Хотя это плохо не столько в плане производительности, сколько в плане скорости.

Решил, оставить всё крутится на одном nvme SSD диске, но как быть с отказоустойчивостью?А она вам реально нужна? Много пользователей, высокая цена простоя? Как правило небольшие сервера проще остановить на час и откатить из бэкапа, чем городить отказоустойчивость.  В таком случае - частые теневые копии, и частый бэкап.
Но если надо есть программный RAID, есть платы PCIe позволяющие делать RAID из двух NVMe дисков - тут уже сами думаете, что важнее отказоустойчивость или производительность.

Копии средствами windows делаются, на другой сервер, хочется иметь именно клон SSD диска "под рукой"Не совсем понятно чем отличается образ системного диска сделанного средствами Windows от клона SSD диска?
Вопрос: Счетчик на js по кликам?

Лучший ответ:
Находишь кнопку в коде и задаёшь  id (атрибут "id="твой любой id")
В js с помощью getElementById("твой id кнопки") добавляешь кнопку в переменную. Точно также делаешь с цифрой которая меняется. 
snippet

Пример (Updated):

 HTML:
<div id="counter">
<input type="button" id="buttonCountPlus" value="+">
<div id="buttonCountNumber">1</div>
<input type="button" id="buttonCountMinus" value="-">
</div>

<div id="calculation">150</div> // 150 просто число для наглядности вычисления
 JavaScript:
let calculate = document.getElementById("calculation");
let count = document.getElementById("buttonCountNumber");
calculation = document.getElementById("calculation").innerHTML;

document.getElementById("buttonCountPlus").onclick = function() {
  let countPlus = count.innerHTML;
  if(+countPlus <= 3){
    count.innerHTML++;
    let countPlus = count.innerHTML;
    calculate.innerHTML = calculations(countPlus) ;
  }
}

document.getElementById("buttonCountMinus").onclick = function() {
  let countMinus = count.innerHTML;
  if(+countMinus >= 2){
    count.innerHTML--;
    let countMinus = count.innerHTML;
    calculate.innerHTML = calculations(countMinus) ;
  }
}

calculations = (count) => {
  return calculation+` * ${count} = ` + (+count)*(+calculation);
}

Худший ответ:
Правильно так:
<input type="button" id="buttonCountPlus" value="+">
<input type="button" id="buttonCountMinus" value="-">
<div id="buttonCountNumber">1</div>
<input type="hidden" value="1" id="num" name="num">
let buttonCountPlus = document.getElementById("buttonCountPlus");
let buttonCountMinus = document.getElementById("buttonCountMinus");
let count = document.getElementById("buttonCountNumber");
let count2 = document.getElementById("num");
let number = 1;
let price = 350;

buttonCountPlus.onclick = function() {
    if (number <= 3) {
        number++;
        count.innerHTML = number;
        count2.value = number * price;
    }
};

buttonCountMinus.onclick = function() {
   if (number >= 2) {
       number--;
       count.innerHTML = number;
       count2.value = number * price;
    }
}:
Вопрос: Почему при составлении Логина выводит ошибку?

Лучший ответ:
Написано, что в $db у Вас не объект, а булевое значение - у которого, естественно, методов нет.

Худший ответ:
У вас нет соединения с базой данных. $db равен FALSE, что бывает в случае ошибки при попытке подключения к БД.
Вопрос: Как сделать чтоб картинка в блоке не растягивалась?

Лучший ответ:
object-fit:cover; /*для img*/

Худший ответ:
background-size: cover;Пример
Вопрос: Какой вариант лучше для игр i3-9100, или i3-9100F + GeForce GT 710 Silent LP?

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

Худший ответ:
Процессор бери amd из бюджетных, если есть видеокарта. 
Я взял себе 2700х, 16гб ОЗУ (3333), куллер, мать новую
Все вместе вышло около 30т. 
По итогу, фпс больше, чем у знакомого на пк с 5-ым интлом (один из новых), так же 16гб
Проц мне обошёлся в 10т на скидках к чёрной пятницы.
По поводу видеокарты. Во всяком случае лучше брать отдельно, подкопите. Я урвал 1050 ti с маинфермы за 6т до сих пор без нариканий работает (выбирал очень придирчиво и все проверял, она как обычная карта, которая не знала предельных нагрузок и температур).
Из вашей ситуации однозначно 2-ой вариант будет лучше. Можете посмотреть тесты - все встанет на свои места :)
Вопрос: Как подключить два роутера по одному кабелю WAN?

Лучший ответ:
нет, провайдер физическим лицам предоставляет только один ip-адрес, соответственно его можно повесить только на один WAN-интерфейс, в вашем случае второе устройство возможно подключить последовательно по IPoE, то есть кинуть шнурок из LAN-порта первого роутера в WAN-порт второго, будет две сети

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

Лучший ответ:
Я  начинал с Воркзиллы. Подписка там не дорогая: от 100 руб в месяц. Начать можно совсем с мелких заказов 300-500 руб. Отличный старт, чтобы набить руку и собрать первые отзывы. Можно Вконтакте искать в новостях по тегу #вебдизайнер, иногда бывает попадаются посты где людям нужны услуги подобного рода. Бывает, что и сами дизайнеры пишут пост у себя на стене с описанием своих услуг и ставят релевантные теги, чтобы любой также смог вас найти при необходимости. Чтобы наработать стартовое портфолио можно попробовать себя в конкурсах, на том же fl.ru это бесплатно. Удачи!

Худший ответ:
Бесплатный и простой способ - создать тему на различных форумах для вебмастеров и досках с объявлениями. На биржах фриланса конкуренция большая! Чтобы найти заказ, нужно быть опытным спецом и иметь хорошее портфолио, которое не стыдно показать заказчику. А еще на топовых фриланс биржах, где действительно есть много заказчиков, в основном сделан упор на платные услуги. Т.е. бесплатно вы сможете оставить коммент со своими услугами к объявлению заказчика в очень редких случаях и помимо вас будет еще 40-100 человек таких же как вы.))
Вопрос: Как связать две виртуальные машины в VirtualBox по протоколу NetBEUI?

Лучший ответ:
1. Правильно ли я проверяю доступность удаленной машины, просто пингуя её по имени компьютера? 
Нет. Прчем тут ping - программа, работающая на основе протокола icmp (для винды он относится к семейству TCP/IP - запретили, все его нет)2. На второй машине в настройках сети нету компонента "протокола NetBEUI", я так понимаю нужно его как то установить, а где взять?
Потенциально - в компонентах винды. Но протокол NetBIOS (он же NetBEUI) отсутствует по-моему начиная с Win7. Протокол очень старый, поддерживает только одноранговую сеть (то есть только тот сегмент сети, что до ближайшего роутера), какая-либо безопасность в нем в принципе отстутствует.
Непонятно, зачем в 2019 году он может понадобится.

Худший ответ:
Результата нет и не будет. 
1) Пинга нет и не будет. Это для протокола TCP
2) Компонента нет и не будет. ОС не поддерживает. Установить нельзя.
Вопрос: Как определить установлены ли на виртуальной машине DOS (в VirtualBox) драйвера сетевой карты?

Лучший ответ:
Просмотреть autoexec.bat и config.sys. Установка дров на сетевуху - это очень увлекательный и занимательный процесс, в ходе которого обычно вспоминаешь все матерные слова, которые знал с самого детства...
В DOS памяти очень мало. Поэтому, чтобы работала сетевуха и еще какие-то программы запускались, извращались, как могли. Что такое "верхняя" память - знаете? HIMEM.SYS - есть такая штука, драйвер "верхней" памяти. Без него - как без рук. И даже с ним - запустить TCP/IP под DOS (а других вариантов просто нет, ну не считая IPX, конечно, где тоже дэнс невероятный) - это просто адово терпение нужно, чтобы правильно так загрузить компоненты (а их вовсе не один, их штук пять), чтобы они сожрали как можно меньше памяти, чтобы потом хотя бы Волков Коммандер заработал :)Вот так, например

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

Лучший ответ:
Можно либо регулярками разделить (re.split()), либо заменить ":" на ";" а затем split как у тебя - получишь список, где все четные элементы - интересующие тебя цифры
Замена:teststr = 'elemen1:12345;element2:54321;element3:6789'
result_list = teststr.replace(':', ';').split(';')
print('Result:', result_list)Result: ['elemen1', '12345', 'element2', '54321', 'element3', '6789']
С помощью модуля re:import re

teststr = 'elemen1:12345;element2:54321;element3:6789'
result_list = re.split('[;:]', teststr)
print('Result:', result_list)Result: ['elemen1', '12345', 'element2', '54321', 'element3', '6789']
UPD: Если предполагается, что у тебя все цифры - положительные, то легко можно в результирующем списке оставить только цифры:teststr = 'elemen1:12345;element2:54321;element3:6789'
result_list = [elem for elem in teststr.replace(':', ';').split(';') if elem.isdigit()]
print(result_list)
['12345', '54321', '6789']
Если цифры могут быть и отрицательными, то тоже легко но по другому)))

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

Лучший ответ:
Вы все правильно нарисовали (можно конечно упростить схему и использовать VLAN). Теперь надо просто взять и настроить.
 - выдернуть е1,е2,е3 из бриджа
 - назначить на е1,е2,е3 IP адреса ( по вашей схеме)
 - настроить маскарад (NAT) на е1 и HW100
 - настроить правила forward на МИК
 - добавить маршрут на МИК - все гнать на 10.18.200.1

И поехали. Получится двойной НАТ, но что делать) 

Если есть список маршрутов для которых надо применять эту железку, то я бы разрулил трафик на микротике, добавив нужные маршруты в сторону HW100, а все остальное пустил бы напрямую.

Можно попробовать повыдергивать сети из whois если есть весь список сайтов.

Худший ответ:
криптомаршрутизатор VipNet Coordinator HW100
Никак не могу взять в толк - зачем оно вообще нужно здесь?  Все спокойно микротиками реализовывается, в том числе шифрование трафика.
Вопрос: Есть ли альтернативный подход для верстки?

Лучший ответ:
Есть какие-любо предложения? Неужели в 2019 году люди продолжают верстать вручную?Я конечно могу ошибаться, но насколько мне известно - на данный момент всё ещё продолжают. Относительно недавно (месяца 2-3 назад, приблизительно) сталкивался с подобным вопросом и... могу сказать, что "абсолютное позиционирование элементов на странице" - это не ключевая проблема. В том смысле, что какой-то софт эту проблему решать уже научился (какой именно - сейчас точно не вспомню, под "тест" попало всё, что уадалось найти в интернете, включая различные онлайн-сервисы). Основная проблема, как я уже говорил сместилась в с "абсолютного позиционирования" в сторону г-о кода, все образцы в той или иной мере обильно гадили в конечный код.
Есть много разных вариантов, облегчающих жизнь в целом, которые Вам наверняка известны не хуже чем мне, такие как препроцессоры, подготовка различных шаблонов, сборщики и т.д. но, того, чего Вы хотите, боюсь пока ещё не придумали и судя по всему придумывать не спешат. В мои руки (для анализа) попадал даже код с шильдиком "создано с помощью нейросети", который не многим лучше чем то, что генерирует среднестатистическая программа аналогичного направления.
Думается мне, когда что-то сможет генерировать код очень близкий к чистовому, достойного качества - профессия верстальщика начнёт становится частью истории, как когда-то профессия, ну скажем, кучера.
P.S. не застал табличную верстку, а может быть оно и к лучшемуЯ застал времена, когда CSS ещё не придумали :)

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

Лучший ответ:
Потому что у вас в БД уже есть запись с первичным ключом 1. Проблема не в PostgreSQL и не в preparedStatement.

Худший ответ:
Лишь дополню ответ Сергея Горностаева
Попробуйте вот в этой строке задать другой id
preparedStatement.setInt(1, 1);
У вас нарушение уникальности primary key и соответственно, нужно указать другой идентификатор отличный от 1
Вопрос: Что лучше, отдельно учить sql и потом его применять для python или сразу с его использованием?

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

Худший ответ:
Разницы нету.
Делай, как тебе удобнее.
Вопрос: Почему «идентификатор не определён»?

Лучший ответ:
1. Вытащи p, p1, p2 наружу из if. Читай «область видимости».

2. Я бы сделал так…
Work* p = NULL;
if () {
  p = new Work();
}
delete p;
Работает, потому что NULL можно спокойно уничтожать, и ничего не будет.

На Си++11 можно также использовать умные указатели.
std::unique_ptr<Work> p;
if () {
  p = std::make_unique<Work>();  // простите, это Си++14, на 11 чуть не так.
}

Худший ответ:
Потому что p, p1 и p2 -- локальные для блока if (flak == 0), и за его пределами не существуют.
См.
Вопрос: С чего начать изучение JavaScript при знание HTML и CSS?

Лучший ответ:
mdn - обязательно. В основном как справочник. Он постепенно обрастает учебными материалами, и все больше смахивает на учебник, но все еще далек от того, чтобы пользоваться им как единственным источником знаний.
learn.javascript.ru - да, с него стоит начать. У него тоже некоторые темы плохо раскрыты, но в комбинации с mdn вы получите ответы на 95% всех вопросов.

Худший ответ:
learn.javascript.ru
Потому, что фиолетовый!
Вопрос: Как спарсить сайт на python, если возникает ошибка ConnectionError?

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

Худший ответ:
Какой нибудь User-Agent для начала подставьте, на других сайтах нет ошибки?
Вопрос: Как правильно обновить vmware. сначала esxi потом vsphere или наоборот?

Лучший ответ:
ESXi это и есть vSphere, а точнее один из компонентов — VMware vSphere Hypervisor (ESXi). Предположу, что вы имели ввиду VMware vCenter Server.
При обновлении смотрите таблицу совместимости и следите за тем, чтобы версии всех используемых компонентов были совместимы между собой. В вашем случае сначала обновляете vCenter не выше версии 6.0.0 U2 (последняя с поддержкой ESXi 5.0), затем подтягиваете версии ESXi. Потом повторяете процесс до нужной вам версии. А ещё версия 5.0 вышла в 2011 году и если сервер с ней такой же старый, то перед обновлением рекомендую проверить совместимость железа.

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

Лучший ответ:
Вы можете подставлять аргументы?
Если да то постройте график, и посмотрите на какую функцию он похож

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

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

Худший ответ:
Создайте триггер для таблицы inventory который будет обновлять нужные поля.