Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как решить проблему с корзиной на PHP?

Лучший ответ:
Вариант 1<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>"  size="1" class="form-cart" style="display:none;">
<select class="countOrders" value="<?php echo $product['quantity']; ?>" >
  <?php for($i=1; $i<=20; $i++):?>
			<option value="<?=$i?>" <?=($i == $product['quantity'] ? ' selected="selected"' : '' )?>><?=$i?> шт</option>
	   <?php endfor;?>
</select>
<span class="input-group-btn">
	<button type="button" data-toggle="tooltip" class="btn btn-danger"  onclick="cart.remove('<?php echo $product['key']; ?>');"><i class="fa fa-times-circle"></i></button>
</span>

Гдето внизу подключить
<script>
$( document ).ready(function() {
	$('.countOrders').on('change', function(e){
		$(this).prev().val( $(this).val() );
		$('#cart-form2').submit();
	})
});
</script>
Вариант 2<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>"  size="1" class="form-cart" style="display:none;"/>
<select class="countOrders" value="<?php echo $product['quantity']; ?>"  onchange="$(this).prev().val( $(this).val()); $('#cart-form2').submit(); " >

  <?php for($i=1; $i<=20; $i++):?>
			<option value="<?=$i?>" <?=($i == $product['quantity'] ? ' selected="selected"' : '' )?>><?=$i?> шт</option>
	   <?php endfor;?>
</select>
<span class="input-group-btn">
	<button type="button" data-toggle="tooltip" class="btn btn-danger"  onclick="cart.remove('<?php echo $product['key']; ?>');"><i class="fa fa-times-circle"></i></button>
</span>
<code>

Худший ответ:
Вариант 1<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>"  size="1" class="form-cart" style="display:none;">
<select class="countOrders" value="<?php echo $product['quantity']; ?>" >
  <?php for($i=1; $i<=20; $i++):?>
			<option value="<?=$i?>" <?=($i == $product['quantity'] ? ' selected="selected"' : '' )?>><?=$i?> шт</option>
	   <?php endfor;?>
</select>
<span class="input-group-btn">
	<button type="button" data-toggle="tooltip" class="btn btn-danger"  onclick="cart.remove('<?php echo $product['key']; ?>');"><i class="fa fa-times-circle"></i></button>
</span>

Гдето внизу подключить
<script>
$( document ).ready(function() {
	$('.countOrders').on('change', function(e){
		$(this).prev().val( $(this).val() );
		$('#cart-form2').submit();
	})
});
</script>
Вариант 2<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>"  size="1" class="form-cart" style="display:none;"/>
<select class="countOrders" value="<?php echo $product['quantity']; ?>"  onchange="$(this).prev().val( $(this).val()); $('#cart-form2').submit(); " >

  <?php for($i=1; $i<=20; $i++):?>
			<option value="<?=$i?>" <?=($i == $product['quantity'] ? ' selected="selected"' : '' )?>><?=$i?> шт</option>
	   <?php endfor;?>
</select>
<span class="input-group-btn">
	<button type="button" data-toggle="tooltip" class="btn btn-danger"  onclick="cart.remove('<?php echo $product['key']; ?>');"><i class="fa fa-times-circle"></i></button>
</span>
<code>
Вопрос: Настройка SSD для оптимальной работы с Windows?

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

Худший ответ:
В свое время делал выборочно по этой инструкции:
my-ssd.ru/ssd_guide
Для Windows 8.1 никакой оптимизации для SSD не требуется.Как понял, к статье требуется комментарий:
3. Отключать файл подкачки нежелательно. В крайнем случае перенести его на HDD, что снизит скорость работы.
4-6 пункты сомнительны. 
7, 9, 10 - не отключать.
11. С папкой temp - тоже самое, что и с файлом подкачки. Просто замедлит работу.
Информация к размышлению.
www.outsidethebox.ms/14432
Вопрос: Где используется SQL?

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

Худший ответ:
Там, где есть необходимость в реляционной модели данных.
https://ru.wikipedia.org/wiki/SQL
Скачайте любой фреймворк с ORM.
Вопрос: Oracle SQL, PL/SQL

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

Худший ответ:
граббер, sql

умеете писать на чистом sql — найдете работу
Вопрос: Открытие модального окна?

Лучший ответ:
localStorage или document.cookie.
1. Проверяем наличие значения по ключу (сохранённый timestamp)
2. Если нет — записываем timestamp (новый сохранённый timestamp)
3. Запускаем таймер на 1800 - (текущий timestamp - сохранённый timestamp)просто читает главную и бац
За что вы его так не любите?..  Давайте воткнём audio с громким звуком. Будет круто:)

Худший ответ:
Для работы с cookie я использую вот это https://code.google.com/p/cookies/
А дальше на каждой странице добавляете код:function check(interval){
	var first_login_time = $.cookies.get('first_login_time');
	var now = new Date();
	var permited_time = 1000 * 60 *3; // 3 минуты

	if (first_login_time == null){
		// Чувак зашёл первый раз
		$.cookies.set('first_login_time',now.valueOf());
	}
	else{
		if (now - first_login_time > permited_time){
			/*
				Тут показываешь своё окно
			*/

			// Чтобы окно больше не показывалось:
			var new_first_login_time = new Date();
			$.cookies.set('first_login_time',new_first_login_time.valueOf());
			
			// Если раскомментировать следующую строчку - на этой странице окно больше не будет показано
			// clearInterval(interval);
		}
	}
}

var interval = setInterval(function(){
	check(interval);
}, 1000);
Вопрос: Как обойти кэширование в браузере?

Лучший ответ:
Есть 2 способа:
1. Изменять название файла подключаемого скрипта
Например был:<script src="scripts/libs-20150101223055.js"></script>
Стал такой:<script src="scripts/libs-20150211093711.js"></script>
2. Проще, без переименования:
Был:<script src="scripts/libs.js?v=1"></script>
Стал:<script src="scripts/libs.js?v=2"></script>

Худший ответ:
Уже собаку на этом съел. Все вышеизложенные решения не решают проблему комплексно,  конечно, если вы получаете свои файлы это подходит, но не удаленных файлов ( некоторые файлы кешируются на стороне провайдера и даже гугла, к примеру лента сиэнэн проходит а лента иная нет, так работают местные всякие надзоры, в том числе и в европе восточной, цензура).1 +array_list[i].sd+"&demon="+new Date().getTime()+"
Это лучше чем .........scripts/libs-20150211093711.js
Комплексно решается так
Меняется расширение на scripts/libs-20150211093711.php
Вопрос: PHP. Древовидная форма?

Лучший ответ:
Есть статья "Каскад раскрывающихся списков".

Хотя название не принципиально. Тут или на php с перезагрузкой страницы или на JS. И то, и то довольно легко сделать стандартными инструментами.

Худший ответ:
Кстати, если кому интересно — на .NET есть что-то похожее — www.asp.net/ajax/ajaxcontroltoolkit/samples/CascadingDropDown/CascadingDropDown.aspx
Вопрос: Создали похожий домен и уводят клиентов, как бороться?

Лучший ответ:
Завести новый домен.
Купить еще алиасов доменов.
Зарегистрировать ТМ.
И не париться.

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

Лучший ответ:
Смотри в сторону NodeJS + Redis (Pub/Sub)

Худший ответ:
WebSockets, для PHP есть реализация, называется Ratchet
Вопрос: Какую книгу по java купить для новичка?

Лучший ответ:
Вот Эккеля, Хорстмэна хорошо. 
Шилдт — справочник больше какой-то.

Худший ответ:
       Я бы еще посоветовал присмотреться к книге К. Сьерра, Б. Бейтс - Изучаем Java (Мировой компьтерный бестселлер)(2012). Для новичка очень неплохая и легко читаемая книга.
       При выборе между Хорстманном и Шилдтом, то я думаю что Хорстманн будет немного эффективней и проще читаться.
       Если же ты уверен, то можешь скачать обе книги и сравнить, а потом на основе сравнения электронных копий выбрать книгу, которая действительно могла тебе быть незаменимым помощником на долгие годы.
Вопрос: При создании mvc(php) все стили из head переместились в body, в чем может быть проблема?

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

Худший ответ:
Я уже решил, всё дело в кодировке, спасибо)
utf-8 без bom
Вопрос: Хранение данных приложения C# без БД. Что выбрать?

Лучший ответ:
А почему нельзя использовать хотя бы SQLite? Легковесно, блокнотом не изменишь.

Худший ответ:
Храните в плоских файлах. Шифруйте их для защиты от редактирования блокнотом.
Вопрос: Безопасность и конфиденциальность

Лучший ответ:
Я думаю тут на 5 статей хватит информации.

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

Лучший ответ:
Слышу звон, не знаю где он))
> И вообще для чего он нужен?
Та особо ни для чего. Если пишете desktop приложение - может сэкономить вам человеко-год работы (а может и больше), пустяки в общем.
> Где применяется?
Все, что написано под винду - прямо, или косвенно его использует.
> Просто можно ведь просто писать всё на С++ или нет?
Конечно можно)) Например твоя собственная реализация оконного менеджера бесспорно будет лучше, чем у нейтивная для каждой ОС.
> подскажете литературу или что-то ещё.
Официальный мануал чем не устраивает?
> Месяц просто в никуда прошёл.
За месяц выучить WinAPI... Это возможно, по такой же схеме, как и С++ за 21 день. Вам понадобится эликсир молодости и машина времени.

Худший ответ:
Берете свои приложения "написанные на С++" и переписываете на WinAPI. Тестируете работу на голой WinXP в виртуалке, сравниваете переносимость и требовательность к библиотекам. Потом сравниваете размер и понимаете зачем WinAPI нужен. Заодно учите те части WinAPI, которые вам нужны.
Только учтите, годный GUI на WinAPI писать тяжко, единственный минус.
Вопрос: Курсы для освоения программирования?

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

Худший ответ:
Бытует мнение, что если новичок приходит на форумы с подобными вопросами - у него ничего не получится. Доля истины в этом есть. Смотрите, самообучение "не идет", значит вы скорее всего не уверенны в оправданности временных и умственных затрат на него. Тоесть, не до конца определились, надо вам программирование или нет (могу ошибаться). Из курсов очень внушительно смотрятся https://teamtreehouse.com/, но за качество не ручаюсь. Вроде бы помогают с работой (в америке, конечно).
Вопрос: Помогите с выбором провайдера в СПб (ухожу от Interzet)

Лучший ответ:
sknt.ru
Те же 3600 в год, правильный ip, перебои со связью достаточно редки.

Худший ответ:
Ну и про ИнтерЗет:
dobriy-samarit.livejournal.com/180035.html
С приходом нового ген. директора там шапито. И будет только хуже.
Вопрос: Как объяснить программисту принцип единой ответственности?

Лучший ответ:
Нужно объяснять на примерах. Покажите, почему деление на слои хорошо, чем оно удобно, — на конкретном примере. Покажите, насколько удобнее тестировать отдельные классы, в которые можно сделать dependency injection стаба или мока. Да куча примеров есть, вот на них и показывайте, желательно применительно к вашему конкретному случаю.

Людям намного проще сначала понимать конкретные вещи а уже потом через них осознавать более абстрактные принципы.

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

Лучший ответ:
Хотите собирать сами? gentoo выход)

Худший ответ:
Оба репозитория имеют смысл:add-apt-repository ppa:kubuntu-ppa/ppa
для пакетов, которые считаються актуальными для вашей установки сообществом Kubuntuapt-add-repository ppa:kubuntu-ppa/backports
для адаптации более свежих пакетов Kubuntu к вашей установке
Хотя нафига выбирать из репозитроиев, если вас вообще расстраивает бардак в рядах Ubuntu - не понимаю. Я по тем же причинам першёл на Arch Linux и доволен. Для тех кому  надо постабильнееи попричёсанyее -  есть Manjaro. Для упрощения первой установки - Aтtergos, NetRunner, Evo/Lution
Вопрос: Какая музыка эффективна для сопровождения работающего программера?

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

Худший ответ:
Лучшая музыка... её отсутствие...
Вопрос: C# Алгоритм Штрассена перемножения матриц. Медленно работает

Лучший ответ:
алгоритм не смотрел, но уже чисто по коду:
1. int[,] mas — если нужна скорость, то юзайте [][] или ещё лучше просто плоский массив
2. public int n{get;set;} — auto property — зло

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

Лучший ответ:
Вариант 1: при отдаче файла выдавать заголовок 
Content-Disposition:attachment; filename=имя_вашего_файла
Вариант 2: генерируйте файл динамически, сохраняйте на сервере, делайте на него редирект. Если место экономите - можете удалять перед этим файл, который был сгенерирован в прошлый раз.
Вариант 3: если вариант с отдачей файла по прямой ссылке как в варианте 2 не устраивает, можно сделать немного по-другому. Вы сначала генрируете ссылку, в конце у которой будет рандомное имя, например:
path/to/script.php/random_file_name.txt
В конфиге сервера с помощью Rewrite убираете последний сегмент.  Ну Браузер предложит сохранить файл именно с тем именем, которое идет в урле после последнего слэша.

Худший ответ:
md5(microtime()) устраивает такое?
Вопрос: Одностраничный сайт с паралакс эффектом

Лучший ответ:
github.com/Prinzhorn/skrollr
это вроде бы сейчас самая лучшая библиотека для подобного скролла

Худший ответ:
Что мешало разобрать сайт и повыдергивать библиотечки от туда? не ковырял но с первого взгляда там на JQuery все сделано. ну и в обще это шаблон вордпресса — разложить его по кусочкам вроде не проблема совсем.
Вопрос: Вёрстка плиток с использованием свойства flex. Как сверстать три колонки?

Лучший ответ:
Flexplorer
Почитайте про flex и его параметры тут или тут например. Примеры там есть, думаю найдёте что нужно.

Худший ответ:
В примере вообще жесть какая то творится, в лисе по крайней мере...
Сделай нормальный пример и можно будет подумать.
UPD:
Ага, нашел проблему:
height: 100vw;
vw - это ширина вьюпорта, у вас применена к высоте. Надо vh, и все встанет нормально
Вопрос: Как создать класс с «глобальными константами»?

Лучший ответ:
abstract class GlobalConfig{
	const ROOT = "DOCUMENT_ROOT";
	public function root(){
		return $_SERVER[self::ROOT];
	}
}
class A extends GlobalConfig{
	public function ttt(){
		return parent::root();
	}
}

$a = new A();
echo $a->ttt();
Вот тебе! Дальше, делай тоже самое, для remote_addr, http_host,http_referer etc. 
А если серьезно, выше верно написали, почитай больше про ооп, потом пиши) А то ты пытаешься писать процедурно только с использованием классов :)

Худший ответ:
Нашёл одно интересное решение.
Вы правы - кто говорил, что я фактически не использовал ООП подход, т. к. даже не создавал объекты. Вот, как задача решается с применением синглтона:class Configurator
{
    static private $_instance = NULL;
    private $ROOT;
    
    private function __construct()
    {
        $this->ROOT = $_SERVER['DOCUMENT_ROOT'];
    }
    
    private function __clone()
    {
    }
    
    public static function getInstance()
    {
        if (is_null(self::$_instance)) {
            self::$_instance = new self;
        }
        return self::$_instance;
    }
    
    public final function __get($name)
    {
        return $this->$name;
    }
}
Далее пишем $config = Configurator::getInstance() и получаем нужные значение обычным способом: $config->ROOT.
Изменить значение переменной извне нельзя, так что это именно то, что я хотел, аналог констант в процедурном интерфейсе. И без создания лишних объектов.
Вопрос: Оптимальный на ваш взгляд дистрибутив linux для десктопа?

Лучший ответ:
Поставьте не последнюю убунту, 10.10 например, она всё ещё хороша.

Худший ответ:
Debian Stable (а раз десктоп — можно и Experimental)
+ Gnome :)

Во многих случаях Debian стабильнее, чем Ubuntu.
Вопрос: Тяжелый выбор средств виртуализации?

Лучший ответ:
Если «несколько» — это в пределах десятка и это число не будет увеличиваться, то самое простое, строить на платформе Linux KVM. Если есть перспектива увеличения числа виртуалок свыше десяти и дальше, то правильней будет XEN.

Для KVM'a есть неплохие готовые дистрибутивы типа Proxmox, где всё есть из коробки. Со Xen'ом сложнее, но это плата за мощность… Проприетарные «бесплатные» решения не советую. Там вы очень быстро, не успев тольком начать упрётесь в ограничения и/или неудобства бесплатной версии. А более-менее рабочий набор инструментов VMWare уже стоит денег. 

Если бюджет позволяет, то конечно эффективней купить VMWare Server. Там много реально удобных, полезных и вкусных фишек которые весьма и весьма облегчают жизнь…

Худший ответ:
Откуда информация про 8 Гб?
technet.microsoft.com/en-us/library/ee405267(WS.10).aspx
Насколько я знаю сам esxi бесплатен. Платными являются плюшки в виде live migration, HA, кластер итд.
Вопрос: Как усилить громкость голоса на записи?

Лучший ответ:
В общем случае вам будут нужны плагины equalizer, gate и compressor.
Особо морочиться смысла нет, т.к. усиление оцифрованного сигнала всегда влечёт за собой усиление шума. А если голос очень тихий, то результат будет очень шумный. Так что схема такая:
1. Поднять общую громкость записи
2. Опустить в эквалайзере те частоты, которые не передают звук голоса. Это примерно до 80 Гц и от 10 000. Конкретные значения зависят от харктера голоса и от шума. Аккуратнее с частотами выше 1000 гц, т.к. в них содержится информация, из которой мы вычленяем согласные. 
2а (Опционально). можно поднять первые несколько гармоник основной частоты голоса. То есть, если человек бубнит и бОльшая часть мощности сигнала его голоса находится в районе, скажем, 250 Гц, то можно поиграться с пиками 250*n Гц, где n - целое число. Иногда облегчает понимание речи. Современные эквалайзеры часто имеют визуализацию частот, так что нахождение пиков это элементарно смотрение в экран.
3. При помощи гейта убрать шум между звуками речи, если этот шум заметно тише самой речи. Гейт пропускает сигналы, громкость которых выше определенного порога. Продвинутые варианты гейтов имеют гибкие настройки, позволяющие "забегать вперёд" и пропускать тихий сигнал, который заведомо скоро станет громким. Так можно не потерять тихие начала слов, например. Также продвинутые гейты могут смотреть только на на выбранный диапазон частот, а это _очень_ облегчает шумоподавление.
4. Компрессор (опционально) - динамическая обработка. Если после вышеописанных обработок сигнал слишком скачет по громкости, можно причесать его компрессором, выставив компрессию ~4 к 1. Можно поиграться и с другими параметрами компрессии, например, со скоростью реакции. Тоже может улучшить артикуляцию.
Всё, что нужно, есть из коробки в Reaper. Первые 30 дней бесплатно. 
Пункты 2 и 3 совместно в принципе можно заменить на динамическую эквализацию. В Reaper это плагин ReaFIR в режиме Substract. Сначала даёте ему послушать несколько секунд шума из вашей записи, он построит профиль шума и вычтет его из исходного сигнала. Работает хорошо, если на частотах, которые занимает голос, мало шума.
Но есть вариант попроще, который может прокатить:
Есть такой чудесный продукт - Isotope RX - набор плагнов для восстановления сигналов. Куча хитроумной математики, которая творит чудеса. Интерфейс элементарный, теории знать не надо. 
1. Качаете пробную версию RX
2. Качаете Reaper.
3. В Reaper кидаете свою запись и обрабатываете плагинами RX. 
4 ...
5. Профит!

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

Лучший ответ:
Вставляете кабель одной стороной в iPad, а другой в Mac.
Запускаете на iPad Safari и открываете нужный сайт по IP компьютера.
Запускаете на Mac Safari и в меню Разработка выбираете подключённый iPad и у вас откроются инструменты разработчика, натравленные на iPad.
Второй вариант — запускаете iOS Simulator на Mac и открываете нужный сайт по IP компьютера.

Худший ответ:
Как вариант - воспользуйтесь расширением Ripple, не надо ничего усложнять ;)
Вопрос: [jquery] keyup + onchange?

Лучший ответ:
Добавить blur и focus?

Худший ответ:
Добавить blur и focus?
Вопрос: Google map — как изменить язык?

Лучший ответ:
пример - нужно при подключении скрипта указать get параметр language <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&language=ja"></script> список языков - https://spreadsheets.google.com/pub?key=p9pdwsai2h...

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

Лучший ответ:
Да бросьте дурное. JS уже никому не нужен. Он всего-лишь единственный выбор для разработки под web-браузеры, что вынуждает фронтэндщиков его использовать. А наличие всяких cordova/node-webkit всего-то игрушки на которых фронтэдщики пытаются делать что-то кросплатформенное. node.js же это просто v8 отдельно от браузера что бы всякие чуваки могли писать свои тулзы для сборки ресурсов для фронтэнда, чатики, реалтайм системы, демоны...
Короче пустое это, эта ниша явно пуста и там нету заказов/проектов/клиентов/компаний... Достаточно просто на гитхабе посмотреть.

Худший ответ:
Хочешь пройти обучение или постажироваться в html5-играх? Мы как раз работаем с java/js.
Напиши training@jspro.ru  
Как найти работу?
1. Мониторить вакансии, не только на российском рынке. В рунете сейчас значительно отстает активность по js-направлениям, но рост спроса стабильный, разработчиков уже немало, и будут приучать клиентов постепенно переходить на Node в том числе. 
2. Самим продвигать js-стек на текущих рабочих местах, проектах. 
3. Иметь код на github, привлекающий работодателей
4. Дружить с другими разработчиками js
Вопрос: Почему не получается прикрутить плагин bootstrap-tagsinput с возможностью авто дополнения от typeahead?

Лучший ответ:
Рабочее решениеvar tags = $('#tags')
    tags.tagsinput();

    tags.tagsinput('input').typeahead({
      remote: "http://example.ru?query=%QUERY"
    }).bind('typeahead:selected', $.proxy(function (obj, datum) {
      tags.tagsinput('add', datum.value);
      tags.tagsinput('input').typeahead('setQuery', '');
    }, $('input')));

Худший ответ:
Оба сниппета говорят:Failed to load resource: the server responded with a status of 500 (Internal Server Error)