pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как вызвать функцию из тела родительской функции?

Лучший ответ: Какой-то странный у вас подход. Вы вызываете myBigFunction, которая вызывает func1, которая в свою очередь вызывает две остальные. Почему бы вам в том месте, где вы пишитеfunc1('func2');
func1('func3'); не написать func2();
func3();?
В крайней случае можно написать вот так:function myBigFunction() {
	
	var methods = {
		func1: function(functionName) {
			methods[functionName]();
		},
		func2: function() {
			console.log('2');
		},
		func3: function() {
			console.log('3');
		}
	}
	
	methods.func1('func2');
	methods.func1('func3');

}

Худший ответ: Если так ставится вопрос, то может Вы не правильно подошли к решению самой задачи?
Ну а если все так критично, то самое простое, что приходит в головуswitch(functionName){
    case 'func2': func2(); break;
    case 'func3': func3(); break;
}
Вынесите только его в отдельный метод.
Вопрос: Как реализовать такой "калькулятор*?

Лучший ответ: Нумеруете варианты от 0 до 2. Затем рассматриваете их как цифры числа в троичной системе. Переводите в десятичную, получаете номер от 0 до 26. Выводите пакет, соответствующий номеру.
Например, для варианта  1(0), 2(1), 3(2) получим 0*32+1*3+2 = 5. Выводим пакет, заданный под номером 5.

Худший ответ: Решать через if - самое правильное в этом случае. 3 переменных по 3 пункта - это всего 27 комбинаций. Если на каждую написать свой if, то работоспособность гарантирована. Предположу, что вы попробовали оптимизировать и свернуть некоторые if-ы и допустили ошибку. Тогда просто достаточно её исправить. Если же вы уверены, что ошибки нет (и её действительно нет), то эту задачу, увы, решить алгоритмически не представляется возможным :-)
Вопрос: Cоздание письма?

Лучший ответ: 1) да
2) во внешних источниках лежит картинка, в письме в img src просто ссылка на картинку
3) таблицы

Худший ответ: добавлю что составные свойства лучше не использовать, например padding, background
вместо них использовать padding-left, padding-right, background-image, background-position
+ на том же гите навалом сборщиков писем, которые расставят все стили инлайново
здорово экономит время
Вопрос: Как реализовано время Date() на фейсбук и вконтакте (если у клиента сбито)?

Лучший ответ: Определение часового пояса по местоположению клиента и отдача даты с бекенда.

Худший ответ: серверное время+данные клиента(GeoIP)
Вопрос: Почему сайт конкурента находится всегда в топе а мой сайт падает?

Лучший ответ: А падает он уверенно потому что нет мобильной версии. И у него тоже падает, просто не так быстро как у вас. И будут падать дальше...UPD:  Victor Toshin, вот Вам рецепт: 
 - взять сеошника - 1шт (гарнир)
 - взять ногу, здоровую, с коленом, голенью - 1шт (блюдо)
Одним действием произвести уверенное, направленное движение используя ингредиенты из п.2, в отношении гарнира, а именно под самое место пятоточечья. Важно не ошибиться с местом, иначе блюдо не будет оценено по достоинству!
----------------------------------
Как вообще можно такой бред нести (о кнопке купить)??? Я надеюсь у Вас закралась хоть тень сомнения? Да гуглу нас-рать на то, какая там кнопка у Вас!!!
А Вы вот задайте ему пару вопросов:
- а если написать не "купить" или "заказать", а "buy", "в корзину", или вообще картинкой! Что тогда?)))))
- если не переходить на https - сайт не будет проседать и не просядет в дальнейшем?
Выдайте ему вот такой почетный знак "специалиста":
Ибо его обоснования именно от этого и истинная причина в том, что при переходе на https нужно выполнить очень правильно и точно - ряд определенных действий (статей - тьма), которые он не может/не знает/лень/боится выполнять.
Выполнив их правильно, у некоторых иногда замечается небольшое проседание по трафику, но как правило, до 15% и на срок до пары недель, может месяца, и это можно сравнить как "боль" от укола при прививке.По факту: в данный момент (не знаю как дальше) https конечно влияет на вес сайта/страницы, но в незначительной степени. 
Исключением являются страницы, на которых находятся поля формы типа password:<input type="password">
Такие страницы помечаются как небезопасные (понятно почему) и блокируются при открытии, пока не подтвердишь доп. кликом "Да, я в курсе, что это могут быть злодеи, которые спят и видят как похитить мои секретные данные"...
Вообще, очень много факторов намекает на то, что Вы не ведаете о существовании ГуглВебмастера! Как в принципе и ставите под сомнение существование самого гугла! Но он существует и отлично работает! Правильный адрес - google.com!))))

Худший ответ: Так-с...
Я бы на вашем месте, в первую очередь, взглянула на проблемы непосредственно вашего сайта.
И, присоединяясь к Максим Тимофеев, нужно что-то делать с юзабилити и дизайном. 
В чем основные проблемы: Нет мобильной версии; Не внедрен AMP;HTTP вместо HTTPS (и если вы не хотите начать падать еще стремительнее, то поторопитесь с этим и с тем, о чем говорил Exploding; 
Ну а исходя из отчета Netpeak Spider по вашему сайту:На 13 страницах не заполнен meta Description; Есть битые ссылки; Несколько H1 на странице со статьями;19 не оптимизированных изображений;18 страниц с низкой скоростью загрузки;Отсутствие ALT-ов у изображений.
Вопрос: Вывести весь список из базы данных Flask используя sqlalchemy?

Лучший ответ: Результат вызовы query.all() нужно передать в контекст шаблона и обойти циклом.@app.route('/session/list', methods=['GET', 'POST'])
def session_list():
    return render_template('session_list.html', items=Session_cinema.query.all())<!doctype html>
<html>
    <body>
        <table>
            <tr>
                <th>Дата</th>
                <th>Время</th>
                <th>Зал</th>
                <th>Цена</th>
            </tr>
            {% for item in items %}
            <tr>
                <td>{{ item.date }}</td>
                <td>{{ item.time }}</td>
                <td>{{ item.hall }}</td>
                <td>{{ item.price }}</td>
            </tr>
            {% endfor %}
        </table>
    </body>
</html>

Худший ответ: Пройдись по выборке в цикле
Вопрос: Символы в тексте мешают валидации XML. Как решить?

Лучший ответ: https://ru.m.wikipedia.org/wiki/CDATA
Возможно об этом вопрос

Худший ответ: С помощью "белого" списка и regex-выражений.
Вопрос: Как можно наказать сайты конкурента за склейку?

Лучший ответ: Он добросовестный просто вы работать не хотите)))

Худший ответ: Почему он не добросовестный? Ну сделал себе человек несколько сайтов и что с того? Если ПС не загонят один из них под фильтр - значит они не копии друг друга и на то нет причин.
А Ваши критерии вообще не являются основанием для каких либо санкций.
Или я что-то не так понял?
Вопрос: Как ОС управляет системой?

Лучший ответ: Начинайте читать тут https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D...

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

Лучший ответ: Правильно ли я понимаю что для хранение файлов их нужно разбивать по папкам,
Неправильно.
Для того, чтобы файлы загружались и благополучно отдавались, сегментировать (разбивать по папкам) их совсем не обязательно. 
Проблемы, про которые Вы могли слышать, связаны лишь с получением полного списка файлов в директории. Да, это долго и тормознуто, но никак не влияет на скорость чтения конкретного файла.
А на боевых серверах использование хранилища в локальной файловой системе и вовсе нонсенс. Там эта проблема не стоит в принципе.
Сегментацию можно сделать для, скажем так, красоты. Или чтобы было понятно, кому принадлежит тот или иной файл. Но практическая польза от неё сомнительна. Вреда, впрочем, тоже нет :)допустим на сервер пользователь с Ником username заливает файл file.mp4, и я сохраняю этот файл по пути u/us/use/user/usern/file.mp4 и такой путь формируется для каждого пользователя
Опять неправильно. 
Во-первых, никогда, НИКОГДА не доверяйте данным, пришедшим от пользователя. Сохраняете загруженный файл – сгенерируйте имя сами. А оригинальное имя не возбраняется сохранить и в другом месте. Если понадобится дать возможность пользователю сохранить файл под оригинальным именем, это делается в несколько строк.
Во-вторых,  Ваша сегментация слишком агрессивная. Если представить, что юзернейм может состоять только из строчных латинских букв и цифр (итого алфавит 26+10=36 символов), то такое хранилище сможет вместить 36 ^ (1 + 2 + 3 + 4 + 5) = 36^15 = 2.21 * 10^23 файлов без повторений. А что если юзернейм короче 5 символов? А что если он переименуется?
Помните "во-первых"? Так как нам нужно самим придумать имя файла, почему бы не воспользоваться либо UUID и сгенерировать уникальное (с высокой достоверностью) значение вида 28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc, а его уже сегментировать? Например, два сегмента по два символа датут прикольные ссылки вида 28/c5/28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc и возможность разместить 65 тысяч файлов так, чтобы они были по одной штуке в директории :)
Есть также вариант использовать не UUID,  а посчитать контрольную сумму файла и взять её в качестве имени. Практическая ценность такого хеша, правда, тоже стремится к нулю :)если будет 2 одинаковых названия файла у одного пользователя то просто добавляю к новому файлу номер (file1.mp4)
Если речь идёт о Джанге, то она сама так делает, это штатная функция хранилища.

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

Лучший ответ: https://toster.ru/search?q=python+%D0%BB%D0%B8%D1%...
Вопрос был задан уже десятки раз.

Худший ответ: Прошу - https://habrahabr.ru/post/322332/
Вопрос: Можно ли получить подписчиков на телеграм канал отвечая на тостере?

Лучший ответ: Конечно нет. Ответы на тостере нужны для того, чтобы
1. Раскручивать тостер и другие проекты ТМ
2. Чтобы ответ можно было легко нагуглить впоследствии. А ответ в телеграм канале не гуглится.
Хотите раскрутиться - напишите годную статью на хабре, там можно упомянуть и свой канал.
Если статья зайдет - многие начинающие к вам могут прийти через гугл-статья на хабре - канал.

Худший ответ: Да
Но блин что за общий чат у вас
Выберите какую то тематику
Честно сперва хотел зайти посмотреть что там, прочитал описание рассмотрел
Вопрос: Мнимальный порог для freelance на Java?

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

Худший ответ: на Java фрилансить новичку сложно, т.к. нет задач для начального уровня знаний.
Те же сайты править на Java - это уже достаточно "высокий" уровень знаний. ПО сравнению с тем же заданием для PHP программиста.
Вопрос: Есть ли сайты, на которых можно найти вакансии на удалённую работу от зарубежных веб-студий?

Лучший ответ: Да есть
https://upworkest.ru/sajty-dlya-poiska-udalennoj-i...

Худший ответ: Могу посоветовать linkedin, для веб программеров junior'ов есть вакансии, правда насчёт удалённой ничего не скажу, но в любом случае, если хорошо оформите профиль, есть вероятность, что найдут HRы.
Вопрос: Правда ли, что программы написанные на C++ работают быстрее чем аналогичные на C#. к примеру?

Лучший ответ: в общем случае правда. Обусловлено отсутствием виртуальной машины (в случае с c# это CLR). Но такие моменты могут оказаться и плюсами (некоторые вещи связанные с кешированием динамических функций например).

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

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

Худший ответ: Попробуйте здесь.
Вопрос: Организация API, в каком случае нагрузка будет меньше?

Лучший ответ: Смотря какая частота ваших 15-секундных запросов. Если раз в день - 1-ый вариант оптимален. Если частота запросов высокая - 2-ой.

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

Лучший ответ: =If(or(a1+b1>15;a1+b1+c1>10);sum(a1:c1);"условия не выполняются")
Если эксель на русском, то формулы надо писать на русском: Если, Или, Сумм

Худший ответ: Так и пишем:
=((A1+B1)>15)*((A1+B1+C1)>10)*(A1+B1+C1)
Умножение играет роль логтческого И: если условие в скобках выполняется, то значение равно 1. Соответственно при рассчитывваемых значениях будет 1*1*(А1+В1+С1).
Но вам не кажется, что если там нет отрицательных чисел, то второе условие избыточно?
Вопрос: Как составить формулу для определения правдивость новости?

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

Худший ответ: Вообще, смотря какие новости. Если политические, то идея говно, ботов купят нужные силы быстро, как на пикабу, например. Если другие, то у сайта g2g (какой именно хз, как-то раз заходил туда, но по такому сокращению можно найти) есть подобная система. Например у опытного юзера с парой лет стажа 60к поинтов, а у только прошедшего регистрацию 200. Т.е. сидеть пару лет ботом чтобы набить рейтинга - довольно прохладная идея по итогу выйдет. Там еще поинты за заполнение профиля дают и прочее.
Вопрос: Как выбрать тему научной работы по информационной безопасности?

Лучший ответ: > участвую в конкурсе по защите информации
> ИБ не читается в школьном курсе
> достаточно серьезно относятся к вопросу научной новизны
> Никак не могу определится с темой работы
Лолшто? Подойди к преподу и спроси:"Какого хера ты старый хрыщ тут втираешь мне схемы из СССР, про какую-то научную ценность, когда нам ничего такого не читают? Быстра меня устроил на стажировку по распознованию вирусов с помощью нейронных сетей к касперскому или drweb. И может лет через 10 я тебе выдам что-нибудь научно-ценное". Если ответит "нет" - можешь харкнуть ему в рожу.

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

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

Худший ответ: Разумеется, с пониманием того, что когда вы заказываете в "it компании" скорее всего самих айтишников там целых... два. А остальные сотрудники будут включены в бюджет.
Возьмите себе кодера в штат с мозгами, любите его и будет вам все зашибись. А пытаясь написать зацепку для тех, кто всю жизнь пишет зацепки, ну короче этот бой бесконечен и вас все равно где-нибудь кинут по итогу, причем заранее неизвестно где и когда.
Как только Вам станет что-нибудь нужно - с Вас попросят больше.
А если не станет - попытаются от Вас спрыгнуть или кормить завтраками.
Бизнес есть лицемерие и только)
Вопрос: Развитие Java инженера?

Лучший ответ: По большей части, java это веб-приложения, следовательно нужно понимать, как они запускаются и уметь настраивать соответствующие службы.
Разберитесь с серверами приложений - нужно на практике уметь написать простенькое веб-приложение и запустить его под tomcat, соотсветственно разобраться с настройками в tomcat и настройкой https. Заодно и с сертификатами разобраться. В дальнейшем можно усложнить свой хелловорлд, добавив авторизацию, перенаправлением, авторизацию по сертификатам и оптимизацией томката.
Насколько хорошо все с Linux? простой bash скриптинг и поднятие всего парка под Линукс? Если опыта нет (тимсити часто под виндой крутится), то все это научиться поднимать под линукс, и тимсити, и томкат.
Кроме томката, можно будет потом глянуть другие сервера приложений (томкат один из самых простых, в котором есть практически все, что нужно для энтерпрайза), смотреть другие сервера есть смысл, если у вас используется другой.

Худший ответ: Какие знания требуются от Java инженера?
На Тостере мало работодателей, ещё меньше связанных с Явой - специфическая технология.
Ответ на ваш вопрос лучше искать на сайтах вакансий/фриланса по соответствующим поисковым запросам.
Вопрос: Нужен ли nginx для Drupal?

Лучший ответ: Nginx всегда может заменить Apache. Но если разработчики CMS не позаботились о его поддержке, то придется это сделать самому по инструкции.

Худший ответ: Используем NGINX + PHP-FPM на всех Drupal проектах. Никаких проблем с этим не возникает.Вопрос - у меня к примеру стоит nginx, и я хочу поставить nodejs. Не будет ли каких то камешков в колёсах от такого соседства?
Зависит того как сконфигурируете, но в целом проблем быть не должно.
Вопрос: Как сделать такую разметку?

Лучший ответ: codepen.io/StivinKing/pen/rLdpzr
Это на быструю руку, можно привести к более короткому коду
Иконки вырезаем с белым фоном, и с помощью абсолютного позиционирования (отталкиваясь от предка "text") расставить на свои места.
В итоге у нас из картинок только иконки

Худший ответ: 1. Можно вырезать отдельные блоки и соединить их.
2. Можно вырезать рисунок(линии и иконки) , установить фоном для блока и внутри добавить два блока для текста(подогнать по размеру)
Вопрос: Что значит «уязвимость с выходом за пределы директории»?

Лучший ответ: Я так думаю, речь идет о Directory Traversar.Directory Traversal - суть атаки состоит в получении нелегитимного доступа к необходимому файлу на сервере, используя ошибки систем безопасности и путем подмены пути к файлу
www.itsec.ru/articles2/Oborandteh/sovremennye-ugro... 
Самый простой пример: есть какая-нибудь функция, в которую пользователь передает имя файла, а та возвращает пользователю файл с таким именем из определенной папки. Если имя файла не проверяется в функции, то можно написать что-нибудь вроде этого: "../some-file.txt", тем самым мы получим файл, находящийся в папке на уровень выше.

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

Лучший ответ: Студии, знакомства, биржи — основной способ поиска исполнителя

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

Лучший ответ: Речь же идет о сайте, верно? Хотя не так принципиально. Начните с контента: с того, какую информацию вы хотите разместить на своем сайте/проекте. От этого уже пойдет составление технического задания, оно же "ТЗ":
1) Структура страниц: что, где, на какой странице должно располагаться
2) Как будут выглядеть отдельные страницы блоки
3) Какой дополнительный функционал будет подключаться. Например, виджеты обратных звонков.
ну и т.д
Дальше в хорошей студии большую часть всего этого доработают за вас. Сначала вы заполните бриф, ответите на вопросы что и как хотите сделать. После этого менеджер по продукту со стороны студии задаст нужные вопросы по ТЗ и отдаст в работу.
Идеальный вариант, если вы сможете сами составить грубые недетализованные макеты того, как хотели бы видеть страницы своего проекта. Для этого есть довольно простые инструменты для прототипирования. Если даже сами макеты делать не будете, перед началом полномасштабной работы пусть дизайнер студии сделает это за вас. Когда ТЗ превращается в визуальную форму могут вылезти косяки самого ТЗ. Что-то не учли, забыли или вообще получается не очень.

Худший ответ: Сходите на интервью, вам всё расскажут.
Вопрос: Стоит ли разрабатывать third-person хоррор своей первой игрой на UE4?

Лучший ответ: Нет, конечно

Худший ответ: Однозначно стоит попробовать, можно много опыта получить при разработке такого проекта (даже если не доживет до релиза)
-С какими трудностями чаще всего сталкиваются при разработке такой игры?
Как минимум можно указать level-design, свет, сюжет, звук и артовую составляющую. Если тут не получится синергии - атмосфера сразу рухнет. корявый геймплей и анимация тоже могут гвоздей в крышку назабивать (игра-то от третьего лица, а значит все действия персонажа будет хорошо видно). 
-Куда следует уделить чуть больше внимания, а на чем не стоит особо зацикливаться?
Я бы рекомендовал проработать стрельбу и анимацию, реакции противников на попадания и т.д., особенно если планируется дефицит патронов. Ощущение импакта хорошо дополнит атмосферу, а уж зональные повреждения и возможности а-ля Dead Space... 
Общий look&feel локаций, баланс, детали персонажа и point of interest желательно проработать детальнее
Если поигратся со светом - можно скрыть недостаток деталей в Non-playable area (Не нужно делать красивый левел-арт там, куда игрок не сможет попасть и где он его не увидит потому что туман/темно/неописуемая темень, опят-таки - хороший способо оптимизации). 
-Стоит ли добавлять мультиплеер? Не PvP, а PvE. Насколько сложнее будет разработка? Чтобы проще было отвечать -
представьте, что это кооперативное прохождение какой-либо карты двумя игроками.
Как минимум, в UE4 можно попробовать поиграться с репликацией. Быстро и вполне имет право на жизнь опробовать концепцию. Идея с ПВЕ-кооп - хороша, но если да - надо держать в уме это для левел-дизайна и баланса. Итоговый импакт на разработку будет состоять из "собрать и поглядеть"->"оптимизация". Если есть навыки и умения в оптимизацию сетевого кода игр, то почему бы и да? В противном случае - можно попробовать Split screen.
-Насколько сложно писать AI, если немного выйти за рамки простого брожения по корридорам? Скажем, добавить реакцию на звук и кратковременный пул памяти, на основе которого противник будет искать игрока в рамках определенной области?
Думаю, это можно собрать даже на BP, используя variables и Cast To.  (как минимум реакция на выстрел, попытки найти игрока за n время, и всякие перемещения/звуки). Плюс в том, что от зомби не ожидается сообразительности (в массе своей), а поэтому конструкции на основе инстинктов можно хватить с лихвой.
Вопрос: Как сделать Непрозрачный фон у элементов?

Лучший ответ: Вместо opacity нужно использовать background-color: rgba(...)
Для вашего примера, убираем opacity: 0.9; и вместо: background: #000; пишем: background-color: rgba(0,0,0,.9);

Худший ответ: Вместо opacity нужно использовать background-color: rgba(...)
Для вашего примера, убираем opacity: 0.9; и вместо: background: #000; пишем: background-color: rgba(0,0,0,.9);