pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как hash_password с солью по умолчанию стал самым лучшим способом хеширования?

Лучший ответ: хэши вообще не расшифровываются. это раз.
соль рандомная, что делает бессмысленным подбор по заранее подготовленным таблицам. это два.
в вопросе какие–то дикие фантазии. это три.
https://ideone.com/2UZmjk

Худший ответ: hash_password использует bcrypt по умолчанию. bcrypt - вполне себе надёжный способ. 
"Недавно" вышёл ещё более надёжный - argon2, который выиграл PHC в 2015 году, и более надёжного ещё не придумали.
В интернетах куча информации на эту тему, например:
- https://password-hashing.net/
- https://medium.com/@mpreziuso/password-hashing-pbk...
- https://crypto.stackexchange.com/questions/30785/p...
- https://security.stackexchange.com/questions/19335...
- https://security.stackexchange.com/questions/13972...
Сколько нужно времени, чтобы крякнуть argon2, я не нашёл.
Вопрос: Как создать высококачественную gif-анимацию?

Лучший ответ: из видео в гиф никогда не будет высокого качества, потому что формат gif вообще не для этого создавался. Хотя бы потому, что палитра всего лишь 256 цветов. Изначально анимированный gif - это мультик, нарисованный покадрово, с небольшим количеством цветов. Вот эту гифку я делал в 2001 году по мотивам игры Paratrooper,  её размер 10179 байт (для сравнения на тему "овер +++ размера").

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

Протестировав несколько ПО для десктопа и множество онлайн сервисов, пришел к выводу, что наилучшая связка:
1. Конвертеруем видео в гиф: convertio.co
2. При необходимости правим в Photoshop
3. Оптимизируем результат ezgif.com

Практика показала, что результат наилучший.
Вопрос: Многопоточность в php?

Лучший ответ: Лучше это: https://github.com/amphp/parallel

Оно стабильней и лучше дебажится.

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

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

Лучший ответ: Про /home выше написали. Можешь представить что это диск D:/ в windows который не надо форматировать при переустановке системы.
Для swap отдельный раздел делать не нужно, его можно и как файл создать опять же почти как в windows.
Желательно сделать отдельный /boot раздел. Особенно если у тебя комп с efi\uefi.

Итого:
/boot на гигабайт будет за глаза. Так много на случай если у тебя дистрибутив вдруг бэкапит все ядра при обновлении.
/ гигабайтна 30
/home все остальное.
К слову создавать своп, хоть разделом хоть файлом не имеет смысл больше половины объема ОЗУ. Исключения конечно если объем ОЗУ меньше 2гб.

Худший ответ: Сильно зависит от целей и задач целевой системы, от того что на ней будет использоваться.
- Если будешь делать мультибут (несколько ОС linux для поиграться), можно/нужно выделить отдельный раздел /boot.
- Если будешь использовать в домашних условиях (поиграться, фильмы посмотреть) - отводи максимум места на /home
- Если будешь юзать кучу разного софта, нужно предусмотреть /opt и /usr
- Если будет сервер БД, то всё свободное место на /var.

Если чисто установить на неделю "пощупать" - можно всё выделить на корень и всё.

Доп.мнение: если ОЗУ хватает, на swap можно не заморачиваться.
Доп.мнение2: я почти всё свободное пространство выделяю в отдельную папку /WorkFolder, а потом делаю симлинки в нужных местах
Вопрос: Сколько врмени должно занимать получение частоты слов из большого файла?

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

В конце концов, если ресурсы позволяют, можно прочитать весь файл в какой-нибудь структуру типа словаря и получать частоту вхождения слова за O(1) или O(log n) в зависимости от того, какую струтуру вы выбрали. Тут время будет тратится на чтения файла и создание структуры данных, но один раз.

Худший ответ: 6 минут (или меньше) - для получения полной частотной статы по всем словам за один проход.
Ещё быстрее: можно читать файл в несколько потоков, а разрывы - склеить по ориентиру байт-смещения.
Вопрос: Почему $_POST не удаляется после обновления страницы?

Лучший ответ: Как очистить $_POST после загрузки страницы?
https://yandex.ru/search/?text=очистка%20post

Худший ответ: Как очистить $_POST после загрузки страницы?
https://yandex.ru/search/?text=очистка%20post
Вопрос: Почему не работает preg_replace в другой версии PHP?

Лучший ответ: <?php
$str = '12$34%56';
var_dump(preg_replace('~[^-a-z0-9_]+~u', '-', $str));
// 7.1.0: string(8) "12-34-56"
// 7.2.4: string(8) "12-34-56"
// 7.3.5: string(8) "12-34-56"
// 7.4.7: string(8) "12-34-56"
Где-то не там копаете, не в версии PHP дело.

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

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

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

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

Худший ответ: Для организации виртуальной памяти.
Вопрос: Нужно ли оформлять фрилансеру в Беларуси ИП, Самозанятость, и что лучше для дизайнера?

Лучший ответ: Можешь например начать искать заказы на https://freelance.habr.com/ , хорошо бы выложить какие-то работы в портфолио, чтобы заказчики знаю что выбирают. Если ошибаюсь, заводить ИП нет никакой необходимости. Из своей практики ИП мне было не нужно, если компания или человек хотят заключить официальный договор, то можно это сделать по ГПД (только обязательно условиться кто будет платить налог).

Худший ответ: Фрилансеру в Беларуси: открыть р/с(в банке с минимальным процентом перевода на карту), завести карту, оформить ИП на УСН (налог с выручки), не забывать ФСЗН(хорошо где нибудь работать сутки через трое парралельно, хоть за еду, что бы платили фсзн). Про ино заказы и биржи - забыть. Вся выручка в белках на р/с от юриков(иначе кассовый аппарат в плечи). Есть и другие варианты, но это уже самостоятельно.
Искренне - Удачи!
Вопрос: Как следить за памятью самостоятельно?

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

Если просто душа просит другого - то вам нажен другой язык. И соответственно это будет не веб (разве что через WASI но это не точно)

Но, что если программист сам хочет принимать решения, и следить за памятью
Такого программиста надо отправить в хардкорную embedded разработку и он будет там счастлив, считая байты и подчищая регистры. А если будет оттуда выбираться и пытаться следить за памятью самостоятельно там где есть проверенные встроенные механизмы (GC, ARC и прочее) надо отбирать клавиатуру.

Худший ответ: Над этим задумывались игроделы, потому, что GC периодически фризит процесс. И единственный способ этого избежать, не терять ссылки на объекты. Естественно все используемые объекты при этом должны переиспользоваться и нужно писать свой аллокатор, который повторно использует объекты не меняя имён и типов в них. И естественно, что стандартный контруктор не может быть использован для их повторной инициализации. С массивами чисел всё довольно просто, просто берём код malloc из emscripten и получаем начальный индекс в глобальном массиве и функциям передаём длину отрезка как в Си. С массивами объектов сложнее, ведь важно, чтобы оптимизатор, заранее знал тип объекта в массиве.
Как это называется? Мазохизм!
Вопрос: Почему функция не видит public переменную из другого класса?

Лучший ответ: Философы древности собирали своих учеников и беседовали, позволяя им задавать вопросы и тем приобретать мудрость.
Но С++ учится не так.

Худший ответ: mWindow определён в классе Window, а обращаются к нему в другом классе Camera, в котором члена mWindow нет. Как компилятор узнает о связи между классами Camera и Window, чтобы один использовал члены другого?
Можно обратиться к нему в том случае, если Camera будет наследником Window (но в данной ситуации это скорее всего не нужно), или в Camera будет член типа Window или указатель на него (Window* _window) тогда _window->mWindow будет допустимо.
Вопрос: Инъекция sql, по Вашему мнению лучшая защита?

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

Худший ответ: Не генерировать SQL конкатенацией строк, а использовать параметризованные запросы, например.
Вопрос: Как исправить после первого этапа установки wiindows xp нет загрузки?

Лучший ответ: Фамилия ноута?
Год выпуска ноута?
С какой ОС он продавался?
Какой режим HDD в БИОСе?
Не нужно ли подбрасывать с флэшки или флопика ему драйвера контроллера HDD?
XP ставил так давно последний раз... Лет 5 по крайней мере не возникало в ней потребности. Зачем оно вам? Если ноут не тянет 7-ку при установленных SSD и 4Г памяти - в мусорку такой ноут.

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

Лучший ответ: Подходите к решению проще и спокойно.

Допустим у нас была система на Django (Python) - огромная система с кучей всего. Мы прикинули и поняли, что разбивка монолита на микросервисы не обязательно должна быть "глобальной и сложной". Можно поделить монолит на более мелкие монолиты:

1) Вынесли сервис авторизации из монолита на Django в отдельную систему на Django.
2) Вынесли партнерский модуль из монолита на Django в отдельную систему на Django.
3) Вынесли модуль постройки отчетов из монолита на Django в отдельную систему на Django и поставил диспетчер очередей, чтобы не блокировался запрос.
4) Вынесли платежный модуль из монолита на Django в отдельную систему на Django.

И так далее.

В итоге, мы продолжили работать на той же Django, только получили несколько независимых систем в разных репозиториях (которые можно катить, стопать, обновлять независимо), получили более гибкую систему передачи запросов (прямые, менеджеры очередей очередей итд), плюс изолировали данные где-то прямо физически разные базы, а где-то разные юзеры с разными правами.

Ну т.е. не надо прямо так глобально думать, можно просто побить системы на более мелкие куски на том же стеке, что вы работаете и уже будет лучше и проще. А потом уже более мелкие куски дробить при необходимости.

Худший ответ: Есть взрослые системы microsoft \oracle и прочие ibm
Делайте на них.

Кстати сбор и обработка традиционно делаются на разных комплексах. Единая только база данных. 
Это не микросервисы это обычная архитектура.

Использование http/s в качестве транспорта добавит вам лишние накладные расходы, как в пинге, так и в обьеме. 

Насчет бесплатного (опенсорсного). Вы платите за функционал, представьте вы захотели нарисовать своими силами что то типа power bi?

Впечатлились ?

Так что разделите систему на 2 части:

1. АРМ для пользователя - все что относится к оперативному вводу и обработке
2. АРМ для аналитиков - все что относится к анализу и отчетам

Платформа: 
Net core, MS SQL server, SSRS возможны конечно варианты
Вопрос: Какую версию флеша поставить, чтобы работала в 2021?

Лучший ответ: Никакую. Переписывайте ваше добро на HTML5+CSS и так далее. Флеш официально умер.

Худший ответ: Для игрушек у меня заработал браузер Uran от Ucoz.
Вопрос: Как стажировать верстальщиков, когда сам немного опытнее джуна?

Лучший ответ: Как вы прокачивались? 
Много-много экспериментов с целью не "научиться решать типовые задачи", а скорее "поиграть с инструментами и посмотреть, что будет". Такой подход дает более полную картину происходящего. Ну и гугл/документации/статьи по мере необходимости.На что стоит сделать упор в обучении именно верстки и малого количества js-а?
Методы зависят от наличия времени и изначального уровня обучаемых. В целом для развития понимания CSS полезно "рисовать" на нем. Грубо говоря один автопортрет или зверушка, сделанная самостоятельно от начала и до конца, даст опыта как десяток лендингов. В таких песочницах концентрация хитрых задач на верстку в разы выше, чем на обычных сайтах, и обучение идет быстрее. Ну и просто прикольные штуки получаются, можно внести элементы игры с плюшками за успехи. В последние годы эта тема стала очень популярной на CodePen в виде ежедневных разминок для ума.Как обучали людей? У меня нет опыта в обучении людей
По поводу методологий и хороших практик - нужно объяснять, отвечая в первую очередь на вопрос "почему". Тупое давление авторитетом (я прав - вы нет, мое решение хорошее - ваше нет) ни к чему не приведет. С вопросом "как" - отправлять к документации, чтобы читали сами и заодно захватывали что-то еще по дороге. Если все разжевывать - не научатся работать самостоятельно. Полезно научить их задавать вопросы. Если видите, что совсем не получается - тогда уже можно подсказать и показать. По возможности нужно автоматизировать проверку действий стажеров, чтобы они сразу видели свои косяки, не дожидаясь, пока придет наставник. Я тут как раз на днях подборку полезностей делал, там и для этого есть инструменты.
Коммуникацию нужно наладить в обязательном порядке, чтобы все имели возможность спросить и не боялись это делать. Тут больше про психологию вопрос - нужно не только определить время и способ общения, чтобы и вам не мешали, и могли оперативно получить ответ, но и обязательно следить за своим языком, чтобы не быть "слишком токсичным" (про это все постоянно забывают). И помните - все ошибаются, ваши ошибки должны становиться поучительными примерами, не нужно их скрывать или стыдиться. Полезно в конце недели делать собрание "только для стажеров" и разбирать, что произошло интересного за неделю, чтобы они видели полную картину, учились на ошибках друг друга и распространяли опыт уже между собой - вы объяснили что-то одному, он в конце недели - остальным (а когда объясняешь - сам лучше понимаешь). Как вариант все вопросы от них к вам можно организовать в отдельном таск-трекере, чтобы ничего не терялось (как в бесконечных чатах) и можно было отсылать вновь прибывших к уже готовым ответам.

Худший ответ: 1) практика, гуглинг, хардкор
2) почти также. + в начале объяснял что куда и что с чем есть. Главная моя фишка была в том, что я в сравнениях всегда объяснял, ну и это заходило людям. Они быстрее понимали
3) не совсем ясен пункт
4) справочник по html и по css. Но они понадобятся, когда джун уже поймет как вообще строятся html-страницы и будет юзать эти ссылки как справочник чтоб подсмотреть
Вопрос: Как посчитать количество строк в txt?

Лучший ответ: Быстрее всего будет замапить в память:
Для сравнения, вариант от longclaps:
И ещё вариант от Зёма Подушкин:
Если файл огромный - можно поштучно искать переносы строки:
Либо ещё быстрее - читать блоками:

Худший ответ: Вы можете использовать sum()  с выражением генератора:with open('data.txt') as f:
    print sum(1 for _ in f)
Вопрос: В чём заключается конкретная работа специалиста по кибербезопасности?

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

Худший ответ:  в Украине
рекомендую обратиться в SoftServe , они как раз недавно на этот вопрос отвечали
Вопрос: Можно ли в return вернуть два значения?

Лучший ответ: function ab() {
  let a = 0;
  let b = 1
  return [a, b];
}
таким образом возвращается массив
let [a, b] = ab();
console.log(a, b);

Худший ответ: Так нет, у тебя вернется только a. Можешь создать объект или массив и возвращать его.
Вопрос: Как настроить VPN по такой схеме?

Лучший ответ: Клиент -- это по определению то, ЧТО подключается. Т. е. является инициатором соединения.
Нет, то что вы хотите -- не реализуемо. Наоборот -- реализумо. А если вам нужно ходить через канал VPN-клиента -- то это тоже реализуемо, но не так, а ровно наоборот:
1) На сервер с белым IP устанавливается VPN-сервер. Насчёт "рандомного", правда, сомневаюсь, придётся всё-таки определиться ;-)
2) На комп с серым IP устанавливается VPN-клиент;
3) Настраивается подключение от VPN-клиента до VPN-сервера;
4) После этого, при грамотной настройке маршрутизации, можно организовать выход с VPN-сервера в интернет через интернет-канал клиента. Читать про policy based routing и multiple routing tables в Linux.

Худший ответ: Если правильно понял, что именно вы хотите сделать, то это бэкконнект называется. 
Зависит от того, известен ли заранее IP-адрес, и если нет, технически возможны вариации, но в общем случае реализуется через ICE и STUN/TURN, dynDNS и т.п., т.е. проброс портов за NAT, а как правило использованием промежуточного скажем так "центрального сервера" для в том или ином виде (по сути тот который серый сам коннектится к заранее известному адресу).
Вопрос: .ppn или как присвоить имя сайту без ICANN?

Лучший ответ: ICANN одобрила заявку Яндекса на доменную зону вер...Доменная зона .yandex проделегированаЧто мы сделали, чтобы получить зону? Каждый может так?
Татьяна: Это была большая работа финансово-юридического департамента, а помогала нам подавать заявку Британская фирма Safenames, которая давно помогает нам с регистраций доменов.
Заявка стоит достаточно дорого — 185 тысяч долларов, так что, видимо, не каждый.

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

Лучший ответ: Сделайте уже кто-нибудь сервис код-ревью за 1к/час. Мало, но и работа не самая ответственная, да и вклад в индустрию сделаете.

Худший ответ: Вот как проходит наш код ревью на моей работе. один в один

https://www.youtube.com/watch?v=rR4n-0KYeKQ
Вопрос: Как запустить выполнения php скрипта в фоне?

Лучший ответ: $command = "(/usr/bin/php -q script.php) >/dev/null 2>&1 &";

exec($command);
Как правильно запустить внешний скрипт в фоновом режиме?

Худший ответ: В общим проблема оказалась из-за того, что на хостинге запрещено создавать процессы демоны.  Тема закрыта, спасибо  всем кто отвечал
Вопрос: Одобрите/покритикуйте выбор PHP для Fullstack Web разработчика в 2020 году?

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

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

Лучший ответ: Можете использовать SSR, который срендрит Vue. Далее обращаетесь к локалхосту через curl или собственный скрипт, и записываете в файл. (Может получиться довольно криво)

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

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

Худший ответ: Гипертекстовый фидонет
Вопрос: Как обойти reCaptcha на Авито и подобных сервисах, где капча есть всегда?

Лучший ответ: Лол, никак. Представьте, что будет, если каждый Васян сможет её обойти.

Худший ответ: Используйте сервисы для распознавания, например:https://anti-captcha.com/https://captcha.guru/https://rucaptcha.com/...
Вопрос: Оцените пожалуйста дизайн?

Лучший ответ: Мне не нравится, что раздел "Сегодня в кино" превратился в горизонтальный слайдер.
Я (думаю как и многие) захожу на сайт кинотеатра посмотреть какие сейчас идут фильмы, ткнуть на интересующие, посмотреть расписание, сделать бронь.
У вас я спотыкаюсь на первом шаге "посмотреть какие фильмы сейчас идут", я хочу видеть сразу все, я не хочу листать слайдер. Да, я согласен, что они могут не поместится в один экран, но я лучше промотаю чуть вниз, чем будут дэнсить со слайдером.
Самый верхний банер с кридом - что это? этот фильм уже вышел в прокат? или выйдет в будущем и это его реклама? мне непонятно. Может просто банер плохо подобран, а в продакшене будет всё понятно, но на всякий случай упомянул
Рейтинг ожидания? Кому-то это нужно? 
Окей, представим что нужно: почему 95% содержимого этого блока повторяет блок "Сегодня в кино"? Может объединить? Не хотите объединять - окей, но нафиг он такой огромный, наравне с главной секцией - "Сегодня в кино"?
Рецензии на фильмы - ок, но только я переименовал бы в "Последние рецензии" - зачем уточнять, что именно на фильмы, это же блин сайт кинотеатра, на что ещё тут могут быть рецензии.
Блок с информацией - понравился
Футер - ок
По итогу:
Редизайн - ну ок, визуально сделали лучше, это несложно.
UX - имхо, ужасно, если бы мне пришлось выбирать каким сайтом пользоваться, старым вариантом или вашим редизайном, я 100% выбрал старый вариант, т.к. он тупо удобней.
Это мнение обычного пользователя, я никогда не разрабатывал интерфейсы или что-то подобное. У меня нет цели вас обидеть, просто мнение.

Худший ответ: Как же достали "дизайнеры" рисующие псевдо контент... Кто вам сказал, что будет такое кол-во текста в рецензиях? Я могу и 5 строчек написать и 100500 + нет абзацев = сплошная стена текста, которую хочется промотать.
Информация - сделайте сразу по 5 элементов, не идите на поводу у блока, что стоит выше.
Странное решение размещать иконки в формах по разные стороны. Зачем? Для чего? Показать какой вы офигенный дизайнер? Подотритесь решением своим.
Рейтинг ожиданий - действительно зачем? Как определяется? Голосованием "жду/не жду"? Ну, проголосует у вас 10% посетителей, легче станет?
Футера считай нет.
Вопрос: Как получить данные используя fetch?

Лучший ответ: Вы выполняете fetch не на том же адресе, что и сам сайт. Следовательно это должен быть cors запрос, а сайт возможно не поддерживает cors. Ajax запросы могут быть выполнены только на том же сайте, к которому идёт обращение.

Худший ответ: mode: 'no-cors'
Уберите у себя и все будет работать.
Вопрос: Как защитить свою форму от спама извне?

Лучший ответ: Капча должна проверяться на сервере.

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

Лучший ответ: 
нужно другое поле "окрасить"

Худший ответ: а) попробовать rebuild project сделать (preview студии бывает ацки глючным)
б) глянуть что получится если запустить на реальном или виртуальном устройстве
в) убедиться что @color/black это действительно черный
Вопрос: Перспектива рынка веб разработки с появлением Webflow?

Лучший ответ: перспективы цветут и пахнут: сейчас практически всё мигрирует в веб. 

но задающие подобные вопросы люди обычно стоят где-то в сторонке.

Худший ответ: Если, например, выложить в паблик конвертер: ФТ->[готовый код проекта для хостинга]
Тогда - стоит сильно задуматься....))

В целом, всё просто: кто решил, что его знаний хватит ещё надолго - ОЧЕНЬ! сильно ошибся!))
Вопрос: Как написать мобильного приложение?

Лучший ответ: Документацию Kivy.

Худший ответ: Все таки если Android, то больше подходит Java, Kotlin. Тем более задача простая.