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

Лучший ответ:
It depends (В зависимости от :) )

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

Но дальше начинаются тонкости.

В корпоративных сетях зачастую стоит корпоративный сертификат и прокси с бампингом, который позволяет самому прокси видеть все, что проходит через соединение - вполне классический такой MitM.
Провайдер от имени государства или само по себе государство от своего имени запросто может потребовать поставить некий "госсертификат", чтобы иметь эту же самую возможность.  Да, я пока про такое не слышал в РФ, но в РК система была уже опробована (потом отключена). То есть техническая возможность есть.

Худший ответ:
HTTPS шифрует только содержимое запроса, т.е. защищает от слабых MITM атак. Всё остальное не защищено. 

P.s.
Для заведения уголовного дела достаточно только установления факта обращения к ресурсу, т.е. HTTPS не поможет.
Вопрос: Как округлить число в меньшую сторону кратное числу?

Лучший ответ:
Деление пополам могло навести на более компьютерные мысли.
Алгоритм нахождения такого числа для N участников при количестве победителей X:
Нацело поделить N на X, оставить в результате только старший значащий бит, умножить это на X.
187 / 5 = 37 = 100101b
100000b * 5 = 160

Худший ответ:
Легче сделать математически ,
<?php
$input = 187;
$output = 5;
$buf=log ( intdiv($input, $output ),2 );
echo(round ( $buf, 0 ,  PHP_ROUND_HALF_UP ) );
логарифм числа x -это такое число,что при возведения основания  этого логарифма в логарифм ты получаешь x. т.е вместо цикла можно просто взять логарифм .
Вопрос: Я инвалид, проблемы с руками. Возможно ли мне стать программистом? Какие шансы?

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

Худший ответ:
Для современного программиста мышка важнее клавиатуры))
Вопрос: Как хранить и сравнивать локации?

Лучший ответ:
Во многих СУБД есть расширения для работы с пространственными и гео-данными.
Например в postgres - PostGIS.
Тебе нужно просто для каждого пользователя определить геолокацию как широту-долготу, а поиск в определённом радиусе уже будет реализован в postgis.

Это будет сильно быстрее чем "сравнить всех со всеми" благодаря специальным индексам

Худший ответ:
Имея геолокацию найти расстояние между двумя точками -  задача элементарная (вспоминаем школьную геометрию). Соответственно найти несколько точек, у который расстояния то-ли минимальное, то-ли не превышает заданную величину (те-же 50 км.) также особого труда не представляет.  Хотя что делать, если населенные пункты А и В находятся в 50км, но между ними курсирует скоростной поезд, а пункты А и С -  в трех километрах, но через высокогорный перевал или реку -  с объездом в 100 км (да, бывает и так) ? В общем, мне кажется поиск по геолокации -  не лучший способ решения проблемы.  

А вот искать "по области"  (или по населенному пункту) - уже перспективнее. Наиболее просто способ -    "в лоб" выяснять у пользователя из какой он области. И тогда проблем нет. Но если исходить из геолокации -  то проблема серьезная. Надо где-то искать соответствующую базу (по сути границ областей), потом решать задачу, в какую область угодила точка.... В общем весьма муторно. 
Можно, например, спрашивать город, от которого по имеющейся открытой информации переходить к области.  Или по области находить города - в том числе близлежайшие - такая карта расстояний имеется (правда, не заю, в свободном-ли доступе). На худой конец искать API Google-maps и тянуть информацию из него.

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

Лучший ответ:
В Python все типы данных делятся на изменяемые (англ. mutable) и неизменяемые (англ. immutable). Неизменяемые типы данных (например, строка, кортеж, frozenset) имеют несколько особенностей:
- занимают меньше места в памяти, чем их изменяемые аналоги;
- являются хэшируемыми (англ. hashable).
Хэшируемые типы данных в отличие от нехэшируемых можно использовать в качестве ключей словарей, а также они могут быть элементами множеств.
>>> a_set = frozenset({1, 2, 3})
>>> hash(a_set)
-272375401224217160
>>> a_list = [1, 2, 3]
>>> hash(a_list)  # Ошибка: список - нехэшируемый тип данных
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> a_dict = {[1, 2, 3]: 'example_value'}  # Ошибка: нельзя использовать нехэшируемые типы данных как ключи словаря
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> a_dict = {(1, 2, 3): 'example_value'}  # но можно использовать хэшируемые
>>> a_dict
{(1, 2, 3): 'example_value'}
Неизменяемые типы данных имеют меньший размер (объём занимаемой оперативной памяти):
>>> import sys
>>> sys.getsizeof([1, 2, 3])  # Изменяемый тип данных list
88
>>> sys.getsizeof((1, 2, 3))  # Неизменяемый тип данных tuple
64

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

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

вот например в базе postgresql есть тип smalllint размером в 2 байта и туда записать можно значение в диапазоне от -32768 до 32767, чтобы контролировать это на уровне питона можно свой тип сделать
class int2(int):

    def __init__(self, x) -> None:
        if not -32768 <= x <= 32767: raise TypeError
        super().__init__()
Вопрос: Почему iptables Не закрывает порт?

Лучший ответ:
У докера есть свои таблицы, а вы правите основные. Посмотрите реальную жизнь с помощью iptables-save

Худший ответ:
Если так?

iptables -t nat -A PREROUTING -s 188.242.111.111 -p tcp --dport 81 -j ACCEPT
iptables -t nat -A PREROUTING -i enp2s0 -p tcp --dport 81 -j DROP

iptables -nvL -t nat
Вопрос: Надо ли заливать код на GitHub back-end программисту?

Лучший ответ:
Работодатель будет смотреть ваш код, а не запускать и тыкать в интерфейс. Так что надо не дописывать интерфейс, а приводить код в порядок.

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

Лучший ответ:
Установить на ПК любой web-сервер, настроить его на раздачу нужных вам файлов, купить белый IP-адрес у провайдера, настроить проброс 80-го порта на домашнем маршрутизаторе, купить доменное имя у любого регистратора и прописать в A-запись доменной зоны ваш белый IP.

Худший ответ:
Глупость хостить сайт дома для внешки. 250 рублей проще отдать за ВПС.

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

Рекомедую тренироваться в такой последовательности.
1. Берешь готовый комплект WAMP (for Windows Apache+MySQL+PHP) .
Разбираешься с тем как открывать порты в фаерволе и  заставить хост отвечать на запросы из локалки (Listen)

2. Собираешь тоже самое из отдельных дистрибутивов. Поставить апач, муську, пхп. 

3. Тренируешься уже под xUnix (Ubuntu/CentOS/Debian) 

4. Разбираешься nginx, memcache
Вопрос: Можно ли принять get или post запрос?

Лучший ответ:
Можно, но не нужно.

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

Лучший ответ:
Нажимаете Пуск -> "управление компьютером" -> Управление дисками
Жмякаете на свой новый диск правой кнопкой -> Создать простой том -> Жмете "Далее" до победного.
Все.

Худший ответ:
Нужна информация о том, какой у вас SSD, как именно вы его подключили, и какие накопители есть в системе. Также хорошо было бы понимать новый ли он и уверены ли вы, что он исправен. Можете посмотреть с помощью R.tester'а виден ли он как устройство, с каким названием (корректным или нет), и какой ёмкостью.

Если Windows на компьютер вы только устанавливаете, то попробуйте отключить всё, кроме нужного ССД - Виндоус при установке может видеть загрузчик на другом диске.

Также посмотрите мануал к материнской плате - у ряда современных бывают весёлые штуки наподобие SATA, расшаренного с M2.
Вопрос: Что такое эндпоинт простыми словами?

Лучший ответ:
Встречаются немного различные интерпретации этого понятия. Например такая. Каждый api-сервис имеет endpoint, к которому и нужно обращаться, например отправлять http-запрос. Обычно это url. Т.о. endpoint - это url. Или такая. url включает в себя маршрут (основная часть адреса сервиса) и endpoint (часть url, которая содержит например имя вызываемого метода). Существует один маршрут и у него несколько эндпоинтов. Т.о. здесь endpoint - это только часть url.

Худший ответ:
Endpoint - это конечное защищаемое устройство. Компьютер с корпоративным антивирусом или мобилка с ним же. Хотя тут зависит от контекста, который вы не прояснили.
Вопрос: Как повесить событие input только на type="text"?

Лучший ответ:
Получаете  инпуты по input[type="text"]

Худший ответ:
Добавьте к каждому input type='text' ID и после этого слушайте их.
Вопрос: Где учится созданию ботов на python?

Лучший ответ:
Нигде. Читаете книжку по Пистону, читаете модуль для Telegram. Пишете.

Худший ответ:
Определись с библиотекой, в основном их 2: 
PyTelegramBotAPi
AioGram

Попробуй с начала с PyTelegramBotAPI.
импортируй telebot в python.

Ознакомься с оф. документацией Telegram
Вопрос: CMD/BAT. Как сцепить строки в текстовых файла?

Лучший ответ:
Заранее пожалуйста.
@echo off
setlocal enableextensions enabledelayedexpansion

for /r %%F in (*.txt) do (
	set var=
	for /f "usebackq delims=" %%a in ("%%F") do (
		set var=!var!%%a 
	)
	echo !var!
) >> rez.out

Худший ответ:
AUser0 , благодарю. Код рабочий. Проблема в кодировке файла, поэтому строки не соединялись
Вопрос: Windows server для декстопа?

Лучший ответ:
Нет
Устанавливай вин10 ltsc

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

Лучший ответ:
({a, b, c} = {a:1, b:2, c:3 }) // вези меня браузер! Ну если внутри ничего нет то попытаемся

let {a, b, c} = {a:1, b:2, c:3 } // слева переменная, справа значения которые в нее нужно положить. Да Повелитель!

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

Лучший ответ:
Нашел решение:
$arServers - входной массив 

foreach ( $arServers as $arServer )
    foreach ( $arServer['domains'] as $arSite )
        print_r($arSite['fqdn'])

Худший ответ:
for($i = 0; $i < count($api['answer']['result']); $i++)
  echo $api['answer']['result'][$i]['domains'][0]['fqdn'];
По хорошему, нужно бы еще проверять есть ли массив результата по $api['answer']['result'], если массив в $api['answer']['result'][$i]['domains'].
Вопрос: Если накроется raid контроллер, то можно восстановить рейд заменивши на идентичный контроллер?

Лучший ответ:
лучше юзай mdadm... он не привязан к железу

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

Лучший ответ:
Что мешает все изменения в БД документировать в bitbucket? Тогда вы сможете вносить их и в продакшн.
А можно настроить CI\CD из dev в production через https://bitbucket.org/product/ru/features/pipelines.

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

используй логическую репликацию (это в Постгре, хз есть ли в MySQL но должно быть)
Вопрос: IP-камера POE + WIFI + LINUX?

Лучший ответ:
Кажется решение найдено для IP-камер на чипсетах HiSilicon Hi35xx и XiongmaiTech XM5xx
https://openipc.org/about/

Худший ответ:
Бред какой-то... Поставьте куполку и маленькую ТД, запитайте их от PoE-коммутатора и всего делов...
Сколько сотен поставил камер, никогда не встречал камеру, которая РАЗДАВАЛА бы интернет...
Откуда она будет его брать?
Вопрос: Есть ли хорошие книги для глубокого изучения Linux?

Лучший ответ:
Linux API. Исчерпывающее руководство
https://www.piter.com/collection/linux/product/lin...

Худший ответ:
хорошие книги для глубокого изучения Linux

Есть книга Linux System Programming - Robert Love. Она где-то 2008 года. Но мне кажется что еще не утратила своей актуальности. Думаю что многие вещи из нее актуальны в части API.
Вопрос: Сложности с открытием парсером любого URL Instagram — переадресация на login page. Как решить?

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

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

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

Итог: да, инста очень плохо относится к аутентификации с каких-то е*еней по типу Германии, особенно если акк регался в России. Но имея токен сессии, работу с акком можно производить откуда угодно.

Худший ответ:
Можно например авторизоваться
Или использовать резидентные или мобильные прокси без авторизации
Вопрос: Будет ли при установки ssl потеря в seo позициях?

Лучший ответ:
Будет.
Потому что с точки зрения поисковиков, это другой сайт (в некотором роде).
А вот насколько глубокой и длительной окажется просадка - будет зависеть от исполнителя переноса.
Если всё сделать грамотно (редиректы настроить, внутренние ссылки проверить, и sitemap, и robots.txt, и в кабинетах вебмастера сообщить поисковикам о переезде), тогда отрицательные последствия будут минимальны.
Но переезжать однозначно надо.

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

Лучший ответ:
Чтобы узнать ответ следует сперва задать грамотный вопрос.

На тостере ежедневно задается сотни вопросов.

Думаешь в администрации есть экстрасенсы, которые догадаются какой именно удаленный ответ следует искать?

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

Лучший ответ:
Если вы будете использовать URL репозитория для ssh протокола, то вам необходимо сначала создать пару ключей и прописать открытый ключ в вашем аккаунте гитхаба. И проверить, чтобы в репозитории был открыт доступ для вашего аккаунта.

Но проще использовать ссылку https, чтобы не возиться с ключами.

git init # инициализировать репозиторий в папке тестового проекта
git remote add origin <URL> # указать адрес вышестоящего репозитория
git fetch # скачать вышестоящий репозиторий
git reset origin/master # установить указатель на ветку master
# существующие локальные файлы в рабочем каталоге измениться не должны
git branch --set-upstream-to=origin/master master 
# связать master с origin/master

Вы делаете почти правильно
git fetch origin
-- ошибок не выводит, но и результата никакого не даёт
Потому что вы ранее уже сделали pull, который включает в себя fetch
Если ничего не выводит, значит ошибок нет и изменений в origin тоже нет.

fatal: 'origin/master' does not appear to be a git repository
Гит говорит, что origin/master не является корректным адресом репозитория.
Правильный синтаксис: git pull origin master

И не называйте пожалуйста GitHub гитом.

Худший ответ:
не нужно локально делать git init.
сделайте клонирование удаленного репо, тогда всё уже будет настроено. Так проще.

в пустой папке проекта

git clone git@github.com:username/reponame.git .

Самый простой вариант, конечно, удалить тестовую директорию и просто сделать git clone , но тогда придётся по новой связь с тестовой БД устанавливать и FTP настраивать и т.д.
А, не заметил...

Ну ловите лайв-хак.
весь код копируете в левую папку.
очищаете папку проекта.
в папке проекта клонируете репу.
накатываете файлы из левой папки в папку проекта с перезаписью.
Получите актуальную копию удаленного репозитория со всеми локальными изменениями, если они были.
Вопрос: Метод Array.sort() — что такое a и b?

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

-1 если a<b
+1 если a>b
0 если a==b


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

Лучший ответ:
Любые вопросы про "ускорение mysql" необходимо сопровождать не голословными заявлениями "Слющай, использует индексы, мамом клянус!", а ВЫВОДОМ EXPLAIN
Без которого вопрос в принципе не имеет смысла, и должен удаляться.

Плюс неплохо сразу выкатить результат SHOW ENGINE INNODB STATUS

Худший ответ:
Можно воспользоваться MySQLTuner проверить что можно оптимизировать в конфигурации MySQL
Вопрос: Как настроить Postfix чтобы письма отправленные через telnet сохранялись в отправленных?

Лучший ответ:
В отправленные письма ложит ваш почтовый клиент. Сервер ничего для это не делает.
Соответственно, когда вы отправляете письмо в telnet сессии - то сохранять их в отправленные некому.

Худший ответ:
но программисты не смогли побороть ntlm авторизацию
Че? Там авторизация - логин и пароль. Не побороли OWA - ну запусти IMAP, эксч - это же суперкомбайн, в нем есть все.
Сохранить письма, отправляемые через telnet, нельзя. Потому что сервер ничего для этого не делает - работа через telnet (по соединению, где идет только текст) - это его нормальная работа. 
Всякого рода папки, фильтры и прочее - это работа почтового клиента.
Вопрос: Может ли вирус заразить администратора?

Лучший ответ:
может

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

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

Напомню, что в windows вирус может запускаться автоматически в разных и очень необычных ситуациях, помню была уязвимость, созданный особым способом .lnk файл (иконка запуска) при его отображении в проводнике запускал код вируса, и я не уверен что эту уязвимость закрыли! Или к примеру размещение файла autorun.inf подготовленным особым образом в корне любого диска, даже сетевого, позволит запустить код вируса при любой попытки открыть этот диск в проводнике (двойной клик из списка диска) даже при отключенном автозапуске (это вообще за уязвимость не считают).

Очень много бинарников устанавливаются в windows профиль пользователя appdata (это вообще ах*еть какая дыра, папка с данными не должна вообще позволять запуск приложений)
Или к примеру размещение в папке специально подготовленного dll подменяющего таковой в приложении обслуживающего какие либо документы (файл с данными какого либо типа) при неправильном подходе к разработке приложения (а таких в windows программисты делают наверное каждый второй) запустит вирус при простом открытии этого документа... и прочее прочее

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

Так что резюме - да это возможно, и нет, случайный вирус скорее всего так сделать не сможет.
Вопрос: Путь до junior developer (java/kotlin). Сколько времени потребуется?

Лучший ответ:
Это вопрос не имеет однозначного ответа, зависит от очень многих факторов.
Два минуса у вас сходу есть:
Один раз бросил
Семья с детьми

ИМХО от года и до бесконечности.

Худший ответ:
Мой совет, если уж решил идти в этом направлении - забей на яву, учи чисто котлин. Одно к другому сейчас весьма опосредовано, и ява серьезно теряет позиции как по популярности, так и по стоимости. Котлин же достаточно стабильно растет, освоить чуть попроще и более востребован. Кроме того ява больше про большие легаси десктоп/нетворк приложения, туда больше ищут с большим опытом работы и уровнем мидл+. С котлин же обычно мобильный сегмент, где приложения помельче и меньше легаси, соответственно править баги в легаси коде скорее всего тебя не посадят со старта, можно сразу что-то нормальное писать.
Вопрос: Как оптимизировать эти запросы на Laravel?

Лучший ответ:
Насколько я помню, ->get() делает запрос к базе и возвращает коллекцию. А это куча данных и ваш проект будет умирать, пользуйтесь groupBy как часть запроса и расчитывайте на стороне БД до вызова get(), а не после, когда вы уже работаете не с квери билдером, а с огромной коллекцией.

Худший ответ:
Напиши оптимизированные запросы в базу. Группирование обязательно на стороне запроса. 99% что это решит твою проблему, ибо данных у тебя точно не много. А если вдруг, то експлейн и индексы в помощь.