pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как успевать работать с двумя заказчиками?

Лучший ответ: У меня параллельно идёт около 6 проектов.
Везде задачи то появляются, то затишье.
Стараюсь распределять своё время как-то так:
40% на первый основной проект
40% на другой основной проект
20% на прочие мелкие работы по другим проектам.
Но бывают и ситуации, когда просыпаются сразу все клиенты и всем резко надо. Тут либо пахать по 10 часов в день, либо обламывать кого-то.
В любом случае, мне как фрилансеру, главное, чтобы у меня всегда была работа. Поэтому не так страшно взять чуть больше как остаться без работы совсем.

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

Лучший ответ: Странно что еще не спросили - а что показывает top ?
Может просто памяти не хватает и все уходит в своп.

Худший ответ: Сегодня настроил в конфиге бд лог медленных запросов. В начале что-то не так пошло, и сайт перестал отвечать вообще на запросы. Откатил обратно настройки конфига бд, все заработало. И, что меня совсем не радует, работает уже пару часов без сбоев очень быстро, как я только не изощрялся. Лучше бы я нашел проблему, теперь фиг пойми... 
Как быть дальше?
______________________
Нашел решение проблемы! Она была в unicorn.rb
У меня не были прописаны секции before_fork и after_fork.
Сейчас мой unicorn.rb выглядит так:APP_PATH = File.expand_path('../../', __FILE__)

working_directory APP_PATH
listen            APP_PATH + '/tmp/sockets/unicorn.sock'
worker_processes  2
timeout           30
preload_app       true

before_exec do |server|
  ENV['BUNDLE_GEMFILE'] = APP_PATH + '/Gemfile'
end

before_fork do |server, worker|
  ActiveRecord::Base.connection.disconnect! if defined?(ActiveRecord::Base)
end

after_fork do |server, worker|
  ActiveRecord::Base.establish_connection if defined?(ActiveRecord::Base)
end
Вопрос: Почему сломался сертификат?

Лучший ответ: Ему не доверяют https://habr.com/post/400953/

Худший ответ: Это личный кабинет налогоплательщика. ФНС уже запустило новый сайт с новым доверенным сертификатом, ссылка на новый ЛК есть на сайте службы.
А переделывать сертификат на сайте, который они решили закрывать, никто не стал.
Вопрос: Блокировка DigitalOcean?

Лучший ответ: Тоже попал под блокировку в DO
Выход простой
Топаете в любого отечественного хостера, покупаете самую дешевую VDS с хорошим каналом и настраиваете reverse proxy на nginx приблизительно с таким конфигом:server {
        listen                  80;
        server_name             domain.ru;
        
        location / {
                proxy_pass http://111.111.111.111:80;
                proxy_connect_timeout                           60;
                proxy_send_timeout                                      60;
                proxy_read_timeout                                      60;
                proxy_redirect                                          off;
                proxy_buffer_size                                       4k;
                proxy_buffers                                           4 32k;
                proxy_busy_buffers_size                         64k;
                proxy_temp_file_write_size                      10m;
                proxy_set_header        Host                    $host;
                proxy_set_header        X-Real-IP               $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
где 111.111.111.111 это IP адрес вашего дроплета в DO
и для https сайтовserver {
        listen                  443;
        ssl                     on;
        server_name             domain.ru;
        ssl_certificate      /etc/nginx/ssl/domain.ru.crt;
        ssl_certificate_key  /etc/nginx/ssl/domain.ru.key;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  "RC4:HIGH:!aNULL:!MD5:!kEDH";

        location / {
                proxy_pass https://111.111.111:443;
                proxy_connect_timeout                           60;
                proxy_send_timeout                                      60;
                proxy_read_timeout                                      60;
                proxy_redirect                                          off;
                proxy_buffer_size                                       4k;
                proxy_buffers                                           4 32k;
                proxy_busy_buffers_size                         64k;
                proxy_temp_file_write_size                      10m;
                proxy_set_header        Host                    $host;
                proxy_set_header        X-Real-IP               $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }

}
такая вот у нас замечательная, страна, конечно...

Худший ответ: Список в тему
DigitalOcean
128.199.0.0/16
139.59.0.0/16
159.89.0.0/16
159.203.0.0/16
165.227.0.0/16
167.99.0.0/16
174.138.0.0/17
188.166.0.0/17
206.189.0.0/16
Вопрос: Orange Pi на процессорах H5. Как вы решаете проблемы с охлаждением?

Лучший ответ: (шутка, с долей правды)

Худший ответ: На моей стоит Home Assistant внутри Docker-контейнера, опрашивает устройства, показывает веб-интерфейс через WiFi (экран не подключен).
Обычная загрузка системы менее 6%, температура CPU менее 35 град, используется такой же пассивный радиатор.
1. пластиковый корпус + пассивное охлаждение = странный выбор, нужно добавлять кулер
2. что-то сильно потребляет ресурсы, нужно менять/настраивать софт
Вопрос: Как сделать такую линию вверху сайта?

Лучший ответ: Как сверстать шапку?
В тех ответах - нету такого, ну, мало ли, очередной вариант ;)div {
  height: 1px;
  background-image: repeating-linear-gradient(to right,
    green 0, green 1em,
    purple 1em, purple 2em,
    tomato 2em, tomato 3em,
    blue 3em, blue 4em
  );
}

Худший ответ: рисуете ту часть, которая повторяется ОДИН РАЗ и повторяете по горизонтали.
в данном случае 5 цветов повторяются
Вопрос: Как организовать сервер и Hyper-V на предприятии?

Лучший ответ: Зачем 1050 не понятно. 2 диска на всё, полный бред. 2016 дата центр не нужен если есть лицензии на ОС 2003 и 2008. Почему процессоры по 2.1 GHz...
----
1) Определить кол-во имеющихся лицензий. (ОS,  RDP)
2) Для сервера 1с в нужно 2 диска hhd под ОС и SSD под базы (в идеале RAID 1 для ОС и для базы)
3) Для файл-шары 1 (лучше raid 1) диск для ОС и в зависимости от нагрузки выбрать диски (sata или sas raid 10)
4) Объединить сетевые порты.
5) Желательно отдельную железку на вход трафика в локальную сеть, которая бы всем этим занималась.
6) Отдельная железка с RAID 1 для хранения бекапов, копии шары и прочей нужной инфы на тот самый день.
7) Остальные VM тоже желательно размещать, каждый на свой диск \ raid.
8) ОС гипервизора ОБЯЗАТЕЛЬНО на raid 1.
--
И после всего тебе нужен будет 2й такой-же сервер чтобы туда переместить все машины.

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

Лучший ответ: Всё, конечно, зависит от того уровня, на который ты докер хочешь изучить, но официального Get Started более чем хватит для базового понимания и использования. https://docs.docker.com/get-started/ Там ты и образ соберёшь, и контейнер поднимаешь и даже запушишь всё в ремоут. Продвинутые вещи можно найти там же, если потребуется, но особо заморачиваться с этим не советую. Если знаешь, что с этим не придётся много работать или будешь работать с базовыми командами, то лишь время потратишь. Как правило для типовых задач (по типу поднятия wordpress) уже есть готовые гайды, после прочтения get started рекомендую обращаться к ним, но уже с пониманием дела.

Худший ответ: Чтобы научиться плавать - надо плавать. Если у вас нет задач по работе/пет-проекту, на котором нужен докер - учить его бесполезно. Все равно забудете. Курсы есть, даже не слитые. Например https://stepik.org/course/1612/ - первая часть посвящена основам докера. Но повторюсь, нет реальных задач - технологию учить бесполезно.
Вопрос: Как в vue.js работать с компонентами?

Лучший ответ: В компоненте StoreModalComponent showModal удалить из data и перенести в  props:export default {
  props: {
    showModal:{ type: Boolean, default: false }
  }
}В родительском компоненте создать data свойство showModal и подписать на него только что созданные prop компонента  StoreModalComponent:<template>
  <store-modal-component :show-modal="showModal" />
</template>

Худший ответ: Отображаться окну или нет - это не его, окна, дело. Соответственно, showModal переносите в родительский компонент и передаёте в окно как параметр.

В родителе:

data: () => ({
  showModal: false
})
<button @click="showModal = true">Открыть склад</button>
<store-modal-component
  :show-modal="showModal"
  @close="showModal = false"
></store-modal-component>
В окне:

props: [ 'showModal' ]

Также надо будет в .modal-mask заменить @close="showModal = false" на @click.self="$emit('close')" (модификатор self - это чтобы не обрабатывать клики с вложенных элементов, т.е., собственно окна и его содержимого).

https://jsfiddle.net/jesyd734/
Вопрос: Как реализовать этот ползунок?

Лучший ответ: https://jsfiddle.net/L30qqawj/ либо трансформациями
www.cssportal.com/style-input-range
А это для коллекции ionden.com/a/plugins/ion.rangeSlider/demo_advanced.html

Худший ответ: 1) Треугольная форма прогресс-бара делается бордерами:  https://css-tricks.com/snippets/css/css-triangle/
2) Движение ползунков, ключевые моменты:
Событие mousedown вы отслеживаете на ползунке либо на прогресс-баре.
Внутри обработки mousedown вешаете события mousemove и mouseup на document или window (не забудьте их убрать по mouseup)
Во время mousemove вычисляете положение курсора относительно левого края слайдера (например event.clientX - sliderElement.getBoundingClientRect().left).
Необходимо еще отслеживать, что бы позиции были не меньше нуля, и не больше ширины слайдера (точнее ширина слайдера - ширина ползунка).
Еще, для адаптивности, желательно все из пикселей в % переводить
Вопрос: Возможно ли понижение сайта в выдаче без cms?

Лучший ответ: Понижение в выдачи из-за отсутствия cms? Серьезно? Плюньте в лицо тому, кто это сказал.

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

Лучший ответ: А приватный ключ? По хорошему на другой машине надо создать новую пару ключей.

Худший ответ: Спасибо всем. Если использовать команду ssh-keygen с ключам -t -C -b то данные ключи можно использовать универсально, то есть подходят как к машине создателю, так и ко всем остальным, где прописан публичный ключ в файл auhorized_keys.
Вопрос: Кто знает экзотические или редкие разделители explode?

Лучший ответ: списка эмодзи хватит?

Худший ответ: списка эмодзи хватит?
Вопрос: Как трудно будет найти работу ASP.NET MVC программистом Москве?

Лучший ответ: Сам недавно искал в Москве работу ASP.NET разработчика, но на уровне middle/senior, а не junior. Вакансии есть, даже юниорские. Есть хорошие белые компании, имеющие вакансии конкретно junior. При любых раскладах все будет зависеть только от вас, да и без опыта искать работу сложно всем.Сложнее это делать по ASP.NET MVC чем по, например, JS? Ну может быть. Опыт "сайтов,магазинов и прочего на CMS" лучше озвучить в самую последнюю очередь. ASP.NET в большинстве случаев это Enterprise системы, сервисы B2B и прочее не слишком ориентированное на анонимного клиента с улицы. Тут актуальнее ваше понимание как работает инфраструктура .NET, ваши знания по архитектуре и алгоритмам, навыки работы с данными.

Худший ответ: Спасибо за исчерпывающий ответ )
Вопрос: Что должен знать c# middle developer?

Лучший ответ: Начнем с того, что мидл должен знать как минимум то же, что знает джун.
Для джуна это систематческие знания CLR и c#. Лучше всего прочитать и понять CLR via C# Джеффри Рихтера. Я считаю - это минимум.
Джун находится на уровне неосознанной неосведомленности. Это значит, что за ним нужно присматривать.
Джун может даже не знать, как задать нужный вопрос. Если от человека в проекте больше вопросов, чем ответов - это джун.
Мидл отличается от джуна практическими навыками и опытом. Это самостоятельное решение прикладных задачь и навыки командной работы. Мидл находится на уровне осознанной неосведомленности. За ним присмотр не нужен - он сам умеет определять границы своей компетентности. Для мидла количество вопросов примерно равно количеству ответов.
Сеньор отличается от мидла тем, что способен самостоятельно реализовывать проекты с нуля и до feature complete, включая налаживание инфраструктуры разработки и управление проектом, обслуживание приложения в производстве.
Сеньор может обучать других, не говоря уже о том, что эффективно решает более сложные задачи. Сеньор находит системные решения. Если сеньор не может предложить решение задачи, то, скорее всего, человечество еще эту задачу не решило. Для сеньора количество ответов сильно превышает количество вопросов. Сеньор иногда делает вещи, которые причиняют непоправимую пользу не только в рамках проекта, но и всему человечеству, такие как хорошие опенсорсные фреймворки.

Худший ответ: 1. Уметь самостоятельно решать сложные задачи (анализировать, подбирать оптимальные варианты решения) в рамках своей компетенции (какая то часть приложения над которой работает в данный момент)
2. исходя из п.1. Хорошо и отлично знать инструмент (ЯП, Framework)
3. Не делать дичь, типа запросов к БД в цикле, т.е. знать как паттерны, так и антипаттерны.
Senior - это уже опыт, знание и умение архитектуры, понимание требований бизнеса, и как их переложить на архитектуру и код.
Вопрос: Как передавать данные от серверного js к клиентскому?

Лучший ответ: script - это тоже тег и в него точно так же можно отрендерить данные в виде json-строки или в виде токенов js-кода, как вы рендерите их в любом другом месте.

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

Лучший ответ: задать картинке img {
    display: inline-block;
    vertical-align: middle;
}

Худший ответ: Можно на flex 
https://jsfiddle.net/w1qk1234/
Вопрос: Как оптимизировать скорость записи множества больших файлов в linux?

Лучший ответ: Используя fallocate создать файл нужного размера, если файловая система не поддерживает sparse files (дырявые файлы, не занимающие место на диске) то эта операция мгновенна а файл будет заполнен мусором (данными, которые лежали в секторах).
К сожалению (а точнее к счастью, ибо безопасность важнее) все современные файловые системы поддерживают дыры (они будут возвращать нули), т.е. физически файл не будет занимать место, и вам нужно будет либо самим заполнить файл нулями либо использовать опцию fallocate - FALLOC_FL_ZERO_RANGE, это физически записывает данные на диск, так что операция тратит время.
p.s. файловые системы со сжатием или online deduplication (типа zfs) тем более не позволят вам управлять процессом создания, точнее это нужно будет делать утилитами файловой системы.
upd. забыл еще напомнить, на файловых системах Copy On Write (типа zfs/btrfs/...) предварительное размещение файла бессмысленно, даже вредно, так как любая запись будет проходить в новое место на диске.

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

Лучший ответ: preg_replace('/^(https?:\/\/.).*(.\..*)$/','\1***\2', 'http://google.com');
Так?

Худший ответ: preg_replace('/^(https?:\/\/.).*(.\..*)$/','\1***\2', 'http://google.com');
Так?
Вопрос: Новичок в программировании. Что мне изучать в Python для моих задач?

Лучший ответ: Как в любом деле тут важно ставить сложные, но выполнимые задачи. Если вы действительно в начале пути, то те программы, которые вы хотите написать придется отложить на месяц-другой, а может гораздо больше. Пусть они будут ориентиром.
Пока изучайте концепции: разберитесь с модулями (библиотеками), с тем как писать функции, научитесь понимать и быстро находить ошибки, из-за которых код вдруг не интерпретируется, получите хотя бы представление об ООП. Если нет идей каких-то простых идей, то может пойти на пользу реализации стандартных алгоритмов. Различные сортировки, графы, структуры данных (посмотрите в сторону курсов stepic.org).

Худший ответ: 3d - лучше изучи lua
для питона
learnpythonthehardway.org/book
задачи автоматизации сильно зависят от ОС - на никсах все будет просто, на винде - как получится
Вопрос: Видеокарта нагревает процессорный кулер в стресс-тесте. Что делать?

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

Худший ответ: Положить на бок, открыть крышку. Еще можно поставить перегородку или воздуховод.
Вопрос: Отмена подписки Unity 3d?

Лучший ответ: На сколько я понимаю формулировку: если вы купили подписку на год, то посередине года нельзя отказаться от неё, т.е. даже если вы деактивиуете лицензию в, скажем, феврале, то должны будете оплатить год целиком.
Довольно логичным шагом было бы задать этот вопрос на официальном форуме Unity или написать менеджеру по работе с клиентами, вместо того, чтобы вычитывать субъективные мнения интернетов.

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

Лучший ответ: 0. Начать с юридической стороны дела - нелегальная трансляция может стоить дорого
1. Нормальной сортировки фильмов по заданым тегам - придется поискать. Для "отечественных" их может не быть вовсе
2. С технической стороны - нет ничего сложного

Худший ответ: К телевизору подключаете приставку iptv (может уже есть встроенная), rj45 от сервера через коммутаор кидаете шнур до каждой приставки, на сервере запускаете несколько каналов мультикастом с помощью того же VLC, на приставках-телевизорах настраиваете каналы на разные группы мультикаста.
Вопрос: Почему ссылка растягивается на всю ширину страницы?

Лучший ответ: Вопрос уже устарел, однако я решил эту проблему не с помощью костылей, а с помощью width: max-content для ссылки

Худший ответ: Укажите границы в div
Вопрос: Почему получаю SQLSTATE[HY000] [2002] Connection refused, а миграции при этом с БД работают?

Лучший ответ: Правильный ответ
Пришлось сделать ДВА(!) конфига . Отдельно для консоли и для остального приложения. Разница в 
dsn.
Для консоли 
'dsn' => 'mysql:host=127.0.0.1;dbname=project',
Для остального приложения 
'dsn' => 'mysql:host=mysql;dbname=project',

Худший ответ: потому что у консольной команды и у сайта различные конфиги и коннекты. Ищите проблему в конфигах yii.
Вопрос: Как задать отличный от всех response type для модуля?

Лучший ответ: изменить формат ответа для конкретного модуля/контроллера можно либо с помощью кода$response->format = \yii\web\Response::FORMAT_HTML;
либо с помощью фильтра ContentNegotiator
Соответственно для того что бы изменить формат ответа gii стоит использовать фильтр

Худший ответ: Добрый день.
Возможно Вам поможет данная статья(Тело ответа).
Вопрос: C# — Как можно сравнить время(DateTime)?

Лучший ответ: var periodFrom = new DateTime(2017, 10, 5, 11, 30, 0);
var periodTo = new DateTime(2017, 10, 5, 12, 30, 0);
var periodNow = DateTime.Now;
if (periodNow > periodFrom && periodNow < periodTo)
{
	Console.WriteLine("between");
}
	else
{
	Console.WriteLine("not between");
}

// 	timeFrom и timeTo выбирай вариант какой нужен
var timeFrom = periodFrom.TimeOfDay;
var timeTo = periodTo.TimeOfDay;

var timeFrom1 = new TimeSpan(11, 30, 0);
var timeTo1 = new TimeSpan(12, 30, 0);

var timeNow = DateTime.Now.TimeOfDay;
if (timeNow > timeFrom1 && timeNow < timeTo1)
{
	Console.WriteLine("between");
}
else
{
	Console.WriteLine("not between");
}

Худший ответ: var periodFrom = new DateTime(2017, 10, 5, 11, 30, 0);
var periodTo = new DateTime(2017, 10, 5, 12, 30, 0);
var periodNow = DateTime.Now;
if (periodNow > periodFrom && periodNow < periodTo)
{
	Console.WriteLine("between");
}
	else
{
	Console.WriteLine("not between");
}

// 	timeFrom и timeTo выбирай вариант какой нужен
var timeFrom = periodFrom.TimeOfDay;
var timeTo = periodTo.TimeOfDay;

var timeFrom1 = new TimeSpan(11, 30, 0);
var timeTo1 = new TimeSpan(12, 30, 0);

var timeNow = DateTime.Now.TimeOfDay;
if (timeNow > timeFrom1 && timeNow < timeTo1)
{
	Console.WriteLine("between");
}
else
{
	Console.WriteLine("not between");
}
Вопрос: Почему в Yii2 не работает наполнение модели через model load?

Лучший ответ: Очень популярная ошибка.$model->load(['MyModel' => ['name' => 'Vasia']]);
или$model->load(['name' => 'Vasia'], '');

Худший ответ: 1. Если указанное свойство не перечислено в правилах или в поведении.
Вопрос: Как сделать роутинг не на mvc ( интереса ради )?

Лучший ответ: роутинг вообще никак не связан с mvc.
это просто разбор адреса и вызов нужного кода.

Худший ответ: У Laravel хороший роутинг, если вы реально хотите понять, как устроено, то можете полезть туда и покапаться.
Роутинг вообще никак не связан ни с MVC, ни с ООП. Это просто какая-то структура данных, в зависимости от языка программирования, в PHP, естественно, массив в которой с одной стороны пути, а с другой функция, которая ему соответствует. А дальше есть сотни способов как собрать эту структуру, а также, может быть более сложный массив, чтобы хранить и какие-то дополнительные параметры.
Потом $_SERVER['REQUEST_URI'] и пошла жара )))
P.S. На днях как раз обсуждали, что современный веб вообще не сильно ООП, так как современный контроллер - это просто сгруппированные функции, а реальный объект.
Тоже самое с моделью, она обычно больше структура, чем класс, за исключением сложных систем, хотя и там есть варианты.
Вопрос: Споры с менеджером?

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

Худший ответ: - Необходимо чтобы было в штатном расписании четко оговорено кто определяет эстимейты. 
- Установка более сжатых сроков подстегивает работать шустрей. В итоге специалист, который умеет лабать, будет более ценным, чем тот кто делает то же но дольше. У меня перед глазами есть примеры. Один мой студент работает уже лет 20 в крупнейшей газете области, главным дизайнером/верстальщиком. И моя жена - верстку и дизайн делает для типографии и частного издательства. Делают практически одно и то же, но она раза в 3 быстрее. А он просто так привык, и даже хоткеи фотошопа учить не особо хочет - ему проще мышкой. В итоге мы можем сдать верстку в печать за то время, пока они сходят покурить и за пивом, чтбы работать пол-ночи.
- Хорошая причина внедрять методологии и пре/постпроцессоры.
Вопрос: Что означает мощность у радиоэлементов? Например,резистор 0.25вт? И почему в цепи он не греется,как нагревательный элемент?

Лучший ответ: У резистора мощность - предельная величина на которую рассчитан его корпус. При превышении этой мощности резистор перегревается и, как правило, сгорает.
Резистор в схеме греется, если по нему протекает ток. При малых токах нагрев очень слабый (P = I2R).

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

Лучший ответ: Первый в гугле же
www.samsung.com/ua_ru/support/skp/faq/1035880

Худший ответ: Возможно у тебя включен VPN, или установлен в настройках.
В разделе сети нажми на ещё, там впн. Если есть что то - удали, и кнопки разблокируются.
Вопрос: Как правильно изучать Python с перспективой на back-end?

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

Худший ответ: 1,4,2,0
3 необязательно, лушче очень хорошо 2