Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему переодически самостоятельно закрываются приложения?

Лучший ответ:
Они точно не сворачиваются в трей? ОЗУ достаточно и swap не отключен?

Приложения могут убиваться OOM killer, чтобы не допустить полного забивания ОЗУ, которое приведёт к зависанию системы.

Худший ответ:
Благодарю, что навели на мысль, проблему решил увеличением swap.
Решение нашёл здесь (может кому пригодится): https://www.linux.org.ru/forum/general/16138308
Вопрос: Как реализовать в MySQL топики форума, которые участвуют сразу в нескольких разделах?

Лучший ответ:
Мне почему-то кажется, что 'поиск Fulltext' должен подойти для такой задачи,Вам кажется. Кроме того что фуллтекст вообще не для этого, он еще и работать будет относительно медленно, так как вариативность значений будет низкая. Про "удобство" работы со строкой вместо нормального индекса вообще молчу.  

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

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

Худший ответ:
Когда-то я делал так. В таблицу добавлял поле, в которое помещал id в md5. Далее, когда пользователь отмечает какие ему нужно категории и в топик вписывал этот md5 разделенный вертикальной чертой. На странице самого топика я брал поле, в котором хранился md5 и через explode разделял и подготавливал запрос, чтобы вывести категории. Такую систему я применял для блогов и фотоальбомав на сайте. Но сайт маленький был, то есть не с такой аудиторией как вк. Так что за скорость работы такого подхода я ничего не могу сказать, лично меня он устраивал.
Вопрос: Можно ли для придания интерактивности на вэб-страницах в место javascripta использовать java?

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

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

Лучший ответ:
Очень просто:
как узнать точно ли удалены посты
Все что попадает в интернет - остается в интернете.
и как удалять, чтобы окончательно они не гуляли? 
Никак.

Худший ответ:
Есть европейский закон или право. Право быть забытым ( https://en.wikipedia.org/wiki/Right_to_be_forgotten ) или еще вариант GDPR.
На основании его гражданин может попросить google или другие поисковые системы удалить сведенья о нем при поиске и поисковик обязан эти данные добавить в такой-себе стоп-лист чтоб не гуглилось никогда. Как быстро они этот запрос отработают - я не знаю. И действует это кажется для Европы. 

Для РФ вряд-ли кто-то будет рассматривать такое обращение. Но можно попробовать.
Вопрос: Как пробросить порт через 2 роутера?

Лучший ответ:
Зачем вам два ната? Почему первый роутер не в режиме бриджа?

Просто два проброса порта: На первом на 192.168.1.2 (на второй роутер). На втором уже проброс на целевой комп.

Худший ответ:
Настроить безусловный проброс порта два раза.
На первом - Из Интернета на 192.168.1.2
На втором из интернета на ip нужного компа.
Вопрос: Машрутизация в микротик?

Лучший ответ:
Дык а вы проверяли, что они сейчас не видят друг друга?
По-моему, у Mikrotik'а хватает ума в таких простых случаях автоматически создавать маршруты, не требуя ручной настройки.

И если таки не видят, то смотрите, является ли Mikrotik шлюзом для тех хостов, на которых проверяете.

Худший ответ:
По умолчанию Микротик будет пересылать пакеты между всеми сетями, которые у вас заведены на ip - > interfaces
Если вдруг не ходит, смотрите что в цепочке firewall forward.
Вопрос: Каковы правила конвертации указателя на массив неопределенной длины в указатель на массив определенной длины?

Лучший ответ:
С++ - язык более высокого уровня, тут компилятор не позволит вам выстрелить себе в ногу неявным приведением сена к соломе. Нужно объявить его явно.
static_cast - если компилятор готов согласиться с вами, что одно можно просто привести к другому во время компиляции.
dynamic_cast - если вы приводите указатель на родительский класс к указателю на дочерний
и reinterpret_cast - если вы приводите по-сишному, "ногой в дверь", уверены в себе и не нуждаетесь в подсказках компилятора насчет того, что делаете.

Худший ответ:
В выражении p = p2 мы выполняем неявное преобразование встроенных типов, для которых в стандарте не описаны правила преобразования. То есть такое преобразование не гарантировано, но может быть реализовано компилятором, например
#include <type_traits>
using namespace std;

int main() {
    static_assert(std::is_convertible<int(*)[2], int(*)[]>::value, "Non-convertible");
    return 0;
}
компилируется в gcc 12.2, в clang 15.0 - ошибка.

Существует старое не принятое предложение о закреплении такого преобразования стандартом.
Вопрос: Сбор сведений в общую Excel-таблицу от нескольких работников без гугл-форм?

Лучший ответ:
Начните с формализации данных. Хотя бы введите единообразие наименований (наименование должно выбираться из списка, а не вводиться в свободной форме, либо должна заполняться форма со всеми возможными наименованиями) и формата представления данных. Это задача 1.
Задача 2 - решить, в каком виде будет заполняться ежедневная форма. Веб-форма тут в общем вполне подойдёт. На гугле свет клином не сошёлся - есть те же яндекс-документы, например...
Задача 3 - передача готовой формы. Тут я бы рекомендовал выгрузку в локальный CSV и отправку по электронной почте. Это контролируемый и протоколируемый канал, бесполезно говорить, что письмо было отправлено вовремя, если его нет в отправленных или если дата отправки - безнадёжно просроченная.
Задача 4 - загрузка полученных данных в единое хранилище. Тут уже можно думать о приличной СУБД. Ну а её штатных клиентских средств для загрузки - за глаза.
Задача 5 - аналитика. Имея данные в БД, получать аналитику в любых формах и разрезах - не проблема.
Ну и задача 6 - формирование красивых выходных документов с результатами анализа. Тоже не сказать что проблема.

Худший ответ:
мобильный клиент + сервер с SQL

на мобильном клиенте - формализованный ввод из перечня через выбор количества и авторизованная отправка
на SQL сервере - приём и проверка данных, сведение в единую базу и формирование отчёта

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

Лучший ответ:
Адресная строка давно не означает путь по "папкам" на сервере. Такое давно не используют, а используют роутинг.
Адресная строка разделяется на составные части, которые могут означать что угодно. Это зависит от фантазии разработчика. Например,  https://site.ru/books/1
Здесь ты видишь основной домен site.ru, затем раздел books, а 1 - это номер книги.
По этому пути на сайте вообще может не быть ни файла 1, ни папки books. А будет запущен код роута books, который выполнит запрос к БД и достанет данные книги с id - 1.

Худший ответ:
https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html

Для понимания техники.
Есть еще термины "единая точка входа" и "роутинг".
Технические реализации могут быть разные.
Как конкретно именно у ВК не знаю. Может быть какая-то модификация nginx & fast-cgi

т.е. нет тысячи файлов.  строка запроса разбирается серверным по и выполняются нужные действия.
Вопрос: Как исправить ошибку ssh?

Лучший ответ:
Внутри systemd скорее всего пустой env, поэтому не находит сам ssh. Укажите полный путь к ssh в GIT_SSH_COMMAND=/path/to/ssh

Худший ответ:
Проще всего сразу в конфиге SSH прописать ключ для хоста и тогда SSH сам использует этот ключ, когда гит его запустит. .ssh/config:
Host github.com
  IdentityFile ~/.ssh/id_ed25519
В случае, если требуется несколько разных ключей для разных репозиториев, то делается так:
Host github.com-project-1
  HostName    = github.com
  IdentityFile ~/.ssh/project-1
Host github.com-project-2
  HostName    = github.com
  IdentityFile ~/.ssh/project-2
И соответственно для клонирования нужного репозитория использовать соответствующий для него хост. Т.о. все настройки ключей доступа для всех проектов будут в одном месте - в конфиге SSH, а не разбросаны по куче разных скриптов и файлов.
Вопрос: Программа выдает ошибку,так как не может определить значение переменной,которую я ввожу с помощью виджета Entry,с использованием tkinter, где ошибка?

Лучший ответ:
Переменная radius существует в пространстве имён функции kr_click, а в radius_click её нет. Нужно передать:
def radius_click(radius):
    ...

kradius = Button(frame_kr, text='Help', bg='yellow', command=lambda: radius_click(radius))

Худший ответ:
1.Нужно указывать весь код а ни его часть где произошла ошибка! а лучше и код и часть где есть ошибка.
2.Посмотри видео ютубе о областях видимости в python.
3.Ошибка произошла потому что переменная radius является локальной и используется только в этой функции.
я исправил ошибку указав что переменная radius является глобальной 
Вот сам кодfrom tkinter import*

root = Tk()
root.title("какое-то ")
root.geometry("450x450")

def radius_click():
    r = int(radius.get())
    okr = r*3.14
    print(okr)

def kr_click():
    global radius
    frame_kr = Frame(root, bg='#060922')
    frame_kr.place(relx=0.68, rely=0, relwidth=0.32, relheight=1)
    radius = Entry(frame_kr, bg='white', font=40)
    radius.place(relx=0.1, rely=0.30)
    kradius = Button(frame_kr, text='Help', bg='yellow', command=radius_click)
    kradius.place(relx=0.5, rely=0.45)

kr_click()
5.Если это помогло отметь комментарий решением.
6.гугл в помощь
Вопрос: Как просуммировать значения из списка типа «1+1»?

Лучший ответ:
Если только суммирование в инпуте:
sum(map(int, "4+5+3+2+3".split('+')))
# 17

с sympy:
from sympy import sympify
sympify("4+5+3+2+3")
# 17

Худший ответ:
a = eval("1+1")
print(a) # 2
это для примера
Вопрос: Как сменить заблокированную учётную запись?

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

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

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

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

Лучший ответ:
есть например почтовые сервисы с открытым исходным кодом (proton mail tutanota)
но почему мы не можем их развернуть на своем сервере ?Tutanota и Protonmail — сервисы с закрытым исходным кодом. Исходники предоставляются только для части компонентов, клиентских программ, и т.п., но серверная часть закрыта и не выкладывается.
Зарабатывают эти сервисы на, собственно, предоставлении сервиса.

И такой же вопрос только про vpn с открытым исходным кодом.Открытые решения не всегда подходят к корпоративной среде, не всегда полностью покрывают все задачи, или не всегда совместимы с уже имеющимся оборудованием.
Зарабатывают создатели VPN-приложений на адаптации программ под конкретные условия и задачи, на разработке дополнительной функциональности, на внедрении, иногда на брендировании под заказчика.

Худший ответ:
но почему мы не можем их развернуть на своем сервере ?
Почему не можем? Если проект полностью открытый - качай и ставь, кто помешает? Другое дело, что там может быть открыто вовсе даже и не все :) То же самое про VPN. Подписки используют те, у кого не хватает тяму поставить свой сервер. Те у кого хватает - смотрят на первых, как на баранов (которых стригут) :)
Вопрос: Почему финализированные классы в исходниках java имеют private конструкторы?

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

Худший ответ:
Ничем особенным. Просто библиотечные функции сильнее защищают от «нештатного» использования.
Вопрос: Worker php? что лучше?

Лучший ответ:
в systemd или suvervisor добавьте консольную команду и пусть работает. Либо по расписанию.

Худший ответ:
а по вашему как воркеры будут работать? также через циклы. мне кажется вы меняете шило на мыло. У меня проблема такого же формата. нужно перебирать цепочки валют (в цепочка по 5 пар валют) а цепочек около 100 тыс. раз в секунду. пока крона за глаза хватает. Проблема может быть в следующем: скрипт не успеет что то обработать за 5 минут. поэтому на вашем месте если бы у меня была такая задача. я бы разделил ее на 2 части, получение информации - 1 задача. работа с информацией - 2 задача. 
Также решение может быть вот такое: посчитайте сколько человекочасов вы потратите на решение этой проблемы, умножьте на свою ставку в час. и посмотрите, сколько стоит увеличить характеристики вашего сервера, чтобы он обрабатывал информацию быстрее
Вопрос: Как найти все элементы в коде во всех файлах?

Лучший ответ:
ctrl+shift+f

Если забудете этот хоткей его всегда можно найти в меню edit → find
как и другие хоткеи связанные с поиском и заменой.

Худший ответ:
ctrl+shift+f

Если забудете этот хоткей его всегда можно найти в меню edit → find
как и другие хоткеи связанные с поиском и заменой.
Вопрос: Что значит, что алгоритм работает...?

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

Худший ответ:
Константа вылезает из деталей реализации операций. Вот сортировка пузырьком делает ровно n(n-1)/2 сравнения и помен в худшем случае. Еще столько же операций инкремента счетчика индекса, столько же проверок на конец цикла. Плюс еще n операций для внешнего цикла. И все это O(n^2). Хотя там есть есть /2 и операций четыре типа. И они еще разное время занимают. Скажем, проверки занимают 10 тактов, а инкрименты - 1. Но вся эта мишура не влияет на скорость роста и прячется в константе. Если все сложить. То будет C*n^2 +C2*n+C3 тактов на алгоритм.
Вопрос: Можно ли открывать файл для чтения, уже открытый для чтения и записи?

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

Худший ответ:
Если для чтения, то можно.
Вопрос: Стоит ли менять термопасту в ноутбуке?

Лучший ответ:
Конечно стоит. Она же высыхает.

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

Лучший ответ:
Завтра мне нужно будет "следить" За сервером. Что мне понадобится изучить и какие учебники можете посоветовать? 


Если от этого "поезда" не убежать, то советую перед каждым действием - 5 раз гуглить, 10 раз перечитать информацию, если есть возможность не править код в наглую в "мастере" и на боевом сервере(накатить на dev и оттестировать"), как можно чаще задавать себе вопрос "а не делаю ли я что-то, что может привести к факапу и увольнению за нецелесообразность".

Худший ответ:
Мораль истории - не пренебрегайте написанием инструкций!
Вопрос: Как скачать клиент/сервер 1с 8.3 для Linux (Debian)?

Лучший ответ:
Скажите пожалуйста где взять .deb пакет 1с 8.3 для установки?Разумеется на официальном сайте - вот ссылка на последнюю версию платформы 8.3.19.1150 
https://releases.1c.ru/version_file?nick=Platform8...
https://releases.1c.ru/version_file?nick=Platform8...

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

Худший ответ:
Нужно покупать. https://1c.ru/rus/products/wherebuy.htm
Вопрос: Как скачать файл в Putty?

Лучший ответ:
Используйте scp. Он входит в состав пакета Putty.
https://pingvinus.ru/note/scp-command

Худший ответ:
никак. путти используется для удаленного доступа.
подключаешься через ssh ?? смонтируй удаленную фс через  sshfs и качай на здоровье.
в комплекте есть консольные качалки pscp psftp можно через них
Вопрос: Что можно приложить резюмэ, на должность программиста?

Лучший ответ:
Пет-проекты выкладывают, если они есть. Иногда в профиле GitHub'а нет своих проектов, но есть вклад в другие. Если нет ни того, ни другого - это тоже не стигма.

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

Первичный осмотр(hh): наличие опыта работы, высшего образования, etc
Тестовое задание: работодатель скидывает вам маленькую(или нет) таску, что бы посмотреть как вы пишите код, либо выстраиваете архитектуру приложения. Всё это заливается на git, где работодатель может провести code review, и понять что у вас в голове.
В случае успеха: собеседование с лидом > офер.
В случае отказа: игнор, и так по кругу.
Вопрос: Трудоустройство в IT после 40?

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

Поскольку Вы говорите, что в основном по ЗиК (Зарплата и Кадры) - так и скажите франчу - хорошо знаю предметную область ЗиК...

Худший ответ:
Вопрос нужно ставить иначе. 
Изучить после 40 теоретически можно, зависит индивидуально от человека - есть ли время и силы на это.
Тут главное  - возраст "после 40".
В 35 лет я уже ощущал, что самый старый из разработчиков в компании, сейчас мне 40 и это уже критический возраст, в большинстве случаев работает молодежь, средний возраст 25-30 лет.
Не слушай чушь, что есть разработчики 60-70 лет, что тут написали.
Без ит-опыта тебе потребуется довольно много времени, что бы изучить и перестроить мозги.
Вопрос: Логика поднятия ВМ / Какой порядок действий?

Лучший ответ:
Вводить в домен их не нужно - стройте workgroup cluster
https://techcommunity.microsoft.com/t5/failover-cl...

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

В общем ситуация "ключ от шкатулки внутри шкатулки".

так что или рядом с гипервизорами надо еще разместить "железный" КД или вариант Alexey Dmitriev
Вопрос: Как правильно сравнивать ENUM на C#?

Лучший ответ:
FileAttributes не является Enum в привычном смысле. Это битовая маска, то есть число в котором определенные биты имеют определенные значения. Пример откровенно говоря неправильный, так как в ожидаемые директории будет иметь ещё и атрибут Directory, как минимум. Если нужно найти все файлы имеющие один из атрибутов, то код должен выглядеть такif(dir.Attributes & (FileAttributes.Hidden | FileAttributes.Offline) != 0)
Здесь мы складываем биты двух атрибутов и если любой из них не будет равен 0, то условие сработает.

Худший ответ:
Тут надо шарить в битовом представлении чисел и логических операциях.
В данном случае FileAttributes представляет собой набор описывающий каждый бит, как признак (атрибут у enum [Flags]).
Поэтому если мы хотим объединить признаки, например как вы (скрытый и оффлайн) то нужно использовать логическое сложение OR он же |.
А вот чтобы проверить, что в Attributes включены те биты, что нам нужны используют логическое умножение AND он же &. В результате останутся только биты, которые были в обоих числах. То есть по сути нам нужно сравнить результат с нашей проверкой.

var hideAndOffline = FileAttributes.Hidden | FileAttributes.Offline;
if ((dir.Attributes & hideAndOffline) == hideAndOffline)

Ну вот например у моей паки корзины атрибут в числовом выражении равен 0x16, оно же в бинарном b10110
Мы видим что активно три бита, первый, второй и четвертый, что соответствует Hidden(0x2) + System(0x4) + Directory(0x10) = 0x16. Забавно, что в структуре FileAttributes не описан третий бит.
Вопрос: ASP.NET WebAPI. Как сделать обертку для ControllerBase.BadRequest без внедрения зависимостей?

Лучший ответ:
Добавьте Exception Filter в конвейер вызова. И бросайте Custom Exception, который фильтр перехватит и вернет нужный вам результат

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

public static class CBExt
{
    public static BadRequestObjectResult BadRequestWithMessage(this Controller ctr, string message)
    {
       return ctr.BadRequest(new { errMessage =  message  });
    }
}

Вот это точно не верное понимание и использование наследования. Вот если вы поменяете на 
public class CustomControllerBase: ControllerBase
    {
        public new IActionResult BadRequest(string[] message)
        {
            return base.BadRequest(new { errMessage =  message  });
        }
    }
и будете все свои контроллеры наследовать от CustomControllerBase то будет норм