pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как запустить старые программы особым способом?

Лучший ответ: универсально, из бесплатных решений, у вас только один вариант - попробовать wine, возможно у вас не сразу получится, придется поиграть с winetricks, но попытка не пытка.
иначе - ставьте виртуальную машину, в нее ставьте нужную версию операционной системы (с точки зрения лицензирования windows нужно покупать еще одну версию, отдельная проблема где и как будете искать именно winxp/win7), и там уже запускайте свою программу, чем больше времени проходит, тем больше старых программ приходится запускать таким образом, т.е. альтернативы просто нет.
p.s. а программа хоть как то сообщает, почему она не может запуститься? какие сообщения об ошибках, что пишет в логи если есть, что говорит ее разработчик?

Худший ответ: Поставить VirtualBox, развернуть виртуалку с WinXP x64. В настройках виртуальной мушины выбираешь Windows XP x64 или Windows Server 2003 x64.
У меня на i5-3570 работает очень шустро и грузится как из пушки.
А что за программа такая? Может ей просто библиотек каких не хватает, а не вот прям кровь из носа только WinXP x64?
Вопрос: Как и чем охранять сайт от «чужих»?

Лучший ответ: Решение задачи по теме сайта. На некоторых математических форумах предлагали аналитически найти производную или неопределённый интеграл.

Худший ответ: Всем спасибо за ответы!

В целом, сок такой (на идею натолкнул Bavashi - Спасибо ему за это!):
1. Нужно зеркалировать нужную вики-ветку основного "дерева" вики на вырожденное "дерево" для каждого участника и демо-статейку (образец 2-3 примера оформления разных типов страниц) - оставлять в доступе для всех.
2. Тесты - давать создавать ДО основной вики самым первым 3-5-ти участникам.

PS: отмечу решеним этот ответ, если наберёт разницу более 5-ти лайков включительно по сравнению с топовым, уже отмеченным решением, ответом.
Вопрос: Как в регулярных выражениях получить значение двух последних каталогов из URL?

Лучший ответ: ox уж эти любители все делать регулярками.$str = 'https://toster.ru/1234/4321/';
$x = pathinfo($str);
echo $x['basename'], PHP_EOL;
echo basename($x['dirname']);https://ideone.com/Yp1LK9

Худший ответ: Еще без регулярных $url = explode('/', $_SERVER['REQUEST_URI']);
Вопрос: Как скачать письма с Gmail?

Лучший ответ: Можете запросить все содержание gmail в архиве тут: https://takeout.google.com/?pli=1
Там не только gmail можно запросить, а вообще всю информацию, что гугл о вас собрал

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

Лучший ответ: Для начала изучить JavaScript и React, а там все встанет на свои места

Худший ответ: <input type="submit" disabled={this.state.validationNotOk} value="послать форму" />
Вопрос: Как сменить кодировку верхнего индекса из UTF-8 в windows-1251 на php?

Лучший ответ: Никак. 
в кодировке windows-1251 примерно 200 символов
в UTF-8 - миллионы.
Запихнуть миллион символов в 200 физически невозможно.
Поэтому либо перестать использовать у себя пещерную кодировку, либо городить ручную замену для всех неподдерживаемых символов, тупо строковой заменой.

Худший ответ: В Windows-1251 нет символа "верхний индекс 2". Вот он и заменяется в mb_convert_encoding на знак вопроса, как любой отсутствующий в целевой кодировке символ.
iconv же, начиная с PHP 5.4.0 возвращает в таких случаях FALSE, если не указан признак //IGNORE.
Вопрос: Существует аналог su в Windows?

Лучший ответ: но без запроса пароля пользователя от которого мы её запускаем?
Пхаха.
Нет.
Такую дыру из древних Юниксов решили не тащить.

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

Применение su [учетка] в таком контексте - это в основном работа псевдо-юзеров, от имени которых запускаются скрипты.
Вопрос: Как реализуются классы в C#?

Лучший ответ: Какая-то каша. В C# нет никаких .h
И при чём здесь ifndef? Этого тоже в сишарпе нет.
Открой любую книжку по си-шарпу и вопросов не будет

Худший ответ: Пример вашего кода с C++ на C# будет://file: Class.cs
using System;
namespace SomeNamespace
{
    public class Class
    {
        private int a = 0;
        public void Say()
        {
            Console.WriteLine(a);
        }
    }
}
Из различий - реализация класса находится там-же, где и его объявление, в отличие от C++. Нет механизма заголовочных файлов (а по тому нет #ifndef). И класс должен быть в каком-то пространстве имён.
Если очень сильно хочется сделать что-то похожее на заголовоные файлы, то советую прочитать про интерфейсы https://docs.microsoft.com/ru-ru/dotnet/csharp/pro...
Вопрос: Необходимость в ECC памяти?

Лучший ответ: https://habr.com/ru/post/71748/
https://habr.com/ru/post/328370/ - вероятность: сбоя тысячи машин еженедельные, причем в вашем случае это будет незаметный сбой, о котором вы узнаете сильно потом.
ecc память понижает вероятность разрушительного сбоя на порядок но не исключает его.
оцените стоимость потери данных (не всех а единицы) и если она вас устроит, не заморачивайтесь с ecc.

Худший ответ: стоит ли тратиться на ecc оперативку для файлового сервера и сервера с бэкапами Зависит от ситуации, во многих случаях такой необходимости нет.Кстати, для каких сервисов ecc не критиченДля всех, где нет повышенных требований к бесперебойной работе. Если перебои в работе допустимы - ECC не критична.
Вопрос: Что будет, если не оплатить счет AWS?

Лучший ответ: если не оплатить эти счета, что будет?
вы сэкономите 1500$ и больше не сможете использовать AWS.

Облака, говорили они, это модно-стильно-молодёжно.

Худший ответ: У меня была подобная ситуациямне тоже сначала выставили счёт на 1.500 долларов затем его списали потом в следующем месяце с карты сняли 600 долларов потом я писала в поддержку и не вернули 365 баксов а теперь в июле у меня опять выставили какой-то счёт на 500 с лишним баксов и говорят что это какой-то переформирование счёт это аккаунт тоже был бесплатным и откуда такие счета вообще непонятно
Вопрос: Как вывести всплывающее окно на всех сайтах находящихся в подпапках?

Лучший ответ: есть 2 дериктивы php.ini
auto_prepend_file
auto_append_file
https://www.php.net/manual/ru/ini.core.php#ini.aut...

С помощью них можно заинклудить автоматически файл в начало или конец всех скриптов
Эти дериктивы можно задать как через php.ini так и через настройки веб сервера, в апаче через .htaccess

Текущий путь смотрится через значение переменной $_SERVER['REQUEST_URI'] вокруг которого можно построить всю логику

Чтобы не сломать ничего в работе CMS нужно будет очень тонко подойти к внедрению скрипта, если пойдете по этому пути, так как инклуд одного скрипта во все другие может сломать что угодно в логике.

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

Лучший ответ: Метод transform.Translate перемещает объект игнорируя физический движок (вдавливая в стену), а после этого физический движок пытается что-то предпринять. Чтобы физика просчитывалась как нужно, следует использовать методы в rigidbody2D для толкания персонажа, как вы это делаете в случае пробела. И не стоит использовать вместе прямое перемещение через transform.Translate и физику твердых тел, иначе будете получать именно такие проблемы.

Худший ответ: Создать Physic Material в проекте с помощью Create -> PhysicMaterial, затем добавить коллайдеру в свойстве Material этот материал.
Вопрос: Как создать собственный компонент типа тестирования?

Лучший ответ: Прочитать документацию, пройти учебные курсы, и научиться разрабатывать решения на битриксе.
https://dev.1c-bitrix.ru/learning/ - учебные курсы
Всё что вам надо - описано в курсе "Разработчик Bitrix Framework"

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


Если редакция старт, можно и на инфоблоках сделать, но придется думать + писать код
Вопрос: В каких областях сейчас используются такие языки как VB.NET и Turbo Pascal?

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

VB.NET вполне может использоваться внутри, где уже есть какая-то внутренняя система на базе .Net.
Редко нужен чистый VB.Net разработчик, обычно это совмещено с ASP.net, MS SQL, C#. Работа - в поддержке текущего легаси, интеграция с различным другим софтом.
Но публичные серьезные сервисы на VB.net не делают, делают на .Net, C#

Худший ответ: Из названия понятно, что VB.NET используется там же где и С#.
Turbo Pascal последний раз обнавлялся в 1994 году и с 1996 года официально не поддерживается (читай использование не рекомендуется). Сейчас TP крайне редко используется в школах и ВУЗах преподами информатики которым далеко за 70 и их более молодыми коллегами которые в школе по информатике имели 3- и более ни где.
В принципе если вы не плохо владеете ТР то можете воспользоваться его современным аналогом Free Pascal, а для разработки оконных приложений существует IDE Lazarus. Правда за 25 лет очень многое изменилось и на FP приложения пишутся совсем иначе чем на ТР, хотя синтаксис похожий и даже более менее сохранена совместимость
Вопрос: Как сделать чтобы активной была та вкладка (таб), на которую нажали перед обновлением страницы?

Лучший ответ: Есть два способа, у которых одна точка входа.
1. Сохранять ID выбранного таб в cookie или web storage.
2. Сохранять ID в хэше адресной строки, в url
При обновлении страницы получать этот ID и делать таб с этим ID активным.

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

Лучший ответ: Можно удалить их на строне nginx при проксировании
proxy_hide_header       Set-Cookie;
proxy_ignore_headers    Set-Cookie;
# important! Remember the special inheritance rules for proxy_set_header:
# http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_set_header
proxy_set_header        Cookie "";

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

Лучший ответ: В настройках BIOS указано, с какого устройства грузиться? Надо там выбрать флешку как первичное устройство запуска. Вы скорее всего просто вставили флешку и ждете пока появится установщик. Есть специальная кнопка для входа в Boot Menu. У меня на Acer это F12. Узнайте, какая у вас это кнопка и в этом меню выберите флешку.

Худший ответ: Было у меня такое - это проблемы с железом. 
Если будешь потом пользоваться этим линуксом - он тоже будет неожиданно падать в неожиданных местах.

Термопаста, питание, разъёмы.
Вопрос: Как победить Undefined index в UnitOfWork при сохранении внутри postRemove?

Лучший ответ: В документации к событию postRemove прямо указано что это событие вызывается внутри метода flush(). Таким образом вызывая $this->entityManager->flush() внутри postRemove вы, фактически порождаете потенциально бесконечный цикл, поэтому "Undefined index" на самом деле - наименьшая из ваших проблем :)

Более корректно будет организовать работу примерно следующим образом:

Вынести логику сохранения изменений в отдельный сервис
Обернуть процесс сохранения изменений в транзакцию
В lifecycle методах не пытаться писать данные сразу, а вместо этого собирать информацию для записи в некую коллекцию, в простейшем случае - массив
После основного flush'а проверять содержимое коллекции и если там что-то есть - формировать отдельный набор изменений в entities и делать новый flush.
Если всё прошло хорошо - в конце делать commit транзакции


Худший ответ: Тут надо смотреть на структуру таблиц. Может забыл где прописать inversedBy (было у меня такое), может c индексами напутано. Проверь внимательно все моменты, где используются связи и коллекции.
Вопрос: С помощью чего можно быстро поднять админ панель?

Лучший ответ: C помощью программиста.

Худший ответ: WinSCP вам в помощь )))
"Админ панель" в виде проводника. Переписываете html, css, js файлы и смотрите сайт.
Проблемы: на сервере нужен FTP или SSH. 

Вам скорее всего нужен "https файловый менеджер"
Вопрос: Наставничество для создания своего сайта: неужели только платные варианты?

Лучший ответ: Я бы на вашем месте поискал наставника самостоятельно. Здесь, на behance, в телеграм-чатах найдите несколько человек, чьи работы вам действительно нравятся и того уровня, которого вы хотите добиться и просто напишите им просьбу о помощи

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

Крайне желательно иметь сформулированный список вопросов, а на дизайн и фронтенд лучше искать разных людей

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

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

Лучший ответ: Всерьез задумался над тем, чем является таймер на духовке

Худший ответ: ОЙ! Столько вариантов, столько вариантов... ;)
Конечно же, АСУ с функцией планирования.
Вопрос: Какие сервисы/программы знаете для автоматической расстановки знаков препинания?

Лучший ответ: https://textis.ru/onlayn-proverka-punktuatsii/
https://text.ru/spelling/ (есть API https://text.ru/api-check)
https://orfogrammka.ru/проверить-пунктуацию/
https://www.russiancorrector.com/
www.orfo.ru
https://www.languagetool.org/ru/
А главное, теперь ты знаешь, как это правильно называется и сможешь поискать подходящий вариант.

Худший ответ: Остановился на https://sinoni.men
Вопрос: Пайтон ругается на конструкцию if-elif. В чём ошибка?

Лучший ответ: 1. Табы лишние
2. elif не используется без аргументов. Либо используйте else, либо передавайте дополнительное сравнение

Либо
age = int(input("Сколько вам лет?"))
if age < 100 :
    print("понятненько")
else:
    print ("А?")

Либо
age = int(input("Сколько вам лет?"))
if age < 100 :
    print("понятненько")
elif age > 150:
    print ("А?")

Худший ответ: age = int(input("Сколько вам лет?"))
if age < 100:
    print("понятненько")
else:
    print("А?")
Лишние табуляции
Вопрос: Как отправить данные из динамически созданных полей на сервер?

Лучший ответ: 1) Определяете действие, по которому делаете "срез" данных - нажатие кнопки, потеря фокуса элемента и т.п.
2) На js находите эти элементы, сохраняете их контент в переменную
3) Пишете на js обработчик события из п.1, внутри него через ajax post запрос, которым на сервер отправляете данные из п.2. В ajax пишете обработчик отдельно на успешный ответ (http status 200) и на ответ с ошибкой.
4) На сервере принимаете эти данные, через PDO или ORM (если есть) сохраняете в базу.
5) Если все сохранилось, отправлете ответ на фронт со статусом 200, если нет, то на бекенде анализируете ошибку и отправляете на фронт 500 и текст ошибки

Худший ответ: Во первых покоцан первый див
Во вторых - добавьте тег формы, пока это просто элементы внутри хтмл, что как минимум не валидно, и кроме того не удобно обрабатывать.
В третьих формат имени - добавьте в конце имени инпутов '[]' <input type="text" class="form-control input-sm" name="sum_fix[]">
Дальше все стандартно, субмит формы, на сервере получаете массив полей, сохраняете. Можно прикрутить аякс и отправлять без перезагрузки, по событию субмит на форме.
Вопрос: Почему Google Chrome указывает, что на моем сайте не защищенное соединение?

Лучший ответ: Наверно на странице есть пути к файлам, картинкам, стилям и скриптам с http

Худший ответ: Потому что оно там есть. 
Бонус - совет: Смотрите вкладку networks в девтулзах
Вопрос: Как правильно зарегистровать/лицензировать код?

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

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

Главное - иметь возможность доказать авторство. Можете CD с исходниками положить в банковскую ячейку, засвидетельствовав этот факт нотариально.

Приложите к вашей программе текст лицензионного соглашения (тут может потребоваться консультация юриста)
Вопрос: Где можно получить повышение квалификации backend разработчику?

Лучший ответ: В целом согласен с Alex McArrow. А точнее - я не верю в какое-то "хорошо прокачиваться у более сильных" - подумайте о слабых местах, конкретных проблемах в вашем проекте и ищите, как их улучшить и оптимизировать.
И не вестись на  "использовать кубернетес", "выкинь PHP, перепиши на Go", "делай так, потому что я сказал".

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

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

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

- Конфигурация и инфраструктура. CI/CD. Автоматизация. Деплой приложения - это многоэтапный процесс. Миграции, конфигурация, сборка проекта. Тут стоит почитать Приложение 12 факторов 12factor.net В целом, если используется современный фреймворк (например Ларавел), то будет полегче с этим работать. Следует помнить, что окружения должны быть разделены - продакшен, тестовая среда (стейдж), среда разработки. Приложение должно без проблем раскатываться и запускаться, желательно "в один клик".
С этой темой связаны технологии Docker, K8s, Ansible. По поводу последнего - с ним можно автоматизировать настройку локального окружения, деплой. Также следует поизучать Github Actions, Gitlab CI/CD.
Если приложение еще небольшое, то его можно с легкостью деплоить на Heroku.
В целом можно пройтись по этому чек-листу и посмотреть как у вас сейчас и как должно быть. 
По оптимизации, нагрузкам соответственно optimization.guide

- Операционные системы. Сети. Большая область про которую забывают разработчики. Понимание ОС позволяет лучше понимать как работают веб-сервера, приложения. 
На эту тему есть книги
Операционная система UNIX (Андрей Робачевский, Сергей Немнюгин, Ольга Стесик)
Руководство администратора Linux (Эви Немет, Гарт Снайдер, Трент Р. Хейн)

- Фреймворки. Изучать от и до их не стоит, необходимо понимать как они устроены, чтобы не было магии. Но если используется что-то самописное - это не очень хорошо, особенно когда не хватает квалификации. Стоит присмотреться к большим фреймворкам типа Laravel/Symfony 

- Опенсорс. Изучаете код проектов (фреймворков, библиотек), отправляете пулл реквесты на улучшения. В некоторых проектах мейнтейнеры готовы помогать и подскзывать контрибьютерам.
Вопрос: Что означает < в уравнение, и как его решить?

Лучший ответ: x++*n
берем х умножаем на n, увеличиваем x на единицу. (постфиксный инкремент)
А это уже(x+1)*n < n+1 // вы скобки забыли
префиксный инкремент++x * n < n + 1
P.S.
а выражение целиком это предикатПредикат в программировании — выражение, использующее одну или более величину с результатом булева типа.bool - type, capable of holding one of the two values: true or false.Зачем этот знак?less than operator C++1) Returns true if lhs is less than rhs, false otherwise.

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

Лучший ответ: часть информации в итоге забывается
Нужно забывать больше - все то о чем вы не можете сказать как именно и когда собираетесь это применить.а жизнь кажется хаотичной,
Потому что у вас каша в голове из всей той ненужной информации которую вы туда пытаетесь запихнуть.
Тоже когда-то искал средство "упорядочить всю эту информацию" пока не понял два момента:
1) "потенциально полезной" информации в мире предельно много, не хватит тысяч лет чтобы это просто прочитать. Каждую секунду создается еще больше. 
2) знание этой информации никак не меняет мою жизнь к лучшему, а попытки её узнать и запомнить - вполне конкретно ухудшают.
Учитесь фильтровать по принципу "а как я собираюсь это применить?". не "вообще" а именно я, именно её и в какие конкретно даты? 
Останется только действительно нужное и вот это вы уже сможете упорядочить.

Худший ответ: Возможно не совсем то, что вам нужно, но когда сам гуглил подобное в свое время - наткнулся на 2 проги от одних авторов:
1) clipdiary.com/rus - ведение истории буфера обмена
2) softvoile.com/rus/flashnote - что-то типа блокнота
Мне этого было достаточно.
Вопрос: Какой язык программирования учить новичку?

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

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

Лучший ответ: 1. Заменить БП на другой и проверить?
2. Проблемный БП проверить на другом ПК, проблема будет повторяться?

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

Лучший ответ: Есть такой способ.
$xR = preg_match_all("/[^,]+/",$data_point[2],$regD);
В этом случае не будут учитываться пустые значения.

Худший ответ: Обязательное требование, использовать регулярку?
Если нет, то можно так count(explode(',', $string));
Вопрос: Как подключиться к домашнему удаленному рабочему столу из корпоративной сети?

Лучший ответ: Поговорить с админом на работе, пиво и закуска приветствуются.

Худший ответ: Для домашних нужд может подойти домашнее решение не требующее проброса портов - anydesk, teamviewer...
По поводу rdp, нужно проверить из любого другого места возможность подключения. Так проще удостовериться что проблема не в настройке домашнего роутера/компа. А уже потом посмотреть получиться ли то же самое из офиса.
Еще момент. Выставляя порт 3389 наружу (или с другим номером, но rdp), нужно убедиться что на ПК устанвлены все последние обновления + точно нет никаких учеток с простыми паролями. Т.к. брутфорс начнется сразу же после открытия порта.
Вопрос: Как выполнять функцию PHP раз в 3 секунды?

Лучший ответ: Запуск скрипта через CLI по крону

Худший ответ: А может лучше использовать для этой цели AJAX?
Вопрос: Доступ из Linux к разделу в ntfs после очередного обновления Win10 стал только на чтение, как исправить?

Лучший ответ: В 100500-й раз пишу уже наверное.
Выключи в "Панель управление / Электропитание" настройку "Быстрый запуск", чтобы при выключении происходило выключение, а не гибернация после logout.
> партиции 
Раздел

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

Лучший ответ: [...str].reduce((acc, n) => acc + (n === '1'), 0)

// или

str.match(/1/g)?.length ?? 0

// или

str.split('').filter(n => n === '1').length

// или

str.replace(/[^1]/g, '').length

// или

eval(Array.from(str, n => +(n === '1')).join('+')) || 0

Худший ответ: Еще один способ (лаконичный)  :)

str.split(1).length-1