Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Запуск Java программы, без установки интегрированной среды разработки возможен?

Лучший ответ:
Добрый день!
Если честно, то у вас путаница с терминами, так что внесу ясность:

Запуск Java программы, без установки интегрированной среды разработки возможен?
Интегрированная среда разработки (IDE) - это программы для разработки ПО. Например, Intellij IDEA, Eclipse и др.
jdk - Java development kit - это комплект для разработки Java приложений.

Есть программа Jframe, и я хочу чтобы еë можно было запустить без JDK
Любой jar можно запустить без jdk, так как для запуска программы достаточно jre. 
Для наглядности:


Другое дело, что вы хотите запустить jar без надобности установки на устройство пользователя jre, как например, это делает IDE - Intellij IDEA.
Прочитайте вот, эту статью - https://eax.me/java-without-jvm/

если да то нужен только .jar или ещë и .bat?
jar должно быть достаточно. По факту батник при запуске будет через cmd запускать jar. Для кросплатформенности при использовании bat, нужно будет еще создать и sh скрипт, чтобы запустить в UNIX системах.

Есть программа Jframe
JFrame это не программа, а класс из пакета awt.
https://docs.oracle.com/javase/7/docs/api/javax/sw...

Худший ответ:
для начала JDK это не интегрированная среда разработки. JVM требуется для запуска джавовых файлов. JVM — экземпляр JRE (Java Runtime Environment), то есть или надеяться что есть jre на компе или тащить с собой.

нужен только .jar или ещë и .bat
ну так вначале узнайте что это такое. Зависит от кучи вещей. 

Есть программа Jframe
нет, нету
Вопрос: Как задать порт в параметрах команды ssh?

Лучший ответ:
Для команды ssh - флаг -p и порт:ssh -p 2222 user@host
Для scp - флаг -P (заглавная) и порт:scp -P 2222 /local/file user@host:/remote/file
Для rsync - через флаг -e можно указать кастомный шелл, соответственно отдаем туда ssh с флагом -p:rsync -e 'ssh -p 2222'

UPD: Помимо этого можно в папке ~/.ssh (там где ключи) создать файл с именем config (без расширения) и задать там нужным хостам алиасы и многие настройки, включая порт, пользователя по умолчанию и альтернативный ключ, после чего во всех ssh утилитах можно будет писать только алиас:ssh alias
Документация по доступным параметрам
Плагин к vscode для подсветки и автодополнения в файле ~/.ssh/config

Худший ответ:
Флаг -p номер_порта
Вопрос: Зачем Bearer token принято так нумеровать?

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

public static function findToken($token)
    {
        if (strpos($token, '|') === false) {
            return static::where('token', hash('sha256', $token))->first();
        }

        [$id, $token] = explode('|', $token, 2);

        if ($instance = static::find($id)) {
            return hash_equals($instance->token, hash('sha256', $token)) ? $instance : null;
        }
    }
https://github.com/laravel/sanctum/blob/2.x/src/Pe...

Худший ответ:
...единственное что пришло мне в голову - что делать индекс в БД по 'PkWbJf1KeuHJYyv16teE20VQ5SV265bbIqo9CQrA' - это такое себе :) да, получить по id а потом просто сравнить с токеном - так должно быть ощутимо быстрее при большом количестве записей, чем делать where('token','PkWbJf1KeuHJYyv16teE20VQ5SV265bbIqo9CQrA'). Наверное это и есть ответ.
Вопрос: Как организовать Deploy кода на несколько проектов?

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

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

Лучший ответ:
txt = "Next, use short sentences, because grandma, like anyone of us, if you make very long sentences, she gets to the end and she can't remember what you said in the beginning, anymore."
try:
    A = txt.index("remember")
    B = txt.index("grandma")
    if int(A) - int(B) < 0:
        print('Слово A находится до слова B')
    else:
        print('Слово A находится после слова B')
except ValueError:
    print('Не найдено как минимум одно из слов в строке')

Худший ответ:
Любой метод поиска подстроки в строке (хоть str.index(), хоть регулярные выражения) возвращает позицию найденного слова.
Нашёл позицию одного слова, нашел позицию другого, сравнил два числа.
Вопрос: Python не хочет импортировать библиотеку requests, что делать?

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

Худший ответ:
Вообще,если у тебя стоит линукс, то нужно ввести команду pip3 install requests, что-бы библиотека установилась именно на 3-ю версию питона
Вопрос: Возможно ли из докера Ubuntu получить GUI проприетарного ПО?

Лучший ответ:
Теоретически возможно, но это будет страшное колдунство. Нужно будет развернуть внутри контейнера X-сервер, предоставив ему доступ к оборудованию хоста, а затем подключиться к нему через VNC, например. Что осложняется наличием Windows-хоста, где запуск графических приложений в WLS2 может оказаться нетривиальной задачей.  Готового рецепта Вам никто не даст, его не существует, хотя можно найти гайды по запуску графических приложений в Docker вообще, что не факт — подойдет ли решение Вам.

Рационально найти другое решение. Не совсем понятно, причем тут веб-версия, если речь о файловой базе данных? Браузер может с ней работать? А если возможно использовать клиент, который подключается к серверу, зачем клиент помещать внутрь контейнера, если там можно расположить только сервер? Плюс, непонятно, что за изоляцию пытаетесь решить, тем более если речь о файловой базе. Контейнеры — неподходящий вариант для хранения файлов. Наоборот, есть смысл создавать тома, вынесенные за пределы контейнера, даже для серверных баз. А если том вынесен из контейнера, что изолирует контейнер?

Худший ответ:
Винда + виртуалки
linux+ виртуалки

Docker не запускает полноценную систему
Для этого используется LXD контейнеры или виртуалка. 

Я иcпользую debian на котором развернуты виртуалки под KVM
Вопрос: Потек ли конденсатор?

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

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

Лучший ответ:
купить конвертер
гугли в яндексе ))
Dc-step-up-3.7v-to-6v
на али есть     ещё вариант , цена вопроса ≈ 200руб.

Худший ответ:
У меня есть старый магнитофон советский с ауксом) Так вот.
Взял трубку под диаметр толстой батарейки и провод с штекером в мафон. пара витков изоленты и вуаля!
была идея довести до ума, но это было одноразовое мероприятие  с походом в лес.
Вопрос: Как определить лучший вариант ОС среди эти кандидатов?

Лучший ответ:
диск непонятно чем заполняется( было 4, а сейчас 6 занято.
Уверен, что проблема именно в ОС, а не в приложениях?
Искал, что именно столько места занимает? Очень возможно, что это просто логи или какие-то временные файлы.
А может ты просто устанавливал какой-то софт, и он подтянул столько зависимостей.

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

По моему опыту:
1. Выбор между Ubuntu и Debian - это вопрос религии. 
2. Debian/Ubuntu в LTS редакции пригодны для 99% задач

Худший ответ:
Debian 8, 9, 10, 11 (64-bit)
А зачем тут присутствуют версии, уже даже без поддержки обновлений, связанных с безопасностью? Ставить надо 11.

Экзотические дистрибутивы вообще не стоит рассматривать.
Вопрос: Дедик один нужно брать или как сделать отказоустойчивость?

Лучший ответ:
Какой ответ вы хотите получить? Что резервирование и балансировка вашими силами? Да, это так. Зачем это надо? Что на дедиках вы развернёте свою виртуальзацию, свои DNS, балансировщики, свои базы данных с репликациями? Да, это так. Что будет лучше? Ну если вы понимаете, что вам нужна именно своя виртуализацтя (и вы готовы ее организовать финансово), то да, нужен свой дедик. Если этого пока не понимаете, то VDS не нужен.

Худший ответ:
1. Кластер из многих серверов Вам пока не нужен так как на vps живёт проект и Вы только думать начинаете в плане увеличения мощности.

2. Берёте два выделенных сервера 

3. На первом сервере поднимаете виртуалку (отдаёте ей 99% всех ресурсов).

4. Проект разворачиваете только в виртуалке (только значит строго !)

5. Каждую ночь делаете снапшот виртуалки и сбрасывете на второй выделенный сервер.

6. Утром придя на работу разворачивате снапшот в вирталку на втором сервере и проверяете (обязательно) что всё работает. Теперь если что с первым сервером произойдёт просто переключите (в dns если как я понял у Вас сайт) на ip второго сервера.

Минусы:

1. Два выделенных сервера арендовать дороже чем vps как сейчас у Вас.
2. На время создания снапшота виртуалка останавливается (поэтому и писал что делать ночью).
Вопрос: Почему не добавляется новый элемент в store?

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

Худший ответ:
Решение - заменить имя переменной (fieldText) в параметре функции add на какое-нибудь другое. Тогда функция add будет брать переменную fieldText из области видимости App(как раз хранящей значение из inputa), а не из локальной.
Вопрос: Какие есть варианты мониторинга файлов?

Лучший ответ:
Можно посмотреть в сторону FileSystemWatcher
Можно отслеживать создание, изменение, удаление, и переименование файлов.
Перемещение файла = переименование в большинстве ОС (тк просто меняется путь, а имя является частью пути)

Худший ответ:
По хешу.  Но если файл будет одновременно изменен и переименован то не сработает.
Вопрос: Как сделать такой перенос элементов?

Лучший ответ:
Только через @media запросы, так как auto-fill будет переносить по одному.

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

Лучший ответ:
Ник в кавычки

Худший ответ:
Либо ник в кавычки, либо сделай mention вместо просто ника, это тоже работает.
Вопрос: Пропадает доступ в сеть при подключении ip камеры в Ethernet порт?

Лучший ответ:
Посмотри вывод ip r, наверняка ты там обнаружишь дефолтный маршрут через ethernet интерфейс.
Убери его и всё будет работать, как ожидается.

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

Лучший ответ:
Железобетонный вариант - сравнивать timestamp
Числа - они и в африке числа.

Худший ответ:
В Js можно напрямую сравнивать объекты класса Date при помощи знака сравнения
Вопрос: Возможно ли фрилансить на Си?

Лучший ответ:
Для ответа на ваш вопрос нужно зайти на популярные биржи и поискать заказы на Си. Проанализировать результат.
Сами справитесь?

Худший ответ:
ИМХО на фрилансе по Си разве что курсовые/лабораторные для студентов
Вопрос: Что делать дальше, если прошел курс python для начинающих?

Лучший ответ:
Закреплять практикой. Определиться с направлением.

Можно фигачить чат-ботов, парсеры, сайты, нейросети и прочее.

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

Тогда это был чат-бот в вк, который присылает оповещения о новых оценках школьникам и выступает в роли электронного дневника. 
Передо мной стояло дофигища проблем, которые необходимо было решить. 
Гугля, задавая вопросы на форумах я все больше и больше набирался знаний. И вот уже через несколько дней бот был готов. Кривой, косой, но был готов. Со временем пользователи и я находили баги, нужны были новые фичи. И снова гуглинг, вопросы на форумах, куча докумементации к библиотекам языка.

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

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

Худший ответ:
Открываешь Лутца, читаешь - странице на 500ой идешь работать. Хотя с таким багажом больше 1к$ будет сложновато получать.
Вопрос: Есть ли возможность в PHP узнать, есть ли в глобальной области видимости имя переменной?

Лучший ответ:
sandbox.onlinephpfunctions.com/code/3038de361c3727...
В чем проблема-то?

придумали ли программисты в PHP
они придумали что динамические переменные нужны примерно в 0% случаев.

Худший ответ:
echo $GLOBALS[$foo];
echo isset($GLOBALS[$foo]);

Если у вас есть возможность прекратить использовать глобальные переменные - прекратите. Всем станет легче.
Вопрос: Как найти потерянную wi-fi точку доступа?

Лучший ответ:
Залогиниться на неизвестную точку можно (когда она подключится)? Какая модель одной и другой точки? Если какая-нибудь Ubiquity, то она даже показывает примерное расстояние до соседней точки. А ещё там есть для диагностики Site Survey и Discovery, могло бы помочь.

Если известная точка имеет направленную антенну, то можно заняться радиопеленгацией (круто звучит). Можно дождаться подключения неизвестной и медленно поворачивать известную сначала вправо, пока неизвестная не отвалится, засечь азимут; потом вернуть в исходное положение, дождаться подключения и поворачивать влево, пока не отвалится, засечь азимут. Взять биссектрису угла между крайними положениями и искать в том направлении.
А если можно снять известную точку со здания (или взять ещё одну точку с напрвленной антенной, настроить аналогично - тот же канал, SSID, логин, пароль) и организовать ей мобильное питание и подключение к ноутбуку, то можно походить по территории, сделать несколько таких пеленгов из разных точек и это позволит быстро и точно выйти в окрестность.

Худший ответ:
Если есть такая возможность - попробуйте метод электриков.
Она же куда-то запитана?
Поставьте на смартфон программу WiFi Analyser погуляйте по территории и по уровню сигнала попробуйте локализовать (предварительно сменив SSID у других точек чтобы не мешали)
Вопрос: Как узнать количество пользователей онлайн на сайте SPA?

Лучший ответ:
В провайдере аутентификации для net core есть  lastActivity по умолчанию это 5 минут. 

При любом движении это поле обновляется. 

напишите  что то типа select count() from users where lastActivity  > Date('yyyyy-yy-yy')

Худший ответ:
уменьшать при выходе
Critical logical error. Нет у сайта реальной возможности узнать, ушел пользователь или нет. 
Тут можно отталкиваться только от времени последней активности.
Вопрос: Почему port = 0 в mysql и как это исправить?

Лучший ответ:
1 вариант - включен режим без сети. Можно посмотреть через "SHOW VARIABLES LIKE 'skip_networking';" - если в On, значит ищите - где оно включено.
2 вариант-есть дополнительные файлы конфигурации - в /etc/mysql.d, в  /root и т.п.
У Bitrix например есть в etc своя директория с конфигурационными файлами.

Худший ответ:
Покажите ваш my.cnf
Вопрос: Где взглянуть на C# проект с «эталонной» архитектурой?

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

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

Я бы посоветовал взглянуть на Clean Architecture. В целом как концепт не плох. Хотя, по своему опыту, с некоторыми подходами поспорил бы. 

Погуглив можно найти статьи и видео с деталями, т.к. автор давно и последовательно поддерживает проект.
Вопрос: Как сделать открытие дополнительной вкладки при нажатии на сайте?

Лучший ответ:
гореть тебе в аду если используешь это
win2=window.open("https://pornhub.com")
win2.blur()
window.focus()

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

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



Худший ответ:
Как вариант - можно рисовать дугу, и в Update менять её размер
Сделать эту штуку как отдельный MonoBehaviour, который привязан к самолёту.

Вот варианты, как это отрисовать:
Спрайтом: https://www.youtube.com/watch?v=5xWDKJj1UGY
Шейдерами: https://github.com/AdultLink/RadialProgressBar (выглядит бомбически, имхо, можно кастомизировать)

Гуглить что-то типа "Radial indicator Unity"
Вопрос: Как на php правильно получать предыдущий месяц?

Лучший ответ:
Посмотрите на результат выражения date('Ym'). Долго. Вдумчиво...

Худший ответ:
$dates = [];

for ($i = 1; $i <= 6; $i++) {
	$date = new DateTime();
	$date->modify('first day of this month');
	$date->modify("-$i month");
	$dates[$i] = [
		'month' => $date->format('n'),
		'year' => $date->format('Y'),
	];
}

print_r($dates);

Такая проблема только при вычитании в конце месяца. Решение перевести месяц в первое число, так как числа вам не важны.
Вопрос: Что конкретно нужно знать про Django для начинающего разработчика?

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

Общие:

Знать как работает DNS в общих чертах, знать что такое файл hosts и зачем он нужен. 
HTTP протокол. Знать его формат, знать статус коды
Быть уверенным пользователем Linux терминала. Знать как устроена файловая система линукса, зачем нужны все эти директории. Уметь пользоваться основными командами (cd, grep, ssh, lsof)<- это прям самый минимум, лучше больше. Значить что такое перенаправление ввода вывода (<,>,|)
Не плохо бы минимально уметь настроить Nginx. Вероятно вам не придется это делать будучи джуном, но знать как проиходит полный процесс обработки запроса как мне кажется очень полезно.
Мочь настроить SSL на nginx. Опять же скорее всего как джун вы этого делать не будете, но кто знает, разок попробовать чтобы просто понять.
Docker. Очень часто используется, советую выучить.

Backend

Собственно сам питон и джанго на высоком уровне, это ваш самый основной рабочий инструмент
Django ORM и чистый SQL. Опять же на высоком уровне, с БД придется работать постоянно.
Если есть время - почитать про проектирование БД. Нормализация БД и вот это вот всё.
Понимать что такое авторизация и аутентификация

FrontEnd
Возможно вам не придется писать фронт, у вас будет для этого отдельные люди, но вероятность того что придется, она не нулевая. Зная какой нибудь JQuery ну или чистый JS вы повысите свой шанс найти работу. Ну про CSS + HTML я молчу, это даже не обсуждается, знать нужно.

Отдельно хотел бы упомянуть по само написание кода. Хорошо бы понимать SOLID, DRY, KISS. Ну и конечно ООП, это я даже в списки не включал, это само собой разумеющиеся вещи.

Это на самом деле список в общих чертах, тут можно много чего добавить, но это быть вечным студентом. С этим набором навыков, при должном их понимании и умении применять вы будете не плохим кандидатом на джун позицию.

Как это учить? 

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

Худший ответ:
Доку прочитать.
Вопрос: Можно ли настроить DHCP и статику одновременно?

Лучший ответ:
Сделайте ему привязку по MAC-адресу и не изобретайте велосипед.

Худший ответ:
В принципе это можно сделать через определение vlan при 802.11x авторизации на оборудовании. Но для этого вам потребуется достаточно серьезная инфраструктура включая сетевое оборудование с поддержкой всех необходимых фич, radius сервер и скорее всего pki.
Вопрос: Как получить переменную в нормальном виде?

Лучший ответ:
Что мешает взять [0] элемент от этого результата?

Худший ответ:
Неужели сложно приложить небольшие усилия, которые даже усилиями не назвать, и узнать, что возвращает execute? Он возвращает же не строку. Это твой print переводит в строку и показывает тебе
Вопрос: Что конкретно происходит при вводе команды apt install?

Лучший ответ:
пакет ищется в скачанных листингах репозитория (обновляются по apt update).
кеш лежит в /var/lib/apt/lists. 
из всех подходящих записей выбирается запись с самым большим значением Version
из этой записи берется ссылка на пакет и скачивается.
после чего пакет передается dpkg для установки.

Худший ответ:
man strace
это уже "разжёвывание на более низком уровне", того, что именно происходит,
вы это хотели узнать?
если вам не нужны "системные дебри", то ответ выше, вас удовлетворит :)
Вопрос: Как начать путь код-ревьюера?

Лучший ответ:
Офигенный вопрос, после первого wtf - ставит в тупик - не знаю что на такое отвечать. Окей:
 2-3 года коммерческой разработки, знание яп, паттернов, алгоритмов, фреймворков, и всех сторонних инструментов которые могут использоваться в коде, который будешь ревьюить. Ну и бизнес процессы пожалуй.
P.S. Если вопрос троллинг - то не самый худший, я улыбнулся.

Худший ответ:
Открываешь https://codereview.stackexchange.com или https://ru.stackoverflow.com и ревьювишь.
Вопрос: Как создать проект с++ на основе готового кода?

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

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

У этого проекта вики такая инструкция написана и даже видео выложили

Худший ответ:
5000 ошибок - скорее всего вы что-то делаете не так.
Обычно к проектам прилагается хотя бы минимальная инструкция по сборке, где, обычно пишут, какой компилятор и среду использовать для сборки.
Даже под винду далеко не все проекты используют MS Visual Studio, поэтому sln файлы совсем не обязательный аттрибут.
Для кросс платформенных проектов, обычно используют какие-то универсильные средства для сборки, например cmake (есть еще ряд других), у которых свои правила использования.
Все это кажется сложным, но на самом деле это не сильно сложно, можно достаточно легко "набить руку" собирая разные проекты скажем в течение месяца :-) Так что ваши 50 часов - ни о чем.
Вопрос: Как отследить статусы Push-уведомлений на android и ios?

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

Худший ответ:
По IOS вопрос снят, все решается через Xcode. По Android HMS (Huawei) вопрос снят, все подробно расписано в Developers.Huawei.  По Android похоже можно получить через Firebase, изучаем вопрос.