Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как пересылать информацию отправленную боту другому пользователю?

Лучший ответ:
Очень много вопросов, которые можно заменить одним - "Сможете написать код за меня?".
Немного помогу, натолкнув на варианты решения. Это не панацея, но я бы решал задачу этими методами.1. Этот код я бы заменил на такой формат:bot.reply_to(message, "Привет Что хочешь поесть? \n\n Мануал  ", reply_markup=markup_menu )
на такой:bor.send_message(message.chat.id, "Привет Что хочешь поесть? \n\n Мануал  ", reply_markup=markup_menu )
Будет выглядеть как просто сообщение, а не ответ с постоянным цитированием предыдущего сообщения.2. Можно сделать отдельную функцию генерации клавиатуры. Например:def generate_keyboard (*answer):
    keyboard = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
    for item in answer:
        keyboard.add(item)
    return keyboard
Тогда генерация любой клавиатуры с последующим отправлением её пользователю выглядит так:msg = 'Тут будет твое сообщение.' # Сообщение, которое будем отправлять
keyboard = generate_keyboard('Кнопка 1', 'Кнопка 2', 'Кнопка 3') #Генерируем клавиатуру
bot.send_message(message.chat.id, msg, reply_markup=keyboard) #Отправляем сообщение и клавиатуру3. Для того, чтобы собрать информацию от пользователя и отправить сотруднику можно использовать словарь. Например, словарь может выглядеть следующим образом:users_orders = {user_chat_id:{eating:breakfast, question:"Что тут происходит вообще?"}}
И тогда запись информации будет происходить при получении ответа. Пример:if  message.text == "Хочу позавтракать":
    users_orders[message.chat.id][eating] = breakfast
    keyboard = generate_keyboard('Вариант 1', 'Вариант 2', 'Вариант 3')
    bot.send_message(message.chat.id, 'Выберите завтрак', reply_markup=keyboard )4. Когда всю информацию получил - отправляем сотруднику ответ на основании сформированного словаря и удалим клавиатуру:if message.text == "Завершить":
    hide_keyboard = types.ReplyKeyboardRemove()
    bot.send_message(message.chat.id, 'Ваш запрос принят, обработка займет не более 5 мин', reply_markup=hide_keyboard)
    msg = " От клиента {} поступил заказ:\n{}.\nИ вопрос:\n" \
    "{}".format(message.chat.id, users_orders[message.chat.id][eating], users_orders[message.chat.id][question])
    bot.send_message('841260346', msg)
Данные необходимо дополнительно сохранять в БД. Иначе после рестарта вся информация будет удалена.

Худший ответ:
#  bot.send_message(chat_id="841260346", text="Хочу позавтракать").
# bot.send_message(chat_id="841260346", text="Легкий").    #id чата заменяем на свой 
# bot.send_message(chat_id="841260346", text="вопросов нет")
А если раскомментировать эти строки что происходит? Вы заранее знаете кто пользователь 2?
Вопрос: Чем отличается nat от proxy? чем отличается proxy от vpn?

Лучший ответ:
Очень внятно все написано на википедии.
Nat это просто маршрутизация пакетов. Это часть функционала TCP/IP протокола.
Прокси - отдельный софт, который работает с конкретным протоколом, например http/https, и следовательно разбирает эти пакеты для более гибкой настройки, логирования и т.д. Вдобавок программа-клиент должна уметь работать через прокси (можно конечно сделать прозрачный прокси на маршрутизаторе но это уже отдельная тема), но соответственно прокси подойдет только для http/https.
VPN - virtual private network, вы поднимаете виртуальный интерфейс и подключаетесь к удаленному ресурсу, создавая виртуальную локальную сеть поверх другого подключения. В результате между вашим и удаленным устройством получается как бы прокинут виртуальный кабель прямого подключения, который снаружи выглядит как зашифрованный канал, внутри которого что-то передается.
Через vpn можно подключиьтся к удаленному прокси серверу, таким образом все запросы между вашим компом и прокси сервером будут зашифрованными для внешнего наблюдателя.

Худший ответ:
Тот факт, что все они "гонят трафик через себя" - совершенно бесполезное обобщение, приводящее к странному вопросу. В сетях абсолютно все "гонит трафик через себя"... почему тогда не спросить, "чем отличается nat от витой пары, а она - от адаптера WiFi"? Тем и отличаются, что это разные вещи, предназначенные для решения разных задач, и "отличий" можно придумать, сколько угодно. Например, nat отличается от proxy по определению местом, где происходит магия. nat происходит на границе сети, т.е. в маршрутизатое (железном или софтовом), в то время, как proxy может находиться где угодно. Но, по сути, никто не запрещает доступаться к proxy через vpn, работающую поверх nat... в подавляющем большинстве случаев это именно так и происходит )))
Вопрос: Joomla или Wordpress?

Лучший ответ:
У меня на поддержке с десяток магазинов на Woocommerce, Joomshoping, Bitrix. В целом скажу так, особой разницы нет, в хороших руках все можно сделать на любой платформе. В плане инструментов, расширений все зависит от проекта. В плане поддержки магазины на Joomla работают стабильнее, по ним реально меньше вопросов от клиентов. Woocommerce тоже не плох, но при обвеске доп.плагинами часто возникают конфликты и проблемы с новыми версиями, отлаживать их сложно, а еще меня раздражает обилие рекламы от плагинов в админке. Битрикс из другой лиги, но просто потому, что целиком платный. Из его недостатков скорость и поддержка, можно неделями вести переписку с саппортом, потом в итоге окажется что они тебе перезалили ядро и все заработало.

Худший ответ:
Попробуйте CMS Moguta, он бесплатный.
Вопрос: Так ли хорошо, если в колледже есть академия cisco?

Лучший ответ:
если в рамках программы в колледже Вы пройдете курс CCNA - это однозначно хорошо. Востребованный практический навык.

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

Лучший ответ:
select * 
from dialog_users as d1
where 
  user_id = 1 -- первый юзер
  and 
  (select dialog_id 
    from dialog_users as d2 
     where d2.user_id = 2 -- второй юзер
     and d2.dialog_id = d1.dialog_id)
  and 
  (select count(*) 
    from dialog_users as d3 
     where d3.dialog_id = d1.dialog_id) = 2 -- количество человек в диалоге
как-то так может быть

Худший ответ:
Select * from(Select count(*) as _cnt, dialog_id from dialog_users where user_id in(1,2) Group by dialog_id) a where a._cnt = 2.
P.s. Разумеется, я знаю про having во внутреннем запросе и ненужность внешнего)
Вопрос: Где сменить имя сервера?

Лучший ответ:
/etc/hostname
и /etc/hosts потом поправить

Худший ответ:
Здесь
Вопрос: Как пиарить свои продукты в Steam Greenlight, что бы их приняли пользователи?

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

Худший ответ:
Вопреки популярному мифу, просто интересной игры недостаточно, нужно работать с прессой, писать письма журналистам, стримерам и ютуберам. Для начала можете посмотреть доклады по ссылкам ниже.Marketing Indie Games on a $0 BudgetMaking Your First Game: Launching! - How to Market...Unite 2013 - Marketing Sucks
Вопрос: Какую лучше выбрать специальность из данных?

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

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

Лучший ответ:
Можно воспользоватся деструктором. Не забывайте, что нельзя бросать исключения в деструкторе.#include <iostream>
#include <functional>

template <typename T>
class defer {
private:
    std::function<T()> mFunctor;
public:
    defer(std::function<T()> functor) : mFunctor(functor) {}
    ~defer() { mFunctor(); }
};

int main() {
    defer<void> d([] { std::cout << "Deferred func!" << std::endl; });
    //...
    
    std::cout << "Hello, world!" << std::endl;
    
    if (true) {
        return 0;
    }
    //...
    if (false){
        return 1;
    }
    
    return 0;
}

Худший ответ:
...
auto f = []{ cout << "asdf"; };
...
class invoker
{
public:
    ~invoker()
    {
        fn();
    }
    decltype(f) fn = f;
};

    invoker c;
...
Писал с телефона, сорри если есть опечатки.
Вопрос: Можно как то получить доступ к переменным в settings.py из jquery?

Лучший ответ:
Конечно. Делай в views.py сервис который будет вызываться с помощью jquery и возвращай json со значениями нужных переменных из settings.py. Значения переменных вытягивай с помощью python. Как это сделать можно погуглить, например по запросу: django get variable from settings

Худший ответ:
Можно вытянуть через AJAX или вывести эти значения предварительно питоном на страницу в js переменные (как HTML обычно выводишь), а потом уже считывать их значения. Но, естественно, важные конфиги (пароли и явки) так отдавать нельзя.
Вопрос: Осуществляем закрытие портов?

Лучший ответ:
Firewall блокирует соединение с указанным адресом и/или портом.
Порт при этом может оставаться открытым - ему ничего не мешает быть открытым.
Попробуйте telnet localhost:445 без правила и с правилом.
Что вы делали через regedit?

Худший ответ:
А вот не вы#$ывался бы, и вместо демонических консольных утилит юзал вкладку Прослушиваемые порты в штатном Мониторе Ресурсов - и вопроса бы не возникло. Ибо там отдельное поле есть "Состояние брандмауэра".
Вопрос: Деплой на heroku и массовые коммиты, как избежать?

Лучший ответ:
У вас как бы почти gitflow.
Мелкий, но gitflow.
Работать с ветками.
Различать коммиты с мелкими исправлениями в ветку dev, например.
А уже ветка production/master - пусть улетает в Хероку.

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

Лучший ответ:
Класс программного обеспечения для вашей задачи называется Computer algebra system (CAS). Существуют варианты, написанные и на/для JS: https://www.google.ru/search?q=computer%20algebra%... .

Худший ответ:
https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D...
mathhelpplanet.com/static.php?p=metody-chislennogo...
И т.д.
Вопрос: В чём суть профессии «Информационная безопасность автоматизированных систем»?

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

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

Лучший ответ:
а какой ответ на первый вопрос?  оО
я вижу только 4 состояния. но ни одно из таких состояний не может существовать же. не может быть  13,5 часов 00 минут или 22,5 часов 00 минут. или 12 часов 7,5 минут или 11 часов 52,5 минуты. потому что нигде стрелка не может быть ровно на 12 часах

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

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

Худший ответ:
1. SOLID, а конкретно буква D - Dependency inversion principle, который гласит что 'When following this principle, the conventional dependency relationships established from high-level, policy-setting modules to low-level, dependency modules are reversed, thus rendering high-level modules independent of the low-level module implementation details. ', одно из следствий - если тебе в коде нужна зависимость, не нужно создавать её руками, проси чтобы её тебе передали сверху, иначе код будет супер-связный (это плохо)
2. Когда ты пишеь по SOLID и выносишь в конструктор все эти зависимости которые тебе нужны, ты просто офигеешь в продакшене создавать такие классы руками, var a = new A(new B(new C()), new D(), new E()...
3. Код написанный по SOLID проще тестить, т.к. легко замокать все зависимости
4. Это дает некоторую гибкость например в настройке окружения для разных тенантов - ты можешь в одном месте в контейнере, подсовывать разные реализации
5. Чисто визуально, проще смотреть от чего код зависит, смотришь на конструктор и понимаешь что других зависимостей там нет
6. Контейнер может управлять процессом создания объектов - нужно ли всегда один и тот же возвращать или нужно каждый раз по новой создавать
Вопрос: Как организовать работу над Веб-проектом с двух компьютеров?

Лучший ответ:
Наладить работу с обоих с синхронизацией внесенных изменений.GIT не рассматриваю ввиду разработки в одиночку
Вам система контроля версий нужна. Кто сказал что гит только для командной разработки? Гит подойдёт как нельзя лучше. И изменения удобно смотреть и не надо кучи плагинов для размещения и заливания файла на удаленный сервер. Запушили ветку, на сервере подтянули, конфликты решили, если потребуется, вот и всё. Не хотите свой гит поднимать? Возьмите битбакет или гитхаб. Для одного человека все бесплатно.
В PhpStorm есть возможность синхронизации на сервер рабочей директории через sftp или ftp (секция deployment в настройках).

Худший ответ:
Привет!
Что-то я не понял, почему не подходит гит?
Я работаю с двух компов и использую для этого гит. Да и даже если это мой домашний пет проект, я всё равно его размещаю в тфс-е. Винт может полететь или жена компьютер украдёт, мало ли чего может случиться.
Пользуйтесь контролем версий, будет вам счастье.
Вопрос: Как правильно организовать амбициозный pet project (не совсем) и найти людей?

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

Худший ответ:
1. Определись какой набор фич будет у первой платной версии, потому что запускаться надо пораньше чтобы начать зарабатывать и платить зарплаты.
2. Зарегистрируй домен. 
3. Сделай некое подобие сайта на основном домене чтобы была информация о продукте, стоимости, дате запуска и т.п. 
4. Найди друга программиста с большим опытом frontend javascript в особенности нужны хорошие знания svg и возможно понадобится webgl. Тут большой дискуссионный вопрос какую технологию взять, но в целом зависит от фич.
5. Поручи ему сделать архитектуру приложения и пусть найдет других программистов, готовых работать за долю или за зарплату - в зависимости от того сколько у тебя стартовый капитал.
6. Как только готов набор фич, которые ты готов выпустить в первой платной версии - запускай сайт, покупай таргетированную рекламу, заказывай либо сам пиши обзорные статьи для ресурсов где тусят дизайнеры. Ещё нужно будет написать документацию и снять видеоуроки.
7. Когда появляется новая версия нужно сообщать об этом пользователям и показывать новые фичи, как это делают jetbrains, т.е. снова небольшие видео с обзором фич и документация.
8. С юридической точки зрения регистрируешь ООО и добавляешь друзей участников соучредителями если был такой договор. Если работали за деньги, то делаешь ООО и регистрируешь себя учредителем. Возможно можно взять ИП, но ИП отвечает всем принадлежащим имуществом, а ООО только уставным капиталом, который можно сделать 10 тыс. руб(возможно сейчас другая сумма давно не смотрел).
Вопрос: Где найти задачи для начинающего frontend'ера?

Лучший ответ:
Где можно найти подобное?На фрилансе видимо
Или просто качаете любой шаблон сайта который Вам нравится (многие есть в вариации "многостраничник") и вперёд к звёздам!
P.S. Вы же понимаете, что чем масштабнее задача, тем сложнее её "проверить" машинным способом или написать что-то вроде "вот правильное решение"? То есть, саму задачу найти не сложно (идёте на любой сайт с бесплатными шаблонами...), а вот того кто её будет проверять и корректировать/координировать Ваши действия - найти будет гораздо сложнее (если конечно таковой некто Вам требуется).

Худший ответ:
Дешманский фриланс, типа Kwork, Fiverr, Workzilla. Можно даже не брать задания, а просто получать реальные макеты и не торопясь тренироваться. Денег все равно много не заплатят.
Вопрос: Есть ли программа для подбора линукса под железо?

Лучший ответ:
Немного не той стороной стоит вопрос. Обычно железо подбирают под линукс, причем в основном дистрибутив никакой роли не играет!
Так как поддержка железа на 99.99% определяется поддержкой драйверами, которые практически все входят в ядро линукса! Отдельной группой стоит графика, здесь драйверы встраиваются в x-server, в частности в Xоrg, но очень часто взаимодействуют с драйверами ядра.
Другими словами, если все ваша устройства поддерживаются определенной версией ядра и xorg, то любой дистрибутив, начиная с этих версий вам подойдет.

Худший ответ:
Если вам нужно подобрать дистрибутив под старую/специфическую архитектуру (никогда не задумывался, что FreeBSD можно поставить на xbox) - поиск с distrowatch.com вам в помощь.
Вопрос: Почему не сходится число уникальных записей в mysql?

Лучший ответ:
Судя по Вашей картинке, а так же вопросу, подозреваю, что дело может быть в PHPMyAdmin'е, либо в тех, кто его локализовывал (переводил на русский).
Мой Вам совет - выкиньте PHPMyAdmin, он отлично годится, что бы сохранять дамы небольших БД или загружать их обратно в условиях хостинга. Для MySQL есть масса отличных программ:
1. HeidiSQL
2. MySQL Workbench
3. Navicat
и т.д.
возьмите любую из них и забудьте о подобных проблемах
P.S. Подозреваю, что в той колонке (с заголовком "Кол-во уникальных элементов") указывается на самом деле не кол-во уникальных элементов а приблизительное кол-во записей в таблице, возможно результат генерирует какая-то из этих команд: эта или эта. Если Вы хотите в точности получить ответ на этот вопрос (что там за цифра и откуда она) - нужно включить логирование в MySQL всех запросов и посмотреть, какие запросы выполняются во время открытия конкретно этой страницы... найти нужный и т.д. Но я бы не стал тратить время на такую ерунду.

Худший ответ:
Это вывод результата выполнения запроса SHOW INDEXES FROM table и для InnoDB он показывает чёрт знает что (гугл выдаст пачку багов для разных версий MySQL). Вроде проблему решили в MySQL 5.7
phpmyadmin в данном случае просто выводит то, что ему отдаёт MySQL.
Вопрос: Должен ли URL совпадать с названием статьи?

Лучший ответ:
Должен ли URL совпадать с названием статьи?Не должен, это делается на усмотрение владельца сайта. Поисковики не предъявляют таких требований.Порой название статьи состоит из 3-4 слов, соответственно и адрес получается длинный - приходится редактировать.
Как поисковики относятся к таким манипуляциям?Если вы редактируете URL до публикации или до индексации, то поисковики даже не узнают о ваших манипуляциях. При изменении URL уже проиндексированных статей, особенно статей по которым есть трафик, нужно настраивать 301-редирект, с старого URL на новый адрес страницы. Почитайте рекомендации на тему search engine friendly URL (ЧПУ-адреса - описание, рекомендации, примеры).

Худший ответ:
Как поисковики относятся к таким манипуляциям? 
Им пофик как урл соотносится с названием.Есть слухи, что ключи в урле дают какой-то бонус в ранжировании, но если это и так, то влияние ничтожно. См в выдачу
Вопрос: Какой плагин для Gulp использовать для сжатия изображений, чтобы не ругался GooglePagespeed?

Лучший ответ:
Оставьте gulp-imagemin с дефолтными настройками и не обращайте внимание на Google Pagespeed.

Худший ответ:
Использовать imagemin, но подогнать его по уровню сжатия.
Вопрос: Что прописать в cmd, чтобы выключить (вкл) MySQL?

Лучший ответ:
Если виндаnet stop mysql
net start mysql
mysql - имя службы

Худший ответ:
закрой через дипетчер задач
Вопрос: Что сможет читать правительство, если я пользуюсь только https?

Лучший ответ:
Правительство отстаёт от технологий лет на 15. 15 лет назад HTTPS использовалось довольно редко, вот и правительство до сих пор думает, что все сидят на HTTP и пользуются ICQ, на который недавно Клименко советовал переходить)
Потому повводили законы, которые в тех реалиях возможно и сработали бы, но в современных от них пользы ноль.

Худший ответ:
Правительство может читать, на какие домены вы ходите (SNI не шифруется).
Вопрос: Используют ли при работе с Angular, Backbone, VUE и другими структуру из нескольких html-страниц?

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

Худший ответ:
Не практикуют.
Вопрос: Так ли все плохо с жестким диском?

Лучший ответ:
Я бы порекомендовал забэкапить ваши данные в любом случае, модели STx000DM известны своей ненадёжностью и помиранием без возможности восстановления данных.
Состояние Good потому что во всех полях SMART значения не ниже порога. Reallocated Sector Count указан как 88%. Что именно означает Raw знает только производитель. Если это действительно количество переназначенных секторов, то реально много.

Худший ответ:
Сколько примерно может еще протянуть такой диск, если эти значения не будут увеличиваться? Уже неделю цифры все те же. хотя активно используется,еще  на нем есть папка $RECYCLE.BIN  она весит около 20 гигов,но корзина пустая,не может быть с этим связано?