pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Под какие браузеры выполнять верстку в 2019?

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

Худший ответ: Хром и Файрфокс.
Всё. Остальные 90% браузеров - клоны Хрома.
Вопрос: Какие книги можно почитать о метриках кода, надежности ПО, качестве ПО?

Лучший ответ: Попробуй почитать "Совершенный код" С. Макконнела, возможно натолкнет на то, что нужно.

Худший ответ: Гуглите «теория надежности программного обеспечения» и английский аналог. Найдёте методички, а в них ссылки на литературу.
Вопрос: Как осуществить связь счетчика RS485 с базой данных?

Лучший ответ: Да, есть интерфейсы проброса RS-232 / RS-485 по Ethernet. Самый известный производитель -- Moxa. Разумеется к одному порту 485 можно подключать несколько усройств.  А вот, собственно, всякоразные конвертеры в Ethernet.

Худший ответ: Google.com
rs485 over ethernet
В базу данных вставляете данные из программы с датчиком, впрочем можете написать приложение на net 

будет слушать порт и записывать все в базу. 
ПС поройтесь на сайте производителя, там в разделе совместимые товары как раз и будут преобразователи
Вопрос: Как сделать чтобы при отправки данных формы через action, не открывалась та страница на которую данные передаются?

Лучший ответ: Рассмотрите 2 варианта 
1. Выполняйте редирект со страницы на которую вы отправляете запрос(action) через header(Location: $uri)
2. Используйте асинхронный запрос к файлу, который обрабатывает форму на JS, например AJAX

Худший ответ: Если я правильно понял, у вас форма разбита на две страницы. 
Простейший способ:<form action="<?php echo $_POST['action'] ? $_POST['action'] : '' ?>" method="post">


  <section <?php echo $_POST['action'] ? 'style="display:none"' : '' ?>>
    <!-- Тут все поля первой страницы формы -->
    <input type="hidden" name="action" value="handler.php"> <!-- Открываем финальную -->
  </section>


  <section <?php echo $_POST['action'] ? '' : 'style="display:none"' ?>>
    <!-- Тут все поля второй страницы формы -->
  </section>


  <input type="submit">

  
</form>
Ваша форма всегда будет хранить в себе все поля, но в зависимости от обработчика будет показывать ту или иную часть полей. Ну и в поля нужно подставлять значения из предыдущего шага, если они есть.
Вопрос: Стоит ли сейчас покупать SSD?

Лучший ответ: Оптимальное ли сейчас время, чтобы купить SSD?Нет, вечер уже. Лучше с утра.

Худший ответ: Да, стоит.
Берите M.2 и не парьтесь ближайшие лет 10.
И да, поменьше маргинальщины читайте.
Вопрос: Когда использовать jpg а когда png?

Лучший ответ: Типичные примеры использования:

JPG — фото, иллюстрации без прозрачности, где важны цвета, переходы, оттенки и т. п. В таком случае JPG выигрывает у других форматов в плане соотношения качество/цветность/размер. Так себе для контрастных схем и текстов.

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

GIF — анимации. Ну тут вообще отдельная песня. Ему на смену пророчат APNG и MP4, но воз и ныне там. 

SVG — иконки, иллюстрации. Поддерживает прозрачность, бесконечно тянется. Обычно те же иконки в SVG весят меньше, чем в PNG при одинаковом фактическом размере использования. Можно анимировать (отдельная тема и куча особенностей) и управлять с помощью CSS и JS, если встраивать inline (можно и через #use, но с ограничениями). Наверное, самый чувствительный к ошибкам формат, потому что состоит из кода: сложный SVG-файл может убить производительность. Можно очень легко зашить вредоносный код, поэтому запрещён в вёрстке писем.

P. S. Я не могу описать все случаи, бывают уникальные, так как процесс выбора формата зависит от контента вашего изображения. В каждом конкретном нетипичном случае — думайте сами. К примеру, если векторная иллюстрация весит много, то есть смысл перевести её в JPG или PNG. Иногда SVG-иконка может весить в разы больше её PNG-аналога (при одинаковом фактическом размере использования, например, 100 на 100 пикселей при 1:1 размере viewport к физическому разрешению экрана) — тут многое зависит от методов и качества создания таких иконок. Как правильно отметил @Adamosу, иногда затраты на рендеринг SVG (на стороне клиента) не окупают его преимуществ, и приходится использовать растровые изображения. Ну и т. д… Особенностей использования форматов — куча. 

P. P. S. Почитайте о Retina, ибо нет никакого «для ретины следует юзать JPG».

Худший ответ: Для видео лучше PNG, JPG - в полосочку получается.
Вопрос: Законно ли сейчас использование OpenVPN в организации?

Лучший ответ: технология VPN не запрещена никаким законом. пока что.

Худший ответ: На сколько я знаю, использование криптографических алгоритмов не сертифицированных ФСБ запрещено в РФ, кроме варианта встроенных в ПО или железо алгоритмов. 
Например при ввозе разных сетевых железок с криптой на борту требуется разрешение ФСБ. Дают его, по моему, без особых проблем. 
На практике любое использование крипты можно подвести под встроенное и неотчуждаемое, и органы обращают на это внимание только когда организации требуется лицензия на деятельность связанную с криптой, но в этом случае требуется еще много чего. Но даже в этом случае можно использовать не сертифицированную крипту в направлениях не связанных с лицензируемой деятельностью, например, банки в клиент-банках обязаны использовать сертифицированное шифрование и получать лицензию на это, но при этом они вполне могут организовывать ВПН между офисами на OpenVPN.
Вопрос: Достаточно ли для web выучить ЯП СУБД бекенда?

Лучший ответ: Можно. Но никому вы с только этими знаниями не нужны

Худший ответ: Углубленное изучение одного элемента стека технологии не отгораживает вас от ответственности пощупать весь стек.
Вопрос: В чем разница между обработчиками keydown и keypress?

Лучший ответ: У keypress и правда другие коды. Детальнее в этой статье: https://learn.javascript.ru/keyboard-events

Худший ответ: Первый когда ты только нажал, но не отпускал. Второй, сработает как только нажмешь и отпустишь.
Вопрос: В ноутбуке на базе i3 проца стоит планка памяти 4Gb, что лучше воткнуть вторую планку 4Gb или 8Gb?

Лучший ответ: Двухканальный режим не дает больших преимуществ.
А объем желательно побольше.
Поэтому 4+8 или 8+8, но не 4+4.

Худший ответ: Однозначно 8G. Даже если он там есть (двухканальник) - он не даст тех преимуществ, которые даст еще 4G рама.
Вопрос: Как защитить файл excel по mac адресу без возможности обойти макрос в openoffice и в libreoffice?

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

Худший ответ: MAC-адрес легко заспуфить, если есть админские права на ОС. Этот способ ненадёжен в принципе.
Вопрос: Как передать данные от дочернего родительскому компоненту при нажатии на кнопку в React?

Лучший ответ: В данном случае обработчики событий выставь в форме а не в инпуте, и спусти колбэки пропсами в button и input.

Худший ответ: Смотрите в документации lift state.
Если коротко, то пишите функцию в forma, которая будет принимать стейт как параметр и делать setState форме. Передаём в input компоент параметр со значением - та самая функция (метод). Когда срабатывает handleChange, то запустить метод из пропсов и передать ему стейт. И тогда не нужна будет кнопка. Или объединить их в еще один компонент обёртку, проделать ровно то же самое, но там сделать обработку нажатия кнопки которая передаст выше в форму, но не вижу смысла
Вопрос: Можно ли себя считать геймдевелопером?

Лучший ответ: Можете считать тогда, когда выпустите хотя бы 1 игру. Т.е. пройдете все круги паблишинга.

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

Лучший ответ: Атрибут rel="canonical" используется только в теге link внутри head и указывает канонические внутренние страницы сайта. Я бы использовал ссылки на первоисточник вообще без атрибута rel, т. к. nofollow должен в первую очередь применяться для рекламных и потенциально спамных (например, в комментариях) ссылок, на личном опыте что с nofollow что без него — на ранжировании страницы, с которой исходят ссылки, не отражается.

Худший ответ: Копипаст не станет уникальным текстом, если вы разместите на странице ссылку на источник.
Как следствие: если таких текстов будет много, то, скорее всего, сайт попадет под фильтры вне зависимости от атрибутов ссылок на источники.
Вопрос: Насколько дорогая операция GROUP BY() + SUM()?

Лучший ответ: Что значит в вашем представлении медленные?
Какое железо?
Какие индексы?
И че гадать-то - нагенерируйте случайных данных и проверьте.

Худший ответ: Рано или поздно выборки становятся слишком жирными для построения отчетов/графиков/чего угодно на лету.
Может лучше сразу выбрать что-то более подходящее для этого
https://habr.com/company/oleg-bunin/blog/329062/
Вопрос: Как вывести нужные строки через grep?

Лучший ответ: У меня ощущение, что вывод получен SQL-запросом. Если так - то и фильтрацию надо делать SQL-запросом, а не извращаться с grep'ом - ибо grep вынужден парсить поля заново.

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

1) "Зарплата от 1000 и выше" = "четыре или более цифры" = [0-9]{4,} или точнее [1-9][0-9]{3,}

2) Отрицание в regex пишется так:
[^K] - любой символ, кроме "K"
[^KJ] - любой символ, кроме "K" и "J"
[^K-P] - любой символ, кроме диапазона {от "K" до "P"}

3) Если Вам надо работать именно с полями - то, как я уже сказал, grep работает очень плохо. Вариант 'PAUL.+BOSTON' от mureevms плох тем, что сработает, если эти значения появятся в поле "фамилия", а они это могут.
Хуже того: этот вариант примет и имя "COPAULER" (придумал из пальца, чисто для примера).

Я могу напрячься и написать более корректный regex на это дело - ну, для начала огородить эти слова пробелами. Но не буду, ибо лень.

Худший ответ: 1. 1000 - это 4 символа. Все, что меньше 1000 - 1,2 или 3 символа. Известно, что зп это последняя строка, поэтому ищутся стоящие подряд от 4-х цифр от конца строки:
grep -E '\s([0-9]{4,})$'
2. Выборка по K или J и реверс вывода
grep -E -v '(\sK\s|\sJ\s)'
3. Поиск имени и города в одной строке:
grep -E 'PAUL.+BOSTON'
Вопрос: Почему маршрутизатор не отбрасывает такой IP адрес? (NAT)?

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

ведь 192.168.10.1 из разряда частных ip адресовКакое маршрутизатору дело, до того частный это адрес или публичный? Ему пофиг как вы там этот адрес называете.

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

ведь 192.168.10.1 из разряда частных ip адресовКакое маршрутизатору дело, до того частный это адрес или публичный? Ему пофиг как вы там этот адрес называете.
Вопрос: Почему неправильно происходит сравнение?

Лучший ответ: Проблема в логике if'a. Если его сократить получается так:if (buf != str || buf != "1" || buf != "3")
Подставим 1:if ("1" != "1" || "1" != "1" || "1" != "2")
// считаем
if (false || false || true)
// итог
if (true)
В целом, этот if бесполезен, его функцию замечательно заменяет switch:switch (buf)
{
   case "1":
       Console.WriteLine("ОК");
       break;
   case "2":
       Console.WriteLine("ОК");
       break;
   default:
      Console.WriteLine("\nНе число или дробное число");
      break;
}

Худший ответ: 
...new string(buf.Where(c => Char.IsLetterOrDigit(c) || Char.IsWhiteSpace(c)).ToArray())код для размышленияusing System;
using System.Linq;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("1 - Запись строки \n2 - Удаление строки");
            Console.Write("\nВыберите пункт: ");
            var buf = Console.ReadLine();
            var zzz = new string(buf.Where(c => Char.IsLetterOrDigit(c) || Char.IsWhiteSpace(c)).ToArray());
            Console.Write($"\n...! вот такую шнягу я сочинил {zzz}\n");
            Console.Write($"\n...! потом придумал такое условие {buf != zzz}\n");
            Console.Write($"\n...! общее условие {buf != zzz} || {buf != "1"} || {buf != "3"}\n");
            if (
                buf != zzz
                || buf != "1"
                || buf != "3")
            {
                Console.WriteLine("\nНе число или дробное число");
            }
            else
            {
                switch (buf)
                {
                    case "1":
                        Console.WriteLine("ОК");
                        break;
                    case "2":
                        Console.WriteLine("ОК");
                        break;
                }
            }
        }
    }
}ps подправлено.. и думаю так будет нагляднееpps  а еще есть другие способы проверять ввод, к примеру https://docs.microsoft.com/ru-ru/dotnet/api/system...upd код для размышления 2using System;
using System.Linq;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("1 - Запись строки \n2 - Удаление строки");
            Console.Write("\nВыберите пункт: ");
            var buf = Console.ReadLine();
            if (!int.TryParse(buf, out var n))
                Console.WriteLine("\nНе число или дробное число");
            else
                switch (n)
                {
                    case 1:
                        Console.WriteLine("ОК");
                        break;
                    case 2:
                        Console.WriteLine("ОК");
                        break;
                    default:
                        Console.WriteLine($"... опять что то не предвиденное! ((..."
                            + $" или просто число неожиданное? {n}");
                        break;
                }
        }
    }
}
Вопрос: Можно ли занести несколько значений в переменную в данном php-скрипте?

Лучший ответ: wall.post() публикует единственную запись.
Для промышленных масштабов спама ускорения есть вариант с методом execute(), в который можно обернуть до 25 вызовов АПИ ВКонтакте.
Т.е. вы на сервере собираете в строку некий код, похожий на JavaScript, что-то типа:var params = {
  "message": "Текст поста",
  "from_group": 0,
};
var out = { "result": [] };

params.owner_id = 10101; // первая группа
params.guid = 'abrakadabra';
out.result.push( API.wall.post(data));

params.owner_id = 20202; // вторая группа
params.guid = 'drugayaabrakadabra';
out.result.push( API.wall.post(data));
// ...
params.owner_id = 2500025; // 25-я группа
params.guid = 'uniqueabrakadabra';
out.result.push( API.wall.post(data));

return out;
И этот код как текст отправляете параметром code в методе execute()

Худший ответ: Одним запросом это сделать не возможно. Owner_id должен быть целым числом, т.е. содержать всего 1 значение. Иначе выдаёт ошибку "error_msg": "One of the parameters specified was missing or invalid: owner_id not integer"
Решается с использованием нескольких запросов в цикле
Вопрос: Почему не работает камера нигде кроме браузера?

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

Худший ответ: Возможно антивирь блокирует
В большинстве случаев они имеют такую фичу

Хотя должны спрашивать «приложение/программа x просит доступ к веб камере»

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

Лучший ответ: 
я пишу сайты в основном сам, но в данный момент нет смысла и времени делать его с нуля
Да ладно! Ну раз так, то composer, laravel и интеграция вёрстки вас не должны пугать. 
Я бы сделал на Modx, если не требуется продвинутая работа с профилями пользователя.

Худший ответ: Можно на Wordpress сделать. А для форума phpBB.
Вопрос: Когда можно искать работу?

Лучший ответ: в какой момент можно искать работу?
Когда будете уверены, что сможете пройти собеседование.Берут ли на стажировку?
Это правильнее и эффективнее узнавать на работных сайтах, а не на Тостере. Можно ли фрилансить?
На фрилансе нет шансов без опыта.

Худший ответ: Понемногу изучаю C# и Unity, идет тяжело, но я пытаюсь учиться
Программированием занимались ранее?
Какое образование? Есть законченное высшее по профилю?И меня интересует, в какой момент можно искать работу?
В тот момент, когда вы будете представлять хоть какую-то ценность для работодателя. Условно – когда вы, пусть криво-косо, но сможете сделать законченное играбельное приложение. Для того чтобы понять, что вы на это способны – делайте тестовые задания. В те фирмы, где требуются джуны из категории "пусть что-то пишет, главное чтоб работало" задания попроще. Где джуны нужны уже именно как специалисты, но с единственным ограничением – небольшим опытом (полгода-год) – тестовые раза в 2-3 сложнее.Можно ли фрилансить?
Однозначно да. Вконтакте в тематических группах в свое время нашла пару проектов для старта :)
Вопрос: Обязан ли человек предоставлять пароли от собственного ноутбука следственным органам?

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

Худший ответ: Да, когда на это заведено дело и идёт расследование. По той же самой причине изымается корпоративная и частная переписка с различных серверов и устройств. Просто на улице или задержании нет, кто бы там как не запугивал и что не рассказывал.
Вопрос: Как правильно добавить в functions.php стили Font Awesome и другие, использующие дополнительные атрибуты (integrity, crossorigin)?

Лучший ответ: Здравствуйте.
Думаю можно попробовать с помощью фильтра style_loader_tag.add_filter( 'style_loader_tag', 'add_attribute', 10, 2 );

function add_attribute($link, $handle) {
    if( $handle == 'fontawesome' ) {
        $link = str_replace( '/>', 'integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous" />', $link );
    }
    return $link;
}
$handle — это значение первого параметра в функции wp_enqueue_style.

Худший ответ: Вы можете удобно редактировать параметры 'integrity' с помощью пользовательской функции. Я сделал пример, который сейчас использую в рабочем проекте, посмотрите моё решение: Как подключить Bootstrap к WordPress через CDN
Вопрос: Я не могу создать проект в Django, что делать?

Лучший ответ: Используйте python от 3.6 или Django 1.11
spoiler

Худший ответ: мб потому что путь кириллицей задан? Попробуй ASCII path использовать
Вопрос: Как создать приватную google форму?

Лучший ответ: Чем вас не устроил данный пункт в настройках формы?
П.С. по продуктам гугла есть справка ;)

Худший ответ: Формы являются публичным инструментом.

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

Лучший ответ: div.wrapper {
 width: 100%
 display: flex;
 flex-flow: row nowrap;
}
div.imgWrapper {
 width: 25%
}
div.imgWrapper img {
 width: 100%
}
Разберетесь что куда?

Худший ответ: Контейнер с шириной на всю страницу.
1)
Для контейнера display flex.
Для дочерних поиграться с шириной.
2)для контейнера : display grid, grid-template-columns:  1fr 1fr 1fr 1fr.
Вопрос: Нужно ли сокращать код?

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

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

Лучший ответ: Если существует файл /tmp/ваш_скрипт.lock - завершить работу.
Создать файл /tmp/ваш_скрипт.lock
Выполнить работу.
Удалить файл /tmp/ваш_скрипт.lock

Подвох: если ваш скрипт упал, не дойдя до последнего пункта - больше он не запустится. Так что на п. 1 стоит предусмотреть - "если файл существует и моложе 10 минут", например.

Худший ответ: Как вариант - создать хендл write для файла. Если первый скрипт создал, то второй уже не сможет.
Вопрос: Как отредактировать много файлов?

Лучший ответ: find ./<путь> -type f  -exec sed -i s'/<подстрока>/<замена>/g' {} \;

Худший ответ: Тот же notepad++ умеет поиск и замену в нескольких файлах, в том числе по маске файла и с поддержкой регуляркок
Вопрос: Как сделать скос у блока через css+html?

Лучший ответ: Можно применить clip-path к блоку:clip-path: polygon(0 0, 100% 0, 100% 88%, 0% 100%);

Худший ответ: Добавьте к блоку ::after и из него (after) с помощью border сделайте треугольник нужного вам размера, и полученный треугольник сместите вверх, чтоб он перекрывал ваш блок
Вопрос: TeamViewer на роутере?

Лучший ответ: Жёстко, но работоспособно на 100%.
Нет. Не на роутере TeamViewer, а в провайдерской сети.
С роутера уходит во внутреннюю сеть провайдера, а там ещё один шлюз пропускает в ещё одну подсеть. И уже там этот хост (192.168.0.10).
Лучше не пробовать адреса не из своей сети: расценят как сканирование и останетесь без инета.

Худший ответ: Ну так а посмотреть какому из устройств принадлежит адрес - пробовали?
Вопрос: Что подразумевает под собой слово «Решение» в вопрос «Разработка решения для автоматизации тестирования»?

Лучший ответ: Решение - в данном случае это как выбор самого фреймворка так и разработка сценариев для его работы.

Худший ответ: Все просто. У бизнеса есть запрос (проблема), который нужно удовлетворить (решить).
Вопрос: С чего начать создание блога?

Лучший ответ: С хорошего контента )

Худший ответ: 1. С определения типа вашей аудитории и механизмов её удержания (подписки, рассылки, и т.д.), 
2. С определения типа вашего контента (что будет вместе текстом: видео-ролики, изображения, код и т.д.), 
3. С системы CMS с хорошей SEO-оптимизацией и с хорошей интеграцией с поисковыми системами
4. Внешний вид и дизайн сайта (цвета, стиль и удобство использования).и только после - всё остальное! (код, функционал и прочее)
Вопрос: С чего начать изучение linux Debian?

Лучший ответ: С чего начать изучение linux Debian? с поиска информации!
Скажите, с чего начать изучение Linux?
Какие ресурсы вы порекомендуете мне по изучение Linux?
Книжка/курс по Linux для новичка?
Изучение Linux, время пришло?
 Где найти хорошую литературу для изучения Linux?
С чего начать изучение Linux с нуля?

Худший ответ:  с чего в первую очередь стоит начинать
С установки )))
Задача 1
Установить Debian на компьютер в минимальной установкой + sshd. Зайти на установленный Debian по ssh.
Задача 2 
Установить Сервисы: DNS, Apache, Mysql, ...... 
Задача 3
Установить Сервисы из Задачи 2 методом сборки (компиляции)
..........................
Ну хотя бы начни с этого )))
Вопрос: Два провайдера в один сервер?

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

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

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

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

Лучший ответ: Функция чат-ботов - со временем заменить тебе всё.

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