Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как использовать сессию для всех клиентов одновременно?

Лучший ответ:
Единственно правильный ответ - никак. 

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

Если под "сессией" имелось в виду общее хранилище для всех пользователей, то оно называется "база данных".  И в этом смысле "БД не предлагать" выглядит беспочвенным капризом. Как правильно заметил N в комментарии, такое заявление звучит как "Как кушать суп? Ложку не предлагать." 
Такие заявления надо всегда подробно обосновывать. И в этом случае вам либо действительно подскажут, как обойтись без БД, либо объяснят, что это просто блажь.

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

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

Для остального существует БД из нее вы все получаете и отправляете клиенту.
Вопрос: Как из одного сигнала получают два?

Лучший ответ:
Не очень понятно, на каком уровне нужен ответ. Вот нагуглил за несколько минут (хоть и не про RS485, но суть та же, вроде). Надеюсь, что развёртывть операционный усилитель до отдельных транзисторов не требуется. :)
И связаны они между собой электрически?Разумеется, связаны. У них один источник тока.



Худший ответ:
Мне важно как протекают токи в линии, в передатчике и приёмнике. Об этом нигде не нашёл информации. Важно как замыкаются цепи, что является нагрузкой.
Например - в документации на выбранную ИМС приёмо-передатчика. У "старой-доброй" SN65176 это "Line input current" (синфазный ток, втекающий с линии связи на вход приёмника или вытекающий в линию - зависит от синфазного напряжения в линии относительно "земли" приёмника) и "Input resistance" (сопротивление входа приёмника дифференциальному сигналу в линии). Плюс рисунки в разделе "schematics of inputs and outputs" - TYPICAL OF A AND B I/O PORTS.

И связаны они между собой электрически?
Несомненно. Как минимум - у них общий источник питания.

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

Лучший ответ:
Два варианта, первое (и более корректное, так как не создает дополнительной нагрузки) - парсить логи nginx на сервере откуда отдается файл (ну или Apache, но кто будет статику отдавать через Apache)

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

Худший ответ:
Я чаще всего  встречал только через промежуточный скрипт.
Вопрос: Как включить полноценное использование всех ядер в Excel?

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

Худший ответ:
Как минимум проверить разрядность офиса. Если он 32 бит, то больше одного ядра использовать не будет. 
64х битный офис в помощь, хотя и проца одного мало для больших вычеслений, вычисления формул привязаны еще к объему памяти и неплохо бы SSD (хотя он для всего не плох ))))
Вопрос: Почему JS самостоятельно изменяет числа?

Лучший ответ:
console.log(Number.MAX_SAFE_INTEGER < 9999999999999999); // true
Используйте BigInt
console.log(9999999999999999n); // 9999999999999999n

Худший ответ:
Условно происходит округление.

На пальцах это выглядит примерно так. В памяти есть место для хранения целого числа, а также есть место для его порядка (степени). Размер первого места задаёт, сколько цифр может быть в числе, например 17 (но это примерно, потому что там биты, то есть число хранится в двоичной системе). Порядок же позволяет дописать очень много нулей к числу справа или слева. Количество нулей тоже не бесконечно, но очень большое, всем хватит.

Поэтому для очень широких чисел типа такого:
1230000000000000099999999999999999999999999999999
невозможно сохранить все цифры в точности. Оно просто не влезает в целую часть. Приходится брать за основу какой-то отрезок из 17 цифр. Очевидно, что логичнее начинать со старших разрядов:
12300000000000000 (17 цифр)
Ну а дальше встаёт вопрос, что делать с младшими? Порядок (степень) можно примерно сохранить, дописав нули. И в случае, если отбрасываем .....999999, то логичнее перевести единичку в следующий разряд. Получится:
1230000000000000100000000000000000000000000000000
(т.е. 1.2300000000000001e+48)

Повторюсь, это примерно, без подробностей, для общего понимания. На самом деле там куча нюансов.
0.1 + 0.2 == 0.3 //false

Чтобы не вникать в детали и при этом не иметь проблем с вещественными числами вообще, нужно не превышать разрядность целочисленной части и не иметь дело с дробными (т.е. пользоваться, как целыми). И как только эти правила нарушены, гарантия исчезает - и могут появиться погрешности.
Вопрос: Можно ли запатентовать ЯП?

Лучший ответ:
Насколько я знаю, языки программирования относятся к той категории, которую нельзя патентовать (связанное с математическими методами), Статья 1350 ГК

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

Лучший ответ:
Нет, вы не можете в CloudFlare выбирать местоположение. Даже сам CloudFlare не может.

CloudFlare использует технологию anycast. В двух словах это когда один и тот же IP адрес анонсируется сразу несколькими географически разнесёнными дата центрами. И для посетителя из америки трафик будет приземляться на американский ДЦ, а для посетителя из россии на российский ДЦ даже если оба таких поселителя заходят на один и тот же IP адрес.

Поисковики в курсе этой технологии, так как сами ею пользуются. Так что география сайта не определяется ими исключительно по IP адресу.

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

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

Худший ответ:
Не понимаю, зачем для тестирования апи разворачивать фронт. Бэк самостоятельно нормально может проверить работоспособность своего апи. Для этого как минимум есть браузер, как максимум есть postman или swagger и куча их альтернатив. Фронт говорит какие ему данные нужны, бэк говорит как будет называться метод и какие параметры с фронта для этого должны передаваться. А дальше как работает фронт, это проблема фронтедщиков.
Вопрос: Возможно ли сделать прозрачную MITM атаку (без промежуточного ip)?

Лучший ответ:
Возможна :) 

Вы описали сценарий работы корпоративного прокси с бампингом :) Правда, для его работы нужно одно, но крайне существенное условие - на компьютере 1.1.1.1 в доверенных корневых сертификатах должен находиться сертификат/CA сертификата, который будет использоваться на 3.3.3.3

Иначе не получится нифига, потому что у Вас нету сессионного ключа, Вы не сможете "подделать" соединение между клиентом и Вами. 

https как раз и придуман для того, чтобы отсеивать таких вот хитрожопых и требование по установке "госсертификатов" - оно вовсе недаром энфорсится - потому что без него никак.

Худший ответ:
- Прозрачная MitM атака возможна, для этого необходимо чтобы у вас был доступ к одному из маршрутизаторов или каналов на пути прохождения трафика
- Сам со себе перехват трафика в общем случае не дает вам возможности дешифровать или подменить TLS трафик, для этого необходим доступ к приватному ключу
- Если вы можете перехватывать трафик рядом с сервером. вы можете выпустить себе сертификат от имени сервера, т.к. процедура выпуска сертификата в публичных CA не защищена от MitM атак. Такая атака может быть обнаружена через Certificate Transparency. 

Поэтому в целом, ответ на ваш вопрос - Да, использование публичных CA без extended validation и/или certificate pinning не устраняет все возможности полностью прозрачных MitM атак в TLS. Но скорей всего, ваше представление о MitM атаках на TLS и их механизмах сейчас не верно.
Вопрос: Что думаете о книге Электроника. Теория и практика?

Лучший ответ:
Сворень вне конкуренции.

Худший ответ:
Учитывая что вопрос в разделе Arduino, для изучения микроконтроллеров (это не совсем электроника это цифровая техника) лучше начать с детского набора с Arduino платой, там есть все необходимые детали и Книга с подробной инструкцией как все сделать.
Цифровая техника в общем проще чем электроника в целом.
Вопрос: Как защитить Active Directory от подбора пароля с помощью сторонних приложений?

Лучший ответ:
ад имеет политику по блокировке после нескольких неудачных входов. 
так же есть Fail2ban и его аналоги для виндоуз в части iis, rdp https://alternativeto.net/software/fail2ban/?platf...

Худший ответ:
Хм...простого решения нет.
Такие задачи - это всегда комплекс бюрократических и технических мер, проактивных и реактивных, включая корпоративные стандарты безопасности, политики паролей, корректно настроенные фаирволы на входе в вашу сеть и между подсетями внутри, средства мониторинга сетевой активности, аудит действий администраторов и пользователей на разных сервисах (AD, почта, файловые и т.д.), регулярные задачи по проверке ключевых доменных групп, SIEM система для сбора и анализа активностей всей инфраструктуры и т.д.
Для примера:
Аудит доменных служб Active Directory в Windows Se...
Политики аудита изменений в Active Directory

Из простых действий:
- документы: корпоративная политика безопасности, правила работы в корпоративной сети и прочее; каждый пользователь знакомится с ними под роспись
- пользователь уровня Enterprise Admin и/или Domain Admin должен иметь несколько учетных записей, а УЗ с повышенными привилегиями использовать только для выполнения административных задач. В остальное время он работает с УЗ обычного пользователя
- административные УЗ со сложным паролем не менее 16 символов
- сервисные УЗ со сложным паролем не менее 20-25 символов, смена раз в год
- доменные политики паролей и блокировки УЗ
- доступ к критичным серверам (DC, почта, файловые и т.д.) разрешен только определенным пользователям, определенным подсетям/IP и т.д.
- аудит действий администраторов
- антиспам и антивирусы (файловые и почтовые)
- запрет использования внешних почтовых систем и облачных хранилищ (GMail, Yandex Disk и т.д.)
...

P.S. умный холодильник должен включаться только в одну сеть - электрическую 220В
Взлом и защита Active Directory
Вопрос: Где можно почитать про правильную организацию сервера и распределения нагрузки (EN/RUS)?

Лучший ответ:
Да читать особо не надо
0) с вашей нагрузкой можно это всё дело на ноутбуке дома запустить, и он справится
1) обвешиваете приложение метриками (grafana итп)
2) время от времени смотрите, где боттлнеки
3) рефакторите этот код или выносите его в отдельный сервис

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

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

2. Вычисляете на сколько нужно прокрутить (например: высота до верха + высота элемента + 10px запаса снизу).

3. Родителю делаете scroll(), при желании можете добавить ему behavior: 'smooth'

Худший ответ:
1. У активного элемента вызываете getBoundingClientRect(), получаете все размеры, включая высоту блока и расстояние до верха родительского контейнера.

2. Вычисляете на сколько нужно прокрутить (например: высота до верха + высота элемента + 10px запаса снизу).

3. Родителю делаете scroll(), при желании можете добавить ему behavior: 'smooth'
Вопрос: Как сделать полный бекап сайта через rsync?

Лучший ответ:
на сервер куда передаешь создадим папочку mkdir /tmp/11
tar cvfz - /var/www/site.ru/ |ssh root@111.111.111.111  "cd /tmp/11;tar xvfz -"

собственно все!
сайт переехал и уже в распакованном виде при этом архив не занимал места нигде ни на том ни на том сервере, но тем не менее через интернет передавался в 1 файле.

tar cvfz -  /var/www/site.ru/- Архивировать папочку 
| передать  
ssh root@111.111.111.111  "cd /tmp/ - на другой сервер
;tar xvfz -" распаковать.

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

Худший ответ:
запускаешь rsync через ssh или через sshfs или еще как. статей навалом.
плюс rsync в отличии от к примеру cp то, что он может подтвердить полноценность переноса данных из одного места в другое.

для скорости можно копировать cp, а потом проверить идентичность копии через rsync (по размеру, дате в идеале по хешу каждого файла)
Вопрос: 7 жил из 8, должна ли работать сеть?

Лучший ответ:
Если 1, 2, 3, или 6 в обрыве - работать не будет совсем. 1 и 2 - это одна пара, 3 и 6 - вторая пара. При обрыве любого из этих проводков линка не будет. 
Решать как - переобжать оба конца и проверить. Если то же самое - значит обрыв где-то в кабеле. Тогда можно либо найти место обрыва и там "бочку" поставить или кабель переложить... Ну или взять коричневую или синюю пару вместо зелёной (соответственно, 1ГБит/с сделать не получится, только 100МБит/с).

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

нужны при 100 Мбит только 1,2,3,6
Обычно это БО,О,БЗ,З
Вопрос: Обойти лимит VK API без VK API?

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

Худший ответ:
Да. Но нужно будет решать капчу и могут забанить аккаунт.
Вопрос: Как переключаться на разные версии php в lamp?

Лучший ответ:
PHP-FPM. Работает и с Apache и с Nginx.

Худший ответ:
А как быть если сегодня нужно развернуть сайт на php 7.2
Завтра на 5.6
Установить все не обходимые и переписывать socket или заставить их работать на разных портах переписывая ip:port в конфигах
С mysql лучше ковырять в сторону env
Либо смотреть в сторону виртуалок на которых уже будут все совместимые компаненты
Вопрос: Как убрать ошибку в коде?

Лучший ответ:
Правильное слово это - Length. И не пишите код в блокноте, используйте нормальные IDE с подсказками методов.

Худший ответ:
Collider2D[]' does not contain a definition for 'Lenght
Написано, что в colliders нет такого метода/свойства как Lenght, поэтому что делать с colliders.Lenght непонятно. Возможно опечатка и правильно будет colliders.Lenghts?
Вопрос: Можно ли настроить правила сетевых интерфейсов на windows server?

Лучший ответ:
route add 10.10.10.x 255.255.255.255 тут_шлюз_ростелекома

что то типа такого. 
Если у вас винда видит оба шлюза ессно )

Но вообще это лучше и правильнее делать на роутере....

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

Лучший ответ:
Object.fromEntries(arr.map((n, i) => [ `answer${i + 1}`, n ]))
или

arr.reduce((acc, n, i) => (acc['answer' + ++i] = n, acc), {})

Худший ответ:
Как обычно:["first", "second", "third"].reduce((acc, value, i) => {
  acc[`answer${i+1}`] = value;
  return acc;
}, {});
Только вот если у тебя в коде вдруг появляются переменные(и свойства) отличающиеся только цифрой на конце - ты явно что-то делаешь не так.
Вопрос: Как повредить файл в Linux?

Лучший ответ:
Хочу протестировать работу утилиты gddrescueЭто так не работает.
ddrescue не делает никакой магии для восстановления файла. И записав мусор в файл, вы не повредите диск, чтобы протестировать его чтение при помощи ddrescue.
С физически исправного диска ddrescue скопирует ровно то же самое, что и обычная dd (т.е. скопирует аккуратно испорченный файл с нулями в середине).
Для тестирования ddrescue вам надо грохнуть жесткий диск с размаху об стену, :) а не писать нули в середину файла.

Худший ответ:
1) Вам нужно повреждать не внутренности файла, а файловую систему.
2) Не обязательно это делать на реальной файловой системе, можно использовать маленький файл мегабайт на 500 и подключить его как дисковое устройство через  loopback
И уже его повреждать, как Вам будет угодно.
truncate -s 500M my-file-system.img - создать файлик
mkfs.ext4 my-file-system.img - создать файловую систему на нем
mount -o loop my-file-system.img /mnt - подмонтировать
df -h /mnt - проверить размерчик
umount  /mnt - отмонтировать

root@leah-pc /h/leah# truncate -s 500M my-file-system.img
root@leah-pc /h/leah# mkfs.ext4 my-file-system.img 
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done                            
Creating filesystem with 128000 4k blocks and 128000 inodes
Filesystem UUID: ada9f825-92d5-4410-b186-eda1ef2edfeb
Superblock backups stored on blocks: 
	32768, 98304

Allocating group tables: done                            
Сохранение таблицы inod'ов: done                            
Создание журнала (4096 блоков): готово
Writing superblocks and filesystem accounting information: готово

root@leah-pc /h/leah# mount -o loop /home/leah/my-file-system.img /mnt
root@leah-pc /h/leah# df -h /mnt
Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
/dev/loop26      469M         768K  433M            1% /mnt
root@leah-pc /h/leah# umount /mnt
Вопрос: Как удалить множество файлов?

Лучший ответ:
Это не сложно. Установите такую замечательную программу как 7zip
Откройте командную строку в папке где у вас находится архив и выполните команду "c:\program files\7-zip\7z.exe" d 1.zip tod.pdf worr.doc -r
где

c:\program files\7-zip\7z.exe - путь к 7zip
d - удаление файла(-ов)
1.zip - название архива откуда удаляются файлы
tod.pdf и worr.doc - файлы которые нужно удалить
ключ -r  - рекурсивное сканирование всех папок в архиве


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

Лучший ответ:
Насчет ГПТ не отвечу, скорее всего тоже можно.
А по поводу видео - 
MBR легко восставноить, данные с диска никуда не девались, даже если диск форматнуть, данные с него можно достать

Худший ответ:
многословное вступлениепоследний раз восстанавливал критично упавшую ФС в 2008. на тот момент, NTFS имела 3 копии бд файлов - в начале диска, примерно в середине и ближе к концу
популярная R-Studio требовала сделать бинарную копию на сторонний носитель (а траб был на довольно большом райде) и только потом сканировать в поисках фалов. хтя это у R-Studio хорошо получается )
но @ActiveRecovery всех тогда шокировала - с первого запуска, прога за очень малые минуты высветила то что видит 3 копии бд структуры диска.  первые 2 битыми, а ту что в хвосте целехонькой
ну и типа вопрос - будем восстанавливать по месту? (трабл длился может уже с неделю, были частичные бекапы, сервак крутился 24/7, рядом боялись чихнуть) коллегиально было принято решение перекрестится, и нажать "yes"..
после ребута рейд был как новенький.  все диски в норме и каждый сам по себе, и логический том без единой ошибки
не зависимо от типа раздела, удалить современные ФС можно только затиранием по месту. для ускорения это может быть рандомное прописывание рандомных значений с той или иной плотностью. на сколько плотно? это вопрос конфиденциальности данных, и оценки времени на их уничтожение. удаление структур разделов ни чего не меняет
еще байкаслышал, что где то было или даже бывает - такая должность сидит человек с револьвером возле самого секретного диска, и если загорается красная лампочка - стреляет в этот диск )))..
можно придумать и более технологичные альтернативы ))
Вопрос: Как зациклить выполнение события через каждую единицу времени?

Лучший ответ:
Я Конечно не гений и не пользуюсь циклом"while", но присунь туда Asyncio :)

Худший ответ:
Я Конечно не гений и не пользуюсь циклом"while", но присунь туда Asyncio :)
Вопрос: Какой смысл mock объектов для юнит тестирования своего кода?

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

Самый банальный пример, помимо http запросов, это эмулирование неправильных объектов.

Допустим, у вас есть сервис, который обрабатывает какой-то объект. Объект написан хорошо, с валидацией данных, и его поведение корректное. Но чтобы вам написать качественный сервис - он не должен полагаться на то, что другой объект ведет себя корректно. Он должен дополнительно проверять граничные ситуации. И разумеется, на такие кейсы нужно написать тесты, а как их написать, если тестируемый объект написан так, что он ведет себя корректно? Вот здесь и приходят на помощь моки.

В phpunit есть функционал подсчета покрытия кода тестами - попробуйте на каком-нибудь относительно небольшом модуле добиться 100% покрытия кода тестами - вам обязательно придется использовать хитрые моки, эмулирующие нестандартное поведение объектов.

P.S. Если вы недавно знакомы с юнит-тестами - непонимание моков нормально. Если будете стремиться писать надежный код, с качественным покрытием кода тестами (здесь самое сложное - предугадать все плохие кейсы, которые будут пытаться сломать ваш код) - понимание придет.

Худший ответ:
Когда вы тестируете метод А вашего класса, вы проверяете его логику а не логику других (замоканых методов), может быть ситуация когда ваш метод А работает по логике корректно, а вот другой метод Б другого класса используемый в тестируемом методе выдает ошибку, возникает вопрос нужно ли считать что ваш метода А работает неправильно из за упавшего метода Б ?
Вопрос: Где в дампе звонка найти информацию о проблеме «Одностороння слышимость»?

Лучший ответ:
Дамп чего у вас?
В логах односторонней слышимости не будет.
Односторонняя слышимость в 99% это nat.

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

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

Худший ответ:
2. почему вы опять пишите про курсы лекции если нужна практика? Дома или где есть возможность  берете несколько компов, объединяете их в сети, и практикуетесь на других задачах! 
Теория это хорошо, но вы понимает что без практики она мертва.
3. Сразу в сетевые инженеры не зайдете, сначала эникей/помощник админа, потом админ, потом уже ситевик.  
4.  Думаю да все зависит от конторы и ваших умений, по началу это будет такая себе работа, но многие с этого начинают.