Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как вызвать exception еще раз после его срабатывания?

Лучший ответ:
Зачем так сложно? Делаем цикл по числу попыток, как только получаем успешный результат - делаем break и завершаем цикл досрочно. Можно даже обернуть это в функцию, тогда в основном коде не будет всей этой магии с циклом, код будет выглядеть более наглядным.

def get_data(Китай, max_attempts=MAX_ATTEMPTS_DEFAULT):
    for attempt in range(1, max_attempts+1):
        try:
            submit = requests.post(Китай).json()
        except requests.exceptions.ConnectionError:
            continue
        if submit['success']:
            return submit
    return {'success':false, 'error':'attempts exceeded'}

Худший ответ:
Если не хотите while, оберните свой try/except в функцию и сделайте из ветки исключения рекурсивный вызов. Но я бы, возможно, выбрал while.
Вопрос: В каких случаях нужно делать перекрёстный обжим сегодня?

Лучший ответ:
Нигде

Худший ответ:
Нигде в 99% случаев. Теоретически может быть на пк>пк. Если они сильно старые
Вопрос: Как определить основной шлюз на статическом IP?

Лучший ответ:
как его определить из IP адреса?
Никак (с) КЭП

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

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

Худший ответ:
git checkout -b remastered 
Так и создают новую ветку и сразу переходят в нее

 git add . 
все верно, добавляешь измененные файлы в tracking 

git commit -m "New files"
Комитишь

Историю комитов можно посмотреть 
git log

А еще лучше прочитать полностью
https://git-scm.com/book/en/v2
Вопрос: Какую выбрать СУБД, если в день может быть более 11млн записей?

Лучший ответ:
При такой постановке задачи лучшим вариантом СУБД будет та, которую знают и умеют обслуживать ваши админы.
С таким объёмом вставок справится любая мейнстримная на правильно подобранном железе. Что ещё вы собираетесь делать с этими записями нам неведомо, посему на выбор повлияеть не может.

Худший ответ:
11 миллионов inserts в день - это 127 в секунду. При такой нагрузке справится любая современная БД. Ну я не знаю таких чтоб не справлялись. Делайте только короткую буферизацию и batch-insert пачками по 100 - 1000 чтобы оптимизировать сетевой roundtrip.

Есть специализированные NoSQL системы такие как RocksDb, Tarantool в которых именно много оптимизаций сделано было для быстрой вставки. Они выдерживают и во много раз быстрее.

И в данной задаче нужно также спросить бизнес - как быстро данные нужны к чтению пользователя. Нужно сию секунду чтоб они отобразились на UI или можно подождать пару минут или часов.
Вопрос: Как по SSH на удалённой машине вывести на экран уведомление?

Лучший ответ:
ssh user@host 'DISPLAY=:0 notify-send "Всем убрать руки с клавиатуры. Я работаю."'

Худший ответ:
wall позволит отправлять сообщения всем пользователям машины, часто они дублируются как уведомление в DE.
Вопрос: Включаю камеру — черный экран?

Лучший ответ:
Открыть шторку камеры?


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

Лучший ответ:
Берём идентификатор "зомби" процесса (pid), узнаём идентификатор его родителского процесса (ppid), а по нему узнаём команду (и command arguments), которая запустила кривой скрипт.

Худший ответ:
Берём идентификатор "зомби" процесса (pid), узнаём идентификатор его родителского процесса (ppid), а по нему узнаём команду (и command arguments), которая запустила кривой скрипт.
Вопрос: Что использовать для кроссплатформенного GUI на C++?

Лучший ответ:
wx - это страх, ужас, старье, трэш и угар. Он пытается любую систему превратить в венду (точнее, в пародию на MFC). Где вы только его выкопали? Закопайте обратно и не трогайте.

Qt на лицензии LGPL неплох.

1) Работает. И на макоси работает, и на андроиде работает, и на вебе работает, причем двумя способами.
2) Нетушки, учите английский. Если упираться и требовать доку на русском, 99.99% современного айти пройдет мимо вас. Ладно, в случае с Qt есть книжки Шлее
3) Он там есть

Худший ответ:
Можешь попробовать C++ Builder с использованием FireMonkey
Вопрос: Как получить доступ к сайту в сети интернет в корпоративной сети?

Лучший ответ:
У Вас есть возможность менять сетевые натсройки на ПК ? Оо.... повесить админов...))

Естественно нету, шлюз то не проставлен
а при выставлении вручную ip без шлюза нету доступа к интернету

Попробуйте для корпоративной сети убрать шлюз... но думаю она тогда тоже поломается

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

Лучший ответ:
Через PAM, разумеется. Для локальных пользователей это делается удалением опции nullok в строке вызова pam_unix.so

Худший ответ:
Через PAM, разумеется. Для локальных пользователей это делается удалением опции nullok в строке вызова pam_unix.so
Вопрос: Как можно сделать личное расширение для файла, чтобы оно работало как exe?

Лучший ответ:
из под админа в командной строке
assoc .qnahabr=myexefile
ftype myexefile="%1" %*
также, абсолютно равноценны расширения *.pif *.exe *.com.
*.scr - почти, там ключ /S добавляется.
c:\>assoc .exe
.exe=exefile

c:\>ftype exefile
exefile="%1" %*

c:\>assoc .pif
.pif=piffile

c:\>ftype piffile
piffile="%1" %*

c:\>assoc .scr
.scr=scrfile

c:\>ftype scrfile
scrfile="%1" /S

Худший ответ:
Да, возможно. Достаточно зарегистрировать расширение в системе и назначит ему программу обработчик. Вы ведь картинки как-то открываете, правда? 
Так что гуглим "как зарегистрировать своё расширение". Там можно и иконку назначить.
Вопрос: Как сделать поддомены и много портов на сервисы в докере (с дополнительными ограничениями)?

Лучший ответ:
Такое получится сделать только для тех сервисов, где есть концепция виртуального хоста. В SMB, например, её нет, полагаю, что и не в каждом сервисе Plex.

Худший ответ:
Попробуйте в Микротике присвоить  а-записи для ваших днс-имён к несуществующим внутренним адресам, а потом бросать порты таким образом
/ip/dns/static/add name=one.local address=172.17.1.1
/ip/dns/static/add name=two.local address=172.17.1.2
/ip/firewall/nat/add chain=dstnat action=dst-nat dst-address=172.17.1.1 dst-port=443 to-addresses=10.0.0.3 to-ports=443 protocol=tcp
/ip/firewall/nat/add chain=dstnat action=dst-nat dst-address=172.17.1.2 dst-port=443 to-addresses=10.0.0.4 to-ports=443 protocol=tcp

На выходе получается, что вы пробросили one.local:443 -> 10.0.0.3:443; two.local:443 -> 10.0.0.4:443...
Вопрос: Как в формуле указать последний существующий столбец (в диапазоне)?

Лучший ответ:
вся строка:
=SUM(1:1)
до конца строки от столбца D:
=SUM(D1:1)
первые 5 строк:
=SUM(1:5)

Худший ответ:
Можно указать столбец, до которого вряд ли доберётесь: AAA, например.

=SUM(B1:AAA1)
Вопрос: Как изучать машинное обучение?

Лучший ответ:
Машинное обучение это вообще не про Python. Это больше к мат-статистике и обработке больших данных.
Задачи - классификация, регрессия и кластеризация e.t.c.. Алгоритмов и названий очень много. Некоторые из них могут повторяться в вариациях или иметь неточные русские переводы.

Фреймворк Apache Spark имеет следующий классификатор алгоритмов: https://spark.apache.org/docs/latest/ml-guide.html 
Ignite - вот такой : https://ignite.apache.org/docs/latest/machine-lear...

По поводу Python или Scala. Знающие маш-обучение таких вопросов вообще не задают. Для специалистов язык - вообще не имеет значения. Язык в данном контексте это как приложение калькулятор или spreadsheet. Это вспомогательный инструмент. Собственно эта наука вообще не про программирование. А про наблюдение глазами за процессом обучения и корректировку мета-параметров.

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

На собеседовании тоже будут спрашивать про опыт. Что делал. Какие методы знаешь. Язык - опционален. Могут спросить - но будут предполагать что 99% ты выучишь новый язык если надо.

Худший ответ:
как происходит разработка в реале
Так и происходит - дают задачу, ты решаешь. И не всегда ты знаешь как её решить. Это нормально.

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

Лучший ответ:
с чего начать?
На мой взгляд, начать стоит с детального продумывания вопроса о том, как вы будете отправлять почту. 
При использовании даже "чистого" единственного IP вашего сервера очень высока вероятность того, что сервисы наподобие Gmail будут по умолчанию отправлять письма от вас в спам, либо вообще молча дропать. И это при том, что Gmail ещё не самый "привередливый" в этом плане.

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

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

Худший ответ:
Если по теме, то вот: https://mailcow.email
Вопрос: Можно ли как то хранить данные на иностранных серверах, не нарушая закона о персональных данных (фз-152)?

Лучший ответ:
Закон не запрещает хранение ПД на иностранных серверах, он требует хранить их в РФ. В случае реляционных СУБД это решалось установкой в РФ дешёвого сервера и настройки на него репликации. Что-то такое можно и для firebase придумать.

Худший ответ:
Буква закона говорит о конфедициальности и трансграничной передачи данных, использование google cloud 'в лоб' без шифрования данных на российской стороне будет противоречить духу и букве закона.

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

p.s. к сожалению исполнить весь комплекс законов невозможно, 'не продав душу', так что думайте сами
Вопрос: Как подключить балласт к УФ лампе?

Лучший ответ:
посмотреть в тырнетике описание УФ-лампы.
судя по наличию патрона Е27, драйвер лдс (предположу высоковольтный импульсный преобразователь) уже внутре твоей лампы.

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

Лучший ответ:
По минимуму нужен SAS HBA (Host Bus Adapter), дискретный или встроенный на мамку. И соответствующие кабеля.
По факту проще найти SAS RAID, хотя он и дороже.

Худший ответ:
Любой sashba адаптер стоят не дорого
Вопрос: Какие книги прочитать дизайнеру по типографике?

Лучший ответ:
На русском языке мало, но есть: 
Ю. Гордон. Книга про буквы от Аа до Яя 
А. Королькова. Живая типографика 
А. Горбунов. Типографика и верстка https://bureau.ru/projects/book-typography/

Худший ответ:
https://www.ozon.ru/product/vse-pro-tex-148737584/...

Тут и про дизайн и про типографику и про многое другое
Вопрос: Как сделать антипорно (анти 18+ контент) в aiogram?

Лучший ответ:
Перерыл весь интернет но ответа так и не нашел
И как же ты искал?
Вон там, первая же ссылка по запросу "python adult content".
А самое страшное то что я даже не подозреваю по какому алгоритму вообще должна работать программа.
А самое страшное то, что задача вообще никак не сформулирована

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

Наиболее простой вариант - воспользоваться каким-нибудь готовым сервисом типа Azure Cognitive Services:
Detecting adult content

Но (применимо и для SaaS и для self hosted):
1. Это не мгновенно => какое-то время запрещённый контент будет находиться в чате.
А если сообщений много, а картинки большие - время нахождения в чате будет достаточно большим.
(self hosted, как правило, будет медленнее, если используется слабое железо)
2. Это не бесплатно (в зависимости от масштаба может быть дешевле как SaaS, так и self hosted)
3. Возможные ложно-позитивные и ложно-негативные срабатывания. (бесплатные модели имеют меньшую точность)

Так что тебе в любом случае придётся как-то модерировать чат и вводить запреты на спам и отравку каких-либо медиа вообще.
Вопрос: Какие тестовые задания дают джунам PHP в 2021?

Лучший ответ:
Разные дают. Никогда не угадаешь заранее. Надо просто или соответствовать и проходить либо проваливать и идти доучиваться. У всех компаний разная специфика и у всех свои ожидания и требования. Чего-то обобщённого не существует

Худший ответ:
теже что и в прошлом и 2019
Вопрос: Как иметь доступ к локальной сети Mikrotik, но при этом не передавать трафик по VPN?

Лучший ответ:
Возможно. Для этого достаточно снять галочку - использовать удаленный шлюз

И прописать роут(маршрут) до нужного IP/подсети в системе клиента

Либо использовать опенвпн и их настройку push route

Ну и еще вариант. Наймите сисадмина)

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

Лучший ответ:
Зря. Нам слишком мало платят, чтоб париться ещё и за это бесполезное дерьмо. Семантика-_янтика, кого это вообще волнует.)

Это из той же серии что "правильный" REST - когда можно абсолютно бессмысленно потратить пол дня прикидывая какой же HTTP код лучше всего пойдёт данной ситуации, в итоге либо получив свой "уникальный" кусок мусора, понятный всё равно только тебе, либо завернув все ответы в итоге в 418 200 с нормальным статусом в теле.

Худший ответ:
Я верстальщик, и я стараюсь соблюдать семантику. А вот фронты вообще «не, не слышали»
Вопрос: Хотелось бы узнать как вы выбираете язык программирования для своих проектов?

Лучший ответ:
Язык подбирают под задачу. Если проект делается под заказ, и под требования проекта подходят 2-3 языка, выбирают 1) Самый распространенный на рынке, с большим количеством спецов достаточной квалификации. 2) В случае сформированной команды - язык который хорошо знает большинство членов команды. 

Если это личный проект в аналогичных условиях - 1) Хорошо изученный язык, если проект задуман для выполнения в короткий срок или нужен как рабочий инструмент/коммерческий продукт. 2) Специально выбирается малознакомый язык, дабы сделать на нем что-то более-менее серьезное и прокачать скилл. 

Прочие маловстречающиеся случаи в принципе плюс-минус укладываются в описанные кейсы.

Худший ответ:
очень просто - тот на каком проще реализовать задачу тот и использую. временами даже десктопные GUI приложения пишу на PHP(сейчас правда больше использую ElectronJS), а мобильные(Android) на JS c Cordova..
kotlin и typescript, python и haskel и swift очень похожи
пошли в родителей))

языки зачастую создают не из-за того что имеющиеся чем-то кардинально не устраивают или авторы придумали придумали новый революционный подход, а как часть экосистемы корпорации и/или способ подсадить народ на свои продукты, яркие примеры - это MS - VBscript. Apple - Swift, JetBrains - Kotline(хотя в данном случае это скорее надстройка)
Вопрос: Как в Kotlin и Java называются конструкции, начинающиеся с @?

Лучший ответ:
Это аннотации

Худший ответ:
Аннотации
Вопрос: Как удалить из строки все html теги?

Лучший ответ:
С помощью функции strip_tags:

strip_tags($string);

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

https://www.php.net/manual/ru/function.strip-tags.php

Худший ответ:
Например так:
<?php
$str = "Яблоко, Апельсин, <br>Киви, <u>Молоко</u>, <a src='//'>ссылка</a>";

echo strip_tags($str);

PHP code online
Вопрос: Какую поставить бюджетную защиту от кратковременных провалов напряжения для питания компьютера?

Лучший ответ:
Вариант 1.
Провести отдельную толстую линию для вашего теплового насоса - от щитка до него. Чтобы на этой линии не находилось ничего, кроме насоса и других силовых устройств. Обеспечить фильтрующими элементами электрику насоса.
Вариант 2 (или совместно к варианту 1).
Завести от щитка отдельную фазу 220В или хотя бы отдельную линию на той же фазе, на которой сидят только приборы с тонкой цифровой начинкой (телевизоры, компьютеры и другая цифровая электроника).

Худший ответ:
Отыметь как следует электрика и разобраться с защитным заземлением и рабочим нулём?
бывает зависает мышь от помехи, зависает шина USB, перевтыкание разъема мыши помогает.

P.S. Что за насос (о каком уровне мощности идёт речь)?
Вопрос: На какую JS-библиотеку перейти с JQuery?

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

Худший ответ:
Неправильно ставите вопрос. 
Вместо "на что перейти с JQuery?", нужно "что использовать для такого-то типа проекта?".
Если сейчас вы закрываете свои задачи с помощью JQuery и конечному пользователю \ заказчику все нравится, можете оставить все как есть.
Другой момент, что на рынке для опытного веб разработчика стало необходимым минимумом знать хотя бы один из популярных фреймворков \ библиотек.
Вопрос: Как расставить пробелы у каждого символа |?

Лучший ответ:
На самом деле, ваше решение и есть верное.
Пробел в "ручной молоток" не исчезнет, потому что .trim() удаляет пробелы только с начала и конца строки.

Таким образом,

const string = 'дрель| домофон|пила| топор |ручной молоток';
const modifiedString = string.split('|').map((s) => s.trim()).join(' | ');

// "дрель | домофон | пила | топор | ручной молоток"

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

Худший ответ:
можно использовать replaceAll

let a = 'дрель| домофон|пила| топор |ручной молоток'

a = a.replaceAll(' ', '').replaceAll('|', ' | ')

console.log(a)
Вопрос: Как писать код С++ на Линукс?

Лучший ответ:
Установите компилятор (clang сейчас считается более популярным, чем gcc) и среду разработки (QtCreator, CLion). Этого будет достаточно.

Худший ответ:
В linux есть компилятор для C, C++ сразу после установки системы , а sublime text 3 потом можно будет скачать https://www.sublimetext.com/download  (есть версия для линукса)
Вопрос: Как при достижении условного брейкпоинта ширины экрана сменить через js href у ссылки?

Лучший ответ:
Вот современный способ проверки на соответствие медиавыражению:
if (window.matchMedia('(max-width: 700px)').matches) {
  for (const linkElement of document.querySelectorAll('.order-project__more-details-btn')) {
    linkElement.setAttribute('href', 'examples-foundation-640')
  }
}
А вот документация: https://developer.mozilla.org/ru/docs/Web/API/Wind...

Худший ответ:
Атрибуты для элементов дом в JS устанавливаются через метод setAttribute(имя атрибута, значение).
Вопрос: Состоит список только лишь из единиц, или нет?

Лучший ответ:
Писал в комментариях, напишу и как ответ
Попробуй отсортировать список и проверить первый и последний элемент, должно работать быстрее чем перебор
arr = [....]
sorted(arr)
if arr[0] == 1 and arr[-1] == 1:
    ...

Худший ответ:
Я не знаю, кто тот гений, который ставил эту задачу, но видимо, весь вопрос в том, чтобы догадаться, что перебирать весь массив целиком не обязательно.
result=True
for x in arr:
   if x != 1:
       result=False
       break
Вопрос: Как подключить один принтер к двум компьютерам, через usb-кабель?

Лучший ответ:
Лучше всего приобрести сетевой принтер)))

Вариантов несколько - 
купить прин-сервер
расшарить принтер с 1 ПК в сеть, подключаться и печатать через него
переставлять кабель USB

Худший ответ:
Если в хозяйстве есть роутер с usb гнездом, то можно исследовать его настройки на предмет наличия принт-сервера.
Если есть такой, то можно подключить принтер к нему. Если в роутере нет принт-сервера, но все же есть usb, то если его не жалко, то можно попробовать поставить прошивку openWRT для установки принт-сервера.

В этом случае, компьютеры будут подключаться к роутеру по сети или wi-fi, а принтер превратится в сетевой.

PS: Все таки, прочитайте спецификацию к вашей модели принтера. Вдруг там есть Ethernet, а вы даже не подозреваете об этом.
Вопрос: Как обновить все зависимости и зависимости зависимостей npm/yarn?

Лучший ответ:
Да, возможно обновить все зависимости и зависимости зависимостей проекта, используя NPM или Yarn.

Для обновления зависимостей проекта в NPM можно выполнить команду:

npm update

Эта команда обновляет все установленные зависимости проекта до их последней версии, не нарушая совместимость с текущими версиями.

Для обновления зависимостей проекта в Yarn можно выполнить команду:

yarn upgrade

Эта команда обновляет все установленные зависимости проекта до их последней версии, учитывая совместимость с текущими версиями.

Если вы хотите обновить только определенную зависимость, вы можете использовать команды npm update  или yarn upgrade .

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

Худший ответ:
Зависимости зависимостей сами обновятся при обновлении пакетов из package.json
Вопрос: Зачем в маршрутизаторах Cisco нужны Serial интерфейсы?

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

Потому что замена документации и переобучение сотрудников на использование USB-Serial для администрирования может стоить еще дороже, чем просто поддержание легаси.

Худший ответ:
Вы про Console или про AUX?
Если первое то в дохрена каком оборудовании, в том числе и mtk, иcпользуется консольный именно com порт.
Если второе, то во первых легаси, во вторых - через него можно подключить консоль другой железки и поуправлять ей удаленно
ppp hdlc - легаси, раньше через aux можно было подключить dual-up модем и заюзать как резервный канал связи