pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Достаточно ли знать только Python, чтобы начать работать в области IT?

Лучший ответ: Вопрос должен звучать иначе
- Достаточно ли мне пройти курс по изучению Python, чтобы использовать Python для работы
ответ - нет. По вашему вопросу ответ - да, питон универсален, но помимо самого языка нужно знать его инструменты (например для веб django/flask, для парсинга lxml, scrapy - для обоих случаев SQLAlcheme или другую. И куча других).

Худший ответ: Достаточно.
Вопрос: Python Какой наиболее оптимальный способ проверки есть ли общий элемент?

Лучший ответ: Зачем лямбда, когда есть стандартная библиотека:s = "здесь есть знаки препинания?"
print(any(c in ".!?" for c in s))
Output:True
С лямбдой и мэпом и длиннее, и медленнее из-за накладных расходов на вызов лямбды. С сетом медленнее из-за генерации сета. Выражение с any и ленивый генератор - быстрее и не жрёт ресурсы.

Худший ответ: Если вам обязательно нужно через map, и не важно на то что будет выполнятся немного больше действий.any(map(lambda x: x in signs, a))
Вопрос: Как вытащить id последней записи или узнать с каким id создастся юзер, Yii2?

Лучший ответ: $id = Yii::$app->db->getLastInsertID();
Возвращает ID последней вставленной записи

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

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

Худший ответ: Чтож за международный суд такой? Гаагский трибунал? :))))) Ну не общайтесь вы с ним. Апворк в принципе всё разрулит. Есть оплата, есть работа. Нет оплаты, нет работы. Всё гениально и просто. Ну, а то, что посредник деньги проел - его проблема.
Вопрос: Ru / Eng на сайте. Как лучше сделать?

Лучший ответ: Думаю вам подходит qTranslate-X

Худший ответ: Лучше всего подойдет плагин WPML
Вопрос: Как сделать равномерное распределение фамилий по группам?

Лучший ответ: Выкатил для теста из доменного каталога список фамилий всех сотрудников (550 человек) в файл users.txt.def chunks(l, n):
    for i in range(0, len(l), n):
        yield l[i:i + n]

#Считываем, убираем дубликаты, сортируем
names = sorted({line.strip() for line in open('users.txt', encoding='utf-8')})
#Разбиваем на примерно равные части и генерируем словарь,
#ключом которого служат первая буква первой и последней фамилии в списке.
catalog = {'{}-{}'.format(item[0][0], item[-1][0]):item for item in chunks(names, 100)} Обновление: Предыдущий вариант допускает пересечение групп. Поэтому я накидал другой.from itertools import groupby
from operator import itemgetter

# Разбиваем на группы по первой букве
def chunks(items):
    for letter, names in groupby(sorted(items), key=itemgetter(0)):
        yield list(names)


# Сливаем вместе группы меньше min_len в группы не больше max_len
def reshape(items, min_len, max_len):
    buffer = []
    for item in items:
        if len(buffer) >= max_len:
            yield sorted(buffer)
            buffer = []
        if len(item) <= min_len:
            buffer += item
        else:
            yield item
    yield sorted(buffer)

            
#Считываем и сортируем
names = sorted(line.strip() for line in open('users.txt', encoding='utf-8'))
#Разбиваем на примерно равные части
groups_list = reshape(chunks(names), 50, 100)
#генерируем словарь ключом которого служат первая буква первой и последней фамилии в списке
catalog = {'{}-{}'.format(item[0][0], item[-1][0]):item for item in groups_list}

Худший ответ: Допустим есть 100 человек, их фамилии начинаются на 5 букв т.е. в среднем на букву должно быть 20 чел. Делаем цикл с проверкой если в следующей букве меньше 20 чел, значит можно объединять.
Вопрос: Почему Angular 5+ выдает ошибку при попытке подключить CSS файл в компонент?

Лучший ответ: './.user.component.css'
имя файла у Вас с точки начинается

Худший ответ: Ну так мало установить, надо их ещё и в webpack.config в билд процесс вставить.
А чем дефолтный способ подключения стилей для компонента не подошёл?
Вопрос: Как настроить 3 сетевых интерфейса на windows без конфликта основного шлюза?

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

Худший ответ: Либо прописываете статические маршруты (убирая два основных шлюза, из трёх) либо играете с параметрами Метрика в шлюзе и метрика в интерфейсе (выставляя меньшую метрику у интерфейса смотрящего в интернет), однако, замечу, такая настройка сделает так, что трафик по-умолчанию будет идти только в один (основной) интерфейс, а в остальные будет только для их сетей (т.е. два других марша в таком сценарии не учавствуют в маршрутизации).
Вопрос: Как сделать такой список карточек товара на flex?

Лучший ответ: Попробуй вот так

Худший ответ: Вот здесь есть блок .banners
То что вам нужно.
Вопрос: Что означает в PHP __NEWL__?

Лучший ответ: это объявленная программистом константа

Худший ответ: новая строка
Наверное \n или \r\n
Вопрос: Почему порты меньше 1024 называются «небезопасными»?

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

Худший ответ: nmap'ом
Вопрос: Как сделать боковое меню, как на этом сайте www.kalugatransmash.ru/?

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

Худший ответ: 6 ссылок в строку разместить?
Вопрос: Что лучше c# или javascript под unity?

Лучший ответ: JavaScript в Unity3D нет, есть что-то непонятное под названием UnityScript.
C# лучше, потому что: мощный язык, спроектированный и развивающийся профессионально, а не по принципу «слепим язычок из JS, явной типизации и палок»большинство примеров в сообществе показано на C# — проще найти решение и найти помощь
Как джаваскриптеру с 10-летним стажем мне было проще писать на C#, чем на этом якобы JS.

Худший ответ: Оба языка похожи на друг друга!  А какой язык лучше? Тот который удобен для вас))) Я пользуюсь и Js и C# (Sharp), раньше был Boo но его вырезали)))
Вопрос: Как много кода помещается на экране разных ноутбуков?

Лучший ответ: На всякий приложу скрин с 27 дюймов.
В любой непонятной ситуации подключай к макбуку 27''-монитор!!)))

Худший ответ: Mac Book Pro 15'':
Тот же код на Dell U2417H 24''':13'' будет мобильней. Если везде подключать к монитору, то и очень удобен.
Но я бы его рассматривал, не как рабочую машину, а именно как выездной и мобильный вариант.15'' поудобней и производительней, но в плане мобильности  13" версии уступает сильно.
Вопрос: Не работает видеокарта GV-N710D3-1GL или вопрос в совместимости?

Лучший ответ: Встроенная графика не отключена.

Худший ответ: Нет, точно не в совместимости, любая карта подойдет к любой материнке. Везде сейчас PCI-E x16
И процессор тоже не причём. Любо с картой что-то, либо с материнкой (это редкость)
А дополнительное питание карты не забыл ? (если оно есть)
Хватает ли мощности БП на всё ?
Вопрос: Как показать локальную веб-страницу, в случае, если сервер не отвечает?

Лучший ответ: xhr.onerror = function() { открыт_локальную_страницу() }

Худший ответ: Не уверен, но возможно вам нужно что-то подобное : www.codenet.ru/webmast/php/ErrorDocument.php
Вопрос: Как сделать перегрузку функций?

Лучший ответ: Кстати в PHP 7 это не введут?PHP7 уже ввели, и перегрузки там нет.Это очень печально.ну имеем, что имеем.
в принципе, без перегрузок спокойно можно жить.как же работают стандартные функции типа randтак

Худший ответ: Прямой перегрузки - нет.
Однако, можно проэмулировать через функцию с произвольным количеством переменных:
stackoverflow.com/questions/4697705/php-function-o...
и подмену стандартных функций на свои:
php.net/manual/ru/function.override-function.php
Вопрос: Почему суммируются строки, а не числа?

Лучший ответ: Это особенности JS, у вас две строки и происходит конкатенация, вот так уже будет сложение.function summa(number1, number2) {
        var total = +number1 + +number2;
        return total;
}

Худший ответ: Потому что n1 и n2 - это формально строки.
Используйте parseInt или parseFloat в зависимости от того что вы хотите получить.
Вопрос: Лендинг на WP без плагинов?

Лучший ответ: Для начала заходите в админку. Далее следуете пунктам нижеСоздать пару тегов, например "Портфолио", "Работы", "Наша команда" и т.п.Создать необходимые посты и присвоить им эти самые тегиВ шаблоне создаем кастомный WP_Query, где выбираем посты по нашим тегамОформляем нужным css + html и проверяем результат в браузере
Также Вам необходимо почитать вообще про создание тем, например в Theme Handbook

Худший ответ: ?! любой page builder типа Elementor даст вам нужные средства. 
А почему такая нелюбовь к плагинам?
Вопрос: Почему запрос из PHP идет 10 секунд, а из консоли или навиката тот же запрос — 0.2 сек?

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

Худший ответ: Прошу прощения посетившим, решение найдено, но оно никак не было связано с запросом.
Проблема была в пользовательской сортировке usort($arr, function () { return mb_strcasecmp($a,$b); }); - слишком долго происходила
Вопрос: Самый выгодный способ снятия наличных или какие банкоматы дадут больше за раз?

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

Худший ответ: надежнее в соответвтующей теме на форуме Пионера + города ж разные
Вопрос: С чего вы начинаете править чужой «говнокод»?

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

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

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

Худший ответ: Тут есть ещё более глобальная проблема, чем просто не выделение памяти в конструкторе копирования: использование char*. Вы же пишете на C++, а не на C с классами. Используйте std::string для sea_name. Вы увидите, насколько проще, короче и безопаснее станет ваш код.
Вопрос: Как правильно использовать bitrix_sessid_post и check_bitrix_sessid для защиты от ботов?

Лучший ответ: 1. В форме нужно добавить <?=bitrix_sessid_post()?> - создает скрытое поле со значением равным id сессии текущего пользователя.
2. В обработчике в начале проверяем if(!check_bitrix_sessid()){
    die("ACCESS_DENIED");
}
а дальше уже остальные манипуляции с запросом

Худший ответ: В вашей редакции есть Веб-аналитика?
Удобнее просто ограничить активность:
dev.1c-bitrix.ru/user_help/statistic/settings.php
Вопрос: Как сделать типо свое шифрование? которое можно расшифровать?

Лучший ответ: Для этого вам нужно придумать алгоритм шифрования, ваш кэп

Худший ответ: function encrypt($string, $salt = "sdfgdfg")
{
	$strlen = strlen($string);
	$gamma 	= '';
	while (strlen($gamma) < $strlen)
	{
		$seq 	= pack("H*",sha1($gamma.$salt)); 
		$gamma .= substr($seq,0,8);
	}
	return base64_encode($string^$gamma);
}
function decrypt($string, $salt = "sdfgdfg")
{
	$string = base64_decode($string); // ибо так кодировали
	$strlen = strlen($string);
	$gamma 	= '';
	while (strlen($gamma) < $strlen)
	{
		$seq 	= pack("H*",sha1($gamma.$salt)); 
		$gamma .= substr($seq,0,8);
	}
	return $string^$gamma;
}
Вопрос: Как сдвинуть блок за границу родительского блока, что бы он был сверху?

Лучший ответ: вам нужно родительский блок завернуть еще в один, и блок с абсолютной позицией поставить именно в нового родителя. Тогда у вас  сохранится свойство hidden<div class="parent1"> <!-- тут поставьте position:relative; -->
    <div class="children-absolute">А этот блок будет абсолютный. Так как он выше, он будет перекрывать children-hidden</div>
    <div class="children-hidden">Вот тут сохранится overflow:hidden;</div>
</div>

Худший ответ: Ещё дикий вариант, сделать ему position: fixed и с помощью js динамически рассчитывать top и left имитируя поведение position: absolute.
Вопрос: Как пригласить клиента на upwork?

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

Худший ответ: Должно прийти письмо от UpWork со ссылкой для регистрации. Иначе никак.
Вопрос: Какой есть инструментарий для администрирования PostgreSQL 9.6?

Лучший ответ: vim, psql, tail/cat/grep, iotop/htop и т.д.

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

Лучший ответ: Откатился с ядра 3.10.0-693.21.1.el7.x86_64 обратно на 3.10.0-514.26.2.el7.x86_64, проблема осталась. Пробовал поставить 4.4.120-1.el7.elrepo.x86_64, проблема также сохраняется.
Откатил LVM вместе с зависимостями от 2.02.171-8 к 2.02.166-1, проблема также сохранилась.
Мягко говоря, я в замешательстве.Обновление от 13 марта: проблему для себя решил.
Я произвел чистую установку CentOS 7.4 со всеми актуальными пакетами, на ней проблему не удалось воспроизвести. Сравнил конфигурацию хранилища LVM из каталога /etc/lvm/backup, откуда выяснил, что на всех серверах metadata_format стоит в 1, а на свежей установке у хранилища стоит 2.
Что удалось выяснить - если система была обновлена с первых версий 7 ветки (точно не помню, возможно 7.1 или 7.2 изначально была установлена), то при подключении кеширования с помощью команды lvcreate без явного указания cachemetadataformat (по умолчанию стоит auto), почему-то ставилась 1 версия. А в новой установке при тех же условиях ставилась 2 версия.
Сама проблема воспроизводилась следующим образом - режим кешировния writeback, cachemetadataformat в 1. При записи на такое хранилище, процесс вел себя достаточно странно: помимо записываемых данных (которые по логике должны попадать в кеш и на диск), система производила чтение каких-то данных с HDD (в значительно больших объемах, чем велась запись), эти данные писались в кеш на SSD, а после завершения записи этот объем данных записывался обратно на HDD. Это очень хорошо видно в связке использования fio + iostat, виртуальные машины здесь не причем, проблема воспроизводится и без них.
Решение простое: отключаем кеширование и явно указываем версию мета-данных. Ниже пример команд, может кому-то пригодятся (переменные замените под себя):lvconvert --uncache ${VG_NAME}/${LV_NAME}
lvcreate --type cache --cachemetadataformat 2 --cachemode writeback -L${SIZE}G -n ${LV_NAME}_cache ${VG_NAME}/${LV_NAME} /dev/${SSD}

Худший ответ: Очень похоже, что поменялся алгоритм кеширования. Но у меня встречный вопрос, а почему бы не использовать ceph?! Ваша конфигурация как раз очень хорошо под это дело подходит, KVM/QEMU отлично работает с ceph напрямую. При этом вы получите практически моментальную миграцию виртуалок, очень гибкую работу с распределеенм хранилищем, снапшоты, бекапы, восстановление, клонирование, миграцию, забудете про lvm и raid, получите или быстрый кеш на ssd, или быстрый пул. В дополнение, практически неограниченно растущее хранилище данных и облачное хранилище, вылет одно любого сервера не скажется никак на доступности данных для виртуалок. 
Из минусов - память на каждый терабайт дисков нужно гигабайт памяти, и нужна сеть 10гб между серверами.
Настройка не займет больше 30 минут и часа чтения документации. Диски не нужно делать в raid! На каждом из серверов достаточно отвести по 8-100 гигов для рутового раздела и загрузки, все остальное нужно просто отдать в ceph.
Вопрос: Статус сервера/сайта в виде светофора/лампочки?

Лучший ответ: Как бы это делалось на крупной компании:
Нанимаем маляра, даем ему краски, он сидит и слушает работает ли сервер, как только перестал - бежит перекрашивает лампочку.
Плюсы метода: 
можно использовать обычные лампочки на 60 w
простая интеграция и масштабирование
Минусы: 
скорость отклика
Далее можно постепенно автоматизировать проект:
1 этап:  маляр (красит) + слушатель (слушает и отправляет смс маляру). Серьезно увеличит скорость отклика, но и затраты.
2 этап: создание шаблона смс сообщения. Еще увеличит скорость отклика без затрат. Понадобится специалист знакомый с ОС телефона, что бы создать шаблон, оптимально привлечь оутсорс.
3 этап. Мобильное приложение, которое слушает сервер, через микрофон и отправляет смс маляру.
......
87 этап. Arduino/rasberyPi

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

Лучший ответ: Сделайте приложение по анализу интересов например. 
Допустим в университете учится 10 000 человек.
В каких группах они состоят, какая демография, школы и прочее. А потом куча красивых графиков.
С ВК API работать просто, если:
1) сможете сделать GET или POST запрос
2) сможете распарсить XML и JSON.

Худший ответ: первое, вот -> моя программа CatPost написанная полностью на c# (wpf) которая использует оф. API (в т.ч. и ВК)
так что - на C# МОЖНО работать с API (да и наверно с любым языком ООП или Функциональным, прототипно-ориентированный и некоторых других видах)
второе, (простое) приложение для VK на c#: подробная статья
п.с. на youtube полно видео уроков - как создать (простое) приложение для работы с API VK на C#
п.с.с. на  github тоже можно найти разные и полезные решения/наработкинасколько это сложно, насколько целесообразно ?Просто(гугл/яндекс/ютуб/хабрахабр/тостер в помощь), целесообразно
Тематика:
по аналогии  Алексей Лебедев -> создать приложение, которые ищет всех в ВК, кто учится в вашем учебном заведении - показать в списке: вместе с имя/фамилия + ава + id + пол (п.с. если память не изменяет, максимум API может за раз показать список первых 5000 юзеров)
Вопрос: Полезно ли изучать React/Redux, если хочешь работать с VueJS?

Лучший ответ: Начать следует с JS и встроенного в браузер api
Фреймворк/библиотека - лишь инструмент, который лишь решает определенный круг массовых задач. Без знания основ, настанет момент, когда у библиотеки не будет готового решения/плагина - и Ваша работа встанет из-за этого.
Имея же хотя бы базовые принципы, как библиотека/фреймворк работают внутри, изучить его станет гораздо более простым делом.
По сабжу:
Зная React+Redux освоить Vue+Vuex - дело 2-3 дней
Работая с Vue возвращаться на React уже не хочется
Выводы делайте сами

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

Лучший ответ: Проверьте права на папку, вам уже написали. 
Проверьте не лежит ли в корне сайта какой-либо .htaccess файл (обычно он "скрытый").
Проверьте права на вашем index.html
Проверьте в настройках апача какие файлы он считает индексными, возможно .html для него не прописан.
Попробуйте в папку положить .htaccess с таким содержимым:  allow from all

Худший ответ: что значит не нужен сайту apache? без апача вы ни html ни php не отдадите посетителям. Смотрите errors логи апача
Вопрос: Как организовать временное хранение картинок?

Лучший ответ: Всё предельно просто.
Первое, что Вам понадобиться - это смириться с мыслью, что для подобных задач предназначен планироващик, например, CRON. Не всем это нравится, но... по факту без него довольно сложно обойтись. CRON есть на любом нормальном хостинге, не говоря уже про какие-то более полноценные варианты (VPS, Dedic. и т.д.)
У Вас есть картинки, которые привязаны (должны быть) к какому-то объявлению, которое создаётся ранее. С помощью CRON'а, вы находите объявления, которые более не ликвидны (недоопубликованы например) и по простой связи находите их картинки и удаляете всё сразу (и объявления и картинки).
Другой вариант: у Вас объявление создаётся позже, чем картинки. То есть, картинки некоторое время, до полного формирования объявления существуют в некоем вакууме. В этом случае, Вы добавляете каждой картинке поле - "дата загрузки" и выбираете все картинки, дата загрузки которых была более суток назад и которые не привязаны ни к одному объявлению (т.е. поле объявление_id == NULL).
Всё это делается по CRON'у, который запускает какой-то метод контроллера (судя по тому, что Вы используете Symfony). Обычно эту задачу решает утилита wget, которую запускает CRON. Что бы предотвратить "случайные" запуски со стороны пользователей - можно добавить проверку по GET-параметру, содержащему какой-нибудь хеш.

Худший ответ: Я бы добавил ещё 2 поля в таблицу:
 - флаг использования в объявлении (tinyint);
 - дата загрузки (timestamp).
По умолчанию при загрузке картинки значение флага равно нулю. Когда пользователь разместит объявление - единице.
Далее раз в сутки (ночью, наверное) скрипт ищет в БД все записи с флагом = 0 и датой создания более суток. Всё что найдёт - удаляет (как записи в БД, так и файлы).
Вопрос: Архитектура Unity 3D приложения для олимпиады. Как лучше?

Лучший ответ:  Мы не гос. организация, а группа энтузиастов, и хочется "сэкономить" на разработке 
И зачем вам разработка? Что, много раз вот так удавалось, без опыта такие вопросы решать?
Поищите готовые (или полуготовые) решения на гитхабе.

Худший ответ: Юнити для таких задач не особо подходит, лучше брать что-нибудь на javascript. Можно, конечно, встроить интерпретатор Lua или Python, но вы потратите кучу времени на разработку и тестирование песочницы, и непонятно тогда на кой чёрт вам юнити. Если хотите бюджетно, то лучше поищите что-нибудь другое.
Вопрос: Как вшить ключ в Windows 7?

Лучший ответ: если меняли метеринку, возможно она не поддерживает SLIC (Software Licensing Description Table)
либо не правильный образ

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

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

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