Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как вычисляется 20 битный адрес путем сложения 16 бит адреса сегмента с 16 бит смещением в процессорах Intel 8086?

Лучший ответ:
Всё достаточно просто. У нас целый мегабайт памяти, нам надо 20 бит адреса, а регистры 16-битные.
Для того, чтобы можно было оптимально выделять память, разобьём её на блоки по 220-16 = 16 байт. Пронумеруем эти блоки, получим 16-битные номера.
Теперь для выделения фрагмента памяти мы можем взять номер первого выделяемого 16-байтного блока и количество блоков. Каждый такой выделенный фрагмент памяти назовём сегментом, а номер первого выделяемого блока - адресом сегмента. Внутри сегмента мы можем использовать 16-битную адресацию, что даёт размер сегмента в 64KB.
Но оперативная память ничего не знает о сегментах, ей нужен 20-битный адрес. Поэтому мы берём адрес сегмента, умножаем его на размер блока (16 байт) и прибавляем адрес внутри сегмента.

Худший ответ:
 То есть разные разные сегменты и разные офсеты совпадают. Путаница(Очевидно я где-то не догоняю). Да, избыточность, а не путаница. Если бы на сегмент отводилось 4 бита, то все сегменты были бы жёстко зафиксированы по сетке с шагом 64 КБ. А речь идёт о временах, когда 1 МБ был теоретическим (недостижимым на практике) максимумом. Часть адресного пространства отводится для разных устройств, и эта часть не обязательно идёт одним куском (устройства не знают друг о друге). Т.е. имеем в адресном пространстве "дыры", недоступные для ОЗУ. Чем больше шаг сетки, тем больше адресного пространства теряем. А чем меньше бит адресуют сегмент, тем больше шаг сетки.

Например, какое-то внутреннее устройство занимает в адресном пространстве всего 16 байт, но эта "дыра" не прилегает плотно к другим "дырам". При адресации сегмента по 4 битам мы бы потеряли сразу 64 КБ оперативки (физически она бы присутствовала, но была бы недоступна для адресации), а это очень много, это 1/16 от всего объёма в 1 МБ. Т.е. неоптимально распределённые адреса для всего лишь 16 устройств - и у вас не останется для ОЗУ вообще нисколько, ноль.

А с конфигурированием адресов ОЗУ и номеров IRQ на устройствах всё было очень сложно во времена до появления технологии PnP. От перемычек и переключателей на картах расширения или на материнских платах до ручных настроек в BIOS.

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

Так что техническое решение для своего времени было хорошее.
Вопрос: Какие могут быть последствия отключения России от системы SWIFT для пользователей Upwork/Payoneer?

Лучший ответ:
SWIFT - это все международные платежи.
В случае отключения России от SWIFT экономика просто рухнет, причём задеты будут все.
Поэтому не верьте слухам.

Если порассуждать про нереальные теории: если международных платежей не будет, то значит перевести деньги в Россию не получится. Останется только Payoneer или PayPal. И то в полулегальном виде. И то при условии, что MasterCard и Visa не последуют за SWIFT.  В любом случае все будут стоять на ушах и искать пути обхода.

Худший ответ:
Это частная фирма, и если она покажет что ведется на какую то политику (хоть эти угрозы 2014 года свежести) то вполне начнет развиваться альтернативная система платежей. А такпоживем сальтернативными системами- тем ж телеграфом.
Вопрос: Стоит ли проходить платные курсы (Skill-Branch и т.д. и т.п.) на позицию Kotlin-разработчика на данный момент?

Лучший ответ:
Да, иди! Курсы чума! Советую купить сразу и скилбокс и гикбрейнс для получения максимального эффекта.
Анализировал отзывы и рецензии, однозначного вывода не смог сделать 
Тем более!
P.S. Такой редкий вопрос нечасто встретишь на тостере!

Худший ответ:
Эти курсы ничего тебе не дадут
Не советую
Вопрос: Можете оценить вёрстку?

Лучший ответ:
Для адаптива понадобится мета тег в head
<meta name="viewport" content="width=device-width, initial-scale=1">
Не помешали бы стили для контейнера, например такие:
.container {
	width: 1920px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}

Секция navbar:
заменить флоаты на флексы, и по высоте позиционировать align-items а не марджинами

Секция top-panel:
Здесь у вас margin-top у секции и margin-bottom у подзаголовка. Заменить на паддинги у секции.
Для секций обычно задаются паддинги, ибо если якорное меню, то чтобы текст не прижимался прям к самому верху, а было пространство.
В правой части у заголовка, описания и кнопки правый марджин. Зачем задавать трем элементам, когда можно просто родителю задать паддинг?
В кнопке находится ссылка. Выберите что-нибудь одно. Кнопки обычно используются для какого-либо действия, например открытие мобильного меню. Для перехода на другие страницы, якорное меню - ссылка.

Секция слайдер:
Для стрелок слайдера думаю предпочтительне position: absolute; ну и выровнять по центру
position: absolute; top: 50%; transform: translateY(-50%);
slider-bottom - задайте ему паддинг, а не параграфу марджин

Секция column-text:
Расстояние между заголовком и картинкой состоит из маржинов того и другого элемента, поди лучше определиться на каком-то одном..
У Read More margin-bottom, когда явно просится паддинг для родителя, ну или как вариант высота для слайда/слайдера

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

Общие советы
Для сеток флексы и гриды, тут когда как и кому как. Поизучайте.
Все img предлагаю оборачивать в обертку, мало ли там придется подложку полупрозрачную наложить, параллакс или ещё что. Можно к примеру в тег picture
Старайтесь избегать большой вложенности.
По поводу неймнига.  Все рекомендуют БЭМ, но он мне не зашёл. Да и в верстке самое сложное это придумать названия классам )
Старайте не прописывать стили тегам, сегодня это p, завтра span. Или добавится такой же элемент, для которого как раз не нужны эти стили
Но понятно, что зависит от ситуации. Например в меню обычно обращаются к ul и li, потому-что при натяжке на cms придётся твои классы добавлять или переделывать стили
Чтобы не писать через запятую свойства каждому однотипному элементу задать общий класс. Например для элементов navbar-brand подошел бы navbar-brand__item и уже ему отсупы

Вроде бы дичи никакой не посоветовал, но всё равно учтите что ситуации разные, на вкус и цвет фломастеры тоже разные

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

Лучший ответ:
Для начала - установить и настроить веб-сервер, чтобы он принимал подключения извне и отдавал этот сайт. Если 403 всё же возвращает - значит, веб-сервер уже стоит, но очевидно не настроен.

Худший ответ:
>Ввод адреса сервера ничего не дает.
убедитесь, что веб-сервер запущен.
открыты минимально 80,443 порты tcp.
что извне видны эти порты.
Вопрос: Как отсортировать массив php внутри js кода?

Лучший ответ:
Или загружайте в JS все данные в виде JSON (можно через AJAX), и сортируйте как вздумается. Либо на каждый щелчёк делайте переход на другую страницу, с нужной сортировкой.

Худший ответ:
Рисуете все как рисовали. Добавляете к каждой карточке data атрибут. Например для терапевтов data-type="terapevt" для отропедов data-type="ortoped". Потом вешаете на кнопки события клика и при клике на кнопку с терапевт скрываете всех кроме тех у кого data-type="terapevt".  Примерно так. Можно например плагин использовать для этого, например  https://isotope.metafizzy.co/filtering.html.
Вопрос: Что не так с функцией?

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

Программисты не задают посторонним вопрос, "почему мой код не работает". 
Они задают его своему коду. 

Вы уже начали отлаживать свой код, выводя промежуточные результаты. Это очень хорошо. Но почему-то тут же остановились

Ну если запрос не находит записей - разве не логично вывести его на экран и посмотреть, что с ним не так.

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

Худший ответ:
Вот там где у вас
if (!$result... ) {
        return false
Неплохо бы добавить throw New Exception($sql . PHP_EOL . $mysqli->error);
Или хотя бы echo $sql . PHP_EOL . $mysqli->error;

Очень большая вероятность того, что есть проблема с кавычками вокруг orderid и даты.
Ну и переход на prepared statements сделает эти ошибки невозможным, и ещё от ряда косяков защитит.
Вопрос: Какой IDE выбрать вместо Borland C++?

Лучший ответ:
Лучшая IDE - Visual Studio
Попробуйте к ней привыкнуть пару дней
Почти все c++ программисты сидят Visual Studio

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

Лучший ответ:
bat файл который сначала узнает guid затем заменяет в рег файле его и потом уже импортирует
все это сделать самораспаковывающимся архивом как винрар к примеру и готово

Худший ответ:
Есть же стандартный механизм доставки групповых политик. Зачем вы свой изобретаете?
Вопрос: Есть ли аналоги видео хостинга Vimeo?

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

Возможности защиты у каждого свои, но плюс минус они схожие: защита по домену, показ водяного знака, формирование временных ссылок, шифрование дрм - как нативный так и clearkey.

Худший ответ:
Вот прям точно такая же проблема. Где хранить то видео я нашел, на хранилище c протоколом S3. Ценник дешевле намного чем использовать сервис. Единственный нюанс, как защитить его.. Для амазоновского хранилища есть прям плагин, (https://s3mediavault.com) который шифрует ссылку на видео и не дает скачать. А вот под наши хранилища подобного что-то не видно. .../ Хотя я протестил их демку, через консоль разработчика все равно выдернуть можно видос, так же как и c vimeo наверно. Да и вообще просто запустить запись с экрана и вся защита коту под хвост. Интересно только, как к примеру у Кинопоиска это реализовано, там неполучается через запись с экрана сграбить видос.
Вопрос: Как сделать такие уголки на css?

Лучший ответ:
Псевдоэлементами с радиальным градиентом
По аналогии с https://codepen.io/AnnaSummer/pen/GRyVzeY

Худший ответ:
На данный момент мой пример не работает. Но заработает, когда селектор has будет поддерживаться браузерами.
li {
  background-color: gray;
}
li:hover {
  background-color: white;
  border-radius: 10px 0 0 10px;
}
li:hover + li {
  border-radius: 0 10px 0 0;
}
li:has(+ li:hover) {
  border-radius: 0 0 10px 0;
}
Вопрос: Почему все прекращают поддержку 32-битных систем?

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

По поводу адресации 64х бит. Насколько я помню адресные линии современных процессоров материнских плат так и не достигли этого размера. Что такое вообще - полный объем памяти с 64х битами - это больше чем во всех датацентрах вместе взятых. Посчитайте сами. Простая арифметика. Каждый бит - удваивает количество железа на борту. Сколько щас Intel Core способен адресовать? Я не помню. Пускай знающие подскажут.

Тоесть когда мы говорим 64 бит - то надо уточнять какие на самом деле биты имееются в виду. Доступная память для процесса? Ну да. Может быть.

IBM в 20м веке выпускала железки с 128 битной адресацией но там смысл указателя был немного более сложный. Что-то вроде бесконечной виртуальной ленточной памяти.

А 64х разрядные регистры были еще у первых Pentium MMX в 90х. Но это не имело отношения к адресации памяти.

Худший ответ:
Ситуация комплексная. Во первых адресуемое пространство, как написали выше, во вторых унификация (нафига поддерживать код на 2 платформах?), в третьих это процессоры которые сейчас есть их большинство 64х. 
И кстати микроконтроллеры вполне себе чувствуют себя нормально. 8, 16,32 бита
Вопрос: Как защититься от ddos в датацентре?

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

Это целый комплекс и вам как бы шашечки или ехать. Latency должен снижаться через CDN и обычно там и стоит анти-ddos как услуга

Худший ответ:
Смотря что за ДЦ.

Если можешь то лучше переехать на сервер хостера у которого по умолчанию есть защита от DDoS. Один из таких - овх. У него есть линейка тарифных планов с игровой защитой от ддос.

А если железо твое и никуда не можешь переехать - то тут остается покупать защиту. 
Тут есть как минимум 2 варианта.

1. Покупать защиту у ДЦ. Если это серьёзный ДЦ то скорее всего у них своя инфраструктура по борьбе с атаками. Например, ростелеком. Но есть много ДЦ, которые предлагают защиту от сторонних провайдеров. Например, селектел реселлит куратор.

2. Купить защиту у стороннего провайдера. В таком случае трафик будет идти через этого провайдера. И подключать нужно не через интернет, а напрямую. Если ДЦ и вправду крупный. То он имеет возможность у себя в помещении организовать прямой коннект либо же дать коннект до точки обмена трафиком, где присутствует нужный провайдер защиты.
Вопрос: Насколько реален бан андроида в РФ?

Лучший ответ:
Ничего не будет. Huawei, Samsung имеют свои сторы, будем в них хостить.  Возможно, кто-то развернёт локальный стор в РФ. Мобильная разработка под андроид никуда не денется. Айосерам есть смысл переживать немножко.

Худший ответ:
Бан андроида маловероятен (как и бан iOS), так как мобильная связь стала товаром первой необходимости, санкциями такое стараются обходить. Но в теории возможен, если решат додавливать санкциями. Но вообще практики отключения проданных устройств на определенной территории я в последнее время не помню. 
А насчет отключения гуглосервисов я бы больше переживал не со стороны Гугла, а со стороны РКН.
Вопрос: Нужно ли высшее образование C#-программисту в Майкрософт?

Лучший ответ:
После учебы хочу переехать в Чехию и начать работать программистом в Microsoft.
Ну давайте считать.
Тебе через 2 года заканчивать 9 класс, значит до 18 тебе ещё 4 года.
Чтобы получить blue card и переехать в Европу надо либо иметь высшее образование, либо работать по профессии 5+ лет.
Значит ты получишь шанс устроиться работать в MS в Чехии минимум через 10 лет.
+ ещё надо будет иметь разговорный английский и чешский, чтобы там нормально жить и работать.
За 10 лет может поменяться абсолютно всё, так что я бы пока не думал о карьере в Европе, на вашем месте.

Так что выбирай тот вариант, который будет комфортнее. Если быстрее начать работать - уходи из 9 класса.
Если хочешь получить ВО - заканчивай 11.

Кстати, с опытом 5+ в принципе нет разницы, где именно вы работаете - зп будет примерно одинаковая.

Худший ответ:
Я рекомендую профильное высшее. Это все-таки огромное комьюнити со всем сопутствующим.
Вопрос: Как оживить картинку?

Лучший ответ:
Насоветуют... Менять бэкграунды - забудьте. HTML area - тоже похоронить.

Берёте вашу картинку. Поверх зданий создаёте векторный путь (обводите здания). 
Размечаете нарисованные пути как вам удобно, достаточно будет повесить класс для дальнейшей стилизации по ховеру + в дата-атрибуты значимую информацию для тултипа/клика/что там ещё. 
<svg ...>
  <path class="area" data-id="1" d="..." />
  <path class="area" data-id="2" d="..." />
</svg>

Инлайните получившуюся конструкцию на страницу. Фон можно в отдельном элементе и карту поверх, можно прямо в SVG зашить - не суть важно.

По ховеру на путь - через CSS делаете ему полупрозрачную заливку, у вас судя по картинке сплошным цветом просто заполняется при наведении - самый простой вариант.

По клику на путь - достаёте его `data-id` и выводите какую-либо информацию.

Вот пример статьи, где описано более подробно. 
https://css-tricks.com/svg-map-rollovers/
В конце интерактивный пример есть. 
Принципиальная разница с вашей задачей - вам изначально нужны пути без заливки и изображение под ними.

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

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

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

Лучший ответ:
Как раз для таких ситуаций придумали GMT(UTC), в котором, кстати, и хранится (при правильной архитектуре) время события. А то, что пользователь видит время в соответствии с его настройками часового пояса - уже его проблемы.

Худший ответ:
Если привязать бэк к конкретному часовому поясу, тогда в разных частях планеты будет разное время обновления, что не очень приятно.
1. Зато одновременно у всех.
2. Пользователь не знает какое время у сервера, не знает во сколько сброс. Ему надо сообщить во сколько будет сброшена статистика и основываясь на этих данных, он подберет удобное для себя время.

Еще можно для каждого пользователя завести его личный таймер. Принцип тот-же.
Вопрос: Как писать устойчивые к нагрузкам приложения?

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

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

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

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

Лучший ответ:
Вы можете поправить параметры глобального запроса юзеров на хуке pre_get_users

add_action( 'pre_get_users', 'custom_pre_get_users', 1 );
function custom_pre_get_users( $query ) {

	if ( is_admin() && $query->is_main_query() )
		$query->set( 'orderby', 'nicename' );

}

Можно указать: include, nicename, email, url, registered, display_name, post_count, meta_value, meta_value_num, $meta_key

Худший ответ:
В алфавитно-цифровом порядке пользователи и так выводятся по умолчанию в админке.
Если нужно просто всячески отсортировать по разным значениям user meta, то в таком случае подойдет плагин https://wordpress.org/plugins/amr-users/.
Если требуется вручную настроить вывод, то есть руководство с кодом: https://www.minddevelopmentanddesign.com/blog/how-...
Правда, тут показано, как переключить на цифровую сортировку вместо алфавитной. Но идея должна быть понятна.
Вопрос: Как защитить контент от парсинга с помощью Nginx?

Лучший ответ:
Основная защита от парсинга - только при доступе к данным по авторизации и установка лимитов на данные (объем, доступный пользователю либо за какой то период времени, например сутки/месяц).

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

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

Можно поставить 'палки в колеса', сделав этот процесс сложнее (и дороже), в основном это запутывание/шифрование данных, доступных напрямую (по api) с бакэнда и обфускация кода, его преобразования в видимый пользователю контент, чтобы классические (дешевые) инструменты не работали. Как всегда стоимость защиты (затрат на разработку) должна быть сравнима затрат граберов на получение данных (обычно им проще).
К сожалению вместе с контент-грабером, в заблуждение будут введены роботы поисковых систем, ведь их основная работа - грабить контент.
spoiler* api не должен быть простым и интуитивно понятным, идентификаторы могут вообще не быть постоянными (их можно преобразовывать на бакэнде на основе данных в сессии)
* код javascipt, например получения ссылки на объект должен быть нетривиальным, т.е. чтобы получить следующую ссылку на требуемый граберу объект, потребовалось бы использовать сам браузер (а не простенький скрипт парсер html)
* верстка может быть непостоянной, изменяющиеся, простые гуляющие наименования классов и идентификаторов уже могут создать кучу проблем (я такое встречал), а уж постоянное изменение структуры должно совсем запудрить голову даже опытным граберам (не встречал)
* шрифт может не являться правильным (видимые символы могут не соответствовать их кодам), при этом генерируемый каждый раз новый под конкретную сессию пользователя. Простая подстановка, сильно усложнит (но не сделает невозможной) получение данных через буфер или document.innerText в консоли браузера, оставив граберу только вариант распознавание экрана скринридером (а не тривиальная верстка потребует от пользователя сложную настройку и автоматизацию и эти инструменты)
* типовые javascript методы браузера должны быть замещены на 'неправильно работающие', чтобы граберу пришлось использовать внешние скрипты а не простой инжект javascript (обычно это сильно упрощает).

Худший ответ:
Коротко - никак.
Вопрос: Должен ли быть канал между frontent и backend шифрованным по ГОСТ (152-ФЗ) если передаются персональные данные?

Лучший ответ:
А какая связь у впна между серверами, если данные с фронтенда отправляются на бекенд(сервер 2) из браузера, а не на сервер фронтенда(сервер 1).

Худший ответ:
Лично я изолирую хосты в пределах одной сетки. WFE только торчат наружу. Собственно это все облака предлагают. 
У вас грубо говоря одна сетка 10.0.0.0/8 и публичные адреса 193.164.42.0/24 для WFE
И в общем то имею такое мнение что если внутрь сети проникли, то эти ваши https это мертвому припарки, вас уже скорее всего сдампили и просят денег в даркнете