Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему не работает простенькая игра на питоне?

Лучший ответ:
в конце пропишите
if __name__=='__main__':
    game()
или просто 
game()
вы же только объявили функцию, но не вызвали ее

В сообщение при победе значения не вставятся. Это не f-строка. Перед кавычками f поставьте

Худший ответ:
Чтобы функция запустилась нужно ее вызвать:

def game():
  number = random.randint(0, 1000)
  tries = 1
  done = False

  while not done:
    guess = input('Введите число: ')
    if guess.isdigit():
      guess = int(guess)

      if guess == number:
        done = True
        print('Ты победил! Я загадал {guess}. Ты использовал {tries} попыток.')

      else:
        tries += 1
        if guess > number:
          print('Загаданное число меньше!')
        else:
          print('Загаданное число больше!')
    else:
      print('Это не число от 1 до 1000!')


game()
Вопрос: Как настроить ubuntu server(например 20,04) так же как proxmox в плане «безопасности»?

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

Худший ответ:
Исходя из комента...
Proxmox это Debian с кастомным ядром. НЕ предполагается что Вы будете что то делать КРОМЕ КАК из Веб интерфейса.
По умолчанию там не создается пользователь, только стандартный админский присутствует (root)
Да, Вы сами должны были догадаться, т.к. это видно в консоли.

Для того чтобы работать под root в дистрибутиве "дебиан ветки" достаточно
установить пароль root  
sudo passwd root
далее набрать su  ввести пароль от root

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

А нахрена Вам вообще работать под root в Убунту то?? Если это не тестовый сервак конечно
p.s. только пожалуйста по теме, оставьте своё очень важное мнение, что "безопасность это хорошо" при себе. мне за удобство надо.
Это не удобство, а нарушение логики работы с ОС... если надо что то поставить\перезапустить сервис - вбейте команду с sudo.
Если надо просто работать как юзер - sudo Вам ненужно впринципе
Вопрос: Как реализовать верную работу динамического компонента layout во vue3?

Лучший ответ:
Не надо изобретать велосипед, а надо использовать вложенные маршруты https://router.vuejs.org/guide/essentials/nested-r...

Худший ответ:
Для Vite есть удобная штука - vite-plugin-vue-layouts
Вопрос: Заказчик игнорит после выполненных работ. Как быть?

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

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

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

Худший ответ:
Ты не указал тип аргумента amount и по стандарту он стал string, а await interaction.channel.purge(limit=amount) принимает только integer. Просто присвой тип переменной
Вопрос: Как правильно загружать изображения на сервер для их превью на клиенте?

Лучший ответ:
Можно просто сразу в браузере показать превью и не грузить их на сервер, например)

Худший ответ:
Можно просто сразу в браузере показать превью и не грузить их на сервер, например)
Вопрос: Как правильно парсить на Golang?

Лучший ответ:
разрешите за вас погуглить

https://github.com/gocolly/colly/blob/master/htmle...

func (h *HTMLElement) ChildTextgo(querySelector string) string

https://github.com/gocolly/colly/blob/master/htmle...

func (h *HTMLElement) ChildTexts(goquerySelector string) []string

https://stackoverflow.com/questions/61498687/how-t...

result := strings.Join(data, ",")
fmt.Println(result

How to build a web scraper with Go and Colly
https://divrhino.com/articles/build-webscraper-wit...

Building a web scraper in Go with Colly
https://blog.logrocket.com/building-web-scraper-go...

Худший ответ:
У меня получилось, если кому интиресно, вот как я сделал. Всем спасибо за советы и инф.
package main
import (
	"fmt"
	"github.com/gocolly/colly"
)
type Car struct {
	CarName            string
	BodyCar            string
	ReleaseYear        string
	Color              string
	DriveUnit          string
	EngineVolume       string
	Mileage            string
	State              string
	FuelType           string
	CustomsClearedInRT string
	Transmission       string
	Price              string
	Url                string
}
func main() {
	scrapURL := "https://somon.tj/adv/8960821_tesla-model-y-2022/"
	c := colly.NewCollector(
		colly.AllowedDomains("www.somon.tj", "somon.tj"),
	)
	var carAttributes []string
	c.OnHTML(".chars-column li a", func(h *colly.HTMLElement) {
		carAttributes = append(carAttributes, h.Text)
	})

	c.Visit(scrapURL)

	car := Car{}
	car.BodyCar = carAttributes[0]
	car.ReleaseYear = carAttributes[1]
	car.Color = carAttributes[2]
	car.DriveUnit = carAttributes[3]
	car.EngineVolume = carAttributes[4]
	car.Mileage = carAttributes[5]
	car.State = carAttributes[6]
	car.FuelType = carAttributes[7]
	car.Transmission = carAttributes[8]

	fmt.Println("Наша тачка -", car)
}
Вопрос: Почему исключение не отображается?

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

Худший ответ:
В общем решил проблему осознав что исключения внутри блока передаются в волшебный метод __exit__, прим. def __exit__(self, exc_type, exc_value, exc_traceback): где потом можно либо обработать исключение, либо передать выше.
Вопрос: Беспл. хостинг beget не отправляет письма по php командой mail?

Лучший ответ:
1.Оформляйте код согласно правилам.
2.Жалобы на работу сервисов (как этого, так и сторонних - желательно задавать тех. поддержке)
3. Касательно вопроса: невозможность отправлять письма - ограничение бесплатного хостинга (для стимуляции покупки/усложнения спама)

Худший ответ:
Используй SMTP для отправки письма, на бесплатном хостинге встроенная отправка писем не работает.
Вопрос: Выбор Bitrix для бэкенда и ReactJS для фронта — хорошо или плохо?

Лучший ответ:
на Битрикс у вас будет админка и это экономия бюджета
Заведомая ложь № 1. "Админка" будет у любой бесплатной CMS.

переедете с Битрикс на что-то другое.
Заведомая ложь № 2. Единственная возможность слезть с Битрикса - это сделать сайт заново.

Худший ответ:
бегите от такого разработчика, Вам предлагают сборную солянку и потом посадить на иглу обслуживания и вечных доработок, делайте всё на Битрикс и серьезно сэкономите уже в ближайшем будущем, а когда будет огромный бюджет можно пуститься в персональную разработку, но там бюджеты в разы большие, а если кто то предлагает занедорого получите вечные проблемы и "ведро с болтами" IMHO
Вопрос: OpenVPN / VirtualBox — как создать сервер OpenVPN на виртуалке с Astra Linux?

Лучший ответ:
Посмотрите этот мануал, за исключением дистрибутив-специфичных вещей в начале, настройка на большинстве линуксов будет происходить примерно так. 
https://www.dmosk.ru/instruktions.php?object=openv...
Проверьте, что провайдер не фильтрует вам порты, это очень вероятно. При необходимости смените порт на сервере.

Худший ответ:
Ошибка была в режимах сети - стояли Nat и Host-only, поменял на Bridged, указал IP сервера и все заработало.
Вопрос: Есть ли что-то в PhpStorm такого, чего нет в VSC, что-то такое принципиально нужное, чтобы стоило рассмотреть как альтернативу?

Лучший ответ:
VS Code неплохой редактор. А если обвесить плагинами, то возможности приблизятся к полноценной IDE.
PhpStorm – полноценная IDE что называется "из коробки". Установил и у тебя все есть сразу и работает.

Поэтому вопрос знатокам - стоит ли плотно тестить шило, если уже есть нормальное мыло?))

На мой взгляд – стоит. Но пары дней будет мало. Нужно неделю-две посидеть, освоиться. И потом не слезешь.

Худший ответ:
PhpStorm отличное ide, есть триал на 30 дней для пробы. Есть еще что то, погугли

1. Нужно выбрать подходящую версию, лучше не свежий релиз, а например PhpStorm 2021.1.2  . Новые часто не оптимизированы и тормозят сильно. Эта версия которая у меня работает отлично, не лагает, не фризит. Одновременно открыто 6 проектов на laravel и yii. 

2. Здесь много всего из коробки есть и еще можно добавлять полезный и удобных фич через плагины. Писать о них нет смысла, можно просто находить статьи или доклады и смотреть первая статья из гугл zhurov.me/blog/phpstorm-base-features.html но опять же к этому нужно привыкать.  И с каждым месяцем можно находить и применять новые фишки и хоткей, что ускоряет и помогает писать код, рефакторить, дебажить и находить нужные куски кода за очень небольшой промежуток времени. 

Привыкал к PhpStorm  примерно пару недель и спустя 7 лет, я скажу что это отличая ide. 
Холивар который открыл Дмитрий Беляев дело вкуса, судя по его комментарием он особо пользовался PhpStorm  и пользовался им через силу, а не для того чтоб на него перейти. Да и разработка у него на js, что думаю тоже влияет на выбор ide, у нас разработчики фронтенда тоже на VSCode, бекенд на PhpStorm
Вопрос: Какие хорошие opensource-игры вы можете посоветовать?

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

Худший ответ:
У вангеров и квейка открытые исходники есть)
Только есть проблема - поиграть всё равно можно только если у тебя есть ассеты, а ассеты идут вместе с покупной копией)

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

Лучший ответ:
Петцольд - "Код Тайный язык информатики"
Таненбаум - "Архитектура компьютера"
Таненбаум - "Современные операционные системы"
Таненбаум - "Компьютерные сети"

Худший ответ:
 Я хочу начать изучение программирование на это более глубоком уровне. Я хочу понимать, как компьютер понимает этот самый код? Какие вообще основы программирования?  --  стесняюсь спросить. А в школе уроки информатики вы посещали? Вроде о том, как "компьютер понимает код" объясняют в классе 8 или 9-ом. 
Есть куча научно-популярных книг на эту тему, в том числе для школьников, желающих "расширить и углубить" знания полученные на уроках. Ну а если вам надо на профессиональном уровне - то так и напишите. Правда, тогда придется штудировать университетские учебники или равные им по сложности книги (к счастью, тх тоже имеется великое множество).
Так что для дельного совета неплохо бы было, что-бы вы указали свой уровень текущих знаний. А то можно насоветовать всякого....
Вопрос: Почему в телефонных номерах не могут сделать аналог DNS?

Лучший ответ:
Чтобы, например, компания или частное лицо могли сделать публичным отображение информации, поступающей от них в звонке (скажем, ФИО или какой-нибудь ООО "Сбер-Чтотоеще").Сто лет в обед существует такая технология, только нафиг никому не нужна оказалась.
https://ru.wikipedia.org/wiki/Caller_ID
...Caller ID number позволяет получать номер телефона, а Caller ID name позволяет видеть и имя и/или фамилию абонента или название организации, где зарегистрирован телефонный номер...
...Это изобретение было зарегистрировано для США 12 июля 1983 года...
...Caller ID был впервые использован в Нью-Джерси в 1987 году...
...Главная проблема, которая мешала ввести Caller ID в повседневную жизнь — это проблема секретности. В нескольких государствах создание Caller ID было замедлено группами защитников секретности абонента. Эти группы утверждали, что Caller ID — это вторжение в личную жизнь звонящего...
...телефонные компании были должны абоненту предложить возможность блокировать свой номер для определения...
...Подавление Caller ID через сервисный DTMF-код используется в Албании, Аргентине, Австралии, Бразилии, Финляндии, Дании, Исландии, Нидерландах, Швеции, Бразилии, Саудовской Аравии и Уругвае...
...Правительство США заявило, что они намереваются сделать доступным Caller ID по всему миру к середине 1995 года...

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

Ну и еще есть конфиденциальность так то, про не разглашение имени абонента
Вопрос: Как вывести данные mysql для конкретного пользователя PHP?

Лучший ответ:
1) Читаем документацию:The enctype attribute can be used only if method="post".
2) Файлы не передаются методом get
3) Делаем выводы из 1 и 2.
4) if(isset($_REQUEST['submit'])) - плохая проверка, начиная с того что я могу отправить форму не нажимая кнопку субмит, и заканчивая тем что такой проверкой вы не знаете какой запрос придет с клиента и что в нем будет (то есть вообще ничего кроме этой сомнительной переменной не проверяете).
5) В данной структуре данных вы никак не можете привязать посты к пользователям. Либо нужно добавить поле, определяющее владельца поста, либо делать пивот таблицу, где записывать соответствия пар юзер-пост.
6) Кроме того - у вас в коде отсутствует какое-либо понятие идентификации пользователей, то есть вы не знаете какой пользователь добавляет или запрашивает данные, что делает бесполезным само понятие принадлежности.

Худший ответ:
$sql = "SELECT * FROM POSTtable";
такого рода запрос подразумевает выборку вообще всех записей из таблицы
для того, чтобы выбрать записи конретного пользователя, надо чтобы запрос был вида

$sql = "SELECT * FROM POSTtable WHERE id = '".$uid."' ";

где $uid - переменная с ID пользователя
Вопрос: Пропадают данные при записи в JSON файл?

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

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

Но если прямо очень хочется работать с файлами (а иногда это оправдано, например при монопольном однопользовательском доступе к данным) то совет, не храни 100500 данных в одном файле, создай каталог и внутри на каждый объект создавай json файл, с именем - идентификатор этого объекта

такая key-value база данных простая, удобная, быстрая, подходит там где sql это излишне. Иногда поверх этого делают индексы (файл в котором фильтруемым данным сопоставляется список id) но если возникает такая необходимость лучше все же задуматься о нормальной базе данных
-------------------

Теперь по вопросу, чтобы найти место и причину потери данных, создай лог, текстовый файл, в который будешь записывать факты чтения данных (прочитан объект id) и факты помещения их в итоговый файл (записан объект id), затем для каждого id, не попавшего в итоговый файл добавь дополнительного логирования по условию по каждой ветке условий в коде

Многие нормальные IDE позволяют вести отладку с брекпоинтами по условию, в этом случае все эти логи не нужны и все можно решить парой прогонов, расставив в нужных местах брекпоинты
Вопрос: Отличает ли спутник автомобили от других объектов на карте?

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

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

Лучший ответ:
Ты сначала запрашиваешь погоду из города под названием "place", а уже потом запрашиваешь город. Это если я все так понял. Возможно я идиот...

Худший ответ:
observation = mgr.weather_at_place('London,GB')
читаем доки:
https://github.com/csparpa/pyowm#example
Вопрос: Как возможно сделать переключатель на 3 позиции?

Лучший ответ:
Подойдет?

Худший ответ:
Добрый день.
Может быть эти материалы будут вам полезны:
Вот, готовый компонент:
https://github.com/BeppiMenozzi/TriStateToggleButton
Вот, похожий вопрос:
https://stackoverflow.com/questions/44279442/3-sta...

гуглим
Вопрос: Почему отличаются две одинаковые строки?

Лучший ответ:
Код
var_dump(rawurlencode("Сalculator"));
var_dump(rawurlencode("Calculator"));
даст ответ.

Худший ответ:
Буквы "С" и "C" разные. Судя по всему одна - русская, вторая - нет
Вопрос: Как убрать iframe при повторном рендере страницы в react?

Лучший ответ:
Нашел решение.
Просто обновите react-scripts до 5 версии если не обновлена вручную в файле package.json и npm i

Худший ответ:
Встретил такую же проблему, но на 5ой версии react-scripts  не работает hot reload после правок (не перезагружается localhost). Единственное решение было вернуться на 4ую версию и убрать этот фрейм, а точнее сделать чтобы он не мешал, добавив в стили:

iframe {
    pointer-events: none;
 }
Вопрос: Куда совершать релокейт из unix админа в 2022 году?

Лучший ответ:
ИМХО проще всего будет двигаться в сторону DevOps, тем более, что подготовиться можно прямо на нынешней работе. Освойте ansible, docker, kubernetes (хотя бы поверхностно), какой-нибудь модный мониторинг (zabbix или prometheus+grafana, ELK не помешает), внедрите у себя хотя бы в некритических местах. На это можно отвести полгода-год. С полученным опытом уже можно будет идти в большое ИТ.

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

Лучший ответ:
Свой - Zabbix
Чужой - https://uptimerobot.com/

Худший ответ:
Исспользовать сторонние сервисы для мониторинга. Например:
https://newrelic.com/events/2021-01-29/setting-up-...
https://www.pingdom.com/solution/application-avail...
Вопрос: Можно ли работать вдвоем с одного аккаунта на Upwork?

Лучший ответ:
Запрещено, создайте для этого агентство

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

Лучший ответ:
db.commit() надо делать
А автоикремент атомарный - растет даже если транзакция откатывается

Худший ответ:
Текстовые значения в запросе должны браться в кавычки.
Автоинкремент резервирует следующее значение перед каждой попыткой выполнить INSERT. Если попытка не удалась, то зарезервированное значение не возвращается и в списке значений автоинкрементного поля появляется лакуна.
Вопрос: Как проверить, являются ли cookie httponly в php?

Лучший ответ:
зачем вам это проверять?
ваша зона ответственности - собственные печеньки. их и проверяйте.

Худший ответ:
Функция session_get_cookie_params возвращает параметры, которые сессионная кука получит, когда вы вызовете session_start. А проверить, с какими параметрами были установлены куки в браузере, на сервере нет возможности - браузер отправляет на сервер только имена и значения. Если хотите для себя убедиться, что куки верно выставляются - то в браузере на F12 смотрите заголовки, которые скрипт ваш отдаёт, а если хотите защититься от спуфинга - это никак не получится, юзер может любые заголовки или данные отправить, никто его гвоздями к браузеру не прибивает, есть тонны утилит.
Вопрос: Инициализируется ли строка во время ошибки?

Лучший ответ:
Как я понимаю, как происходит «инициализация». 

Где-то создаётся объект, и переменная int_text создается и «привязывается» к этому объекту, как ярлычок к чайному пакетику. 

А объект «пустая строка» тут не создаётся. Ну, точнее, не получается на выходе правой части «уравнения». И ярлычок int_text никуда не привешивается. И, видимо, его тут же сьедает сборщик мусора.

Худший ответ:
Если рассматривать всё не как присваивание, а как "связывание" имени переменной с объектом.
И подать саму запись присваивания в немного ином виде.
globals().__setitem__('int_text', int(input("it's just an instance, bro")) )
То можно всё представить как функцию, которой передаются нужные атрибуты.
Т.е. имя переменной, что мы передали, а так же объект который мы хотим присвоить, сначала находятся лишь на локальном уровне этой самой функции, пока она не вмещается в список гдобальных переменных.

Т.е., если всё рисовать в некой последовательности действий.
То сначала производится инициализация объектов, что переданы функции.
1) Передан атрибут в виде объекта строки - принято
2) Передаются атрибут в виде функции - ожидание результата. Как только получит результат от функций, пойдет дальше, или же не пойдёт в случае ошибки. И запустится функция присваивания.
3). В механике функции присваивания, имя переменной связывается с уже поданным на блюдичке объекте.

А вот с функциями содержащими рекурсию всё интереснее. К примеру, если написать x = x, не выйдет вызвать рекурсию, так как для начала нужно получить объект x. А вот если записать функцию, к примеру x = lambda: x(). Система сразу же может получить готовый объект функции. А так как его содержимое "инициализируется" лишь при непосредственном использовании. То когда мы уже используем саму функцию по имени переменной, то когда при выполнении функция встречает x(), она свободно выполняет её, так как имя переменной уже создано на локальном уровне, и связано с объектом.

И только после того, как полностью будет готов нужный объект, оно свяжет переменную с ним.

P.s. С реальностью не сильно сходится (имею ввиду представление всего, как функции), но механика похожая. Просто мне проще всё представлять как функции.
Вопрос: Влияет ли скорость диска хостовой ОС на скорость работы виртуальных машин, хранящихся на другом диске?

Лучший ответ:
Если все файлы Hyper-V будут находиться на SSD, то им - Виртуальным машинам всё равно на каком диске нодовая ОС, хоть на магнитной ленте, на скорость VM это не повлияет.
По дефолту Hyper-V хранит файлы конфигурации VM (такие так сказать VM RAM, когда делаете Save VM, возможно так же и снапшоты и т.д) на диски ноды. Проверьте в настройках самого Hyper-V

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

Лучший ответ:
обычно если пых установлен, достаточно просто php /var/www/имя/data/www/сайт/cron.php, если не видит пхп - запускаете whereis php, смотрите где оно и указываете полный путь.

Худший ответ:
php для веб сервера и php для консольных команд - разные пакеты

чтобы в командной строке запускать php test.php нужно установить пакет php-cli, да еще и настроить его персонально и включить модули в /etc/php/8.1/cli и modst-available (тут 8.1 версия, так как на сервере их может стоять несколько)

путь до php интерпретатора определяется
whereis php

ну и на последок, настраивай не глобальный крон а пользовательский, залогинившись под ним по ssh и запустив crontab -e
тогда скрипты будут запущены из окружения этого пользователя

следи за правами доступа на запись своих логов
Вопрос: Zabbix мониторинг монтируемых шар?

Лучший ответ:
Есть штатный элемент, vfs.file.exists
Можно просто проверять наличие какого-либо файла в шаре.

Худший ответ:
А вот так можно сделать   system.run["grep -w /share/dir /proc/mounts | grep -P ' \x72\x6F\x2c'"]  ?