Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как на Западе устроена фронт-энд разработка?

Лучший ответ:
Если подходить к делу правильно, то процесс следующий:
1. Брейнсторминг на бумаге, продумывание интерфейса и структуры и отображение в 3х вариантах (desktop, tablet, mobile)
2. Разработка модульных сеток (они же wireframes) - Photoshop, Illustrator, Fireworks или сцеп. приложения для сеток и утверждение их клиентом. В 3х вариантах (desktop, tablet, mobile)
3. Верстка голого прототипа по этим 3м вариантам (responsive уже давно стандарт де-факто, а не "бонус").
4. Дизайнер рисует дизайн, четко по утвержденным сеткам.
5. Правки по дизайну, утверждение клиентом.
6. Верстка дизайна, тестирование и отладка, утверждение.
При таком подходе процессы параллельны. Когда есть утвержденная сетка, мы можем работать сразу в 3х направлениях - дизайнер спокойно себе рисует дизайн, в это время верстальщик (он же coder, он же front-end developer) создает голый скелет (прототип) и верстает в него голый контент, а программер (back-end developer) уже может выводить свою часть (динамический контент) в html. Когде же утвержден дизайн, верстальщик этот низкоуровневый скелет начинает "украшать" - добавляются конечные стили (отступы, типографика, цвета и прочее).
Следует еще упомянуть обязательный "шаг 0". Для корректной работы начиная с шага 1 необходимо получить от клиента реальный контент. В процессе шага 1 этот контент вместе с клиентом доводится до ума, финализируется и утверждается. В современной разработке работать с Lorem Ipsum - дурной тон и путь в никуда.
UPDATE: 
Еще один бонус - когда сверстан низкоуровневый прототип по сеткам, можно прикручивать его к CMS, и уже с этого момента клиент может наполнять сайт (ну или наш контент-редактор). Часто это бывает очень важно (если контента много).
Из этого всего выплывает:
1. Дизайнер - это дизайнер. Его стихия - графический редактор. Понимание принципов верстки и веб-технологий вообще - обязательно. Умение самому заколбасить что-нибудь на jQuery не обязательно.
2. Верстальщик / кодер / front-end developer - это человек, работающий с клиентской стороной (HTML+CSS+Javascript), переносит картинку от дизайнера в код и прикручивает то, что ему дает программер.
3. Программист / back-end developer / просто web developer - человек, работающий с серверной частью (например, PHP), CMS и т.д.
Это "минимальная конфигурация" Для более сложных проектов работа делится на более узкие направления и появляются профильные люди.

Худший ответ:
либо сразу собирает графические элементы в верстку, без предварительного макета (например я так делаю, мне удобно)
Мне вас жаль, так делать нельзя.
На западе тоже есть фронт-энд (верстальщики) и дизайнеры.
Вопрос: Зачем нужен скрытый раздел в OS X?

Лучший ответ:
А Вы его удалите и посмотрите что отвалится :) 
Не бойтесь экспериментировать! Ну а потом можно статью написать ;)

Худший ответ:
Здравствуйте!
Этот скрытый раздел можно смело убивать. Его не должно быть на загрузочной флешке Lion, это 100%.
Многократно создавали и ставили с флешки систему на разные маки для клиентов.
Вопрос: Хочу купить поддержанный macbook, в Москве за 30-35к, это реально?

Лучший ответ:
Реально
Например, хорошие macbook pro 13" 2013 года, которые до кризиса стоили 50-60 тыс, вполне можно сейчас найти за 35к. 
Маководы обычно все люди аккуратные, поэтому скорее всего комп будет в хорошем состоянии. 
Рекомендую поискать настоящего фаната, который даже коробку сохранил.
Троян в железе уморил)

Худший ответ:
Я бы обратил внимание на орфографию, пунктуацию и лучше купил бы учебник русского языка.  Остальным отписавшимся тоже.
Вопрос: Как можно использовать Bootstrap Twitter при помощи git submodule?

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

Худший ответ:
Возможно стоит разобраться с maven, хорошая вещь.
github.com/efsavage/Bootstrap-Maven
Вопрос: Как реализовать маску ввода телефонного номера?

Лучший ответ:
https://github.com/RobinHerbots/Inputmask

Upd: Поправил ссылку, спасибо Александр Янк

Худший ответ:
Ни чего у меня не получилось... :( 
Я уже пробовал описание как в этом уроке: https://www.youtube.com/watch?v=Ds8CX0yKbYs (вроде бы всё понятно, но не работает должным образом... Точнее вообще не работает :( Попытался разобраться с плагином: https://github.com/andr-04/inputmask-multi такая же петрушка... Видимо делаю что то не так, а что понятия не имею...  По видеоуроку, я писал скрипт прям в index.html быть может вовсе не там писать надо? Или быть может в jsфайле надо что то менять.. код обработчика как то дорабатывать надо? Вот кстати и обработчик:$(".forms").submit(function(){
		$.ajax({
			type:"POST",
			url:"mail.php",
			data:$(this).serialize()
		}
		).done(function(){
			alert("Спасибо за заявку! Специалист свяжется с вами в ближайшее время.");
		setTimeout(function(){
			$.magnificPopup.close();$(".forms").trigger("reset");
		}
		,1000);});
	return false;});
Вот так у меня реализованы инпуты: <label><span>Ваше имя:</span>
<input type="text" name="name" required></label>

<label><span>Ваш телефон:</span>
<input type="$sitename" name="phone" required></label><label><span>Ваше имя:</span>
<input type="text" name="name" required></label>
<label><span>Ваш телефон:</span>
<input type="text" name="phone" required""></label><label><span>Ваше имя:</span>
<input type="text" name="name" required></label>
<label><span>Ваш телефон:</span>
<input type="text" name="phone" required></label>
Задавал им ID но зезультата увы не достиг :( 
По видео уроку, такой код получился:<script>
function clearVal (val, limit) {

	var clearVal = val.replase(/[^\d]+/g, '');
	if( newVal == '') {
			return false;
	}else{
			return newVal.substring(0, limit);
	}
}
function getResString (newVal) {
		var res = '';
		for(var i = 0; i < newVal.length; i++) {
				if( i == 3 ){
						res += ' ';
						res += newVal.charAt(i);
				}else if( i == 6 || i== 8) {
						res += '-';
						res += newVal.charAt(i);

				}else{
					res += newVal.charAt(i);
				}
		}

}

$(function(){
	$('#phone') .on ('input', function(){
			var val = $(this).val(),
					limit = 10;
			if( val =='' ) return;
			console.iog(val);

			var newVal = clearVal(val);
			if(!newVal) {
					${this} . val('');
					return;
			}
			var res = getResString(newVal);
			$(this).val(res);

	});


});	


</script>
Пожалуйста скажите, что сделать, что б всё заработало согласно моим хотелкам?
Вопрос: Как загружать и сохранять файлы в Django без использования модели?

Лучший ответ:
Гугл: https://www.google.ru/webhp?sourceid=chrome-instan...
2 верхних ссылки оттуда:
stackoverflow.com/questions/21882298/django-upload...
stackoverflow.com/questions/13704320/django-upload...
Про request.FILES: https://docs.djangoproject.com/en/1.7/ref/request-...

Худший ответ:
Мне не понравился другой ответ на вопрос, который тут есть, он мне не помог от слова совсем.
У меня каждый раз для записи файла должна была быть своя ссылка тк на разных компах это всё запускается и я не могу просто прописать путь, как предлагали, мол destination = open('some/file/name.txt', 'wb+') и всё отлично. Не-а.
У меня 'some/file/name.txt' каждый раз РАЗНОЕ. В зависимости от того, где находится проект. В папках проекта, оно на своём месте. Но путь до папки проекта разный. Потому я решила этот вопрос так:

В settings
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MY_URL = '/url/'
MY_ROOT = os.path.join(BASE_DIR, 'url') 

Далее я пошла в папку проекта и в ней создала папку "url"
После этого для сохранения файла я использовала путь во views.py (в начале него добавила - from django.conf import settings)
filename = settings.MY_ROOT+'/file.my'

И запись файла пошла в нужную папку.

Ответ "воспользуйтесь гуглом" выше, конечно "гениальный"
А то человек не искал, по-вашему? 
Для сохранения файлов без использования модели нигде не нашла подходящую для случая инструкцию, то есть данный способ и код, которые описаны выше, в некоем роде уникальны, хотя, РАЗУМЕЕТСЯ можно найти кучу похожего кода, но не именно нужное мне решение. Так что просто ПОГУГЛИТЬ- не получится. И две верхние ссылки оттуда не помогают))
Вопрос: Как работает размещающий оператор new?

Лучший ответ:
Это не размещающий new. Это обычное создание объекта. Коструктор хайлайтера регистрирует себя в родительском объекте и родительский объект ответственен за его удаление, поэтому результат new-expression не используется.
Placement new  выглядит как:new ( <pointer> ) ClassName(...)
Чтобы понять, как работает размещающее new, надо понять отличие new-expression от оператора new. new-expression делает вещи:  Вызывает оператор new, передавая в него параметры написанные после new и до имени класса. Этот оператор выделяет память и возвращает указатель на выделенную памятьВызывает конструктор класса, передав параметры написанные после имени класса. Это создаст объект в памяти выделенной в (1)
Размещающий оператор new берёт в качестве параметра указатель на уже выделенную память и просто возвращает его.

Худший ответ:
но КУДА происходит его запись?
Это ошибка в книге. Такие бывают при косяках издательства.
Вопрос: Как узнать какие dll будет использовать программа(mvs c++)?

Лучший ответ:
Воспользуйтесь программой Dependency Walker

Худший ответ:
А как то добавить ети библиотеки все при сборке через VS можно?
В каких то свойствах что то дописать или еще что то?
Не хочется как то руками собирать ети dll 
В Python  есть  утилита  py2exe которая ето все делает и даже в .msi все собирает.
Неужели для с++ нету ничего подобного?
Увидел выше комментарий о windeployqt. Да ето круто, только он исключительно Qt dll добавляет, а вот остальные тоже не хочется вручную добавлять. Да и делать ето все таки через VS хотелось бы а не через командную строку, раз уж приходится пользоваться VS(
Вопрос: Как парсить яндекс чтобы не забанил?

Лучший ответ:
Легально (для получения надо будет врать и всячески изворачиваться): Контентный API
НЕлегально: Antigate

Худший ответ:
Завести 1000 подсеток. Очевидно же.
Вопрос: Почему php://stdin не работает в nginx?

Лучший ответ:
Подождите. stdin - поток ввода. Насколько мне известно, то такая реализация есть только у консольного PHP.
Быть может Вы хотели file_get_contents('php://input') - или я неправильно понял?

Худший ответ:
Подождите. stdin - поток ввода. Насколько мне известно, то такая реализация есть только у консольного PHP.
Быть может Вы хотели file_get_contents('php://input') - или я неправильно понял?
Вопрос: Зачем используют интерфейсы при проектировании архитектуры приложения?

Лучший ответ:
Использование интерфейсов это всего лишь подход,который упрощает тестирование и позволяет более легко подменять реализацию, и еще много чего.  С использованием интерфейсов проще создавать декомпозитные приложения с возможностью расширяемых модулей. Самый простой и понятный пример зачем нужны интерфесы, это создать систему подключаемых плагинов к приложению.www.vr-online.ru/content/c-plagin-za-5-sekund-3890

Худший ответ:
Для полиморфизма
Вопрос: Зачистка витой пары бокорезами это новая норма?

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

Худший ответ:
Ну это парят, есть такие обжимки и никуда не делись. Но для скорости действительно иногда удобнее специальные ножи типа таких www.ulmart.ru/goods/164722/ хотя я встречал и более удобные и простые модели.
Вопрос: 1с Бухгалтерия Базовая, умеет работать в тонком клиенте?

Лучший ответ:
Тонкий клиент реализован в 3-их бухгалтериях. 2-ка не поддерживает.

Худший ответ:
для тонкого клиента нужны управляемые формы, в 2-ке их нет, только в 3-ке
Вопрос: SQUID и анонимность трафика между клиентом и проксей

Лучший ответ:
Запрос к прокси - это обычный HTTP-запрос (в нем на тех же позициях стоят поля Host и URI), соответственно, админы всё видят.

Худший ответ:
Может быть в рамках этого вопроса подскажете ПО необходимое для анонимизации запросов и приватности серфинга?
ТОР не прокатит ибо он тут сразу блочится.
Вопрос: Области применения JS в современном IT?

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

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

Лучший ответ:
На порядок это в 10 раз.
Возьмите любую и вставьте свой диск.

Худший ответ:
Если играть в пиратские игры, ОЧЕНЬ нужно месте на диске. Тот же ГТА в 12 может и не влезть.
Вопрос: Как определить версию установленного Adobe Flash средствами web-сервера?

Лучший ответ:
Т.е. такой вариант не подходит? The JavaScript API

Худший ответ:
А такой? new ActiveXObject('ShockwaveFlash.ShockwaveFlash').Get Variable('$version')
Вопрос: В каких играх искусственный интеллект превзошел человека?

Лучший ответ:
Искусственный Интеллект
Теория игр конечно относиться к разделу математики, который претенциозно называют «Исскуственным интеллектом», но называть интеллектом пусть даже самообучающийся алгоритм наверно некорректно. Хотя все вопросы к Тьюрингу, как всегда.

Очевидно, что победа человека в интеллектуальных / математических играх — это дело времени.
Практика показало что наоборот — как только мощности позволяют то алгоритм оказывается «сильнее», что в общем-то логично. А интеллектуальными называют игры в которые выигрышная стратегия слишком сложная, что бы ее мог обсчитать обычный человек.

Худший ответ:
Человек побеждает искусственный интеллект в StarCraft…
Вопрос: Чем шифровать трафик на 10 гигабит?

Лучший ответ:
Чем шифровать трафик на 10 гигабит?
...
что используется для шифрования трафика по ГОСТу? 
Оборудование сертифицированное ФСБ и ФСТЭК России.

Худший ответ:
У cisco нет родных сертифицированных модулей для гостового шифрования. Вообще с этим все довольно печально. Вообще, если очень надо именно сертифицированным гостом шифровать, то и железо надо было подбирать именно для этого, а не наоборот.
Посмотрите на www.s-terra.com/products/productline/nmervpn
Это модули для cisco с гостовым шифрованием отечественного производителя.
Возможно у других наших производителей то же есть нечто похожее. Их не так много, поищите.
Зарубежного железа с сертифицированным шифрованием нет, т.к. ФСБ никогда не сертифицирует его.
Вопрос: Какую библиотеку лучше использовать для разработки GUI?

Лучший ответ:
Честное слово, про OpenFrameworks сейчас впервые услышал. А  Qt проверенное годами решение. И с лицензией Qt в вашем случае проблем нет - используйте LGPL.

Худший ответ:
Про OpenFrameworks тоже впервые услышал. Это не рекламный пост OF? $))
Третий вариант есть - wxWidgets. Отличается от Qt тем, что GUI - только оболочка над родными для каждой системы контролами. Тоже LGPL. Работает пошустрее Qt, но сейчас это не особенно критично. Развивается более вяло. Готовых библиотек мало.
Так что я бы, пожалуй, тоже рекомендовал Qt.
Вопрос: Где найти самое простое объяснение Dependency Injection паттерна?

Лучший ответ:
Мартин Фаулер круто пишет обо всех паттернах. Про DI можно почитать тут. Вообще у него отличный блог. И он же автор книги P of EAA. Правда русский ее перевод крайне не рекомендую читать, можно только запутаться, так что читайте в оригинале.
Если хотите разобраться с паттернами, то самая простая (и при этом дельная!) книга - это Фриман&Фриман. Ее можно читать и на русском.
Применительно к PHP - вот лучшая книга про шаблоны (и не только), которую я видел PHP. Объекты, шаблоны и методики программирования от Мэт Зандстра.
Порядок прочтения рекомендую следующий: Фриман&Фриман, затем Мэт Зандстра, и на десерт Фаулера P of EAA.UPD: 
Важно отличать паттерн Dependency Injection от Dependency Injection Container.
Простейший пример внедрения зависимости:interface IEngine {}
 
class V8Engine implements IEngine {}
 
class Car {
  public function __constructor(IEngine $engine) {
    $this->engine = $engine;
  }
}
 
$car = new Car(new V8Engine());
Простейший пример игнорирования явного внедрения (для такого кода трудно писать unit-тесты, его труднее понимать и править):class V8Engine {}

class Car {
  public function __constructor() {
    $this->engine = new V8Engine();
  }
}

$car = new Car();
Отличный (и легковесный) пример DIC - это pimple:// define some services
$container['session_storage'] = function ($c) {
    return new SessionStorage('SESSION_ID');
};

$container['session'] = function ($c) {
    return new Session($c['session_storage']);
};
Советую прочитать и понять его исходники, чтобы убедиться, что в DIC (во всяком случае для PHP) нет никакой магии. Первая версия была всего ~100 строк. Необходимо также отметить, что класс Session использует шаблон Dependency Injection, явно определяя свою зависимость от SessionStorage. А контейнер делает лишь правильную связку.
И да, контейнер сам по себе можно использовать как service locator, если к нему, например, есть глобальный доступ. Но это очень плохая практика, потому что если что-то обращается к сервис локатору, то формально оно начинает зависеть сразу от всех компонентов системы.

Худший ответ:
На этом видео Anthony Ferrara объясняет максимально просто:
www.youtube.com/watch?v=IKD2-MAkXyQ
Вопрос: Django + MySQL + Windows = Error?

Лучший ответ:
Была такая же проблема, причина в неустановленной библиотеке mysqldb на windows. Это решило проблему.

Худший ответ:
откройте c:\Python27\lib\site-packages\django\db\backends\mysql\base.py, в 16 строку вставьте 
import pdb
pdb.set_trace()

и в консоле, когда выпадет pdb, напишите print e. Что будет?
Вопрос: Несколько доменов, 1 сервер. Какой нужен сертификат SSL?

Лучший ответ:
Есть несколько вариантов. 
Либо сертификат Wildcard, если необходима защита субдоменов типа:
payments.yourdomain.com
login.yourdomain.com
mail.yourdomain.com
Либо мультидоменный сертификат, если необходима единая защита для разных доменов типа:
www.website.com
any-domain.ru
secure.website1.co.uk
Но, зачастую, в стоимость такого сертификата включено только несколько доменов (например 3) и есть необходимость доплаты за каждый домен сверх тарифа.
Так что можно рассмотреть вариант и простого сертификат, на каждый домен. 
В зависимости от того, что будет выгоднее в данной ситуации.

Худший ответ:
Спасибо.
Резжевали :)
Вопрос: Почему удален хаб Dura Lex?

Лучший ответ:
Когда-то у меня была идея получить инвайт на Хабр. Сейчас ее уже нет. :-(

Худший ответ:
НЛО прилетело и забрало его...
P.S. Часто это случается с комментариями, реже с постами и еще реже с хабами.
Вопрос: Как обновлять csrf-token в laravel?

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

Худший ответ:
А как думаете, что происходит, когда выдан был токен в 13:00, а пользователь обновил страницу в 13:29:59?
Вопрос: Google-analytics для PHP, как засчитать хит средствами PHP?

Лучший ответ:
Настройки счетчика, код отслеживания, дополнительно: «Сайт, созданный для мобильных телефонов
Выберите серверный язык своего сайта для мобильных устройств».

Там будет код и файл ga.php, разобравшись в которых вы сможете сделать свой запрос к Аналитиксу.

Худший ответ:
В яндексе точно можно назначить «цель» и прописать обработчик на ссылку скачивания файла, чтобы по клику эта цель засчитывалась. Думаю, что аналогично можно в аналитиксе.
Вопрос: Как писать приложения под Android и IOS на HTML + JS?

Лучший ответ:
Про phonegap слышали?
Почитайте, наверное это то,что вам нужно

Худший ответ:
Ну еще вот DevExtreme Mobile Фреймворк для создания мобильных приложений на js + Html5. Есть примеры работы для отдельных виджетов есть уже готовые приложения демки например KitchenSink. Правда документация на английском только, но развернутая, с кучей примеров и онлайн плейграундом.
Вопрос: Какие ачивки придумать для IT отдела?

Лучший ответ:
Уволился бы я от вас

Худший ответ:
1. пошли ха....й начальника
2. будь вежвлив
Вопрос: Upgrade Памяти на MacBook Pro late 2011?

Лучший ответ:
MacBook Pro 13" mid 2012 стоит 16Гб Kingston, работают на частоте 1600. Полет нормальный.

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

Лучший ответ:
Проверять данные в каждом методе - это вполне отличная практика, по сути это соблюдение интерфейса метода.
Но возвращать при этом null/false - практика хреновая, если ваш метод на вход требует int, а получил array - надо бросать исключение. Так вы будете знать, что внешний код, который использует ваш метод работает не корректно.
Для объектов настоятельно рекомендую использовать type hinting:public function test(MyObject $object, $id)
{
    if (!is_int($id)) {
        throw new \InvalidArgumentException('Argument "id" must be int');
    } elseif ($id < 0) {
        throw new \InvalidArgumentException('Argument "id" must be positive');
    }
...
Если пишете на семерке, то и для скаляров и на вывод - тоже стоит указывать type hinting. Правда с выводом не всегда это можно делать, например возврата null, или что-то еще.public function checkPositive(int $intData): bool
Для сокращения проверок можете мой пакет заюзать https://packagist.org/packages/ko-ko-ko/assert, он спроектирован под максимальную производительность и использование в каждом методе.Стоит ли продолжать заморачиваться с проверкой передаваемых данных в каждой функции?
Да. За счет этого вы выигрываете в безопасности, надежности и времени поиска багов.

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

Лучший ответ:
А я бы просто добавил бы кнопки «Войти через ВКонтакте или Facebook»

Худший ответ:
Усложнение регистрации может отпугнуть потенциальных пользователей. Далеко не каждому охота вспоминать свой сложный имейл, потом заходить например на mail.ru через веб интерфейс, искать там письмо и т.д. А многие так и делают. У меня таких знакомых масса. Поэтому если ваш сайт ориентирован не айтишников, то лучше стараться избежать усложнения регистрации
Вопрос: Как на сервере сделать пользователя ограниченного одной папкой home?

Лучший ответ:
Похоже, Вам нужен Chroot

Худший ответ:
Ну не chroot в данном случае нужен, не chroot.
Jailkit нужен - https://debian.pro/1237
Вопрос: Отличия Ubuntu 15.10 от Debian 8?

Лучший ответ:
Debian адназначна. Бубнунта - кривая поделка.

Худший ответ:
лучше уж генту.  =).
все эти пакетные дистрибы...
Вопрос: Как выполнить код синхронно в nodejs?

Лучший ответ:
Вам не нужно здесь выполнять код синхронно. Нужно просто дожидаться вызова 2х коллбек функций и затем выполнять res.end(). Проще всего это сделать при помощи модуля async:var async = require("async");

// ...


var tasks = [];

if (price) {
    tasks.push(function(callback) {
        connection.query('UPDATE fotopovtory SET price="' + price + '" WHERE foto_id = "' + itemId + '";', callback);
    });
}

if (type) {
    tasks.push(function(callback) {
        connection.query('UPDATE fotopovtory SET tipe="' + type + '" WHERE foto_id = "' + itemId + '";', callback);
    });
}

async.parallel(tasks, function(err) {
    if (err) throw err;
    res.end();
});

Худший ответ:
Конкретно в этом примере можно было бы выполнять 0 или 1 запрос в зависимости от наличие данных.
И res.end(); у вас сейчас тоже, как мне кажется, не верно расположен. Если запрос будет выполняться дольше то он не успеет выполниться раньше чем выполниться res.end(); его по хорошему в этом случае надо вызывать из callbaсk  функции.
Если я всё правильно понимаю в NodeJS
Как-то так:if(price || type) {
	//составляем sql запрос, с 1 или 2 полями
    connection.query('UPDATE fotopovtory SET ....... WHERE foto_id = "' + itemId + '";', function(err, rows, fields) {
		  if(err){
			res.writeHead(500);
			res.end();
		  } else {
			res.writeHead(200, {'Content-Type': 'application/json; charset=utf-8'});
			res.end(results);
		  };
    });
} else {
  res.writeHead(404);
  res.end();
}