Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Каков алгоритм современного стриминга?

Лучший ответ:
Один кадр: 1920px * 1080px * 24bpp = 49'766'400bit 
В Base64: 49'766'400bit / 6 * 8 = 66'355'200bit
Весь поток: 66'355'200bit * 30fps = 1'990'656'000bps
То есть, вам понадобится полоса пропускания ~2 гигабита в секунду.
Всё-таки разработчики видеокодеков не зря свой хлеб едят.

Худший ответ:
Вы вроде как задаете вопрос, но когда вам отвечают то, что не просто не сходится с вашим предположением, а противоречит ему, вы встаете в позу, будто у вас есть реальные основания быть уверенным в правильности вашего предположения. Сами себе противоречите...
Уясните для себя некоторые моменты:
1. Передача данных видео на сервер требует оптимизации этого процесса в сторону уменьшения объема передаваемых данных, для чего, традиционно и не без причины, применяются кодеки видео, которые сжимают его не только пространственно (в пределах одного кадра) но и темпорально (внутри последовательности кадров).
2. Если вы считаете, что "у всех быстрый интернет и можно не заботиться о сжатии", то логика вам чужда и дальше можете не читать, если не считаете, то читайте дальше.
3. То, что вы даже предполагаете вот это:то, что они приходят в виде base64 строки уже является свидетельством того что они уже сжаты
но потом соглашаетесь с тем, что оверхед у base64 - 30%, как-то не укладывается в одну картину, потому что base64 ничего не сжимает, а наоборот - увеличивает объем.
4. Если вы собираетесь упаковывать в base64 еще и несжатый bitmap, легко посчитать, используя школьный курс арифметики, что одна секунда видео 1024×768(пикс)×3(байта RGB)×30(кадров/сек)×1.3(base64 overhead) будет весить "немного дофига".
5. Если сказанное выше вас убедило, могу предложить вам иной подход: прочесть, например, вот эту статью https://blog.cloudboost.io/how-to-run-node-js-apps... и подумать над тем, чтобы запускать приложение Node.js в browser-е пользователя, и чтобы это приложение использовало, например, handbrake https://github.com/75lb/handbrake-js
Правда, меня "гложат смутные сомнения" по поводу того, что компрессия видео для стриминга в клиентском browser-е будет действительно сравнима по производительности с кодеками, которые используются нативными приложениями.
6. Ваша контр-аналогия с приемом звонков через часы (из комментариев) - неверна, потому что проблема не в формальном назначении browser-а и streaming-клиентов, а во вполне реальных возможностях. И нет, browser - не "такое же" приложение, как клиент для streaming-а.
Вопрос: Отправка сообщений в Viber по запросу пользователя?

Лучший ответ:
1) Сделайте бота (public account)
2) Просите ваших пользователей начать с ним чат
3) Сохраняйте их viber-id
4) Когда нужно, рассылайте объявления по этим id
Можете сделать трёх ботов, смысл не меняется.Вот  пример отправки сообщения пользователю (python):viber.send_messages(user_id, messages=[TextMessage(text="Обновление 2.2.1")])Пользователь начал диалог с ботом, что дальше?@app.route('/', methods=['POST'])
def incoming():
    if isinstance(viber_request, ViberSubscribedRequest):
        user_id = viber_request.sender.id
        # Здесь добавляйте user_id в базу данныхСсылка на пример
Если что-то не понятно, пишите в комментариях

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

Лучший ответ:
JSON - это не объект, это формат записи строки, который может быть легко и просто трансформирован в объект. По сути, ваш первый пример лучше всего записать действительно как строку, так: '{"a":"5","b":"6"}'
Если же ваш вопрос о том, в чем разница в записи названий ключей в кавычках и без кавычек, то это очень просто. JS изобилует спец. символами, зарезервированными словами и прочими ограничениями. По этому, записывая имя ключа, нужно всегда держать это в уме:// не валидно
var x = {
	Hey man !: 10
};

// валидно
var x = {
	"Hey man !": 10
};
В старых браузерах были проблемы при использовании зарезервированных слов вроде switch или class в качестве ключей и т.п.
Заключение имени ключа в кавычки - гарантированный способ получить корректный результат (почти, конечно нужно следить чтобы внутренние кавычки были закодированы).

Худший ответ:
JSON object это просто коллекция ключ (string) : значение (string). Данные будут передаваться исключительно как строковые. Второе же, что-то вроде свойство объекта - значение. Подробнее описано тут
Вопрос: На чём сделать функцию восстановления диска C из образа?

Лучший ответ:
Создать dd if=/dev/sdXY of=/some/image.dd bs=1M conv=noerror
Восстановить dd if=/some/image.dd of=/dev/sdXY bs=1M conv=noerror
Если нужен интерфейс то пишется на коленке за минуту с 2мя кнопками которые тупо выполняют команды выше.

Худший ответ:
Можно сжать в WIM и раскатывать через WinRE.
Можно накостылять из CloneZilla.
Можно сделать диск восстановления каким-нибудь акронисом.
Можно даже Symantec Ghost попробовать.
Но последние два платные.
Вопрос: Как по БЭМ написать элемент в блоке с модификатором?

Лучший ответ:
Добавив модификатор к блоку .container--parallax {} можно учитывать его наличие в реализации всех элементов блока .container--parallax .container__title {}....каскад уместен, чтобы менять элементы в зависимости от состояния блока... Вкладывание элементов в элементы и другие тонкости
Добавляя модификатор для элемента .container__title--parallax {} мы сужаем область действия модификации только на элемент.
Как как именно поступать решать вам, это зависит от потребностей, методология не решает подобные вопросы.

Худший ответ:
А можно ли писать вот так:<div class="container container--pallax">
    <div class="container__title container__title--type--pallax"></div>
</div>
или<div class="container container--pallax">
    <div class="container__title container__title--context--pallax"></div>
</div>
?
В каких случаях так можно писать?
Вопрос: Хватит ли firebase для такого сайта?

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

Худший ответ:
Хватит, и на хабр не надо писать
Вопрос: Как сделать поиск текста в файлах (Linux)?

Лучший ответ:
как вариант, можно так:grep -I -R -Hn "gg_bb" /home/man grep в помощь

Худший ответ:
Поиск текста в файлах Linux - подробно.
Вопрос: Yii2 -> Вывод двух массивов foreach?

Лучший ответ:
Не изобретайте велосипед. Ваш код можно и нужно просто реализовать с помощью реляции и жадной загрузки

Худший ответ:
Если это 2 таблицы. связанные один ко многим. 
То в контроллере например public function actionStat()
    {
        $mass1 = Category::find()->asArray()->all();
        $mass2= Price::find()->asArray()->all();
        return $this->render('stat' , compact('mass1', 'mass2'));
    }
А во вьюхе уже (Пример со списком)<?php  foreach ($mass1 as $item) :?>
                                            <ul class="treeview">
                                                <?php if ($item['id'] !=  17): ?>
                                                    <li><a href="#"><?=$item['name']?> - 3</a>
                                                        <ul>
                                                            <?php  foreach ($mass2 as $itemok) :?>
                                                                <?php if ($item['id'] ==  $itemok['category_id']): ?>
                                                                    <li><a href="#"><?=$itemok['name']?></a></li>
                                                                <?php endif; ?>
                                                            <?php endforeach; ?>
                                                        </ul>
                                                    </li>
                                                <?php endif; ?>
                                            </ul>
                                        <?php endforeach; ?>
Вопрос: C#. Как исключить ошибку в данном случае?

Лучший ответ:
try 
{
    output = File.ReadLines(tempOutputFile + ".txt").Single(l => Regex.IsMatch(l, "^.*[0-9][А-я].*$"));
} 
catch(Exception e)
{

}

Худший ответ:
try 
{
    output = File.ReadLines(tempOutputFile + ".txt").Single(l => Regex.IsMatch(l, "^.*[0-9][А-я].*$"));
} 
catch(Exception e)
{

}
Вопрос: Заказать в один клик вариативный продукт?

Лучший ответ:
Здравствуйте!
Проверьте эти плагины:
https://codecanyon.net/item/woocommerce-quick-orde...
https://ru.wordpress.org/plugins/woo-quick-order-view/
https://yithemes.com/themes/plugins/yith-quick-ord...
Наберите в гугл Woocomemrce Quick Order вариантов много.. надо просто установить плагины и подобрать подходящий

Худший ответ:
если будете писать вручную, то рекомендую на форму кидать только контакты пользователя, а выбор товара оставить как есть на странице товара. И активировать когда пользователь выбрал вариацию.
Вопрос: Зачем нужен composer PHP?

Лучший ответ:
Ой, сколько повидал я людей "у меня все велосипеды свои, родные, зачем мне что-то еще".
1. Поставить какой-то пакет в одну команду – самое очевидное. Не запариваться с архивами.
2. Обновление в одну команду. При том, если что-то пойдет не так, можно быстро откатиться.
3. Зависимости сторонних пакетов. Не придется иметь несколько копий одной и той же библиотеки.
4. Удобный встроенный автолоадер. 
5. Удобство развертки. В репозитории хранится только ваш собственный код, который быстро  деплоится на сервер, а там уже ставятся все необходимые зависимости.

Худший ответ:
Composer - это инструмент управления зависимостями в PHP. Он позволяет вам декларировать библиотеки, от которых зависит ваш проект, и он будет управлять (устанавливать / обновлять) их для вас.
https://getcomposer.org/doc/00-intro.md
Конечно, Вы можете вручную все скачивать и устанавливать/обновлять, просто в один прекрасный день Вы подумаете "блин, какой же я был дурак..." и начнете использовать composer
Вопрос: Библиотека асинхронных запросов для react?

Лучший ответ:
Да, такая библиотека есть. Проблема в том, что в JS нативные промисы (Promise) нельзя отменить (not cancelable)... но при этом - у нас есть генераторы, которые вполне себе позволяют имитировать отмену выполнения какой-либо функции, скажем, в середине.
Для того, чтобы все заработало - вам нужно использовать связку из любой понравившейся библиотеки для непосредственно запросов (я предпочитаю isomorphic-fetch), затем взять redux и middleware для него (редакса) - redux-saga.
Если вы не знакомы с экосистемой редакса или первый раз слышите про redux-saga - прочтите документацию, посмотрите уроки. Если вкратце - библиотека построена на генераторах. Функция-генератор возвращает итератор и ее выполнение прекращается каждый раз, когда мы возвращаем итератору новое значение (yield)Ниже продемонстрирую как это примерно работает:function* myCancelableAction(someData) {
  // вернет итератору промис и приостановит работу функции до следующего вызова next
  // в нашем случае - функция продолжит выполнение, когда придет ответ сервера
  const response = yield doAjaxRequest(someData) 
  yield dispatchSuccessAction(response)
}

const action = myCancelableAction();
const promise = action.next().value // fetch promise

promise.then(response => {
  // если новых запросов не поступило
  if(!newRequestIsComing) {
    // мы можем передать значение в нашу функцию (через next)
    console.log(action.next(response).value); // dispatched action
  }
})
Таким образом, после того, как функция вернула значение первый раз, применительно к теме поста это будет "сделай AJAX-запрос", мы можем не выполнять ее дальше (если захотим). Отменить ajax запрос в этом случае не получится, но мы можем просто не учитывать его результаты (не диспатчить success-экшен, например).UPD1 обновил пример кода

Худший ответ:
Ну так это издержки асинхронности, за которые так любят, и так ненавидят JS.
Думаю для того же React или Angular это все изрежки программиста, писавшего код. По большому счету нельзя блокировать что-то на время выполнения асинхрона. Например вы сделали запрос данных и на это время через state (я про React) заблокировали кнопку ... А потом ваш AJAX взял и не вернулся (ну магия какая-то). И абзац - жми F5.
И кстати, может если сервер так долго отдаёт данные, то ... Хм пусть отдает все сразу, а фильтрует пусть фронтэнд. Попробуйте, может это ваше решение.
Вопрос: Шпора по Flexbox?

Лучший ответ:
Можно было и загуглить...wp-kama.rutpverstak.ruКартинка

Худший ответ:
Вот тут все свойства наглядно описаны и показаны https://css-tricks.com/snippets/css/a-guide-to-flexbox/ или вот тут yoksel.github.io/flex-cheatsheet/#display.
Вопрос: Какие компоненты bootstrap вы используете?

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

Худший ответ:
Нет, ничего не использую. В bootstrap код выглядит не качественно, и слишком растянут. То, что можно сделать за 5-10 строк, в нем это будет строк 50.
Вопрос: Новое приложение или интеграция?

Лучший ответ:
Много текста - проку мало.
Во-первых, с чего вы взяли, что конкуренция такая сильная? Откуда числа про 300 миллионов пользователей и обороты в 400 миллионов вечнозелёных (менее доллара на пользователя? потрясающая конверсия!). Вы можете найти инвестора, или уже есть люди, готовые вложиться в проект?
Товарищ, если будет добрый дядька, который даст денег, то деньгами рискует только он. Вы рискуете временем, но точно получите опыт, зарплату себе выписывать - нормальная практика в стартапах (только с инвестором сумму обговорите).
Если его нет, забудьте. Идеи ничего не стоят.

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

Лучший ответ:
добавьте.main-ul li {
    position: relative;
}

.main-ul li:nth-child(n) a::before {
    top: 50%;
    left: -40px;
    margin-top: -2.5px;
}
строку left: -40px; поправьте на необходимую

Худший ответ:
добавьте.main-ul li {
    position: relative;
}

.main-ul li:nth-child(n) a::before {
    top: 50%;
    left: -40px;
    margin-top: -2.5px;
}
строку left: -40px; поправьте на необходимую
Вопрос: Минимальные знания по математике для начала работы с машинным обучением?

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

Худший ответ:
Нужны знания о понимании логики работы и принципах построения НС различных типов под конкретные задачи. Принцип работы нейрона и связей.
Остальное - уже вторично.
Вопрос: Нажать Javascript на iframe?

Лучший ответ:
Каков хитрец! Конечно же нет, иначе все бы накручивали так свои баннеры и гребли бабло лопатами!

Худший ответ:
ну ты можешь подставить его под мышку сделав его прозрачным
Вопрос: Как с 0 выучить английский до уровня intermediat?

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

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

Лучший ответ:
Битрикс конечно. Если вам работать надо, а не страдать с велосипедами. Я бы еще посмотрел CS-Cart.

Худший ответ:
Попробуйте ezCatalog CMS. Легкая, не дорогая, быстро работает, выдерживает большое количество товаров.
Вопрос: Mac 13" обратная кавычка на клавиатуре mac c кодом 96 — ` как?

Лучший ответ:
на американской раскладке - под клавишей esc
на европейской раскладке - правее левого shift

Худший ответ:

Верхняя клава - снизу слева
Нижняя - сверху слева
Проверить:
https://jsfiddle.net/IonDen/qu0up1jx/
Вопрос: API php, Как правильно отдать данные?

Лучший ответ:
Нужная сторона: Fractal.

Худший ответ:
Лучше всего имплементировать интерфейс JsonSerializable, например вот такclass BlogPost extends Post implements JsonSerializable {
    //...

   public function jsonSerialize() {
        return [
            'title' => $this->title,
            'attachments' => $this->attachments,
             ...
        ];
    }
}
дальше вы легко отправлять ответ:return json_encode($blogPost);
Вопрос: Как скомпилировать программу, чтобы она работала везде (g++)?

Лучший ответ:
1. выделить оптимизируемую функциональность в отдельную библиотеку.
2. собрать её с различными оптимизациями
3. в своём коде - определиться с подключаемой версией
4. подключить её.
Но, вероятно, проще использовать поставку исходников и сборку "на месте"

Худший ответ:
1) Стартовый модуль определяет тип используемого процессора
2) По результатам проверки вызывается динамическое подключение модулей (.so) под обнаруженную архитектуру.
Вопрос: Как сделать изменение url?

Лучший ответ:
google:
htaccess ЧПУ

Худший ответ:
RewriteCond %{QUERY_STRING} (^|&)categoris\=cut($|&)
RewriteCond %{QUERY_STRING} (^|&)podcategoris\=12\.1($|&)
RewriteRule ^post\.php$ /cut/12.1? [L,R=301]
Но коллега прав если у вас  самопись то вам нужно сделать ЧПУ или отказаться от самописи.
Вопрос: С чего начать программисту-разработчику игр?

Лучший ответ:
>узкую специальность "Разработчика игр"
Это ни разу не узкая специальность. Уже давно один человек не может быть прошарен во всех её аспектах. Лучше уточните чего конкретно хотите в качестве итога обучения.
>с чего же начать?
С написания игры, любой: хоть теттриса хоть next-get MMO. Ничего не получится, но появится отправная точнка и базовое понимание чего вообще происходит.

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

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

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

Лучший ответ:
Возьмите может телефон?
Можно взять б/у-шный, с убитым экраном, дешево
Умеет сразу писать и фото и видео,
умеет GPS,
если доживет до посадки будут неплохие шансы сбросить координаты устройства через СМС, например.
Надо будет только его завернуть во что-то, чтоб не замерз.
Датчики подключите через USB OTG.

Худший ответ:
Нет, этот микроконтроллер не годится для обработки видео.
Вопрос: Температура ПК?

Лучший ответ:
Совсем плохо.
Холодный, как остывающий труп.
Похорони его достойно.

Худший ответ:
Зависит от температуры забортной воды..
Если комп на улице, то все плохо ((
Если в квартире и в ней 20-25 то все нормально,
Если вокруг 30-35 то это фантастика...
Вопрос: Где найти файл большого объема, с большой скоростью?

Лучший ответ:
Для такого есть генераторы трафика, например iperf. Запускаете с одной и с другой стороны и смотрите скорость.

Худший ответ:
в линуксеdd if=/dev/urandom of=1GB.bin bs=64M count=16 iflag=fullblock
Вопрос: Как сделать адаптивный фон у блоков?

Лучший ответ:
Скорее всего Хедер слишком широкий, видно, что кнопка слишком длинная и всё ломает.

Худший ответ:
Скорее всего Хедер слишком широкий, видно, что кнопка слишком длинная и всё ломает.
Вопрос: Существует ли плагин или IDE для совместного (парного) программирования?

Лучший ответ:
https://intellij-support.jetbrains.com/hc/en-us/co...
парное программирование = один пишет, другой думает. Те одновременное редактирование вам не требуется

Худший ответ:
В Atom есть возможность удалённо редактировать файл нескольким пользователям
Вопрос: Как именовать булевские «флаги»?

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

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

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

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

Лучший ответ:
UPD: размышления не в кассу, стоимость TeamWox - $150 за рабочее место + ещё $30 в год.
Как я понял, TeamWox стоит $900. При такой цене и ваших масштабах вас должны волновать совсем другие вопросы. Стоимость внедрения будет существенно выше $900.
Предположим в вашей организации размер зарплат средний по стране (30 т.р.). Тогда объём ФОТ у вас = 30 000 руб * 100 чел * 1.4 (коэф - налоги и социалка) ~= $65000. Если всего на внедрение/обучение/освоение в среднем у каждого сотрудника уйдёт 1 рабочий день (что очень мало), то это потери в $65000/22 ~= $3000. И это я ещё не считаю стоимость самого внедрения, последствия снижения эффективности работы в период освоения новой системы, время и усилия на доводку системы под свои бизнес-процессы и риски того, что она вообще вам не подойдет и у вас не заработает и т.д. Можно смело удвоить-утроить цифру.
Итого, стоимость внедрения будет порядка $5000 - $10000. Навскидку.
Поэтому при цене в $900 логичнее искать решения не дешевле, а более подходящие.
Стоимость TeamWox в вашей ситуации - копеечная.

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

Лучший ответ:
1) Купить нормальный fullhd монитор, т.к. сейчас все сайты нужно на нем смотреть.
2) В хроме F12, слева кнопочка Toggle device toolbar, и вверху вводите нужную ширину экрана.

Худший ответ:
А причем здесь ваш монитор и другие? Вы что только для себя хотите сверстать страницу? :)
Используйте панель разработчика SHIFT + CTRL + I и задавайте нужное расширение для тестов. А для верстки прописывайте в стилях ширину/высоту в процентах. Используйте медиа-запросы для задания стиля в зависимости от расширения монитора. Да и просто для начала загуглите - адаптивная верстка