Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Умеет ли postgres в асинхронные запросы?

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

Худший ответ:
БД держит определенное количество соединений в зависимости от настроек и мощности сервера, а дальше нужно или нормально изучать БД, чтобы понимать как там все устроено, или не париться и знать что там работают умные люди и они разбируться.
А так, естественно, в большинстве современных бд будет и асинхронность, и многопоточность... На сколько позволят уровни изоляции транзакций.
Вопрос: В каком режиме записывать windows 10 на флешку?

Лучший ответ:
Зачем rufus? 
Стандартная бесплатная микрософтовская утилита MediaCreationTool чем не устраивает? 
Если есть UEFI, то диск (не флэшку) разбивать под GPT, но это уже установщик без вас определит.
А флэшку - все равно, лишь бы комп с нее потом смог загрузиться.

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

Лучший ответ:
В Python2 для этой цели используется функция raw_input:name = raw_input('What is your name?')

Худший ответ:
Ты запускаешь скрипт от второго питона, а там функция принт реализована по другому. Запускай через python3 %имяфайла%
И если у тебя питон 3.6+ то используй f string. Она позволяет вставлять переменные в строки вот так:f'Мой текст а дальше имя: {name}.'
Достаточно перед строкой поставить f, а далее упоминать код в дужках.
Вопрос: Уходить ли после 9 в колледж на программиста?

Лучший ответ:
1. Знания лишними не бывают, а ВУЗ может дать направление знаний.
2. Не знаю как сейчас, но раньше 1й курс техникума (модное название "колледж"), равнялся 10 и 11 классу школы. И при наличии лицензии(или как правильно называется), на выдачу оных аттестатов у техникума, можно после первого курса иметь аттестат об окончании 11 класса. То есть попробовать пойти в ВУЗ быстрее.
3. Само учебное заведение и годы в нём, это ничто, если вы не будете лично заинтересованны в обучаемой профессии. При том сдача всех зачётов "на пятёрки", тоже мало значит. Если вы не будете лично развиваться в эти годы, параллельный с учёбой осваивая актуальные технологии/знания. Если не найдёте работу по профилю (пол ставки, удалённо, фриланс). То выйдя даже с красным дипломом, можете сильно проигрывать практикам с 9 классами, которые все эти годы потратили на практику и самообразование, пока вы просиживали штаны в ВУЗе.
4. Если вы захотите со временем мигрировать за рубеж (это очень популярная тема для обсуждения в программерской среде), то корочки ВУЗа будут большим плюсом при получении Визы/ВНЖ.
5. В большинстве компаний в СНГ, особенно в мелочи или середняке, наплевать на корочки ВУЗа, главное знания и опыт. На мой взгляд, это наверно 95% по рынку труда. В крупных же гигантах на вроде Гугла, Яндекса, Варгейминга и т.д., просят ВУЗ или хотя бы средне техническое по специальности.
6. Чтобы пилить сайты на ВордПрессе в компании "ип Иванов", хватит корочек об окончании 9 классов.

Худший ответ:
на самом деле процесс образования - это личная задача каждого. учебные заведения на самом деле учат в какие книжки смотреть и дают преподавателей, у которых можно спрашивать и проводят потом тестирование по некоторым ключевым позициям. поэтому учиться надо самому, в первую очередь.
никто и ничто не запрещает учиться дома, выполнять какие-то тестовые задачи, в процессе освоения какого-то языка программирования, а потом уже когда чувствуете что есть силы на большее , брать и заниматься фрилансом, в свободное от учебы время.
поэтому решение надо принимать самому а не спрашивать у кого-то совета :)
можно учиться и в школе и в колледже, осваивать Python + Django, делать сайты, зарабатывать первые деньги, а потом уже когда точно сформируется понимание что именно это нужно, то закрепить все знания в институте.
поэтому выбор прост - самообучение и саморазвитие в первую очередь, а потом уже надо понимать нужен ли диплом или же знания. знания первичны, диплом - как бумажка доказывающая что такие знания есть на самом деле
Вопрос: Как сделать простую регистрацию и вход для Wordpress?

Лучший ответ:
Если совсемм без лишних функций, тогда заходите в Dashbord - Настройки - Общие - Членство (поставить галочку  Любой может зарегистрироваться)
Логин доступен по ссылке https://site-style.by/wp-login.php
 Регистрация доступна по ссылке  https://site-style.by/wp-login.php?action=register

Худший ответ:
=)) Как создать простую регистрацию и вход?
Буквально вчера задавали такой же вопрос)))
Вопрос: Как отключить вывод ошибок в консоли JS?

Лучший ответ:
Можно. Просто переопределите стандартную реализацию `console.log` и `console.err` и заменив их своими, которые ничего не выводят.

Худший ответ:
Можно. Просто переопределите стандартную реализацию `console.log` и `console.err` и заменив их своими, которые ничего не выводят.
Вопрос: Laravel выдает ошибку Route [login] not defined. Где ошибка?

Лучший ответ:
php artisan make:auth
 сгенерирует заготовку для регистрации и логина и это решит вашу проблему

Худший ответ:
Если же вы не собираетесь использовать уже готовую сборку авторизации/регистрации и т.п., то при создании роутера для страницы авторизации (Login) используйте следующей код:
Route::get('path_to_login', ['as' => 'login', 'uses' => 'Auth\AuthController@method_auth');
path_to_login - путь к странице авторизации, например "auth/login;
method_auth - Метод работы авторизации (return view)
Контроллер можешь тоже поменять.
Вопрос: Как настроить отображение цены в mysql?

Лучший ответ:
Не советую записывать цифры с пробелами в базу: как потом будете сортировать по цене?
Настройте отображение с пробелами после получения информации из базы через number_format(). Это единственный верный вариант в данном случае.

Худший ответ:
Не советую записывать цифры с пробелами в базу: как потом будете сортировать по цене?
Настройте отображение с пробелами после получения информации из базы через number_format(). Это единственный верный вариант в данном случае.
Вопрос: Почему OSPF Hello не проходят через GRE/IPSec VPN туннель в одну сторону?

Лучший ответ:
Добрые люди подсказали правильную команду. Проблема решилась ручным указанием ttl для туннеля:ip link set dev vpntap1 type gretap ttl 30
Или можно указать при создании туннеляauto vpntap1
iface vpntap1 inet manual
        pre-up ip link add $IFACE type gretap local A.B.C.D  remote X.Y.Z.F  key 111.111.111.101 ttl 30
        post-up ip link set $IFACE mtu 1400 || true
        post-down ip link delete $IFACE
Суть проблемы в ttl. GRE пакеты наследуют ttl инкапсулированного пакета, даже если это gretap туннель, т.е. L2 и инкапсулируются Ethernet фреймы, а не IP пакеты как в случае с обычным GRE. Далее ttl наследуется зашифрованными IPSec ESP пакетами. В результате в интернет уходит ESP пакет с ttl=1 и естественно он пропадает. На старом ядре 2.6.32-30-pve для gretap такого наследования ttl очевидно нет, поэтому все работало "из коробки".
Я изначально пробовал сменить ttl у туннелья с помощью ip tunnel change vpntap3 ttl 10 но для gretap эта команда не работает, ошибка:get tunnel "vpntap3" failed: Operation not supported
Встроенная в ip справка мне не очень помогла ip link help - нет ни слова про ttl, но оказывается если уточнить рамки помощи вот таким образомip link help gretap, можно получить ценную информацию:# ip link help gretap
Usage: ip link { add | set | change | replace | del } NAME
          type { gre | gretap } [ remote ADDR ] [ local ADDR ]
          [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]
          [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]
          [ noencap ] [ encap { fou | gue | none } ]
          [ encap-sport PORT ] [ encap-dport PORT ]
          [ [no]encap-csum ] [ [no]encap-csum6 ] [ [no]encap-remcsum ]

Where: NAME := STRING
       ADDR := { IP_ADDRESS | any }
       TOS  := { NUMBER | inherit }
       TTL  := { 1..255 | inherit }
       KEY  := { DOTTED_QUAD | NUMBER }
В Debian 7 кстати последний вариант не работает, выводит ровно то же что просто ip link help.

Худший ответ:
Респект за подробно описанную ситуацию :-) Всё ниасилил, но имею предложить следующее :-) У некоторых провайдеров (замечены Ростелеком, Онлайм) некорректно отрабатывает то ли cgnat, то ли какой-то ALG по дороге. Что приводит к блокированию НЕКОТОРЫХ типов пакетов в туннелях, либо при согласовании туннелей. У меня по этой схеме не устанавливаются L2TP сессии -- просто блочится определённый пакет в ответе клиента серверу, и всё.
Так я это всё к чему. Попробуйте поменять тип туннеля с проблемным IP. Либо попробуйте включить шифрование в этом туннеле, чтобы скрыть трафик. Возможно, тогда всё заработает.
Вопрос: Bash-скрипт не отрабатывает в crontab, а руками отрабатывает. Почему?

Лучший ответ:
Для начала попробуйте указать полный путь к mount.cifs
Или проверьте, что команда доступна по одному из путей, указанных в переменной PATH в начале crontab.

Худший ответ:
Скорее всего нужно просто добавить в PATH путь расположения mount.cifs
Для этого нужно просто посмотреть где он расположен командой:whereis mount.cifs
На ЦентОС эта утилита скорее всего лежит в /usr/bin  так что просто добавьте строчку:export PATH=/usr/bin:$PATH
Вопрос: Можно ли подключить 4K монитор к Ryzen 2200G для просмотра фильмов?

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

Худший ответ:
Надеюсь, это правда
https://smallformfactor.net/forum/threads/raven-ri...
Вопрос: SSD вместо DVD-ROM на Samsung NP355V5C S0E?

Лучший ответ:
какой тип разъема используется - не нашел - вы не на разьём смотрите, а на формфактор. Если ставить вместо dvd, вам нжен SSD в формфакторе 2.5". Выкручиваете ваш DVD, измеряете его толщину (бывает 7, 9.5, 12.7 и 14мм). Идёте на Алиэкспресс, заказываете Optibay нужного размера:
https://ru.aliexpress.com/wholesale?ltype=wholesal... 
Как придёт - покупаете любой понравившийся ssd формата 2.5" и ставите в optibay, а с ним - на место привода.

Худший ответ:
Я на такой же ноут такую штуку брал, ту, что на 12.7". Ведет себя, надо сказать, странно. Там трёхпозиционный переключатель, который никак не документирован. Если ставить туда ssd, в первых двух позициях переключателя он не детектится, в третьей биос зависает на запросе несуществующего пароля к hdd0. Если туда ставить hdd, как минимум в одной из позиций переключателя всё загружается и работает, но диск иногда отваливается, возможно, плохие контакты, хочу ещё такую штуку попробовать, возможно, она понадёжнее окажется. Отпишусь по результатам.
UPD: 
Новая информация. Во-первых, устройство, что я купил первым - это Espada SS90. Во-вторых, Agestar брать не надо, там плохое крепление декоративной панельки, без клея болтается, у Espada таких проблем нет. В-третьих, нашёл, в чём смысл переключателя на Espada SS90, для ноутов Samsung нужно ставить его в позицию, ближайшую к SATA-разъему. И, в-четвертых, бывают салазки и бывают адаптеры, общее правило, насколько я успел понять, такое: если глючат просто салазки, надо брать адаптер с переключателем и выставлять переключатель под своего производителя ноута. Вот тут есть про этот переключатель ещё немного подробностей.
В общем, пробую сейчас Espada SS90 с переключателем в позиции "Others" (ближайшая к sata разъему) с hdd в адаптере и ssd на месте hdd. Пока работает.
Да, и переставляя hdd в адаптер, имеет смысл переставлять его вместе с экранирующей накладкой, разумеется.
Используемый SSD - INTEL SSDSC2CW120A3.
Ключевые слова, по которым хорошо гуглится дополнительная информация - "optibay", "hdd caddy".
Вопрос: Как оптимизировать функцию обработки полей формы?

Лучший ответ:
Но перед записью эти данные нужно обработать
не нужно. Вот вам и решение проблемы. prepared statements для sql и экранирование при выводе.

Худший ответ:
Сергей Протько, Melkij
Спасибо. Пока пытаюсь разобраться, что это вообще, курю статью на Хабре https://habrahabr.ru/post/148446/
Но всё же. Допустим, данные пойдут не в БД, а куда то ещё. К примеру... ну, пусть в функцию mail().
Ну, форма обратной связи, юзер что-то написал, и эти данные прямо сразу отправляются "админу".
Вопрос: Как фрилансеру-ИП принимать оплату и платить налоги со страховыми взносами?

Лучший ответ:
если доход от 600 000 в год тогда имеет смысл регать ип на усн 6%.
если доход меньше будете больше нести расходов на ип (фикс взносы+банк+отчетность+касса) - проще платите раз в год подать декларацию как физ лицо и заплатить 13% НДФЛ. Если вы в Москве, Подмосковье, Калужской области и Татарстане - ждите со 2019 года принятия закона о самозанятых будет налог 4%-6% без декларация (значительно проще все)
регистрация ип 800 руб пошлина
на ип усн 6% вот такие расходы на 600 000 руб
32 385 руб фикс взносы за ип на 2018 год (платите независемо от дохода) 
1% в ПФР от годового дохода свыше 300 000 =  3000 руб
усн 6% = 36 000
Если у вас нет работников и вы платите взносы поквартально можете вычесть расходы на взносы из УСН налога.
36 000 - 3000 -32 385 = 615 руб налог по УСН
ИТОГО не более 6% за налоги, Если доход меньше 600 тыс в год тогда процент выше будет (тк взносы независемо от дохода платятся)
если бы ваша деятельность попадала бы под патентную систему налогоблажения (например программирование)
то можно было платить фикс налог + фикс сумма взносов, независимо от дохода
расчет налога https://patent.nalog.ru/
сбербанк тариф легкий старт
https://www.sberbank.ru/ru/s_m_business/bankingser...
бесплатно и без абонентки с выводом до 150 000 на карту  в месяц
https://www.sberbank.ru/ru/s_m_business/bankingser...
бесплатная бухгалтерияАвтоматический расчет налогов и взносов и подготовка поручений для их уплатыДекларации по УСН 6% на основании банковской выпискиУведомления о наступлении налоговых событийВозможность добавлять данные по вашим счетам в других банкахУменьшение налогов за счет фиксированных взносов и авансов
у других банков начальные тарифы либо абонентка от 500 руб/месяц либо 1% от дохода,
Декларация подается раз в год 
Самим бесплатно (почтой или придти и ИФНС) или онлайн  – 1650 ₽/год за ЭЦП и  отправка онлайн
Если будете работать с физ лицами обязательно нужна касса (независемо от способа оплаты), если будут платить юр лица только по безналу - то не нужна
фискальный накопитель на 3 года = 10000 руб (у местных поставщиков найдете)
https://e-ofd.ru/ самый дешевый ОФД на 3 года = 2000 руб
касса от 8000 руб (например Атол 91Ф и 92Ф у местных поставщиков найдете)
Или аренда кассы в датацентре (актулаьно для сайтов)
https://e-ofd.ru  за 1500 руб в месяц, нужно покупать ФН за 10500 руб на 3 года
https://pay54.ru за 2000 руб в месяц, без покупки ФН, но если отключитесь раньше года попросят заплатить за ФН

Худший ответ:
регистрируете ИП, открываете счет в банке, вида 40802810.... 
заключаете договор с заказчиком, выставляете счет для безналичной оплаты, либо даете ему квитанцию формы ПД4 , если это физлицо, он оплачивает, вы получаете деньги в банке (снимаете наличными или выводите на свою карту)
сумма налогов исходит от типа обложения, которую вы выберете, например УСН 6.
Читаете внимательно в интернете как все рассчитывать и платите со своего счета в банке налоги и взносы. 
Некоторые банки бесплатно дают сервис "бухгалтер" и сами все делают, некоторые за плату. Для УСН6 все просто, любой справится.
Вопрос: Почему нет доступа к локальной сети?

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

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

Лучший ответ:
Тут дело не в контексте, а в том что вы смешиваете синхронный код (цикл for) и асинхронный setTimeout (даже если вы поставите 0 секунд, это не сделает его синхронным, это всего лишь значит что будет использовано минимально возможное время, близкое к 0).
Именно по этому вначале цикл выполнится 50 раз, и переменная count будет равной 50. И тоолько потом, через какое-то минимльное время, запустится 50 таймаутов и конечно каждый из них выведет 50 в консоль.

Худший ответ:
Порядок действий такой:
1. Выполнить цикл (в котором много раз ставится в очередь задач функция "function() { console.log(count); }"),
2. Выполнить следующие задачи из очереди, то есть 50 раз выполнить функцию "function() { console.log(count); }", во время выполнения которой переменная count равна 50.
Вопрос: С чего начать учить программированию?

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

Худший ответ:
Выбираешь интересующую тебя сферу (фронт?), учи основы программирования, хоть на том же Паскале, хоть сразу на нужном тебе языке. Не понимаешь что такое биты, двоичный код? - Читай школьную программу по информатике за 8-11 классы. Расширит кругозор в целом. Если тебе все же фронт интересен, бери тот же https://learn.javascript.ru/ там с основ - основ идет. Гуглишь книгу по алгоритмам (например Грокаем алгоритмы) - читаешь параллельно. В целом, ЯП - это всего лишь инструмент.
Вопрос: Можно ли в роутере исключить параметр?

Лучший ответ:
Может нужно:Route::get('/upload/remove', 'AddController@Upload_remove')->name('upload.remove');
поставить выше чем:Route::get('/upload/{id}', 'AddController@Upload_index')->name('upload.index');
Роуты обрабатываются сверху вниз.

Худший ответ:
такой вариантRoute::get('/upload/{id}', 'AddController@Upload_index')->where('id', '^(!remove$)')->name('upload.index');
Route::get('/upload/remove', 'AddController@Upload_remove')->name('upload.remove');
Вопрос: Как обновить страницу через AJAX в DJANGO?

Лучший ответ:
Во вьюшке:def post(self, request):
        create_form = BookForm(request.POST)
        if create_form.is_valid():
            create_form.save()
            
        response = {"data": "goes here"}

        return HttpResponse(json.dumps(response), content_type='application/json')
В js'e:$.ajax({
    method: 'post',
    url: your-url,
    data:  serialized-data
}).done(function(response){
    console.log(response.data)
});
Ну или что-то аналогичное, если jquery не используете.

Худший ответ:
По аяксу получаете серилизированные объекты и уже на фронте вставляете заново. Идеально для такой задачи чтто-то типа Vue заюзать, но для вас это может быть сложно и незачем.
После получки - десериализовать объекты и вставлять тупо jquery в список куда вам надо.
Вопрос: Какая Python-IDE лучше для новичка?

Лучший ответ:
Никакая.

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

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

Худший ответ:
Задача очень специфическая. Вряд ли найдете готовое решение. Придется писать свое:
1. Получаете список сайтов по запросу. Можно через API поисковиков, можно по каталогам сайтов.
2. Каждый полученный сайт скармливаете какому-нибудь online анализатору, чтобы отличить адаптивные сайты от не адаптивных.
https://www.google.com/webmasters/tools/mobile-fri...
3. В результате получаете отфильтрованный список сайтов по вашему критерию.
Вопрос: Как отсортировать кортеж?

Лучший ответ:
Я сейчас скажу прописную истину, но она, оказывается, далеко не очевидна для питон-программистов.
Кортеж - это не "неизменяемый список". Кортеж - это структура данных. То, что кортеж умеет итерироваться - это хак, о котором даже сам Гвидо говорил.
Как минимум, существование таких штук, как __slots__ и namedtuple должно натолкнуть на эти размышления.
Касательно твоей задачи:def cmp(x):
    x = x.split('x')
    return int(x[0]) * int(x[1])

sorted(SIZES, key=cmp)

Худший ответ:
И по традиции решение пришло тогда, когда задал вопрос )))
Решение:SIZES = ('1920x1080', '1600x1200', '1400x1050', '1280x1024', '1280x960', '1152x864', '1024x768',
             '3840x2400', '3840x2160', '3840x1200', '2560x1600', '2560x1440', '2560x1080', '2560x1024',
             '2048x1152', '1920x1200', '1680x1050', '1600x900', '1440x900', '1280x800', '1280x720', '2160x3840',
             '1440x2560', '1366x768', '1080x1920', '1024x600', '960x544', '800x1280', '800x600', '720x1280',
             '540x960', '480x854', '480x800', '400x480', '360x640', '320x480', '320x240', '240x400', '240x320',
             '2732x2732', '2048x2048', '1024x1024', '750x1334', '640x1136', '640x960', '1280x900')

def str2tuple(arr):
    return sorted([(int(item.split('x')[0]), int(item.split('x')[1])) for item in arr])

def tuple2str(arr):
    return ["%dx%d" % (item[0], item[1]) for item in arr]

print tuple2str(str2tuple(SIZES))
Результат:['240x320', '240x400', '320x240', '320x480', '360x640', '400x480', '480x800', '480x854', '540x960', '640x960', '640x1136', '720x1280', '750x1334', '800x600', '800x1280', '960x544', '1024x600', '1024x768', '1024x1024', '1080x1920', '1152x864', '1280x720', '1280x800', '1280x900', '1280x960', '1280x1024', '1366x768', '1400x1050', '1440x900', '1440x2560', '1600x900', '1600x1200', '1680x1050', '1920x1080', '1920x1200', '2048x1152', '2048x2048', '2160x3840', '2560x1024', '2560x1080', '2560x1440', '2560x1600', '2732x2732', '3840x1200', '3840x2160', '3840x2400']