Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Чья обязанность проверять переменные(isset)?

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

Худший ответ:
С точки зрения mvc, проверки isset не должны быть в модели? Их наверное лучше в контроллер вынести?Лучше, чтобы сайт был практически (или совсем) неломаемым, вынести их в фильтр пользовательских входных данных: в root-уровень, и сразу же проверять на валидность, и только потом уже, передавать на роутинг веб-приложений.
Используйте при валидации regex+preg_match() (вместо тучи isset() в разных местах кода), чтобы сразу знать массив всех входных переменных с установленными значениями и минимизировать риски и нагрузку.
Вопрос: Какие есть направления импульса ForceMode2D.Impulse?

Лучший ответ:
Числа, там нужно использовать числа, а не предопределённые значения векторов. И up + right это Vector2(1, 1)

Худший ответ:
По-всякому можно. Например, так:
(transform.up + transform.right) * StrengthDash

Но это чётко по диагонали (45 градусов). Иначе нужен свой множитель по каждой оси.
Вопрос: Как отформатировать жесткий диск зашифрованный через veracrypt?

Лучший ответ:
Если данные не нужны, то в установщике винды на этапе, где большая кнопка "Установить", нажмите ниже "Восстановление системы", там запустите консоль и выполните diskpart.
В нём - следующие команды:list disk (чтобы увидеть весь список дисков)
select disk N (где N - номер вашего диска)
clean (можно clean all, но это будет долго)После этого диск будет виден, как чистый, если снова не будет виден - то у вас, видимо, какой-нибудь нестандартный контроллер, на который у установщика винды по дефолту нет драйверов. Впрочем, в таком случае diskpart его тоже вероятнее всего не обнаружит.

Худший ответ:
Через какой-нибудь Live-CD Linux затрите его через dd.
Если не химичили с защитой ATA, то прокатит.
Вопрос: Почему возникает ошибка «no such table: main.auth_user__old»?

Лучший ответ:
Всего то нужно было:

По совету разных людей проапгрейдить джанго до 2.1.5 pip install django==2.1.5
Удалить базу SQLite (можно просто вручную делетнуть из проекта)
Снова мигрировать python manage.py makemigrations а потом python manage.py migrate
Перезапустить python manage.py runserver
DONE!

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

Про них надо почитать в родной документации, и\или найти перевод на русский. Они [переводы] есть.
Вопрос: Почему при подключении по RDP виден мой диск C?

Лучший ответ:
Ну  светите  вы  себе  а  не кому то.  Но если  не  надо  уберите  там  чекер  Подключать локальные  ресурсы

Худший ответ:
у Вас скорее всего включен drive redirection , вот ссылка на статью как использовать и включить
https://support.hosteddesktopuk.co.uk/index.php?/K...
для ваших данных тут опасность минимальна на самом деле, этот mapping только для вашей сессии и только на время пока вы подключены. 
но если оно вам не надо - конечно лучше отключить
Вопрос: Как сделать автоматическое изменение ячейки каждый день в google sheets?

Лучший ответ:
Количество рабочих дней в текущем месяце можно рассчитать формулой:
=NETWORKDAYS.INTL(EOMONTH(TODAY();-1)+1;EOMONTH(TODAY();0);"0000001";F1:F)
где в предпоследнем аргументе "0000001" можно конкретно указать какой из дней недели выходной (в моем примере - 7й день, отмеченный единицей). В качестве последнего аргумента указан диапазон, в к-рый нужно в столбец вписать все празничные даты.
В ячейке В2 следующей формулой вычисляем количество отработанных дней до сегодняшнего дня (с учетом выходных и праздничных):
=NETWORKDAYS.INTL(EOMONTH(TODAY();-1)+1;TODAY();"0000001";F1:F)

Худший ответ:
=ЕСЛИ(ДЕНЬ(СЕГОДНЯ())>25;25;ДЕНЬ(СЕГОДНЯ()))
Вопрос: Какой алгоритм использовать для поиск одной из 200к+ подстроки в строке?

Лучший ответ:
Или

Худший ответ:
В базе данных, создайте рядом колонку и заполните её заранее, вытащив парт-номер из строки.
/(?:[0-9A-Z-]+[-]{0,1}){8}/u
Затем, просто выполняйте поиск по этой колонке.
Можно создать триггер, который будет заполнять эту колонку автоматически при добавлении новых товаров.
Вопрос: Что такое L1-L7?

Лучший ответ:
Сетевая модель OSI

Худший ответ:
Это уровни сетевой модели OSI
Вопрос: Как настроить ввод данных в Input?

Лучший ответ:
snippet
Второе хз, так и не добрался до регулярок

Худший ответ:
2. Можете еще подсказать как запретить ввод таких символов как !@#№$;%:^&?*() и так далее?

например, так:
HTML:
<input type="text">
jQuery:

$("input").on('keyup', function() {
  let value = $(this).val();
  $(this).val(value.replace("!", '')); // заменит ! на пустоту
});
Вопрос: Есть ли какой-нибудь аналог юниксовых screen или tmux, но на Windows Server?

Лучший ответ:
1. Так запускайте игровой сервер как сервис, а не как десктопное приложение.

2. Не выполняйте логау-т из RDP сессии, выполняйте отключение
Нужно просто почитать как правильно оставлять RDP сессию, чтобы отключались без логаута.

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

Лучший ответ:
Можно и без регулярного.

Не совсем понятно по каким правилам вы разбираете строку, у вас пробел то к цифрам относится, то к плюсу.
Если с этим не заморачиваться, или заранее удалить пробелы из строки то вот, отличается только пробелом после плюса.
snippet
Но с регуляркой проще.
Для начала удалим пробельные символы при помощи replace.

\D - любые символы кроме цифр
| - логическое ИЛИ
\d - любые числа, то-же самое что [0-9]
[\d.] - список символов включающий любые числа и точку. Также можно записать как [0-9.]
+ - квантификатор, который указывает на неограниченное кол-во повторений (но не меньше одного символа).

Все вместе: \D|[\d.]+ любые не цифровые символы ИЛИ последовательность цифр и точек любой длины.
snippet

Худший ответ:
такой вариант не подходит?
string.split("").filter((element) => element !== " ") Единственная проблема - это 1.333333
Вопрос: Как грамотно организовать сеть предприятия?

Лучший ответ:
Я бы выделил виртуалку с nginx-ом, на которую через firewall пробросил 443 порт с внешнего IP. На nginx делаем wildcard-сертификат от Let's Encrypt и настраиваем в его конфигах виртуальные хосты с приёмом ssl по этому сертификату и проксированием на заданные машины - может быть, даже по http.

Худший ответ:
А затем сделать доступ через субдомены ВНЕШНЕ (ИЗ ИНТЕРНЕТА), например one.example.com перенаправит наши запросы к серверу 172.16.20.5
two.example.com -> 172.16.20.9
я думаю вам сильно поможет обратный прокси в керио. плюс там и про сертификаты есть
Вопрос: Что за стиль у этого дизайна сайта?

Лучший ответ:
Обычный Bootstrap.

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

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

Худший ответ:
Станьте инженером, после при наличии определенного склада ума вы сможете стать ИБ.
Вопрос: Выдумать себе опыт работы — это хорошая идея?

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

Худший ответ:
Нет, преувеличивать ещё ладно, когда у тебя допустим 2 года, а ты напишешь 3(но лучше конечно писать как есть), а вот откровенно врать - сразу поставить крест на собеседовании, т.к. это будет видно + могут проверить. А найти без опыта, конечно, сложно, но вполне возможно. 
>  И еще вопрос: стоит ли указывать, что есть готовность работать за стоимость проезда на работу (5000-10000 т.р.) или это отпугнет потенциальных работорговцев? 
Нет, если фирма ищет на такую ЗП совсем новичка, она об этом скажет, если она ищет на большую, то они не будут из экономии брать менее опытного, лучше вообще не указывать.
Вопрос: Как сделать чтоб войти в админку мог только один админ(yii2)?

Лучший ответ:
попробуйте сделать без RBAC , используя вот  этот механизм :
https://yiiframework.com.ua/ru/doc/guide/2/securit...public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow' => $this->isAdmin(), // это функция которая должна  возвращать true  для юзера с id = 1 , описываете ее в этом же контроллере
                    ],

                ],
            ],
           
        ];
    }

Худший ответ:
Если в админке один контроллер или они от одного вашего наследуют - есть вполне себе подходящий beforeAction, в нем кидать 404 исключение всем юзерам, кроме того, что с ид=1
Вопрос: Почему КД не может получить данные с рабочей станции?

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

Худший ответ:
все компьютеры пингуются и утилита traceroute путь выдает.
этого мало. необходима корректная работа DNS. все машины, и уж тем более контроллеры домена, должны быть доступны по именам.
Вопрос: Как правильно прописать логический оператор «and» или «&&»?

Лучший ответ:
empty($a && $b) - это empty(true|false) что кагбе бессмысленно. 

второй вариант.

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

Второй вариант выглядит правильнее
Вопрос: Tecтовое задание по верстке, где ошибка?

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

Что меня смущает:
– почему не смиксовать классы header__wrapper и container (то же самое в футере)
– какой-то странный нейминг menu__item__link, news__item__subheader и другие:  двумя нижними подчеркиваниями в данном примере разделяются элемент и блок, скорее всего подразумевалось menu__item-link (в других вариантах так же)
– title_main и title_news очень разные сущности, они не подходят под модификатор блока title
– "Новости" точно заголовок. Максимум p или span, но никак не div
– аналогично везде, где текст: div не имеет семантику, а просто блочная обертка. Для текста используются соответствующие теги: h1-h2, p, i, b и т.д.
– карточку можно сделал отдельным блоком, а так же использовать тег article

К чему еще можно придраться 
– "Лидер в разработке..." мне кажется больше на параграф тянет, чем на h1
– возможно ожидали, что картинка под "Лидер в разработке..." должна прописываться в html
– могли не понравиться орфографические ошибки (например, комментарии)
– лучше использовать текст из макета

Худший ответ:
Им нужно что бы ты это сделал через pug, ты этого не сделал, какие обиды...
Вопрос: Что можно почитать, чтобы уметь работать с серверами на linux?

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

Худший ответ:
По поводу книг не знаю, но мне очень помог этот видео курс: https://www.youtube.com/watch?v=fAHpGshMCgQ&list=P...
Рассказчик объясняет очень интересно и понятно.
Вопрос: Какой выбрать ноутбук или сборку пк начинающему программисту?

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

Худший ответ:
Берите ленову tp 460 и выше в пределах вашего бюджета. Или вообще carbon x1 . Если планируете использовать ускорение на карте то берите бук с дискретной картой. Память как сказали 8 минимум но лучше 16 или 20 . Если посмотрите на ебае можно подобрать достойную машину тысяч за 50. И что важно с гарантией. Единственные расходы это русские наклейки или лазерная гравировка. Насчёт десктопа не буду говорить тут все сильно по разному
Вопрос: Для чего нужны множества в Python?

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





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

Лучший ответ:
Что такое checkhide, fullformdiv, testbuttonlogin? Если это id элементов, то в HTML не может быть нескольких элементов с одним id.
Используйте класс, getElementsByClassName() и перебор полученной коллекции.

Худший ответ:
Что такое checkhide, fullformdiv, testbuttonlogin? Если это id элементов, то в HTML не может быть нескольких элементов с одним id.
Используйте класс, getElementsByClassName() и перебор полученной коллекции.
Вопрос: Как правильно практиковаться по си, если некоторые материалы жестко завязаны на следующих материалах?

Лучший ответ:
cmake, make, autotools, m4
Autotools и cmake к C вообще слабо относятся - это системы сборки, с их помощью можно делать все, что угодно, вовсе не обязательно на С, хотя конечно больше всего они под него заточены. Читать надо доки по ним, смотреть примеры сборочных файлов, там все довольно просто. 
"Видео в ютубе" - это не обучение. Это мультик или сиськи можно посмотреть на ютубе. Язык изучается по литературе, бумажной или в электронном виде.
Есть замечательная книга - Уэйт, Прата, Мартин "Язык С". Она конечно далеко не новая, но основы языка с тех пор не изменились.

Худший ответ:
Ну, структура - это примерно как массив. Только элементы структуры вызываются не по номеру, а по имени; и могут иметь разные типы.

Указатель - это как бы индекс массива, причём массивом является вся оперативная память. Лично я зашёл в это понятие через ассемблер. Однако, в общем случае указатель бывает более сложным объектом, чем просто адрес в памяти.

Мне кажется, Вам надо найти толкового учителя. Учиться самостоятельно - это хорошо, но учитель тоже нужен.
Как вариант - можно поискать среди профессиональных учителей. Многие будут рады мотивированному ученику (хотя большинство учителей просто "отбывает номер" и хочет скорее домой - так что найти получится явно не с первой попытки).
Вопрос: Почему для Linux нет простых VPN приложений?

Лучший ответ:
в линуксе впн прекрасно работает все там есть и GUI  и не GUI

Худший ответ:
Есть. Например у Windscribe. 
Для распространённых дистрибутивов (типа ubuntu) обычно есть мануалы с картинками что ставить и куда жать.
Вопрос: Как убедить заказчика в том что дизайн сайта хороший?

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

Худший ответ:
Как убедить заказчика в том что дизайн сайта хороший?Никак. Дизайн это такая штука которая либо нравиться, либо не нравится. Если заказчику не нравится то переубедить его не получится.
Вопрос: Что посоветуете выучить первым для разработки на Андроид?

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

Худший ответ:
Ключевое в вашем вопросе Близится интенсив.
А вопрос "Что посоветуете выучить первым для разработки на Андроид?"
Это не стыкуется. Интенсив по определению, один из этапов на курсах обучения.
Т.е. сперва Вам что-то начитали, потом собрали вместе для глубокого погружения в тему.
Если Вы хотите учиться сами, то зачем Вы платили деньги тичерам ?
Ответ в соседней ветке относится к тому, что интенсив - это занятия в группе людей.
И лучше уделить внимание тому, чтобы не быть неприятным по человечески коллективу.
Остальное нужно спрашивать у педагогов, программисты в этом вопросе вам не помогут.
Теги не адекватные поставили, по ним читают те, кто уже забыл как сам учился.
Вопрос: Как включить максимальный turbo-boost Linux?

Лучший ответ:
До того как автор начнет что-то повышать. Пускай послушает мою мысль. Между 3.33 и 3.6 разница порядка 8%
Общий индекс производительности системы зависит не только от процессора но вообще от совокупной работы всех частей (реакция памяти и скорость кешей L1/L2/L3). Если просто повышать частоту CPU но при этом не менять ничего остального то эффект - нивелируется. Ожидаемого прироста 8% не будет. Будет меньше.

Даже если гипотетически предположить что автор поднял частоту до 5Ghz то и в этом случае удвоения перформанса не будет. 

Вобщем послушайте старого программиста на C++ и прочих ассемблерах. Не тратье своё время на фигню. Ваша игра или рендеринг 3Д графики особой разницы не почувствуют. Взамен вы получите потенциальные проблемы. Ведь производитель не собирался делать нестандартный режим номинальным. В этом был свой смысл.

Худший ответ:
Не факт что морочит. Например в том же хетзнер можно взять KVM - и делай че хочешь с биос. 

По вопросу - ОСТАВЬ ТЫ СТАНДАРТНЫЕ НАСТРОЙКИ ЦП!!!
ОС и приложение само определит когда и куда выдать мощность. 
То что у тебя проц щас лопатит на 100% постоянно - смысла ноль - тк если нагрузки нету , то эффект ты не увидишь. А если есть - проц и так уйдет в 100%+буст. 
А по бусту - скорее всего 3,6 - буст на одно ядро... ЦП то старый видимо? Какая модель?
Вопрос: Можно ли прикрутить платежную систему на сайт, который принадлежит физ лицу?

Лучший ответ:
Яндекс Деньги или Робокасса например не требуют никакого статуса.

Худший ответ:
Кипр примерно 6к, если ужаться - 3-4
Вопрос: Все получили письма счастья от Payoneer? Что теперь делать?

Лучший ответ:
ИП и через валютный контроль

Худший ответ:
Думаю,  если есть кто-то надежный за пределами России - можно обратиться к ним за помощью. Как писали в саппорте пионера - апворк не требует , чтобы карта была оформлена на фрилансера. Т.е если  Петя из Германии пришлет Васе из России карту пионера, то последний сможет ею пользоваться без проблем. Разумеется, если Петя - честный человек и не кинет Васю.
Вопрос: Нижнее подчёркивание в именах функций PHP?

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

Сейчас же есть public, protected, private. 

Раньше: function _vk()
Сейчас:  private function vk()

Худший ответ:
Это стилистический прием в старом PHP, чтобы показать, что метод приватный (когда нельзя было указать это средствами языка).
Вопрос: Почему игры созданные на Unity имеют много багов?

Лучший ответ:
Потому что Unity прост в освоении. Нынче даже школьники могут легко начать делать игры на Unity. Таким образом, игры могут делать даже не программисты (не настоящие программисты).
Второй причиной является экономия при разработке. Unity - это уже само по себе экономичное решение. Многое доступно из коробки. Специалисты стоят дешево. Во всяком случае, дешевле, чем серьёзные бородатые программисты на C++. Но можно же пойти дальше, и сэкономить на тестировании, на создании документации и пр. Отсюда и забагованность.
Ну и третьим моментом являются разные странности и некоторая черезжопность использования Unity (не везде и не всегда, конечно же). То есть это недостаток опыта и знаний о самом Unity, о его болезнях.

Худший ответ:
На чем угодно можно сделать конфетку, а можно и г
Вопрос: Комфортно ли работать на мониторе 32" full hd?

Лучший ответ:
Все описанное ниже есть исключительное имхо, а то набегут тут борцуны.
Зрительное поле у человека - горизонтальное, в смысле вытянуто по горизонтали (именно поэтому появились "широкоэкранные" фильмы и соответственно мониторы типа 16:9. Зрительное поле составляет примерно 120 град. по вертикали (от условной линии прямого взгляда вверх 55 град и вниз - 60) и 180 град по горизонтали (120 град обеими глазами и еще по 30 град каждым). 
К чему я все это?
К тому, что для того, чтобы видеть весь монитор - нужно будет его отодвинуть на весьма приличное расстояние, иначе Вы просто замучаетесь водить головой вверх-вниз (ну разве только поставите очень крупное разрешение). Недаром для работы ставят два, три и даже больше мониторов - поворот головы вправо-влево - это более "экономичное" действие, нежели движение глаза или головы вверх-вниз.

Худший ответ:
FullHD уже на 24" боль.
Вопрос: Как реализовать PHP код для арифметических вычислений (*, :, +,-) и кнопки от 0 до 10?

Лучший ответ:
Что, детка, к интернету недавно подключили, еще не освоился? Смотри, что покажу!

Худший ответ:
Наверное самый простой из всех вариантов, будет этот самодостаточный пример<?php

$calc = function(){
    $act = ''; $a = $b = 0;
    extract($_POST);
    $a = (int) $a;
    $b = (int) $b;
    return preg_match('~^[*/+-]$~', $act) ? eval("return $a $act $b;") : false;
};

$_SERVER['REQUEST_METHOD'] != 'POST' ?: print $calc();

?>

<form method="post">
    <input type="text" name="a" />
    <input type="text" name="b" />
    <?php foreach (['+', '-', '*', '/'] as $act): ?>
        <input type="submit" name="act" value="<?=$act?>" />
    <?php endforeach; ?>
</form>
Вопрос: Как подобрать источник тока?

Лучший ответ:
мне посоветовали взять такой и "включить 2P5C" , но вроде по цифрам не бьется( и я не понял, что такое 2P5C
2P5S это две параллельные цепи по 5 последовательных лент, т.е. 185 В 400 мА для вашего случая
такой это какой?

Худший ответ:
Что за светодиоды с падением 37В? 1000 ваттные с хором 3-4 ампера? Быть может вы пропустили запятую или ведущий нолик?
Вопрос: Как вытащить данные из html?

Лучший ответ:
Us59 c помощью регулярок:$str = '<body>Hello<br><br>FFDGJHIJHFMVDFF.<br>Grtrvfwrwerwerffdsf.<br><br>Active? <br>=&gt; yes &lt;=<br><br <br=""><br>Active? <br>=&gt; no &lt;=<br><br>Lalalalal.<br><br>
</body>';

$arr = preg_match_all('~=&gt;\h\K.+?(?=\h&lt;=)~', $str, $arr) ? $arr[0] : [];

var_dump($arr);
/*
array(2) {
  [0]=> string(3) "yes"
  [1]=>  string(2) "no"
}
*/

Худший ответ:
Разбейте строку на фрагменты через разделитель => с помощью функции explode. На выходе получите массив, где все элементы кроме элемента с индексом 0 содержат в начале строки до символов <= нужные вам данные.
Вопрос: Как имитировать клик на сайте через программу java?

Лучший ответ:
JAVA + Selenium

Python + Selenium будет быстрее, но на Джаве полно тоже материала для такого

Худший ответ:
Еще быстрее будет HtmlUnit.
Это Java фреймворк, который используется внутри селениум. 

И не нужно ничего доустанавливать, в докере разворачивать и пр. 
Можете интегрировать в Java приложение и работать напрямую на уровне Maven/Gradle зависимостей. Без всяких питонов.

Использовать для клика по кнопке так.

В профиле ссылка на Телегу. Отвечу на вопросы.