Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Есть ли смысл начинать изучать Objective C с нуля, если программист имеет iphone старой модели?

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

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

Лучший ответ:
Боты что ли? На своем сайте продавайте.

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

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

Худший ответ:
Мало информации, что б что-то советовать.
Вопрос: Как остановить UIActivityIndicatorView?

Лучший ответ:
1)  все же stopAnimation
2) outlet не установлен

Худший ответ:
Вот из-за таких проблем я всем рекомендую отказаться от использования Interface builder.
Вопрос: Онлайн обучение. Что выбрать?

Лучший ответ:
HTML Academy нормос, ITVDN  еще неплохие, но у них от курса к курсу различия, не скажу за этот itvdn.com/ru/video/html-and-css-renewed 
ну и Бутстрап курс на том же ITVDN посмотрите
дальше идете на FL.ru  и верстаете for free требуемые задания покороче
когда научитесь успевать в теч суток выслать заказчику макет или крючок - считайте, научились-наставились

Худший ответ:
Вот ТУТ самоучитель по HTML хороший. По Css можно посмотреть уроки Sorax на YouTube. Проходил сам курсы на Html Academy, мне лично не очень понравилось, все в разброс как-то.
Вопрос: Существует ли адекватное API для трейдинга?

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

Худший ответ:
Сам отвечу. Ничего подобного нету. Приходится довольствоваться lua скриптами для десктопного quik.
Все помешаны на чём то высокочастотном))
Никто не думает что трейдеру может понадобиться простое API для выгрузки все сделок или написать свои простенькие скрипты.
Надеюсь это пройдет и появится нормальный брокер с API.
Вопрос: Какую лицензию использовать для Open Source проекта?

Лучший ответ:
habrahabr.ru/post/187540
нужно помнить, что некоторые несовместимы друг с другом

Худший ответ:
BSD. 
При условии, что вы не собираетесь в своём проекте использовать чужой код, особенно GPL/GPL-like.
Вопрос: Существуют ли журналы с подпиской о Web-разработке?

Лучший ответ:
Читайте Хабру — из первых рук, к тому же, это бесплатно =)

Худший ответ:
php|architect (http://www.phparch.com/) — неплохой журнал. В сети можно старые выпуски поискать — так сможете оценить качество контента.

При подписке доступна электронная версия издания в PDF + почтой присылают бумажную версию (примерно через 3-4 недели до России доходит).
Вопрос: Насколько развито коммьюнити C#?

Лучший ответ:
А зачем ему комунити есть же мсдн
сказать честно мсдн был мой первый опыт хорошей и всепокрывающей локальной документации, в эру когда интернет стоит по 6 рублей за мегабайт 99 процентов ответов про си# я находил в мсдн

Худший ответ:
Очень мало вопросов, ответы на которые не нашло сообщество по C#. 
Так что с этим все нормально+ конечно MSDN может ответить на 99% часто встречающихся, хотя его надо научиться читать.
Вопрос: Как соединить массив с массивом (byte) в Java?

Лучший ответ:
С помощью стандартной библиотекиByteArrayOutputStream outStream = new ByteArrayOutputStream();
outStream.write(byte_1);
outStream.write(byte_2);
byte[] mass = outStream.toByteArray();
И второй вариант, byte[] mass = new byte[byte_1.length() + byte_2.length()]
System.arrayCopy(byte_1, 0, mass, 0, byte_1.length());
System.arrayCopy(byte_2, 0, mass, byte_1.length(), byte_2.length());

Худший ответ:
С помощью стандартной библиотекиByteArrayOutputStream outStream = new ByteArrayOutputStream();
outStream.write(byte_1);
outStream.write(byte_2);
byte[] mass = outStream.toByteArray();
И второй вариант, byte[] mass = new byte[byte_1.length() + byte_2.length()]
System.arrayCopy(byte_1, 0, mass, 0, byte_1.length());
System.arrayCopy(byte_2, 0, mass, byte_1.length(), byte_2.length());
Вопрос: Windows 7 теряет сеть после выхода из сна?

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

Худший ответ:
Как вариант, если не используется IPv6, то в свойствах адаптера отключить его (протокол) и можно еще задать IP/Маску/DNS вручную.
Вопрос: Есть такой учебник по JS где не уделяется внимание основам?

Лучший ответ:
Так а что непонятно?
1. Конструкция имеет вид obj.dd.on(arg1, arg2);, т. е. вызов функции obj.dd.on() с двумя параметрами: строкой 'click' и функцией function (event) { ... }. Да, одна функция передаётся аргументом в другую, вроде ничего страшного.
2. Передаваемая функция состоит из двух операторов (statements):
2.1. Вызвать функцию $() с параметром this, у объекта-результата вызвать функцию toggleClass() с параметром 'active'.
2.2. return false; — очевидно.
Как уже сказали: если вас повергает в шок такая конструкция, то вам всё-таки стоит почитать учебник с очевидностями.

Худший ответ:
Парень, не стоит заморачиваться из-за таких вещей, просто бери книгу и изучай. Почитай о особенностях языка и об окружение в котором он выполняется, пойми зачем он вообще нужен и какие просторы для творчества он для тебя открывает и начинай творить :) И да, не смотри в сторону jQuery - сейчас он тебе не нужен.
// Для начала можно начать с Хорошая книжеца для начинающих изучать javascript
Вопрос: Кто объяснит новичку рекурсию?

Лучший ответ:
У тебя получился бесконечный цикл и скорее всего ты там получаешь ошибку, связанную с памятью.
В функции тебе нужно указать условие, при котором будет вызвана рекурсия:function myCount ($i, $l = 5){
 if($i>=$l){
  echo $i.' <br>';
  $i++;
  myCount($i, $l);
 }else{
 echo 'Посчитал от '. $i . ' до '. '$l';
 }
}

myCount (1, 5);

Худший ответ:
Удалить вызов самой себя в теле функции?
Вопрос: Дефрагментация диска на C/C++, куда копать?

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

Худший ответ:
В любом случае - читать документацию на целевую ФС. Потом - проверка одного файла на фрагментацию. Думаю, дальше будет более или менее очевидно.
Вопрос: Стоит ли написать статью о оптимизации TCP и как проверять скорость линка?

Лучший ответ:
Конечно! Бо уже достали глыпые новости, посты о пиаре…

Худший ответ:
Очень интересно! Теперь не буду ночью спать, буду ждать… :)
Вопрос: Как записать в самое начало строки?

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

Худший ответ:
так же как и прошлой вашей теме ,только теперь интервал нужно сделать//отсчет с нуля
if(c>=1 && c<=4){
считываем в какую-нибудь ненужную переменную
}
else считываем в нужную
Вопрос: Как создать массив значений chekbox и отправить его по ajax?

Лучший ответ:
Всё не так страшно, как вам кажется.
В данном примере всё корректно отправится на сервер по нажатию на "Отправить".
Так же для примера прикладываю как я бы отправлял форму на сервер через AJAX.<form method="POST" action="/" id="form">
    <label><input type="checkbox" name="svois[]" class="svois" value="7"> Высота</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="8"> Количество</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="9"> Назначение</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="10"> Способ изготовления, метод производства</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="11"> Диаметр</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="12"> Вид обработки</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="13"> Тип покрытия</label><br/>
    <label><input type="checkbox" name="svois[]" class="svois" value="14"> Форма</label><br/>
    <input type="submit" value="Отправить">
</form>

<script>
$(function(){
    var form = $('#form');
    form.on('submit', function(e){        
        e.preventDefault();
        
        $.ajax({
            type: form.attr('method'),
            url: form.attr('action'),
            data: form.serialize(),
            success: function(result)
            {
                console.log( result );
            }
        });
    });
});
</script>

Худший ответ:
<input type="checkbox" class="svois" value="7"><label> Высота</label>
<input type="checkbox" class="svois" value="8"><label> Количество</label>
<input type="checkbox" class="svois" value="9"><label> Назначение</label>
<input type="checkbox" class="svois" value="10"><label> Способ изготовления, метод производства</label>
<input type="checkbox" class="svois" value="11"><label> Диаметр</label>
<input type="checkbox" class="svois" value="12"><label> Вид обработки</label>
<input type="checkbox" class="svois" value="13"><label> Тип покрытия</label>
<input type="checkbox" class="svois" value="14"><label> Форма</label>

<script>
    var tagsArray = [];
    $(".svois:checked").each(function(index) {
        tagsArray.push($(this).val());
    });

    $.ajax({
        type: "POST",
        url: "ajax1.php",
        data: {"svois": tagsArray},
        success: function(onecat5){
            $('#onecat5').html(onecat5);
        }
    });
</script>
это не решение, а примерные поправки, которые нужно учесть
Вопрос: Как запретить pulseauido изменять уровень микрофона ?

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

Худший ответ:
Вот здесь всё очень красиво изложено: https://nzeid.net/pulseaudio-disable-auto-volume
Можно не вникая скопипастить первые три комманды. Но если помудрить с этими значениями, то можно гибко настроить под себя.
Вопрос: Стоит ли хранить массив в бд?

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

Худший ответ:
Какую базу данных Вы используете?
Если структура данных не реляционная в проекте посмотрите в сторону mongodb.
MongoDB является документ-ориентированной базой данных, формат каждого документа коллекции представляет из себя расширенную спецификацию JSON.
Использование такого решения позволит Вам:
1. Не заморачиваться с сериализацией / десериализацией данных.
2. Предоставит возможность удобным способом получить, например, все записи у которых в массиве имеется или отсутствует та или иная ссылка.
3. Позволяет хранить структуру данных любой вложенности массивов и простой выборки из нее, а так же удобно производить обновление данных в коллекции.
4. Каждый документ строго не привязан к структуре к структуре коллекции, как, например, в реляционных бд, таких как MySQL (все строки обладают одинаковым набором данных (т.е нет возможности в одной таблице хранить некоторые записи с одним набором полей, а во второй с другим)). Может быть как плюсом так и минусом, все зависит от конкретных требований к архитектуре и непосредственно хранимых данных.
Вопрос: Не запускается скрипт при запуске Linux Ubuntu?

Лучший ответ:
Зачем городить rc.local?
Ведь есть update-rc.d  defaults — скрипт копируете в /etc/init.d/

Худший ответ:
Еще проследите, что ваш runlevel — multiuser, ну то есть не 1 )
Вопрос: В чем недостатки Java для веб-разработки?

Лучший ответ:
Забавно читать ответы.
Когда читал Философию Java, автор высоко оценивал python. И не с проста. Как и Java, у Python свои плюсы.По производительности что Python, то и Java примерно равны. Python имеет "нативный" byte-code, если так можно выразиться (не смотря на то, что его портировали и на CIL, и на JVM, и на сам Python). Так что здесь паритет.По удобству  зависит от проекта и задач. Если цель - сделать как можно быстрее, то Python явно удобнее. Ибо можно набросать прототип в интерактиве, немного подправить его и вауля - проект "готов". Если цель надёжность - наш выбор Java: статическая типизация и компилируемость выявляет сотни ошибок ещё до запуска приложения.
Стоит заметить, что вэб в Java развит очень сильно. Причём настолько, что он просочился до клиентских вэб-приложений (и умер лет 10 назад), хотя backend всё равно в разы сильнее. Что это значит? Это значит, что для Java есть множество отличных фреймворков, ориентированных на web. Каноничная реализация ООП позволяет использовать паттерны банды четырёх "из коробки". Интерфейсы, если ими уметь пользоваться, решают. Python же не создавался как web-движок, а создавался просто как удобный инструмент для быстрого программирования как прикладных, так и теоретических задач. В этом помогает всё - и сахарный синтаксис, и крутейшие итераторы, и пресловутый интерактивный режим, и невероятные slice'ы, и неплохие лямбды, и красивый код. RoR, если говорить о языке фреймворка, так же сильно похож на Python, но магии в нём много больше. Но Python-приложения тяжко отлаживать. Можно пару лет вести баг, который окажется из-за того, что мы не проверили возможность преобразования объекта к строке в аргументах. Динамическая типизация, причём очень хардовая из всех, наверное, это и дар и проклятие.
Собственно, если вопрос стоит "стоит ли изучать", то да, конечно стоит. Как и Java, Python - мультипарадигмальный язык, и те практики, которые Вы изучите в Python несомненно улучшат код в Java.

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

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

Худший ответ:
Если мне не изменяет память, то так делать вообще нельзя - при втором вызове, PHP станет плеваться ошибками про повторное определение существующей функции.
Но, всегда можно использовать замыкания:public static function() {
  //код

 $funct = function() {
     //код
  }
}
Вопрос: Как хранить файлы в uploads на отдельном облачном хранилище?

Лучший ответ:
Ну, так, чтобы совсем не сохранялось - не уверен, что получится. 
https://wordpress.org/plugins/amazon-s3-and-cloudfront/ - по-идее, этот плагин должен уметь подобное, но я не тестировал.
На самом деле если заменить apache2 на nginx, правильно его настроить, а в теме настроить вывод изображений нужными размерами (а не "сжимать" через css), то врядли вы заметите нагрузку на WP в сравнении с удалённым хостингом.
Если проект действительно большой, изображений и пользователей очень много, то я бы смотрел в сторону не VPS, а VDS. На одном сервере живет сайт, второй отдаёт всю статику, а папка uploads подключается симлинком. Но и это немного не то, так как не решается проблем - повысить производительность не сделав upgrade сервера.
Рекомендую всё-таки настроить nginx & php5-fpm для корректной работы с wordpress.
А вообще идея интересная, если не найдется ничего подобного, возможно, как-то сяду напишу в свободное время - должно взлететь:)

Худший ответ:
Нашлось решение, спустя несколько лет). Сам не пробовал но другии потестили.
onwp.ru/question/kak-sdelat-tak-chto-by-izobrazhen...
Вопрос: Как правильно начать предоставлять клиентам хостинг?

Лучший ответ:
При вашем бюджете чуть более 150$ вам правильно советуют взять ресселерский аккаунт у действующего хостинга и находить клиентов за %. Но если уж очень хочется самому, попробую уложить минимум для шаред хостинга на ваш бюджет.
1) Идем к любому хостеру и арендуем Dedicated Server, один из самых дешевых, например такой: 
Supermicro DT-E3 	Xeon E3 (3.1 GHz, 4 cores) 	4 GB 	2 × 500 GB, SATA 	$130.00
ну плюс-минус такая конфигурация, данные из гугла, брал тут
2) Покупаем панель для начинающих хостеров, так как сами админить сервер вы не потянете, например такую и просите поддержку хостера где брали сервер установить ее.
3) Покупаете домен, заходите в панель, привязываете его к серверу.
4) Создаете первый хост для себя и размещаете там свой сайт с рекламой и ценами.
5) Ищите клиентов, выдаете им шареды через панель (нажать пару кнопок)
Это единственный вариант, вписывающийся в ваш бюджет.

Худший ответ:
Сейчас такое количество хостеров, хороших и дешевых, вы прежде чем сервер брать подумайте, ваш хостинг люди будут покупать почему? Вы им предложите что? Или вы друзей наберете?  
Покупка и настройка сервера относительно простая задача, вам клиентов как-то привлекать и удерживать нужно, это куда сложнее.
Как вы планируете оказывать суппорт, если в практике вы ноль? Без поддержки клиентских сайтов хостинг 99% клиентам не нужен. Если будете учиться в процессе, от вас убегут, еще и репутацию испортят. У вас конкурентов вагон просто. 
Поработайте для начала суппортом в нормальной хостинг-компании, изучите процессы, наберитесь опыта,  поработайте реселлером, научитесь находить клиентов и суппортить их, составьте бизнес-план, посчитайте затраты, потом уже открывайте свое дело. 
Или не начинайте. Пока подход к бизнесу у вас легкомысленный. Готовых гайдов никто не даст. На вопрос "как работать с регистратором" есть ответы в google.
Вопрос: Проблема с установкой gulp?

Лучший ответ:
Правило: 
все, что c --global, ставится с sudo npm install ..., 
все, что без --global, ставится с npm install ...,

Худший ответ:
npm ERR! Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/gulp'
npm ERR! Please try running this command again as root/Administrator.Что бы это могло быть? Alert the Queen!
Вопрос: Какие посетить курсы по веб-аналитике?

Лучший ответ:
Если хотите за деньги, то попробуйте myacademy.ru
Сам там не занимался, но преподает бывшее начальство, эти люди меня в свое время многому научили.
По Google Analytics есть англоязычные гугловские курсы:
Digital Analytics Fundamentals: https://analyticsacademy.withgoogle.com/course
Подготовка к GA individual qualification: https://support.google.com/analytics/?hl=en#
Первый посовременнее(отктябрь 2013) и попроще. И больше связан с веб-аналитикой(нежели просто с настройками Google Analytics). Второй был покруче(я проходил год назад в рамках подготовки к Individual Qualification).
Вообще, самый верный способ научиться веб-аналитике(на мой взгляд)-это поработать в каком-нибудь агентстве интернет-маркетинга или интернет-рекламы. Многое зависит от Ваших целей: хотите ли Вы фрилансить, или сколотить карьеру веб-аналитика, работая в офисе

Худший ответ:
На торентах устарелые курсы 2012 года. Помимо онлайн-курсов есть вебинарные формы курсов, у Специалиста, например, если вы не в Москве.
Вопрос: Как настроить всплывающее окно при подключении к Wi-Fi?

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

Худший ответ:
по поводу всплывающего окна вы не правы, видео не фейк, на устройствах IOS, подключаешься к рекламным точкам доступа, выскакивает то самое всплывающее окно, в котором перенаправляет на страничку с рекламой, а у меня проблема стоит в обратном, нужно чтобы при подключении открывался браузер Safari, а далее перенаправлял на страничку, вот такие дела, на других ОС подобного нет, только на IOS.
Вопрос: Перенос option между двумя select?

Лучший ответ:
Нужно option писать и в правом селекте и в левом.
Только в одном селекте они style=«display:none».
При переносе пункта в одном селекте делаем jQuery('').hide(), а в другом jQuery('').show().
И работать оно будет гораздо быстрее, так как не нужно будет DOM насиловать.

Худший ответ:
Оптионы еще и сортируются по имени, а value — это циферки. То есть, value идут не по порядку. Я об этом забыл.

А index записывать не получается, так как запоминается только последний index и если я перекину налево 5 элементов и начну вставлять их по этому индексу — они будут друг за другом.

Сделал циклом вот так (в option добавлен параметр data-num='номер по порядку в списке'):
	$('#select1 option').live('click', function() {
		var html = this.outerHTML;
		$(this).remove();

		$('#select2').append(html);
	})
	$('#select2 option').live('click', function() {
		var html = this.outerHTML;
		var index = $(this).data('num');
		$(this).remove();
		
		inserted = 0; // Задаем индикатор вставки оптиона
		$('#select1 option').each(function() {
			var ind = $(this).data('num');
			if (index < ind) {
				$(html).insertBefore(this);
				inserted = 1; // Оптион был вставлен на место
				return false;
			}
		})
		if (inserted == 0) {$('#select1').append(html);} // Если не был вставлен - значит он 
                               // последний в текущем списке, засовываем его в конец
	})


Лучше пока ничего не придумал, и эта конструкция работает отлично. Спасибо за помощь!
Вопрос: Как сортировать два массива по одному из них в C++?

Лучший ответ:
Сделать вектор пар std::vector<std::pair<int, char>>, а в std::sort передавать собственный компаратор, который будет сравнивать только первые элементы:vector<pair<int, char>> vec;
sort(vec.begin(), vec.end(), [](pair<int, char> a, pair<int, char> b){return a.first < b.first;});

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

Лучший ответ:
document.createElement()подробнее тут

Худший ответ:
Вот как-то так
Вопрос: [Оффтопик] Есть ли в досягаемой природе плоские телевизоры с &quot;телевизионным&quot; соотношением сторон?

Лучший ответ:
От 4:3 уже все уходят — смысла нету — делать огроменные кваратные телевизоры не интересно — осталось дождаться когда эфирное ТВ на 16:9 перейдет… Хотя, о чем это я, разве наши каналы еще кто-то смотрит?)

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

Лучший ответ:
На практике в больших компаниях среди квалифицированных специалистов.

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

Лучший ответ:
1. Нет, но цены лучше всё же не писать, а договариваться с каждым индивидуально. Максимум можно указать стоимость часа работы.
2. На том же fl есть статья на тему: https://www.fl.ru/articles/724/kak-sostavit-dogovo...

Худший ответ:
Ну дак вот, если я на этом сайте опишу цены своих услуг без наличия ИП, подводные камни будут меня ожидать какие-нибудь? 
Да есть неприятный подводный камень. Без ИП вашему Заказчику придется заплатить на 28% больше. Помимо налога 13%. 28% это взносы ПФ, МедСтрах, СоцСтрах. С ИП бы этого не было.