Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно между запросами cURL делать паузу?

Лучший ответ:
Эконимии ресурсов сервера вы так не добьётесь, потому что чем дольше будет выполняться скрипт - тем дольше будут заняты ресурсы сервера. Вот ресурсы канала передачи данных - да, не будут заняты...
sleep() лучше делать в самом цикле for(), что-бы "прямо на месте" можно было варьировать скорость загрузки требуемых данных.

Худший ответ:
Вообще по правильному сделать не так. 
Сначала делаешь ф-цию curl_init() перед циклом, потом цикл, потому curl_close().
Зачем тебе открывать кучу сессий курла, если можно сделать одну и с нее отправить N запросов?$ch = curl_init();
foreach ($urls as $url) {
     echo curlNew($ch, $url);
}
curl_close($ch);
И не нужно никаких слипов. А вообще огонь сделать асинхронно, есть куча либ.
Вопрос: Какая графика проще в освоении пиксельная или векторная?

Лучший ответ:
спрайтовая проще.
Но по сути, для 2Д игры не так важно.

Худший ответ:
И то и то одинаково сложно. Другое дело, что у растровой и векторной графики совершенно разные инструменты, и в зависимости от желаемой стилистики может быть проще использовать тот или иной метод. Если взять в качестве примера The Banner Saga, то такой визуальный стиль может быть проще нарисовать кистями в фотошопе из-за обилия мелких деталей, не смотря на общую "векторность" стиля. Всё зависит от того, что вы хотите в итоге получить.
Вопрос: Как подбирать подобные интересные цвета?

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

Худший ответ:
это сначала в программе делается ... illustrator или любой который работает с векторной графикой ..цвета получаем от туда ..  и подобраны все цвета на "глаз" как видит это автор
Вопрос: Почему ЗП верстальщика такая же, как и у Junior Frontend'а?

Лучший ответ:
Верстальщик и через год будет получать не больше 50.
Джуниор фронтендер за год-два может стать мидлом и получать 100+.
ps И да, начинающему верстальщику вряд ли станут платить 50к

Худший ответ:
Если работодатель пишет 50к, это не значит, что он будет платить 50к.
Пришел я однажды на собеседование с таким работодателем, верстальщиком как раз, на его вопрос о желаемой зп я предложил ту, что указана на сайте (50), на что он сказал это за сеньёр-верстальщиков, которых у нас в городе нет, а предложил он 10к. Перестать смеяться я не мог пока не ушел. 
И да, верстальщики чаще всего неперспективны, 50к - это обычно потолок.
Вопрос: Как запретить запуск .exe для системы?

Лучший ответ:
Как запретить запуск .exe для системы?Система не запускает программы, их запускают пользователи.
А для пользователя запрет настраивается элементарно -gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Политики ограниченного использования программ
Это нормальная практика настройки на рабочих местах.
После грамотной настройки у пользователя запускаются только те программы которые уже установил администратор.
Больше пользователь сделать ничего не может - ни установить программу, ни запустить исполняемый файл.

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

Лучший ответ:
желательно реализовать задачу без глобальных нарушений законодательства РФ Вы должны иметь лицензию на предоставление услуг доступа к сети интернетВы должны иметь СОРМВы должны записывать весь месячный трафикВы должны авторизовать любой доступ к публичному wifi споту
Не жадничайте, стоимость интернета пренебрежимо мала на фоне стоимости номеров,. Раздавайте пароль непублично и недокументированно, как друзьям. Обеспечьте широкий канал вечером и в непогоду, когда дети смотрят мульты.)) Или вы потеряете клиентов зато найдете неприятности.

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

Лучший ответ:
Долбайте форум разработчика и этого богомезкого битрикса

Худший ответ:
Соль в том что на этот файл стоит редирект в urlrewriter'е на папку /bitrix/services/rest/, скорее всего если Б24 там может стоять запрет на обращение не автоматизированным пользователям ну или еще какая шляпа.

P.S. если у кого магазин + б24 для магаза сделайте в urlrewriter такую же запись чтоб еррор не ловить
Вопрос: Проконсультируйте про тег header в HTML5?

Лучший ответ:
Скачайте любую современную книгу по HTML + CSS в действии и прочитайте от корки до корки, разбирая каждый пример или пройдите курсы какие-нибудь.
Делать так не нормально. О том как делать нормально вы узнаете, прочитав хороший учебник или пройдя курс, почитав статьи по теме, разбирая чужой код и практикуясь. По-другому хорошие знания по теме вы вряд ли получите.

Худший ответ:
Вот тут всё ж написано.Это один из лучших "учебников".  Лучше чем они вряд ли кто есть.
Если туго с буржуинским - меня раньше выручал этот. Как там у них сейчас, я не знаю.
Вопрос: Почему происходит крах сервера на Linux?

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

Худший ответ:
Сталкивался с подобным в Windows NT. Если память мне не изменяет, то чтобы всё работало, сервер при ответе должен порождать новый процесс, который и будет отвечать клиенту.
Вопрос: Есть ИБП UT850EI Вопрос, можно к нему подключить системный блок с потреблением в 300-350 Вт и блоком питания на 550 Вт?

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

Худший ответ:
Фактического потребления в 300 ватт у вас нет. Мощность нормальная. Помните, маркетологи на ибп пишут не Ватты, а вольт-амперы)
Вопрос: Почему я не могу закомментировать код html?

Лучший ответ:
Потому что синтаксис комментариев в HTML выглядят иначе. Вот так:
<!-- Комментарий -->

Худший ответ:
Ты в ворде чтоли пишешь код?  : )
Используй нормальный редактор кода. Там обязательно есть горячие клавиши на комментирование (и много др. полезного).  Редактор сам разберется где какой синтаксис использовать.
Вопрос: Зачем нужен return вообще кроме окончания функцыи?

Лучший ответ:
функция всегда что-то возвращает. чтобы указать, что именно функция должна возвратить, используется ключевое слово return. это и есть его суть. даже если его(return) нет в теле функции, функция все равно вернет undefined по умолчанию.spoilerэта функция вернет undefined, т.к. ключевого слова return нет.function func() {
  var a = 5;
  var b = 10;
  var sum = a + b;
}
var result = func()
console.log(result) // undefined
эта функция вернет строку 'i love js', т.к. вы явно на это указали с помощью ключевого слова return.function func() {
  var a = 5;
  var b = 10;
  var sum = a + b;
  return 'I love js';
}
var result = func()
console.log(result) // 'I love js'
вернет сумму двух чиселfunction func() {
  var a = 5;
  var b = 10;
  var sum = a + b;
  return sum;
}
var result = func()
console.log(result) // 15
вернет сумму двух чиселfunction func(a, b) {
  var sum = a + b;
  return sum;
}
var result = func(3, 7)
console.log(result) // 10
тоже самоеfunction func(a, b) {
  return a + b;
}
var result = func(2, 2)
console.log(result) // 4
следующие две функции возвращают undefined. первая явно, вторая неявноfunction func1() {
  return undefined;
}
var result = func1()
console.log(result) // undefined


function func2() {
  
}
var result = func2()
console.log(result) // undefined
вернет другую функциюfunction func() {
  return function () {
    return 'ааа сложнааа'
  };
}
var result = func()
var result2 = result()
console.log(result) // function func()
console.log(result2) // 'ааа сложнааа'
console.log(func()()) // 'ааа сложнааа'
как только в функции встречается это ключевое слово, интерпретатор немедленно останваливает выполненние функции(выходит из нее) и возвращает то что написано после этого ключевого слова. именно поэтому этот цикл выполнит всего лишь одну итерацаю, а не 100, как и должно, и вернет 1.function func() {
  for (var i = 1;  i < 100; i = i + 1) {
    return i
  }
}
var result = func()
console.log(result) // 1
а вот так вернет 100function func() {
  for (var i = 1;  i < 100; i = i + 1) {
    
  }
  return i
}
var result = func()
console.log(result) // 100
а вот так вернет undefinedfunction func() {
  for (var i = 1;  i < 100; i = i + 1) {
    
  }
  return 
}
var result = func()
console.log(result) // undefined

Худший ответ:
Возьмем на примере элементарной задачи. Сделаем функцию для сложения двух чисел.function sum(a,b){
    var sum = a +b;
    return sum;
}

var a1=2;
var a2=3;
var b=sum(a1,a2);
Это очень простая функция и поэтому можно было бы обойтись и без неё. А теперь представь, что тебе нужно ну хотя бы проверить тип входящих данных и необходимо привести данные к нужному типу. Всё это будет удобно сделать внутри функции.
Вопрос: Выгодно ли быть программистом, который «фигачит» новуе фичи?

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

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

Лучший ответ:
В винде есть свой встроенный ВПН клиент - PPTP/L2TP, вполне удобный по моему.
Я использую OpenVPN с его стандартной GUI оболочкой, вполне устраивает.

Худший ответ:
Арендовать VPS, поставить и настроить openvpn, рулить коннектом через OpenVPN GUI. Цена вопроса 2-5 баксов в месяц в зависимости от потребностей.
Вопрос: Почему не меняются права на папку из PHP-скрипта?

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

Худший ответ:
/var/www/ - не та папка где пользователи должны держать сайты.
Ваш сайт должен лежать
/home/username/web/sitename.ru/public_html
Вопрос: Какие библиотеки нужно изучить?

Лучший ответ:
1) requests - выполнение http запросов.
2) BeautifulSoup - парсер.
3) telebot - работа с Telegram API.

Худший ответ:
1) requests - выполнение http запросов.
2) BeautifulSoup - парсер.
3) telebot - работа с Telegram API.
Вопрос: Почему при абсолютном позиционировании нулевая точка не левый верхний угол?

Лучший ответ:
потому что у родителя position: relative, убери его и будет как тебе нужно
https://jsfiddle.net/r896y5xL/1/

Худший ответ:
потому что у родителя position: relative, убери его и будет как тебе нужно
https://jsfiddle.net/r896y5xL/1/
Вопрос: Как избавиться от: «an upstream response is buffered to a temporary file»?

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

Худший ответ:
Сделал так:error_log /var/www/httpd-logs/site.error.log crit;
Теперь предупреждения не появляются.
Вопрос: Как получать данные со стороннего сайта имея API?

Лучший ответ:
В документации к АPI которое вы собираетесь использовать все есть.  Универсального рецепта нет

Худший ответ:
Обращаетесь к апи. 
Получаете данные, 
в php оборачиваете в шаблон. 
К шаблону применяете стили.
Вопрос: Visual studio code Сбивается табуляция при вставке элементов. Как исправить?

Лучший ответ:
Вопрос решен вот такой строчкой: "editor.formatOnPaste": false

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

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

Худший ответ:
берём этот wysiwyg и в нём slider и каруселька изображений есть
Вопрос: Видит ли провайдер факт использования Tor?

Лучший ответ:
Тогда провайдер увидит использование vpn, что впринципе тоже равноценно использованию tor.
Так что не парься, когда начнешь скрывать активность они это увидят. Я бы на таких сразу вешал расширенный протокол слежения - где работает, кем работает, траты, заработок. Чтобы понять для чего этот человек может пользоваться шифрованием своего трафика. По результатам возможно даже тотальная слежка.

Худший ответ:
Да, могут видеть.
Пользуйтесь встроенным режимом Тора, который призван обходить блокировку трафика Tor, он так и называется.
Но это лишняя паранойя, вас всё равно рано или поздно возьмут.
Вопрос: Как поменять фон через некоторое время?

Лучший ответ:
На CodePen можно поискать решения по тегам "animate background color "
Типа такого или такого

Худший ответ:
Так?
Вопрос: Как сверстать такую границу между блоками (скрин)?

Лучший ответ:
snippet
Можно градиентами jsfiddle.net/78jgyf0e

Худший ответ:
Посмотрите, вроде как то, что надо: cssing.org.ua/2013/07/31/css-teeth
Вопрос: Как через Python + MySQL сделать обратный отсчёт времени?

Лучший ответ:
Гугли алгоритм Каунта-Дауна (англ Countdown algorithm).

Худший ответ:
Ещё можно использовать встроенный в MySQL планировщик заданий, тогда не придётся что-нибудь дёргать из cron. По умолчанию этот планировщик выключен, потому нужно сперва включить в конфигах.
Вопрос: Какие ОС могут быть использованы для reverse-engineering-а мобильных приложений(Android, iOS)?

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

Худший ответ:
Про ios ничего не скажу, а для реверсинга андроидных приложений достаточно линукса, даже ida есть под линукс, я думаю даже больше утилит под линуксы, чем под винду. Но ты точно также можешь поставить виртуалку если чего-то не хватает.
Вопрос: Почему fullframe дороже crop?

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

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

Лучший ответ:
1. 3d.demiart.ru/books (3D Max 7, Maya 6)
2. https://blender3d.com.ua/ (Blender)
В книгах (в начальных главах) - содержатся основы понимания 3D.

Худший ответ:
1) Франк Луна. DirectX 12
2) Язык шейдеров
3) Основа: С++, программирование Windows, включая WinAPI
4) Математика (векторы, матрицы, кватернионы)
5) для других ОС: UWP, C#
6) примеры в msdn
Вопрос: Как с помощью Cypress отследить запрос на сервер ??

Лучший ответ:
Например, вот так:it('Request', () => {
    cy.server()
    cy.route("POST", '/oauth/token').as('getToken')

    cy.get(['data-cy="button-get-token"]').click()

    cy.wait('@getToken').its('status').should('eq', 200)
  })

Худший ответ:
В официальной документации вроде описано.  Внизу есть и ссылка на пример реализации.
И также в этом гайде официальной документации описаны принципы тестирования с использованием их фреймворка.
Вопрос: На какую зарплату ориентироваться в Москве студенту без опыта работы с 30-40 часами работы в неделю?

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

Худший ответ:
тысяч 15
Вопрос: Куда, если не в энтерпрайз?

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

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

Лучший ответ:
Через конструкцию New мы создаём экземпляр класса.

Худший ответ:
Через конструкцию New мы создаём экземпляр класса.
Вопрос: Как включить виртуализацию на Windows VPS?

Лучший ответ:
Можно ли каким-либо другим путем включить виртуализацию на VPS?
Обратиться к поставщику услуги... или не вариант?

Худший ответ:
Поясните вопрос пожалуйста. У вас есть физический комп и вы на него установили виртуалбокс и теперь пытаетесть запустить там windows server 2012 ? Если это так, то виртуализацию надо включать в биосе от физического комп. Также в свойствах виртуальной машины зайдите в System >> Acceleration и поставьте галочку на Enable VT-x/Amd-V
Вопрос: Как добавить svg?

Лучший ответ:
Можно использовать SVG спрайты и тег use. Это не совсем inline-svg.
Про fill, currentColor и способах их совместного использования, думаю слышали.

Худший ответ:
у svg не бывает интерактивности когда он вставлен картинкой или фоном.  только если он инлайновый или вставлен как object.  если инлайновые вам по какой-то причине не подходят, ставьте в своём html<object data="file.svg" type="image/svg+xml"></object>
а css-ку внутри svg подключайте так<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/css" href="file.css" ?>
<svg xmlns="http://www.w3.org/2000/svg">
Вопрос: Насколько плохая идея использовать Python для создания браузерных игр?

Лучший ответ:
В качестве бэкенда - норм.
На фронте питона нет. Разве что рассматривать какие-нибудь кустарные транспиллеры вроде такого: https://github.com/replit-archive/empythoned
Но с ними вы намучаетесь так намучаетесь. Вернее, судя по тому какой и где вы задаёте вопрос, ничерта у вас не получится.

Худший ответ:
Если с JS не знакомы, но знаете Python то берите Dart и игровой фреймворк с pub.dev
Вопрос: Б/у SSD: брать или нет?

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

Худший ответ:
Меня смущает 0 часов использования, причем в RAW пишется другая цифра.
Если количество включений посчитать - 08В1 = 2 257
То есть его примерно раз в день включали 6 лет подряд.
Оно Вам надо?
Вопрос: Как динамически создать элементы?

Лучший ответ:
потому что asks это не массив, у него нет length
https://codepen.io/anon/pen/Rmpvzy
а вообще questions :p

Худший ответ:
Объект не массив, попробуйте так:for (let i = 0; i < Object.keys(asks).length; i++) {
   document.body.appendChild(cd('elem'));
};
но лучше сделать массив объектов, тогда можно будет хранить и передавать различные дополнительные данные, такие как class, id, url и другие.snippet
Вопрос: Как создаются отдельные страницы сайта (помимо основной)?

Лучший ответ:
Вот вам очень простой пример.Структура корневой папки сайта++ static
+++ images
++++ logo.png
+ header.php
+ content.php
+ footer.phpheader.php<?php $logo_url = '/images/logo.png'; ?>
<header>
   <h2>Тут хэдер</h2>
   <p>А вот и лого:</p>
   <img src="<?=$logo_url;?>" alt="logo">
</header>content.php<?php
require 'header.php';
$page = !empty($_GET['page'])
   ? filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING)
   : 'index' ; ?>
<main>
   <?php if($page === 'index'): ?>
      <p>Главная страница сайта.</p>
   <?php else: ?>
      <p>Не главная страница сайта.</p>
      <a href="/">Перейти на главную</a>
   <?php endif; ?>
</main>
<?php require 'footer.php'; ?>footer.php<?php $copyright = 'Mr. Y'; ?>
<footer>
   <h4>Тут футер</h4>
   <p><?=$copyright;?></p>
</footer>

Худший ответ:
смотрите в сторону CMS, например HostCMS
Вопрос: Что лучше использовать для анимаций css или js? И почему?

Лучший ответ:
но которую можно реализовать и с помощью css, и с помощью javascript...
ваше мнение хотел услышать
Мне самому нравится делать все на CSS, но... Если анимация должна быть интерактивной и нужно ее останавливать в процессе, откатывать в изначальное положение и.т.д., или некоторые ее части зависят от данных (в широком смысле - это и движение по сложной траектории, и построение графиков и.т.д.) и их проще рассчитать скриптом, чем подбирать коэффициенты в CSS keyframes, то JS будет лучшим выбором. Если это последовательность мало связанных между собой изменений, то опять же скрипты почти всегда будет проще реализовать. Если речь идет о CSS-анимациях с фильтрами (особенно SVG-фильтрами), то можно влететь в очень сильные проблемы с производительностью на слабом железе. И никакие хаки с GPU тут не помогут - все равно будет тормозить. В такой ситуации может иметь смысл не просто писать на JS, но и подключить WebGL и все делать руками на шейдерах.
В остальных случаях стоит смотреть по ситуации - разные :hover / :focus эффекты обычно легко реализуются на CSS, и, если это так, то зачем что-то придумывать? CSS в последнее время очень даже неплох. Но если, например, в проекте вся анимация делается на JS, то может иметь смысл продолжать делать так же, сохраняя единообразие в коде.

Худший ответ:
Если вы сможете реализовать анимацию используя только свойства transform, opacity и filter - лучше на CSS.
CSS анимации будут более производительными за счет использования GPU пока они не вызывают repaint.
Вот тут хорошо описан принцип:
https://developers.google.com/web/fundamentals/per...
Вопрос: Как заблокировать IP атакующего?

Лучший ответ:
apt install fail2ban
--
из коробки уже будет сам банить при нескольких попытках входа

Худший ответ:
Подбор пасов к серверу SSH это нормальная ситуация.
Избавиться можете или запретом доступа извне к SSH серверу или использованием port knocking.
Заблокировать можете в фаерволе, но лучше отключите парольную аунтентификацию (а рут вообще не должен по ssh ходить) и используйте ключи.
P.S. это всё уже 100500 раз обслюнявленно в статьях, которые легко находяться по запросу "ssh security".
К примеру на хабре их с десяток https://habr.com/post/179219/
Вопрос: Функция mail php. Почему не приходят письма или письма попадают в спам?

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

Худший ответ:
Используй smtp и никогда не уйдет в спам