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

Лучший ответ:
Git + Github / Bitbucket и будет вам счастья. 
Только посмотрите что нужно добавить в .gitignore файл.

Худший ответ:
Присоединюсь ко всем, упомянувшим про git. 
Кроме того, лучше сначала рисовать графику, а потом разработчик уже реализует вместе с готовой графикой.
Вопрос: Двухуровневое меню с pdoMenu и его стилизация — MODX REVO?

Лучший ответ:
[[pdoMenu?
&parents=`0`
&level=`2`
]]
https://docs.modx.pro/components/pdotools/snippets...
там есть пункты параметры шаблонов и параметры классов, вот с ними в основном и нужно работать

Худший ответ:
Примерно так, если еще актуально)<nav class="ver_menu">
[[pdoMenu? 
 &level=`2` 
 &parents=`0`
 &firstClass=``
 &lastClass=``
 &outerClass=`first_level`
 &tplOuter=`@INLINE <ol [[+classes]]>[[+wrapper]]</ol>` 
 &tplInner=`@INLINE <ul class="class="second_level"">[[+wrapper]]</ul>`
 &tplParentRow=`@INLINE <li [[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
]]
</nav>
А так хоть 30 уровневое можно создать, подробнее здесь.
Вопрос: Публикация сайта на зарубеж?

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

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

Лучший ответ:
У нас в Toptal есть несколько этапов (пиcал про это тут https://toster.ru/answer?answer_id=492571). 
Есть алгоритмика - можно побаловаться на https://codility.com/programmers/lessons/
Есть прочие вопросы - можно для С# тут посмотреть https://www.toptal.com/resources
Также даем тестовый проект. Для веб разработчиков - обычно накидать небольшое SPA приложение (без перезагрузок страницы) по редактированию каких-нибудь сущностей, списка (в общем CRUD) на базе RESTful сервисов с логином и регистрацией пользователей. Довольно типичная задача.

Худший ответ:
eax.me/programming-language-learning - посмотрите на этот список
Вопрос: Удаляет не все элементы из TODO List приложения на андроид?

Лучший ответ:
for (int i = 0; i < listCheckBoxChecked.size(); i++) {
            if (listCheckBoxChecked.get(i)) {
                listTasks.remove(i);
                listDate.remove(i);
                listCheckBoxChecked.remove(i);
            }
        }
Здесь ошибка. Удалять всегда нужно с конца. Иначе ты пропускаешь элементы.

Худший ответ:
public void removeSelected () {
        for (int i = 0; i < listCheckBoxChecked.size(); i++) {
            if (listCheckBoxChecked.get(i)) {
                listTasks.remove(i);
                listDate.remove(i);
                listCheckBoxChecked.remove(i);
            }
        }
        notifyDataSetChanged();
    }
Вот мне в упор не нравится этот метод. Смотри, у тебя список 1 2 3. Ты удаляешь элемент по индексу [0], получаешь список 23. Следующим ты удаляешь элемент по индексу [1] - получаешь список из числа 2. Теперь i = 2, size =1 -> выход из цикла
Вопрос: Как майнить на VPS?

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

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

Лучший ответ:
А в чём проблема была посмотреть, как это на t.me сделано?<a href="tg://resolve?domain=username">username</a>

Худший ответ:
Вот такой вариант не подойдёт? https://telegram.me/ВашеИмяПользователя
Вопрос: Почему средняя длина английского слова меньше, чем русского?

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

Худший ответ:
"Русский мат это язык боевого управления и часть военной культуры России." Тут
Вопрос: На что заменить SMB ( Samba ) шары в сети?

Лучший ответ:
уязвимость имел протокол smb v1. 
Достаточно поставить все критические апдейты и/или отключить вручную smb v1, оставив smb v2 и smb v3. 
Это можно сделать, набрав в гугле запрос "как отключить *клик по предложенному варианту запроса* " и выбрав инструкцию по вкусу, например вот и вот

Худший ответ:
Просто обновите систему.
Вопрос: Какова производительность angular 1.5 с es6+babel в веб-приложении?

Лучший ответ:
Разница между es6-to-es5 (ведь в любом случае транспайлинг будет, ввиду ограниченной поддержки es6 на текущий момент) vs es5 по производительности будет ничтожной, по сравнению с тем, если допустить архитектурную ошибку в приложении.
Я бы не парился по этому поводу воооооообще.

Худший ответ:
Так babel переписывает весь код из ES6 в ES5, разве нет? Если и есть смысл писать на es6+babel, то только для того, чтоб потом, когда браузеры полноценно будут поддерживать ES6, можно было бы не использовать babel.
Вопрос: Как поставить шорткат в Google Chrome на функцию дублирование вкладки?

Лучший ответ:
Установить расширение для браузера Google Chrome: Vimium C - All by Keyboard
И сочетанием клавиш yt с английской раскладки клавиатуры дублировать вкладку.



Колёсиком по кнопке обновить

Купить PowerMate и выставить два шортката на нажатие кнопки в Google Chrome
После чего при первом нажатии на кнопку будет выделятся адресная строка браузера при втором будет происходить дублирование вкладки.

Худший ответ:
Alt+D затем Alt+Enter
Вопрос: Как избежать прокрастинации с утра?

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

Худший ответ:
Вы все не о том парни. Как и в любом деле (баги в софте, авторемонт, медицина) - тут главное правильный диагноз - причина прокрастинации.
У вас возможно что вы заняты не своим делом, на которое у вас это... ну вобщем не подымается. Ищите что то другое в жизни вместо того что бы заставлять себя делать то, что вы сейчас считаете нужным.
Я поборол прокрастинацию самодиагностировав у себя чрезмерный перфекционизм. У меня были блоки от того что я полагал что не смогу сделать шедевр. Даже в случае когда (в подавляющем большинстве случаев) от меня это не требовали. Излечился убеждая себя:что я не лучше другихот меня ждут результат не на 5+ а на 4-ку, но сегодняIt-хак - сначала делаю версию 1.0, потом по мере надобности допилим
Вопрос: Не устанавливает apache на kubuntu. Как исправить ошибку?

Лучший ответ:
sudo apt-get purge skypeforlinux
Ставим apache, а уже потом разбираемся со скайпом.

Худший ответ:
обнови репозитории и поставь апач 2.4
Вопрос: Как заменить картинку, одну на другую?

Лучший ответ:
dollar показал один и вариантов (не лучший).
Вот еще один (тоже хреновый)<img src="https://loremflickr.com/g/200/200/carnaval"
     style="display:none"
     onload="this.style.display='inline-block'"
>
И еще один, применяемый повсеместно, лучший на мой взгляд (плюс одно решение будет работать для любых элементов)<html id="no-js" lang="en">
<head>
  <script>document.documentElement.id = 'js'</script>
  <style>#no-js .no-js-hidden { display: none !important; }</style>
  ...
</head>
<body>
...
<img class="no-js-hidden" src="https://loremflickr.com/g/200/200/carnaval">
...
Плюс вы можете использовать в ваших стилях селекторы #no-js и #js для разделения по принципу наличия включенного javascript

Худший ответ:
Если я вас правильно понял, то примерно так:<div>
  <script>
    document.write('<img src="https://loremflickr.com/g/200/200/carnaval">');
  </script>
  <noscript>
    <img src="https://loremflickr.com/g/200/200/cat">
  </noscript>
</div>
Вопрос: Как в bitrix news вывести название раздела?

Лучший ответ:
можно как-то без костылей
Нет, придется поработать ручками.
Можете воспользоваться методом CIBlockSection::GetMixedList. Подробнее здесь: https://dev.1c-bitrix.ru/api_help/iblock/classes/c...

Худший ответ:
Как вариант с минимумом "костылей" - положите в news.php вместо компонента bitrix:news.list компонент bitrix:catalog.sections.top и скорректируйте его шаблон.
Вопрос: Не зазорен ли поиск ответов в Google на работе?

Лучший ответ:
Зазорно не учиться и не искать знания.

Худший ответ:
Не зазорно.
Подобный вопрос я начал задавать школьным учителям ещё в 9 классе. Особенно учительнице по физике. Хоть я и дружу с техникой на уровне паяльника, но сейчас не помню ни одной формулы. Зачем? Есть учебник, есть конспекты, есть шпоры, есть Гугл. Зачем помнить то, что крайне легко можно найти?
В плане программирования. Я помню очень много функций, помню их синтаксис и так далее... НО. Я ими пользуюсь чуть ли не каждый день, вот они и засели в голове. Хотя есть много функций о которых я что-то знаю, но не помню точно. В таком случае 5 минут в гугле полностью вернут мне понимание.
Например, я пишу свой движок для сайтов, подключение к базе данных прописывается только 1 раз за весь процесс. Зачем мне помнить в деталях этот процесс? Я лучше загуглю. При этом я детально помню все функции и особенности по работе с этой базой, так как эти моменты нужны по много раз за день.
Возьмём JS, лично я в 90% случаев использую его для добавления/удаления классов у элементов, для анимаций, для проверки состояния и прочей простой ерунды. Остальные 10% случаев это отправка данных из форм, получение html от другой страницы или другого сайта, их я не помню, но нагугливаю за пару минут.
В моём понимании может быть стыдно гуглить "как получить html от другой страницы js jquery", но запрос "jquery load" никаких даже мыслей о стыде не должен вызывать. Невозможно помнить всё. Да и нет в этом никакого смысла. Вы хотите быть человеком-энциклопедией? Я бы не отказался от такой суперспособности, но самостоятельно её приобретать не хочу, лучше займусь чем-то более полезным.
Уверяю вас, даже врачи постоянно лазят в справочники, чтобы получить там информацию о симптомах, болезни и о методах лечения. Кстати, на моей практике, молодые врачи часто игнорируют справочники, а старые наоборот часто ими пользуются.
Ну и ещё одно подтверждение. Я обожаю ковыряться в компьютерном железе. Сходу могу подобрать комплектующие под потребности и цены. Знаю тысячи особенностей разных платформ. Но, я помню лишь основные моменты. Например, Pentium 3 выпускались под 370 сокет, работали с памятью SDRAM и нужно внимательно выбирать материнку, так старые материнки могут не дружить с последними моделями третьих пней. И так про все платформы начиная с Pentium 1. При этом я даже под страхом расстрела не вспомню сколько у какого процессора транзисторов, на каком он техпроцессе... А зачем? В жизни это обычно не надо, а если вдруг понадобится, то есть гугл, который быстро мне скажет "количество транзисторов Pentium 3"
Вопрос: Как отследить слэш в url?

Лучший ответ:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
или вот такRewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

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

Лучший ответ:
https://github.com/watching - наблюдаемые
https://github.com/%USERNAME%?tab=stars - звездочки

Худший ответ:
Вкладка Stars в странице аккаунта
https://github.com/FreeArcher?tab=stars
Вопрос: Верстка — reset.css и normalize.css. А можно ли использовать и то, и другое сразу? Сначала reset.css подключить, а потом normilize.css?

Лучший ответ:
Зачем? У этих инструментов разное предназначение. reset.css обнуляет (сбрасывает) дефолтные стили различных браузеров, а normalize.css старается максимально сгладить между ними различия (привести их к единообразному виду). Использовать и то, и другое - несомненно плохая практика.

Худший ответ:
Да, можно.
Вопрос: Как задаются параметры тени в Material Design?

Лучший ответ:
Ловите ответ, я старался :)
1dp
box-shadow: 0 0 2px 0 rgba(0,0,0,0.14), 0 2px 2px 0 rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20);
2dp
box-shadow: 0 2px 4px 0 rgba(0,0,0,0.14), 0 3px 4px 0 rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.20);
4dp
box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px 0 rgba(0,0,0,0.20);
6dp
box-shadow: 0 6px 10px 0 rgba(0,0,0,0.14), 0 1px 18px 0 rgba(0,0,0,0.12), 0 3px 5px 0 rgba(0,0,0,0.20);
8dp
box-shadow: 0 8px 10px 1px rgba(0,0,0,0.14), 0 3px 14px 3px rgba(0,0,0,0.12), 0 4px 5px 0 rgba(0,0,0,0.20);
16dp
box-shadow: 0 16px 24px 2px rgba(0,0,0,0.14), 0 6px 30px 5px rgba(0,0,0,0.12), 0 8px 10px 0 rgba(0,0,0,0.20);
Для графических пакетов качаем Kit и берем оттуда тени.

Худший ответ:
Дык там же в гайде подробно описано, как раз для разных графпакетов. Вот например раздел о тенях в люстре:
https://material.io/guidelines/resources/shadows.h...
и даже шаблончики дают скачать
Вопрос: Ошибка при запуске telegram-бота на python. Как решить?

Лучший ответ:
Как тут уже писал Pavel Denisov, проблема в блокировке telegram на территории РФ. Можешь попробовать использовать   VPS в зарубежном ЦОД. Я, для того чтобы поиграться с telegram bot API, использовал платформу openshift (https://www.openshift.com/), там есть вариант бесплатного использования. Как "спрятать" токен в переменную окружения при использовании openshit можно прочитать здесь: Как скрыть токен телеграм бота при открытом репозитории на github и хостинге на openshift?

Худший ответ:
Обновите Питон до 3.6
Вопрос: Как настроить интернет на Debian?

Лучший ответ:
auto eth0 наверх 
закоментируй allow-hotplug/etc/init.d/networking restart

Худший ответ:
# ifconfig eth0 up ?
а какая версия Debian ?
Вопрос: Как массово переименовать html файлы по содержимому тегов?

Лучший ответ:
Проще всего написать такой скрипт на C#, php.
Если прогать не умеете, можно использовать какой-нибудь ZennoPoster.
Но там тоже придется написать пару регулярок, хотя для не программиста это будет сильно проще, чем писать на чистом языке программирования.

Худший ответ:
#!/usr/bin/env bash
for f in *.html;
do
   title=$( grep -oP '(?<=).*(?=<\/title>)' "$f" )
   mv -i "$f" "${title//[^a-zA-Z0-9\._\- ]}".html   
done
для виндовс:
www.den4b.com/products/renamer
Вопрос: Как получить индексы такого массива?

Лучший ответ:
Вариант 1: array_key 
Вернет все ключи
Вариант 2: итерация через foreach
Вариант 3: key()
Выбирайте любой :)

Худший ответ:
foreach($discounts as $key => $value) {
    echo $key;
}
$key  - индекс, $value - значение
Вопрос: Почему не работает Hover?

Лучший ответ:
border-bottom у меню есть, просто он не влез в блок

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

Лучший ответ:
Ну так а локальная сеть у вас в какой подсети? то-же 10.0.0.0/24 ?
Если нет то маршруты прописать на клиенте и дело в шляпе, ну и у клиентов локалки прописать vpn сервер как шлюз для vpn сети - если vpn сервер не является шлюзом по умолчанию :)

Худший ответ:

Скрин
Вопрос: Как загрузить множество изображений в запись(пост)?

Лучший ответ:
Недавно отвечал на похожий вопрос: https://toster.ru/answer?answer_id=814248
Нужно использовать плагин PODS и кастомное поле для загрузки изображений. В ответе есть код вывода множества изображений. Код легко адаптировать под любой слайдер.
В интерфейсе администратора добавление/редактирование фотографий будет выглядеть следующим образом:
Рекомендую вам изучить плагин PODS, будет очень полезен в работе с WordPress.

Худший ответ:
Множественная загрузка изображений поддерживает wordpress по умолчанию нажав на кнопку добавить Медиафайл. 
Для вставки в запись (страницу) сразу нескольких изображений при открытом окне медиафайлов нажимайте на изображения с ударжанной клавишей SHIFt, будут появляться галочки, после нажимайте кнопку Вставить в запись
Вопрос: Админка на сайте — отдельный раздел сайта (об url которого никто не знает) или просто дополнительные возможности у пользователя с админскими правами?

Лучший ответ:
Раздел, про который все знают, но доступ только у пользователя с админскими правами.
И дополнительные кнопочки на страницах для пользователей с правами редактирования (админ, модератор, автор материала).

Худший ответ:
Только отдельный раздел, за "доп возможности" нужно руки отрывать, потому что потом хрен что отыщешь. Насчет "никто не знает" этот раздел, это в ооооочень редких системах бывает, либо делается самостоятельно, а так все эти разделы давно всем известны, типа /wp-admin/, /manager/, /administrator/
Вопрос: Прозрачный свитч с фаерволом. Как реализовать?

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

Худший ответ:
а что мешает все это реализовать на роутере? для максимальной гибкости возьмите или микротик или опенврт
Вопрос: Как логичнее установить Linux на SDD + HDD параллельно с Windows?

Лучший ответ:
Как логичнее установить Linux на SDD + HDD параллельно с Windows?На HDD.
Поясню - 120гб это мало,  Для одной системы этого вполне хватает но и только.
Например 120гб хватит под винду в офисном режиме- сама винда и программы около 40гб, файлы пользователя не больше 10гб, и подкачка с гибернацией и теневыми копиями еще могут 10-30 оттяпать. В итоге на диске остается 50-30гб свободного места, что в принципе нормально.
Если пользователь будет не файлы в экселе набирать по 10килобайт, а работать в фотошопе с файлами по 100-300мегабайт, то уже диск не пойдет, места будет недостаточно.
Оттяпать под другую систему тоже не получится, даже чисто в офисном режиме работы, ну разве что не больше 10гигабайт.

Худший ответ:
UEFI или legacy? GPT или MBR? Плясать нужно отсюда. 
Если legacy+MBR, то проблем возникнуть с Win не должно. Разбиваете SSD под Win - один раздел, другой раздел под загрузчик Win. Также можно два/три под Manjaro: один под / и второй под home - желательно. В таком случае при переустановке вы сохраните свои данные и настройки в home. Третий раздел под swap - если нужен. Если ОП больше 4 Гб и вы не компилируете ПО часами, то тогда swap ненужен.
С UEFI нужен будет раздел в ~400 Мб под boot/efi - все загружаться будет отсюда.
Музыку и все остальные данные можно хранить на HDD как отдельный НЕ Linux-овый раздел. Просто создайте на HDD раздел c какой-то HTFS, чтобы иметь доступ с Win и Lin. В Manjaro примонтируете его как обычный раздел.
У меня тоже SSD+HDD, но без Windows и UEFI+GPT. Диски разбиты следующим образом://SSD
Device         Start       End  Sectors  Size Type
/dev/sdb1       2048    780287   778240  380M EFI System - загрузчик boot/efi для UEFI
/dev/sdb2     780288  63694847 62914560   30G Linux filesystem - корень openSUSE
/dev/sdb3   63694848 105637887 41943040   20G Linux filesystem - home openSUSE
/dev/sdb4  105637888 168552447 62914560   30G Linux filesystem - корень Debian 10
/dev/sdb5  168552448 207613951 39061504 18,6G Linux filesystem - home Debian 10

// HDD

Device         Start       End   Sectors   Size Type
/dev/sda1       2048 164194303 164192256  78,3G Linux filesystem - раздел с backup-ом
/dev/sda5  164194304 993224703 829030400 395,3G Linux filesystem - раздел с данными с ФС ext4, т.к у меня нет Win
Вопрос: Есть ли бесплатный скрипт такого слайдера карусели?

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

Худший ответ:
Значит, плохо старался . Слик идеально подойдет. Для центрального блока можно дать зум и марджины
Вопрос: Как вызвать 404 ошибку php?

Лучший ответ:
В помощь Вам http-response-code(404) клац
писать до  любого вывода

Худший ответ:
Ставьте error_reporting(-1); в начале кода и смотрите что не так.
Скорее всего перед header() был вывод данных.
А может вы что-то не так поняли? Ваш код всего-лишь объявляет, что данная страница - страница ошибки. Чтобы именно вызвать 404 попробуйте exit(header('Location: /error404/'));
Вопрос: Почему не работает javascript?

Лучший ответ:
Существует ли элемент .price-table__select на момент выполнения скрипта?
Если сделать вот так?$(document).ready(function () {
$(".price-table__select").click(function() {
        alert(1);
        gtag('event', 'Клик', { 'event_category': "Калькулятор цены", 'event_label': document.location.href });
    });
});

Худший ответ:
проблема во vue. вы вешаете обработчик на элемент, затем ниже по коду инициализируется вью и этот элемент пересоздает. в результате обработчик привязан к несуществующему элементу. как выход, можно попробовать повесить обработчик в хуке mounted:mounted() {
  $(".price-table__select").click(function() {
    alert(1);
    gtag('event', 'Клик', { 'event_category': "Калькулятор цены", 'event_label': document.location.href });
  });
}
Вопрос: По какому принципу работает такая Captcha?

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

Худший ответ:
Ну гугловская капча без доп проверки пропустит если 
а) недавно ты уже проходил несколько раз успешно капчу
б) активно пользуешься сервисами гугла
+ еще 100500 алгоритмов и анализа. 
Аналогично с капчей на Али, вероятно там в основе всего идет анализ движения мыши во время свайпа.
Вопрос: Нейросеть в jupyter notebook?

Лучший ответ:
Можно

Худший ответ:
Как сказал Александр, работа в браузерном IDE ничем не отличается от работы в клиентском, или простом редакторе. Я пишу в ST(Sublime Text), мне так удобно.  Кто-то пишет в PyCharm, кто-то в Eclipse, а кому-то предпочтительней в джини(некоторые вообще пишут в gedit). 
Важен код, а редактор на ваш вкус.
Вопрос: Как создать бэкенд для хранентя фото отправленных со смартфона?

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

Худший ответ:
1) Язык - тот, что лично ты лучше знаешь. С вашим опытом я бы использовал на сервере Java. С моим опытом я бы использовал на сервере Go. Учить специально под backend язык PHP, если после нет целей заниматься обычной веб-разработкой - нет никакого смысла.
2) HTTP (для JSON API). СУБД (для хранения информации о пользователях и об именах файлов и о комментариях). Умение запустить backend в виде daemon для постоянной работы (тут вполне можно обойтись каким нибудь systemd)
3) MySQL вовсе не обязателен для этой задачи. Вообще не вижу преимуществ реляционной (к которым относится MySQL) СУБД под нее. Я бы обошелся примитивной key-value. Там изучать почти-то нечего. "Или туториалы где подобные бэкенды делаются." тут разве что что то вроде "как написать JSON API на языке X"