pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Webstorm vs VS Code 2019?

Лучший ответ: Я бы хотел прекратить платить каждый год за WebStorm и пользоваться бесплатным опенсорсным софтом, но...
Простой пример: есть export class MyClass {} в файле MyClass.js, переименовываем класс, WebStorm предлагает заодно переименовать файл и исправляет все импорты. И таких мелочей, которые снимают с человека дурацкую ручную работу -- полно. В VS Code такого нет.

Худший ответ: Долго мучался со всякими настройками линтеров, форматированием и плагинами в vs code по разным официальным документациям, которые быстро устаревают. Потратил несколько дней времени на это. Сейчас работаю в WebStorm, и большинство этих настроек уже есть из коробки, а за один день работы я мог бы заработать на год подписки Webstorm. Вот и что в итоге дешевле?
Вопрос: Медиа запрос не переписывает ранее заданный стиль?

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

Худший ответ: Почитайте про специфичность селекторов
Вопрос: Проверка вирусов на флешка с помощью linux?

Лучший ответ: Вы, конечно, можете с этого компьютера на Убунте открывать сайт virustotal.com и кидать туда файлы по одному, проверяя, не вирусы ли это. Но если ваше время стоит меньше, чем годовая подписка на антивирус - пожалуй, соглашусь с paran0id: бегите оттуда. Там, где работа организована настолько неграмотно - факап неизбежен, и вы окажетесь крайним.

Худший ответ: От базы антивируса зависит. Сама по себе Ubuntu это не антивирус.
Вопрос: Как практиковаться системному програмиисту?

Лучший ответ: Написать свою ОС, конечно.

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

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

Если бюджет позволяет, то можно в форму обратной связи внедрить смс идентификацию, т. е. пока не введешь свой номер телефона и не подтвердишь его кодом из смс, форма просто не будет отправляться. Весьма надёжно.

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

Лучший ответ: Вот в нем и проблема, что-то мешает ему ужаться меньше 340 px. Возможно, что какие-то элементы внутри имеют свойство display: flex, тогда модель попробовать задать flex-wrap: wrap, чтобы элементы при переполнении переносились на новую строку.

Без кода сложно сказать точнее (сижу с мобильного и не могу открыть ваш сайт с девтулз)

Худший ответ: Оказывается у меня в блоке "Отзывы" на заднем плане картиника png своей прозрачностью делала это пространство
Вопрос: Можно ли изучить Linux играя?

Лучший ответ: Мне нравится чумовая игруха iptables, чем больше народу тем интересней, одного закрыл, другого тормознул, чтобы черточка в iftop не доходила до конца(т.е. канал забит полностью) и с каждым уровнем можно ужимать канал интернета, я уже дошел до 2Мбит/с.

Худший ответ: Понятно, что поздно - но может кому пригодиться. Есть игра для обучения терминальным командам Linux Gameshell, в ней 42 уровня. Новичкам полезно.
Вопрос: Нормально ли то, что весь мой код в бесконечном цикле for?

Лучший ответ: Нормально, не парьтесь. Таким образом, например, устроены всякие планировщики задач, веб-сервера и т.д. Главное соблюдайте два условия:
1. Очищайте неиспользуемую память на каждой итерации, чтобы при их большом количестве не было memory leak.
2. Заранее предусмотрите условие выхода из цикла. Это может быть и простое завершение работы программы через какой-нибудь Ctrl+C в терминале. Главное не забудьте и тут память почистить :)

Худший ответ: Да вполне нормально.
Но for предполагает что вы собираетесь итерировать некий объект, поэтому в таких случаях лучше использовать while true или until false циклы.

P.S. А вообще для конкретики, лучше указывать язык программирования
Вопрос: Запароленный архив против VeraCrypt?

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

Запароленый архив - это когда для доступа к файлу его приходится извлекать, копировать во временный каталог, и уже тогда открывать. Это происходит автоматически когда вы например нажимаете дважды на файле в gui архиватора, а когда программа просмотра закроется - временный файл удаляется.
Неудобство начинается сразу - например, в программе просмотра вы можете переходить к следующему файлу просто нажав на стрелочку вправо/влево, так вот в случае с архивом приложение для просмотра файлов будет пытаться искать следующие файлы во временном каталоге и их там не будет, нужно будет закрыть приложение и открыть новый файл из архива.
Да можно перед просмотром сразу распаковывать несколько файлов, но это действие придется делать вручную, или как то обозначать ваше желание это сделать.

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

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

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

Лучший ответ: Вы же работаете ИТшником.... эта информация, которую Вы должны знать...

Никто к Вам не подключится, у моб телефонов серые ip адреса. К ним невозможно подключиться

Как в случае с програмистом они взломали rdp? Был простейший логин / пароль?
Там есть защита от перебора паролей, надо было настроить правильно

Вообще rdp в «мир» обычно не открывается, только через vpn

Худший ответ: Вот так нетривиально обычный эникейщик с нулевыми знаниями именует себя системным администратором. Без обид. Тяга к знаниям - уже отлично. Посмотрел бы я в глаза ОК, который ввёл в штат должность «старший программист». Что-то мне подсказывает, что программы он ни одной не написал...
З.Ы. Добрым коллегам, отписавшимся в комментариях выше мое уважение. На все вопросы ответили, от себя повторюсь - через телефон Вы за натом провайдера, нет повода для волнений. Как правильно посоветовали - при беспокойстве отключайте чек-бокс в свойствах системы в удаленном доступе.
Вопрос: Хорошие книги, обучающие материалы, или сервисы по изучению физики?

Лучший ответ: ИМХО Самая крутая книга по физике (школьный курс), которую я когда-либо читал это книга Григория Ландсберга Элементарный учебник физики в 3 томах. Очень советую.

Худший ответ: Курс теоретической физики Ландау и Лифшица
Вопрос: Возникает ошибка: «multiple statements found while compiling a single statement» при вводе кода. Python. Что не так?

Лучший ответ: Вы кое-что перепутали. У вас так "a + b = c", а нужно наоборот "c = a + b", и так во всех условиях.

Худший ответ: Вы кое-что перепутали. У вас так "a + b = c", а нужно наоборот "c = a + b", и так во всех условиях.
Вопрос: Как запомнить css?

Лучший ответ: А не надо ничего специально запоминать. Забыл/не знаешь - сходил в гугл. Опять забыл/не знаешь - еще раз сходи. Сходи 5ый раз, 10ый. На 11ый раз уже не надо никуда ходить, мозг уже за вас все сделал и запомнил. По такой схеме часто-используемые свойства, такие как цвет, шрифт, отсутпы и т.д. запоминаются практически сразу, реже-используемые - чуть подольше. И стыдится или боятся того, что постоянно нужно что-то где то смотреть и подглядывать не нужно. Для этого справочники и существуют и не важно какой у тебя опыт - 1 месяц  или 10 лет.

Худший ответ: Не пытайся запомнить все и сразу - плохо кончишь.
Учи то, что необходимо для решения конкретной задачи. Постоянно держи шпаргалку с нужными в конкретный момент тегами, функциями и т.д. и постоянно пиши код, а не пользуйся ctrl + c / ctrl + v. Напишешь один и то-же кусок кода 10, 100, 1000 (тут все больше индивидуально) и в какой-то момент даже задумываться не будешь об этом - просто будешь на автомате писать.
На первых этапах гораздо более важно понимание, а не знание. Выучи ты хоть все существующие функций, без понимания как и что устроено - толку ноль, зато с пониманием как и что должно работать легко сможешь сориентироваться в документации и найти нужную функцию.
Вопрос: Как можно сделать такой живой дым на сайте css и js?

Лучший ответ: Можно спрайтами, у меня дыма готового нет, но есть свеча для примера:
snippet

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

Лучший ответ: "Всё уже украдено до нас!" Inno Setup. You can get the Inno Setup source code.

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

Лучший ответ: Я на эту тему делал доклад: https://www.youtube.com/watch?v=rQDd5kCwDj8
Там есть и личный опыт и ссылки на исследования.
Правда, с 2016-го что-то могло поменяться, но я, честно говоря, сомневаюсь.

Если резюмировать ответ на вопрос: лучше всего собирать две версии - для HTTP/1 и для HTTP/2 и отдавать клиенту то, во что он умеет.

Худший ответ: И все же, что же лучше?
1. Собирать весь фронт в 2 файла: style.css и script.js, и грузить из на всех страницах.
2. Разделить все на кучу мелких компонентов, и грузить только то, что есть на странице.Не хватает ещё одного пункта:
3. Грузить то, что требуется в данный момент.

Начинаем с того, что уже упомянул Алексей Уколов: Если резюмировать ответ на вопрос: лучше всего собирать две версии - для HTTP/1 и для HTTP/2 и отдавать клиенту то, во что он умеет.
И затем, пункт 3.
Я создал includeHTML, который может сразу загрузить всё параллельно (скрипты, ноды, стили) или же "подтянуть" нужные ресурсы в нужное время по любым событиям. Это удобно, когда нужно экономить ресурсы клиентского устройства и полосу пропускания: мобильные устройства.
Поскольку синхронность/асинхронность полностью регулируется, приоритетами при запросах ресурсов мы можем сами управлять на уровне искусственного стека/очереди с помощью JS-кода.
Вопрос: Как сделать условие на количество дочерних элементов?

Лучший ответ: у тебя в document.querySelectorAll уже список этих label. зачем тебе перебирать его?
сделай просто arrLabel.length >= 2

Худший ответ: Так почему вы проверяете в forEach кол-во элементов? если у вас в массиве лежат все элементы label?
А так же ошибка в слове length

arrLabel.length >=2

let arrLabel = document.querySelectorAll('.catalog__grid-wrap label')

let valLabel = ()=> {
    if(arrLabel.length >= 2) {
     alert();
    }
}
valLabel()
Вопрос: Как узнать по нажатию на какую кнопку была отправлена форма?

Лучший ответ: Всем кнопкам назначь атрибут name, чекай в запросе isset'ом.

Худший ответ: Решение создал сам. 
Прикрепляем к необходимой ссылке/кнопке:
onClick = "openBold();"

Далее создаем скрытый textarea:
<textarea id="form_message2" name="text_comment2" style="display:none"></textarea>

Вставляем в верстку JS код:
function openBold() {
    document.all.text_comment2.value += '1';
    document.all.text_comment2.focus();
    return true;
}

И в PHP обработчике формы добавляем новую строчку данных для отправки 
$_POST['form_message2']
Вопрос: Как сделать сайт на 2 провайдера?

Лучший ответ: На машине с сайтом линукс?  Провайдеры приходят с двух разных роутеров?
тогда просто читайте как возвращать пакеты обратно в тот же интерфейс из которого они пришли. Гуглите по словам  iproute2 и multihome.  
Вот сразу неплохой линк, https://habr.com/ru/post/107267/

Худший ответ: Куда именно и откуда не доходит запрос во второй подсети? Пробуй поймать пакет на стороне вебсервера и отследить направление ответа. default gw влияет только на инициализацию соединения с сервера. Все входящие соединения работают по правилам "откуда пришел туда и вернулся" если нет явной обработки на стороне фаервола.
Вопрос: Чем плох Microsoft SharePoint Designer?

Лучший ответ: Любой WYSIWYG генерирует мусорную разметку.

Худший ответ: Пользуйтесь, если устраивает. Только на что-то серьезное не расчитывайте. 
Стандарты Web уже далеко ушли. Но и старые тоже работают.

Ну а мы будем печатать руками. По старинке.
Вопрос: Хорошие практики тестирования в Laravel проектах?

Лучший ответ: Feature - это end-to-end тесты. Ты берешь данные, отправляешь на эндпоинт и проверяешь ответ/статус выполнения задачи. Из этого следует, что никаких под-директорий там быть не может - максимум одна для API, одна для Web, и, если сильно хочется, то одна для CLI. В таких тестах НЕ должно быть моков, подмены зависимостей или чего-либо еще, что мешает полному тестированию эндпоинта от начала и до конца.
Обычно пишу по одному на каждый эндпоинт, типа GamesListTest для /api/games.
Unit - юнит тесты. Должны тестировать один класс и мокать остальные зависимости. Тут можете тестировать отдельно контроллеры, джобы, репозитории, сервисы и что-либо еще, что вам вздумается. Все депенденси этих классов нужно подменять и проверять входные аргументы (как можно тщательней, mockery + hamcrest-php).
Тоже обычно по тесту на класс, то зависит от размера класса, о котором идет речь, и сложности его методов.
Всегда использую snake_case - так читаемей. assert'ов может быть хоть миллион - за этим вообще не слежу. Разбиваю тесты на методы чисто по логике и нужде - как проще, так и делаю. Лично у меня тесты лежат в "модулях", а не в /tests, но дефолтная структура - неплохой вариант для начала.

Худший ответ: Для меня в идеале структура папки unit идентична src, в src разбиение по функционалу типа /product /cart и т.п., никаких Controllers/ и Models/ со свалкой всех контроллеров и и т.п.
Вопрос: Имеет ли смысл изучать Azure Active Directory в наших реалиях?

Лучший ответ: От того что вы о нём узнаете, хуже не станет.

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

Лучший ответ: VK API уже смотрели?

Худший ответ: Я уже решил данный вопрос: import vk
token="токен из Kate Mobile!"
session = vk.Session(access_token = token)
api = vk.API(session, v = "5.95")
И теперь можно вводитьapi.(metod)
Example:
api.messages.send(arguments)
Вопрос: Нужно ли использовать редакторы форм в крупных веб-приложениях?

Лучший ответ: ИМХО. Для получения нормального результата надо писать все ручками ).  Очевидно, что чем серьезнее проект, тет больше мозгов надо приложить и в этом случае генераторы (а они без мозгов) не годятся. Мне нравится реализовывать логику формы на vue.js. По сравнению в jq  все удобнее и главное - с усложнением проекта, гораздо легче  реализовывать дополнительные плюшки не превращая все в лапшу ))

Худший ответ: Шо то глянул этот форм ио, он генерит разметку, которую затем надо дергать по api и вставлять в их решения. Как бы с таким подходом вообще что-либо реализовать анриал. Да и есть бесплатные похожие штуки: https://github.com/vue-generators/vue-form-generator/ Если бы он генерил сразу код, то если он норм, то чего бы и не использовать, собсно вот неплохое решение, которое можно юзать в проде: https://yiiframework.com.ua/ru/doc/guide/2/start-gii/ такие штуки во многие фреймворки встроены и многие пользуются, чтобы создать некий базовый скелет.
Вопрос: Как доработать проверку?

Лучший ответ: Жаль что автор не представляет сколько ему ещё предстоит пройти пути, чтобы в итоге написать вменяемый ActiveRecord класс.
Но для понимания масштабов, могу посоветовать ознакомиться с таковым, например в Yii2 - 

$changedAttributes
https://github.com/yiisoft/yii2/blob/5ee7fabbf948f...

Там есть все ответы и на текущий вопрос, и на вчерашний про магию __set и на все будущие.

По существу вопроса, изучите класс в частности места где встречается строчка _oldAttributes, changedAttributes, dirtyAttributes

Худший ответ: private $data = [];
private $save = [];
public function __set($name, $value)
{
    if ($this->{$name}) {
        $this->save[$name] = $value;
    } else {
        $this->data[$name] = $value;
    }
}

public function save()
{
    $par = [];
    $val = [];
    foreach ($this->id ? $this->save : $this->data as $k => $v) {
        $par[] = $k . ' = ?';
        $val[] = $v;
    }
    if ($this->id) {
        Db::query('update ' . static::table() . ' set ' . implode(', ', $par) . ' where id = ' . $this->id, $val, static::class);
    } else {
        Db::query('insert into ' . static::table() . ' set ' . implode(', ', $par), $val, static::class);
        $this->id = Db::lastInsertId();
    }
}
Гори оно гаром.
Вопрос: Разрешение экрана 1024 но экран Full Hd больше не ставиться из за переходника на видеокарту что делать?

Лучший ответ: vga поддерживает только 1024

Худший ответ: в Nvidia Control Panel используйте опцию задания пользовательского разрешения экрана

https://nvidia.custhelp.com/app/answers/detail/a_i...
Вопрос: Как перенести освещение и тени с одного изображения на другое в фотошоп?

Лучший ответ: Снизу лого, сверху стена, режим Linear light, прозрачность 70%spoiler
Upd.  Лого сделать паттерном и наложить новый слой-Pattern, где указать малый размер, около 10%, чтобы было много повторов.  
Свет - Effects - Render - Lighting Effects... 
и «поиграть с настройками» : )   Пресет - Three down для начала. И держите перед глазами для референса исходную стену.

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

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

Худший ответ: 1) скачиваете openserver
2) скачиваете файловую структуру сайта по фтп. Если есть возможность смотрите какая система управления и ставите какой-нибудь плагин для создания резервных копий
3) качаете adminer https://www.adminer.org/#download  и делаете экспорт базы данных
4) Подымаете копию сайта на openserver (размещаете файлы и загружаете копию базы)
Вопрос: Куда податься с такими навыками?

Лучший ответ: Уходить из веба. Здесь уже школьники готовы бесплатно клепать сайты на Вордпресс. Либо переезжать в Москву, в регионах туговато.

Худший ответ: Мне предлагали удаленным разрабом фронтэнд. Их офис находился в другом регионе где-то на урале. Мне предлагалось на условиях ИП с ними работать из дома. Зп от 60 до 120.
Попробуй поискать подобное.
Вопрос: Почему в WooCommerce не добавляется товар в корзину у не авторизованных пользователей?

Лучший ответ: Путём более правильного гугления, нашёл таки ответ на свой вопрос, как выяснилось не я один такой=(
Необходимо добавить для не авторизованных пользователей вызов функции WC()->session->set_customer_session_cookie(true);if (!is_user_logged_in()){
        WC()->session->set_customer_session_cookie(true);
    }
В файл темы functions.php
Решение на wordpress.org
Вопрос считаю закрытым

Худший ответ: Еще бывает проблема с SSL, если ссылка http, товар не добавляется, если https то все норм. Сделайте принудительное открытие сайта https
Вопрос: Сложно ли создавать 3D игры, какие знания нужны для создания 3D игр?

Лучший ответ: Да, безусловно сложно. Без знания высшей математики в написание 3D-движков лезть нечего.

Худший ответ: Почитай цикл статей
https://habr.com/ru/post/248153/
Вопрос: Как настроить путь к app module в django?

Лучший ответ: Такое может быть, если забыть положить файлик "__init__.py" в папку с модулем.

Худший ответ: Друзья, с проблемой разобрался! Нужно было задать конфигурацию для приложений, где и требовалось добавить путь
Итак, если у вас выскакивает нечто подобное, то:
1)Проверьте ваш wsgi.py (он должен находиться в той же папке, что и файлы settings.py, views.py и т.д). Я настроил его следующим образом и это работает:import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'yoursite.settings')
application = get_wsgi_application()
Пожалуйста, обратите внимание на то, что перед .settings должно быть имя вашего сайта, yoursite - условность
2)В директории приложения (рядом с ним должны лежать models.py, views.py и т.п.) проверьте наличие apps.py. В них я задал конфигурацию (пусть будет MyappConfig), как подкласс AppConfig, где и прописал путь с помощью свойства 'path'. Пример:# Импортируем глобальный класс AppConfig
from django.apps import AppConfig

# Добавляем свойства для нашего приложения - его имя и путь
class MyappConfig(AppConfig):
    name = 'myapp'
    path = './myapp'
3)В apps.py, находящимся внутри папки yoursite (это там, где мы настраивали wsgi.py, там же лежит settings.py) импортируйте конфигурацию других приложений, пример:from myapp.apps import MyappConfig
4)В settings.py перед INSTALLED_APPS добавьте:from yoursite import apps
5)Пропишите установленные приложения следующим образом:INSTALLED_APPS = [
'myapp.apps.MyappConfig',
]
Вопрос: Как вывести строку если в базе пусто?

Лучший ответ: Вам на null проверять не $av надо, а $notes. И лучше не null, а is_object

Худший ответ: Можно сделать проще и слегка переписать запрос
$sql3="
    SELECT 
        idOeuvre, 
        IFNULL(ROUND(AVG(note)), 0) AS average
    FROM noter
    GROUP BY idOeuvre
  ";
Тогда в случае, если оценок нет, просто вернется 0 - он же и покажется.
Вопрос: Как оформлять документацию для REST api?

Лучший ответ: OpenAPI. Некоторые фреймворки умеют это генерить автоматически. Вот пример.

Худший ответ: У нас в команде пользуемся вот этим. https://apidocjs.com/ не знаю насколько удобно писать в этом документацию, но пользоваться ей удобно. Я правда не уверен в том что эта тулза актуальная.
Вопрос: Как такое можно реализовать на react.js?

Лучший ответ: state = {
  block1: false,
  block2: false,
}

componentDidMount() {
  setTimeout(() => this.setState({ block1: true }), 3000);
  setTimeout(() => this.setState({ block2: true }), 6000);
}

render() {
  const { block1, block2 } = this.state;
  return (
    ...
      {block1 && <div class="block-1">Блок 1</div>}
      {block2 && <div class="block-2">Блок 2</div>}
    ...
  );
}
UPD. https://jsfiddle.net/jaLgf9w7/

Худший ответ: state = {
  block1: false,
  block2: false,
}

componentDidMount() {
  setTimeout(() => this.setState({ block1: true }), 3000);
  setTimeout(() => this.setState({ block2: true }), 6000);
}

render() {
  const { block1, block2 } = this.state;
  return (
    ...
      {block1 && <div class="block-1">Блок 1</div>}
      {block2 && <div class="block-2">Блок 2</div>}
    ...
  );
}
UPD. https://jsfiddle.net/jaLgf9w7/
Вопрос: Агрегатор оплаты не самозанятым.?

Лучший ответ: Яндекс Деньги принимает карты.

Худший ответ: https://ru.wordpress.org/plugins/yandex-money-button/
Но у Я.Д. существует ограничение по приему платежей в месяц для частных лиц.