Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как заставить включаться компьютер автоматически после отключения электричества?

Лучший ответ:
В биосе поищите что-то типа "restore after AC power loss".

Худший ответ:
В БИОС есть настройка - "power loss" или AC Back Function

Найдите в меню раздел «Power Managevent Setup». Он может располагаться в подменю «Advanced» или «ACPI Configuration»

© Public-pc.com Источник: https://public-pc.com/avtomaticheskoe-vklyuchenie-...
Вопрос: Как сделать такой инпут?

Лучший ответ:
Тут инпут только там, где единица. Остальное - тупо поле со сверстанными процентом и кнопками вверх\вниз, которые работают через js. Так что решение простое, верстаете как на макете, затем позиционированием вставляете слева реальный инпут. И останется в js кнопочки активировать, чтоб верхняя брала значение инпута, добавляла +1 и вставляла в инпут, а нижняя делала тоже самое, только -1. Вот и вся задача. Главное проверку добавьте, чтобы при -1 ниже нуля не опускалось значение.

Худший ответ:
https://jsfiddle.net/wjg8oLsd/ Не то ?
функция вычисления размера инпута стырена со stackoverflow
P.S. Обновил решение
Вопрос: Почему IF-ELSE в Python так нелогичен?

Лучший ответ:
1. Как проверял? Просто пытался угадать? Рандом - штука такая, могло просто не везти.
2. Если пользователь с первого раза введёт правильный key, условие цикла сразу будет False, и цикл не выполнится - а значит, не выполнятся и ifы.

Я бы посоветовал сделать так:
max_tries = 5  # число попыток
key = -1  # заведомо некорректное значение
for i in range(1, max_tries+1):
    key = int(input(f'Попытка №{i}: '))
    if key == lock:
        print(f'Угадал c {i}-й попытки!')
        break
else:  # этот else относится к for! 
    # он выполнится, если for НЕ БЫЛ прерван по break
    print('Попытки кончились. =(')

Худший ответ:
lock = 5
tries = 5
key = -1

while tries:
    tries -=1
    key = int(input('Введите число: '))  
    if key == lock:
        print(f"поздравляю, вы выиграли, потратив {5-tries} попыток!")
        break  
    print(f'осталось {tries} попыток')
else:
    print('проигрыш!')
Не подглядывая к Vindicar накарябал почти то же самое :)
Вопрос: Можно ли заменить тип бд из mysql на psql?

Лучший ответ:
А при чем тут phpmyadmin - веб интерфейс для управления БД и Ваш выбор БД?
удалите mysql и поставьте нужную БД )

вообщем то даже удалять не обязательно. можно просто отключить автостарт...

Худший ответ:
Любой нормальный десктопный SQL-клиент умеет и то, и другое. Ужасный pgAdmin4 (аналог phpmyadmin) не предлагаю.
Вопрос: Актуальны ли технологии AJAX и JQUERY при нынешних веб реалиях?

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

что касается AJAX - скорее всего вы не совсем понимаете в чем суть, так как это не какая-то библиотека или фреймворк, а метод взаимодействия между клиентом и сервером, по протоколу http(s), позволяющий отправлять запросы без необходимости перезагружать страницу, но из контекста страницы (читать про XMLHttpRequest), и является неотъемлемой частью веб апи и устареет еще очень не скоро. Как некая альтернатива ему может выступать сокет соединение, но обычно области применения этих технологий разные, как и задачи, которые они выполняют.

Худший ответ:
Ребят, подскажите, а что мне сейчас изучать для ассинхронки и связывание фронт - бд ? Я просто корзину в магазине делаю и нужно всё это соединять как-то, но сказали, что тип AJAX устарел и можно всё делать в JS уже.
Вопрос: Необходимая база для входа в Embedded?

Лучший ответ:
Работал в embedded с 1999 по 2010. В то время был хорошим электроником, разрабатывал схемы с МК, сам и проги писал. С достаточно, понимание С++ желательно, так как были варианты, когда с Майкрософт присылали исходники аудиокодеков на С++, хотя конечно возможности плюсов использовались по минимуму. Но надо было все это переложить на Си для дохлого встроенного проца. А так у меня в стеке C, C++, C#, Matlab для моделирования нейронок и DSP и всякая мелочь типа питончика и иже с ним.
Embeded в России плох тем, что очень мало вакансий и они низкооплачиваемые, так что по карьере не советую, жена потом уйдет )).

Худший ответ:
1. Вот сразу вы в понторезку ушли. Эмбеддер выбирает кристалл под задачу. Где то  и attiny85 будет толстой. 
2. Ардуина это отладочная плата, не хотите ее песочницы используйте голый тулчейн
3. Да много нужно, алгоритмы Кнутта например почитать, опять же многие тулзы только под линуксом, FPGA это отдельный большой разговор
4. Слишком широкий вопрос начните отсюда https://www.radiokot.ru/articles/
Вопрос: На каком ЯП стоит писать программу для управления компьютерным клубом (десктоп)?

Лучший ответ:
Совершенно не имеет разницы на чём это делать.

Тут у тебя по сути две (или три) части:
1. Пользовательский интерфейс, где можно кнопочки нажимать и посылать какие-то команды (типа разблокировать комп №42 на 3 часа)
2. Некоторая система, которая будет непосредственно эти команды реализовывать.
3. Возможно, ещё какая-нибудь финансовая система, чтобы ещё деньги считать и чеки печатать.

Все три могут быть как частями одной программы, написанной на одном языке, так и несколькими независимыми программами (написанными, возможно, на разных языах), которые между собой общаются через какой-нибудь сетевой протокол (например по HTTP).

Самое сложное (не понятное) - это вторая, и она даже может состоять из нескольких частей (например сервер, который всем управляет и агент на управляемом компьютере)

Пользовательский интерфейс может быть написан решительно на чём угодно - это может быть даже сайт, который будет через http обращаться к серверу, а может быть и привычный для тебя Windows Forms

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

Худший ответ:
сделайте в виде сайта (работа в браузере) на php
Вопрос: В Python не работает selenium. Странная ошибка при подключении драйвера, что это?

Лучший ответ:
хром установлен?

Худший ответ:
Это сообщение про  selenum upgrade  с v 3 на 4
если задача временная (до v5)  - можно игнорить)

Ответ просто  гуглится по сообщению
или 
пропиши  путь к chromedriver  в  Env variable Path, тогда не придется указывать при создании обьекта
Вопрос: Программа для сетевого доступа к файлам (аналог Netlook), как реализовать?

Лучший ответ:
это netlook? читаем описание:
Поддержка трех протоколов: SMB, FTP и HTTP.
SMB - это майкрософтовский протокол доступа к файлам по сети в локальных сетях с машинами с windows, в linux поддержка этого протокола обеспечена с помощью samba и соответствующих библиотек. В терминах этой сети share (шара) - это опубликованный каталог на машине (расшарить) или сервере

на windows для работы с файлами по сети не требуется дополнительных библиотек, и все функции работы с файлами принимают \\имя_сервера\имя_шары\путь\файл
на linux придется пользоваться библиотеками либо монтировать шару на какой-либо каталог (smbmount или файловая система cifs)

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

Есть одна проблема, ключевая, получение списка машин в сети и списка шар на каждой. В зависимости от языка программирования и ОС будут свои нюансы.
на c++ с использованием win32 api - используй это, ну и пример с поиском всех шар в сети

Худший ответ:
Какой "доступ к файлам"-то? Виндовские шары, что ли? SMB это называется.
Вопрос: Обмен данными поверх ethernet(mac2mac), как реализовать?

Лучший ответ:
Прямо из репозитория самого автора Linux:
https://github.com/torvalds/linux/blob/master/net/...
Кстати, там в комментариях дата, этому коду 29 лет, а он до сих пор актуален.
Ещё для примера можно это глянуть:
https://github.com/iputils/iputils/blob/master/arping.c

и какие вообще есть API для этих целейВероятно, никаких.

Худший ответ:
API? На C? На уровне пакетов ethernet? Ну, какие-то либы наверняка  найдутся, позволяющие формировать пакеты, но я бы на месте твоего препода добавил условие "и без использования библиотек". 
Берется RFC, читается, формируется пакет вручную и вручную же отправляется в сетевой стек на нужном уровне.
Вопрос: Как публиковать статьи на сайте?

Лучший ответ:
Статьи какие нибуть по этому поводу. 
Вы не поверите, но документация по ASP net или любой учебник.

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

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

Зачем все усложнять?

Худший ответ:
Грокаем алгоритмы, там есть простенький пример.
Или "Рекомендательные системы на практике | Фальк Ким"
Вопрос: Как работает указанный код, удаляющий дубликаты в массиве?

Лучший ответ:
function removeDuplicates (arr){//функция, которая принимает на себе массив для удаления дублей
    let result = [];//создается новый пустой список, в который будут добавляться уникальные значения
    for (let n of arr) {//перебираем исходный массив по одному элементу
        let contains = false;//ставим флаг в статус false
        for (let m of result) {//перебираем наш новый массив(при первой итерации там пусто, но потом добавляются значения)
            if (m === n) {//сравниваем очередной элемент из исходного списка с каждым элементом нашего нового списка и, если такой элемент уже есть, то выполняем условия ниже
                contains = true;//а именно ставим флаг что такой элемент есть
                break;//выходим из цикла for (let m of result)
            }
        }
        if (!contains) result.push(n);//проверяем наш флаг. если там стоит false, то добавляем очередной элемент из исходного списка в наш новый, иначе просто пропускаем и идем к следующему элементу исходного списка
    }
    return result;//После того как все элементы перебрали - возвращаем наш новый список с уникальными значениями, которые далее выводятся в консоле
}
console.log(removeDuplicates([1,2,3,4,5,1,1,2,2,3,3,65,9,65,1,5,65, 117, 117, 118,118, 12333, 12333]))

Худший ответ:
Примерно так:
const removeDuplicates = (arr) => 
  arr.reduce(
    (acc, cur) => (acc.includes(cur) ? acc : (acc.push(cur), acc)),
    [],
  );

console.log(removeDuplicates([1,2,3,4,5,1,1,2,2,3,3,65,9,65,1,5,65, 117, 117, 118,118, 12333, 12333]));
// Array(10) [ 1, 2, 3, 4, 5, 65, 9, 117, 118, 12333 ]
Вопрос: Как работать с указателями?

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

Вы же менянте местами значения int, значит временная переменная tmp должна быть int, а указатели надо разименовывать.

Худший ответ:
А, простите, чего хотели-то? Передали в функцию два указателя, поменяли первый со вторым, ничего с данными по указанным адресам не сделали - ничего и не поменялось :)

Указатель содержит адрес. Чтобы поменять данные - нужно считать данные по адресу.
Вопрос: Бот не отправляет переменные?

Лучший ответ:
'Карта: " + str(a) + " " + str(b) + " " + str(c) + " " + str(d) +"\nCVV: " + str(e))'
У тебя внешние кавычки одни, а внутренние другие. Так что весь этот фрагмент - одна строковая константа, а двойные кавычки внутри - просто символы.
К слову, научись использовать f-строки.
f"Карта: {a} {b} {c} {d}\nCVV: {e}"

Худший ответ:
Это не будет работать. Последнее несколько чисел в номере карты - контрольные. Они страхуют ввод номера карты от опечаток. Посмотри что такое алгоритм Луна.

И первые несколько цифр показывают обычно код банка и код платежной системы (Viza, Maestro). Нагуглишь сам.
Вопрос: Моментальный перегрев процессора при включении, что делать?

Лучший ответ:
Проверить термопасту и правильность установки радиатора. Есть еще экзотические варианты вроде отвала кристалла от термопластины.

Худший ответ:
проверить 12в
проверить ноги ни сокете
Вопрос: Атакуют сайт с тысяч разных IP. Как защитить?

Лучший ответ:
Попробуй прикрыться CloudFlare или QRATOR.

Худший ответ:
luminati 

побеждается cloudflare , они отслеживают такое
Вопрос: Кто лучше подходит под «создание бизнеса» — макретолог, экономист или же менеджер?

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

Худший ответ:
Я отучилась на менеджера (бакалавриат). На курсе были предметы: маркетинг, инновационные технологии, бухгалтерский учёт, мировые экономические рынки (последний предмет - могу ошибаться, не помню, как называется дословно). Этих знаний вполне достаточно для ведения бизнеса. Моя подруга с курса ведёт свой бизнес, причём успешно. 
Принимать решение Вам. Я хотела рассказать, что все эти предметы смежные. С экономическим образованием обычно идут на бухгалтера или финансового менеджера. Маркетолог - уже отдельная профессия. А менеджер может (в идеале) управлять любым предприятием или организацией, это широкая специальность.
Вопрос: Почему response.json( ) после fetch асинхронен?

Лучший ответ:
Для чего так было сделано?
Все сделано логично и правильно. fetch() возвращает ответ как только все заголовки были прочитаны (не дожидаясь при этом получения полезной нагрузки). Если же надо получить и полезную нагрузку, то в ответе есть стрим, из которого уже читаете что Вам нужно (и сколько нужно).
Все остальные методы ( Response.json(), Response.text() и т.д ) являются просто хелперскими обертками над стримом и соответственно будут асинхронными.

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

Худший ответ:
Мы ведь не посылаем никаких данных на сервер
По вашему получается, что асинхронной должна быть только передача и получение данных с сервера ))
Куча браузерного API работает асинхронно, используя промисы.
Конкретно про response.json( ). Ответ от сервера может быть весьма немаленьким и логично, что его чтение стоит сделать асинхронным. Но это моё предположение.
Вопрос: Какую роль играют float и double в скобках?

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

float нужен вам в начале, потому что вещественные константы имеют тип double. Поэтому у eps/2.0 и 1.0 в первом цикле имеют тип double, все вычесляется в double. Преобразовав одно из выражений в float вы получаете то, что вам надо. Без этого все вычисления идут в double и ответ находится не тот. На самом деле там float при сравнении все-равно расширяется до double но на результат сравнения это не влияет в данном случае. 

Еще, вместо явного приведения типов, можно поставить f после вещественных констант, чтобы указать компилятору, что это float:
while (1 + eps/2.0f != 1.0f){

Тогда вычисления будут во float и ответ будет правильный.

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

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

В условии цикла while используется сравнение двух чисел, одно из которых получено путем деления eps на 2 и прибавлением единицы, а второе - просто единица. Сравнение проводится с помощью оператора !=. Если сравнение истинно, то цикл продолжается, в противном случае - прерывается.

Сравнение на равенство двух переменных типа float или double может быть неточным из-за ограниченной точности хранения чисел с плавающей точкой в компьютере. Используя (float) и (double) перед выражением в скобках, мы приводим результат к типу переменной с плавающей точкой соответствующей точности.

Если убрать скобки с выражения, то произойдет следующее: сначала выполнится деление переменной eps на 2.0, затем результат будет прибавлен к единице. Затем это выражение сравнится с единицей, используя оператор !=. В результате получится сравнение чисел разных типов (типа float и int), что может привести к некорректному результату.

Чтобы получить точный результат, программа использует константы FLT_EPSILON и DBL_EPSILON из заголовочного файла , которые определяют машинный эпсилон для типов float и double соответственно. Сравнивая результаты, полученные в цикле с этими константами, мы можем определить, какой результат является более точным.
Вопрос: Музыка без авторских прав?

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

С другой стороны всегда есть Public Domain или различные вариации на тему Creative Commons.

Худший ответ:
Без авторских прав быть не может.
Но зато может быть музыка, которую можно распространять на сторонних сайтах.
Смотри чтобы лицензия была creative commons (с правом на распространение) или public domain
Вопрос: Как обновить экран между alert()?

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

Худший ответ:
Через анонимную функцию и колбэк в ней.
Вопрос: Должны ли переменные final ( не static ) всегда писаться большими буквами?

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

Худший ответ:
Добрый день!
В данном случае согласен с коллегой @sergey-gornostaev
Но вот, что самое интересное:
https://vertex-academy.com/tutorials/ru/modifikato...
*Обратите внимание: переменные с final - это константы. При этом их принято писать заглавными буквами - тут CamelStyle не работает :

Вот, еще интересная выдержка из ответа:

In java, making something final means that it can't be reasigned to another reference to another instance, but if it's a reference to a mutable class, the mutable values inside the class can still be modified.

For example, a final String is a constant because Strings are immutable in Java, but a final ArrayList means that you cannot assign it to another ArrayList, but you can still add and remove elements to that ArrayList

https://stackoverflow.com/questions/39459727/diffe...
Вопрос: Должен ли php программист уровня middle хорошо разбираться в базах данных?

Лучший ответ:
Будет ли простое перечисление типов индексов (Hash, B-Tree...) считаться приемлемым ответом?
Нет. По хорошему ты должен ещё знать, для каких ситуаций какой лучше и как они примерно устроены.
Но это в принципе не обязательная вещь - если скажешь что-то типа

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

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

Худший ответ:
У меня раз спрашивали про то как настроить репликацию и что такое binary log (конкретно про MySQL). Я не знаю - это называется "хорошо разбираться" или нет?
Вопрос: Как работает сайт изнутри (глубокий технический анализ сайта)?

Лучший ответ:
Xhprof вам в помощь.

Худший ответ:
Если речь о произвольном сайте, то сделать это невозможно без хакинга.
Если речь о собственном сайте, то это делается на этапе разработки и любой разработчик знаком с инструментами дебага и профилирования
Вопрос: Laravel Eloquent, where с несколькими вариациями значения столбца?

Лучший ответ:
потому что вы получаете запрос вида where status = 'active' or uid=2 or uid=6; и получаете все варианты.

1. Использовать whereIn 
->where('status',  '=' , 'active')
->whereIn('uid',  [2,6])
->get();

2. Использовать обертку что бы получить запрос вида where status = 'active' and (uid=2 or uid=6)
->where('status',  '=' , 'active')
->where(function($builder){
  $builder->where('uid',  '=', '2')
      ->orWhere('uid',  '=', '6');
})
->get();

Худший ответ:
Решение нашлось с помощью оператора 'whereIn('uid', [2, 6])' вместо 'orWhere()'

https://laravel.com/docs/8.x/queries#additional-wh...
Вопрос: В чем может быть причина не работы SSD в ноутбуке?

Лучший ответ:
Переведите SATA контроллер в режим AHCI.

Худший ответ:
какую винду ставите? 10-ка?
какая разметка на SSD диске? GPT? 
А на HDD MBR?
может из-за этого?
Вопрос: Возможно ли получить доступ к файлам с айфона, если разбит экран?

Лучший ответ:
Мне кажется проще в любом сервисе заплатить за подкидывание экрана и копирование там же

Худший ответ:
Не знаю насчёт айфона, но в андроиде такие возможности есть - через ADB, через OTG подключить мышку или использовать софтину Vysor. Не раз спасала с разбитыми экранами.
Наверное, для айфонов может быть что-то подобное, хотя шансы на это крайне низки.
Вопрос: Могут ли p2p сети работать, если все пользователи имеют серые IP?

Лучший ответ:
Очередной построитель независимого протестного мессенджера? :D

Нет, не смогут. 

Казахская практика показала, что единственным "мессенджером", который сложно взять под контроль, являются портативные рации :)

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

Лучший ответ:
Хост - это одно, а доменное имя хоста - это другое.

Тебе надо либо поднять DNS сервер, в котором указать, что testdomain лежит по адресу 192.168.1.193, либо (что гораздо проще) указать в /etc/hosts 
192.168.1.193    testdomain

Работать, ессно, это будет только на той машине, где прописано.

Худший ответ:
В конфиге указан testdomain, а в браузере ты пытаешься открыть www6.testdomain.com.

testdomain естественно не отрезолвится, так что впиши его в /etc/hosts и в браузере перейди на testdomain
Вопрос: Как сделать очередь-демон в laravel?

Лучший ответ:
Демон - это  постоянно работающая в фоновом режиме программа. Вам же надо раз в день, это не демон, а планировщик задач https://laravel.com/docs/8.x/scheduling

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

Лучший ответ:
Проверьте мессенджеры (кэш)

Telegram: Настройки -> Данные и память -> Использование памяти -> Очистить кэш Telegram
Viber: ...
...

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

собственно это два места куда девается память - external memory та часть что доступна например из total commander или при подключении смартфона проводом к компьютеру и приватная память приложения

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