pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Вопрос по iptables?

Лучший ответ: В таком случае IP входящих соединений будут принадлежать внутреннему адресу роутера
Это не так. При DNAT подменяется адрес назначения, а не источника. На роутер приход пакет с адресом назначения равным внешнему адресу роутера и он этот адрес заменяет на внутренний адрес хоста, на который делается проброс, и отправляет пакет дальше

Худший ответ: Эм, а что мешает сделать обратный NAT, когда пакеты отправляясь на роутер, отправляются на внешний IP, доступа к которому у внутреннего сервера нет?
картина то одна и та же:

внешний клиент -> пакет -> преобразование IP
внутренний клиент -> пакет -> преобразование IP
Вопрос: Почему PHP бросает ошибки в Windows-1251?

Лучший ответ: Имена файлов в windows пишутся в кодировке 1251.
Вообще странная идея - размещать проект в папке с НЕлатинскими символами...

Худший ответ: Если вручную поставить в браузере кодировку Кириллица (Windows), то текст нормально отображается.
Именно. PHP и возвращяет вам ответ в UTF-8, однако ваш браузер читает и пытается отобразить его как windows-1251.
А что касается кириллицы, то D:\��� �������\ - вы запускаете тестовый сервер на windows ? Для теста вы и так знаете где он лежит, а вот для production все-таки стоит перейти на linux и избавиться от кириллицы.
Вопрос: Разъясните нюанс в наследовании класов в Python?

Лучший ответ: connects — аттрибут класса Component, не инстанса. Наследующие классы используют ЭТОТ же адрес памяти (id(c1.connects) == id(c2.connects))
Хотите чтоб было разное — добавьте к описанию Component1 и Component2 тоже connects = [], как вы сделали это для базового класса.

Худший ответ: а вы уверены, что вам надо коннектить именно к классу, а не к объекту?

тогда правильнее сделать это как @classmethod а не метод объекта.
а чтобы не копировать строчку, атрибут можно создавать в мета-классе:

class MetaComp(type):
  def __init__(cls,name,bases,kwargs):
    super(MetaComp, cls).__init__(name,bases,kwargs)
    cls.connects = [] # для каждого класса и наследника будеит свой

class Comp(object):
  __metaclass__ = MetaComp

  @classmethod
  def connect(cls,obj):
    cls.connects.append(obj)

class Comp1(Comp):
  pass
    
class Comp2(Comp):
  pass

# каждый вызов добавляет к своему connects:
Comp.connect('foo')
Comp1.connect('foo1')
Comp2.connect('foo2')
Вопрос: Где почитать про безопасность сайтов?

Лучший ответ: Приветствую.
OWASP: https://www.owasp.org/index.php/Main_Page

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

Лучший ответ: Занимался этим по работе. Попробуйте:
 — svm с линейным ядром
 — (1,2,3)-граммы как фичи
 — нормализуйте текст, но попробуйте оставить некоторые знаки препинания — !?
 — работал с английским, там стеммер не улучшал качество. На русском нужно пробовать, но не удивлюсь, если не сработает.

Кроме этого можете поиграться с различными преобразованиями на векторах. Мне не помогло, хотя теоретически должно было бы. Может, что-то неверно сделал. Попробуйте LSA (pLSA если словарь большой). 

Замечания:
 — хороший корпус очень важен
 — выбор фич важен
 — орфография не имеет сильного эффекта
 — исключение стоп-слов также не улучшало качества
 — действительно, иронию, двусмысленность выловить таким методом очень тяжело; при попытки поймать длинные связи снижается качество

Если захотите экстрима — можно попробовать какой-нибудь классификатор со строковым ядром. Я пробовал, не пошло. Но теоретически может получится.

Худший ответ: Предупреждаю: опыта практического у меня тут нет.

Можно лекции посмотреть вот тут: class.coursera.org/nlp/lecture/preview (Sentiment Analyzis). Критичной штукой во всем этом деле, насколько понимаю, является определение отрицания (нравится vs не нравится), что с подходом «bag of words» сделать нельзя. Для английского языка работают достаточно простые подходы («ко всем словам, стоящим после отрицательного слова ('не', например), приписывать „-“, пока не встретится знак препинания — и уже к обработанным таким образом словам применить классификацию через bag of words»).

Наибольшее влияние на результат должен оказывать выбор фич для классификации (классификатор SVM vs что-то другое — +- несколько процентов максимум будет).

Вот еще бумага по теме, может быть полезной: www.dialog-21.ru/digests/dialog2011/materials/ru/pdf/50.pdf
Вопрос: Как называется такой вид презентации приложения (картинка внутри)?

Лучший ответ: Mockup не?

Худший ответ: В данном случае будет корректнее искать по запросу Perspective App Screens Mock-Up
Вот если тебе нужен именно этот шаблон: https://yadi.sk/d/TQCvZYUFcE68v
Вопрос: Как отредактировать файл в редакторе vim basic?

Лучший ответ: Перейти к месту редактирования клавишами h/j/k/l, нажать i для начала редактирования, esc для окончания, набрать :w для записи файла. :q чтобы выйти.

Худший ответ: А можно выйти просто из вим :q ,(тк для тех кто его увидел в перывй раз - навевает ужас). Потом установить mc (apt-get install mc) и далее запускаете mc и старый-добрый F4
Вопрос: Быстрый перенос файловой cms, на mysql, можно ли?

Лучший ответ: Есть - нанять того, кто отрефакторит код и напишет конвертер из файлов в БД.

Худший ответ: А гуглили может под эту вашу цмску уже есть конвертере и вы не первый и такое решение уже существует?
Вопрос: Как отсортировать и вывести чётные элементы списка?

Лучший ответ: Не вижу проблемы. Заводите счетчик и при четных значениях оного в цикле выводите элементы.

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

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

Худший ответ: компетентность и великодушие
Вопрос: С чего начать изучение Java для веб-разработки?

Лучший ответ: воопервых хорошо изучить сам язык,
рекомендую книгу Философия java эккеля (Thinking in Java — Druce Eckel ), читайте лучше на английском языке,
там намного больше материала, в русском переводе почти пол книги выкинуто.

Коогда разберетесь хорошо и попрактикуетесь лучше изучить азы EJB,
могу посоветовать книгу EJB3 In Action — Debu Panda, Reza Rahman, Derek Lane (Author), 
довольно понятно на примерах расмотрены основные механизмы, как минимум половина книги будет полезна, 
что бы понять дальнейшие вещи.

Изучение веб части, я бы рекомендовал бы начать
с чистого JSF, пока не углубляясь в популярные библиотеки потипу richfaces и primefaces
(список популярных библиотек для веб приложений можно погуглить, есть еще сайт www.jsfmatrix.net/ )
Но если есть желание понять как работают веб билиотеки, то сначала изучите сервлеты и немного jsp.

По поводу ide и тд, я когда только начинал писать на java связка netbeans + glassfish у меня не вызывала трудностей,
благо сервер ключен в поставку ide, и из среды им легко управлять.
кстати на сайте netbeans достаточно хороших, для начинающих, мануалов.

Худший ответ: для изучения самого языка — Язык программирования Java и среда NetBeans
неплохая книга для начала, начинал с нее разбираться в java
Вопрос: Апгрейд или новый ноут для VirtualBox / Vagrant / PhpStorm?

Лучший ответ: Для ваших задач не упрется.
Узкое место это диск и память.
Так что смело меняйте диск и добавляйте памяти.
Я вообще не понимаю как можно работать на HDD.

Худший ответ: А виртуалки вообще обязательны? 
Вам нужны разные версии PHP для разных сайтов?
PhpStorm очень любит память, а тут ее кусок отжирается виртуалкой.
Плюс работа с файлами через лишние прослойки - тоже тормоза неизбежны.
Вопрос: Роутер с «VPN внутри VPN»

Лучший ответ: OpenWRT/DDWRT/Mikrotik вам в помощь.

Худший ответ: У нас на TP-Link 1043 стоит DD-WRT и держит OpenVPN до головного офиса фантастически стабильно — никак не ожидал такой надёжности от такой схемы. На другой TP-Link, не помню модель, поставили OpenWRT, VPN пока не настраивали, хотя сама прошивка в целом нравится гораздо больше.
Вопрос: Переменная в пути. Как?

Лучший ответ: Ещё кросс-платформенный вариантimport shutil
import os

path_1 = os.path.join("/home/hardwellzero/files", var_1)
path_2 = os.path.join("/home/hardwellzero", var_2, var_3)

shutil.move(path1, path2)

Худший ответ: Все-таки я не очень..shutil.move('/home/hardwellzero/files/%s' % (str(file)), '/home/hardwellzero/files/%s/%s' % (str(file_id), str(file)))
Вопрос: Как выявлять мошеннические отзывы?

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

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

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

Худший ответ: Если есть тонна времени то на роутере можно и такое поднять (для логинов-паролей), но хзхз forum.ptraffer.ru/viewtopic.php?f=6&t=8263
Вопрос: Компания и занятое доменное имя

Лучший ответ: Вспомните marker.ru/news/521620 про windows.ru

Худший ответ: Домен через год надо продлевать, когда он будет в холде — попробуйте обратиться еще раз к регистратору
Вопрос: Чем занимается server side или backend разработчик?

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

Худший ответ: Программные продукты никогда не состоят из одного файла и не делают всё сразу, их делят на части. Некоторая часть занимается выводом информации пользователю и сбором данных, которые пользователь может ввести: тексты в формах, загружаемые файлы, клики и движение указателем мыши, звук с микрофона, изображение с камеры. Это называется фронтенд (front-end). Затем всё это передаётся в ту часть программной системы, которая может это сохранить в базу данных, изменить, передать в другую программу. Эту невидимую часть программных систем называют бакенд (back-end).
Когда-то за весь сайт мог отвечать один человек. Он и страницы в Dreamweaver набросает, и тексты с картинками на сайт выложит и хостингом займётся. А сейчас в веб-технологиях настолько большое разнообразие, что одному человеку стало очень трудно знать всё. Поэтому появились разработчики для front-end и разработчики для back-end. Универсалов, которые знают обе части, называют «комбайны» или «full-stack developer».
copist.ru/blog/2015/08/26/backend-vs-frontend
Вопрос: Возможно ли писать на Java или на C#, и чтобы этот код превращался в PHP?

Лучший ответ: Если бы наоборот - не удивился.
Но зачем код в PHP превращать? Там ведь семантика кода совсем другая у языков.
Скорее всего, без PHP вам не обойтись, но перейти будет не сильно сложно после Java.
Никогда о подобном трансляторе не слышал.

Худший ответ: Такие программы называются "компиляторы". Вопрос только что во что компилировать. Можете объяснить ваш кейс, породивший такой вопрос?
Вопрос: Нужно ли мне подключать шрифты через font-face если я установлю шрифты на свой vps?

Лучший ответ: конечно нужно

Худший ответ: Не важно, где лежат шрифты — они отобразятся лишь в том случае, если нужный шрифт установлен на клиенте, или они подключены через @font-face. Браузер обработает это примерно так:Опа, а у меня нет такого шрифта.Где же мне его взять?..О, вот — в @font-face указано, где он лежит.Загружаю.
На самом деле последовательность немного другая — здесь показана логика на человеческом языке. Вам бы разобраться с пониманием основ, уделите внимание этому.
Вопрос: В какую настольную игру регулярно играть друзьям, чтобы обсуждать стартап-дела?

Лучший ответ: Покер, конечно же!

Худший ответ: я люблю connect four, хотя не уверен что она long-term playing
Вопрос: Можно ли использовать html5+css3+python вместо javascript?

Лучший ответ: Вы путаете тёплое с мягким.
HTML — структура документа
CSS — визуальное оформление структуры
Python — язык программирования на сервере
Javascript — язык программирования на клиенте
Ни один из пунктов другими заменить невозможно. Разве что серверный Javascript может заменить Python (Node.js), но не наоборот.
Есть задачи, которые возможно решить как только средствами CSS, так и с применением JS, управляющего CSS (например всевозможные библиотеки а-ля jQuery Animation).

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

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

Худший ответ: eсли апач сделай файл .htaccess и запищи туда deny from all
Вопрос: Выбор оболочки для планшета?

Лучший ответ: На 2м андроиде юзал VTL Launcher, он был бесплатен для тех, кто скачает его с офф сайта, удобен был своими доками у всех краёв экран. Увы на 3 и 4 не юзал, сейчас хватает родного TouchWiz, хоть и подтормаживает. А вообще гугл много находит по «android tablet launcher». Сразу несколько вменяемых ссылок есть.

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

Лучший ответ: Валите из этой конторы. Похоже, что начальство с вами в одной комнате не сидит, соответственно срать хотела на сотрудников. Иначе уже обложилась бы кондеями или искала другой БЦ.

Худший ответ: Мы на прошлой работу использовали что-то типа этого. Трубу в окно, а шланг сброса конденсата в 19 литровую бутыль от кулера и выливали два-три раза в день. Прожили так два года.
Вопрос: Как удобно читать подписки?

Лучший ответ: Пользуюсь gReader - https://play.google.com/store/apps/details?id=com....
очень одобно, что можно автоматически закачивать для чтения в оффлайне. Включил, синхронизировал и читаю в дороге (хоть в метро). Давно пользуюсь. Рекомендую. Хотя бы попробовать.

Худший ответ: https://theoldreader.com/
Подобие гугл ридера.
Вопрос: Как вам способ ускорить веб?

Лучший ответ: эм... что?
конкатенация стилей/скриптов и их последующая минификация - это нормальная практика. Для этого ненужно никаких стандартов. Делайте хоть на лету, хоть собирайте один раз при деплое (что было бы логично) а еще лучше сразу же ложите рядом уже сжатый в gzip вариант ваших скомпиленых файлов. Опять же смысла сделать из двух файлов один я не вижу как минимум по следующей причине: стили должны загрузиться раньше скриптов. Во всяком случае в большинстве случаев. Загрузка скриптов не должна блокировать загрузку страницы.
Что касается SPDY - то тут вы вообще ни капельки не попали. Там профит в том что используется одно tcp-соединение с сервером и мультиплексирование данных. Это позволяет снизить нагрузку на сервер, не тратить время на подключение к серверу по новой для загрузки следующих файлов и т.д. По сути при использовании этого протокола конкатенация файлов стилей и скриптов не должна приносить существенного профита, ибо соединение все равно будет одно и то же.
p.s. приведенная вами статья не даром находится в хабе "ненормальное программирование".

Худший ответ: Мыслите в правильном направлении и это хорошо, но немного опоздали - идея далеко не нова. Для развития знаний в этой области покурите Google PageSpeed Tools, есть еще масса способов "ускорить веб"
Вопрос: Кто подскажет javascript/jquery библиотеку для работы с графами(не с чартами) + zoom?

Лучший ответ: d3js.org Очень функциональная библиотека

Худший ответ: Пока остановились на js.cytoscape.org
Вопрос: Почему toster так плохо сверстан?

Лучший ответ: Москва не сразу строилась. Хотя, там тоже верстка хромает)))

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

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

Худший ответ: контролируйте ресурс, который разработчикам не достать
или сами будьте разработчиком
Вопрос: Почему wp-admin/admin-ajax.php выдает 0?

Лучший ответ: die(); в конец обработчика
И  должен быть  wp_ajax_nopriv_{action}
если юзер не залогинен

Худший ответ: Без параметров он и будет выдавать 0. 
Важны параметры - посмотрите что передаётся ему при аякс запросе формы и что в ответ.
Вопрос: Обманывает ли меня интернет-магазин rozetka.com.ua?

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

Худший ответ: сколько я сдавал товар в сервис или возврат, всегда описывали что было вскрыто и если повреждение на товаре, получал бумажку ждал тех экспертизы по правилам это 14 дн, когда товар новый это может быть 2 -3 дня и после этого мог получить деньги или новый товар.

вот тут обсуждали подобную проблему www.urist.in.ua/archive/index.php/t-135668.html
Вопрос: Клики мыши перестают работать в произвольное время, как бороться (ubuntu)?

Лучший ответ: Короче сделал в консоли sudo modprobe -r psmouse и все решилось. Главное это в автозагрузку поставить, как пока не разобрался

Худший ответ: Встроенный touchpad работает нормально?
Вопрос: Какова логика быстрого сохранения кратковременных данных в БД?

Лучший ответ: Для быстрого доступа к данным использовать Redis или memcache.
Для быстрой передачи данных не использовать ajax по http. 
Вместо него использовать протокол Websockets

Худший ответ: Просто обрабатывать данные на стороне клиента и передавать чисто результат координат для сохранения - подвергать переменные риску подмены и сохранять ложные результаты.
А по ssl? Для ajax вроде ничего настраивать не надо, да и на сервере настроек тоже немного.
Вопрос: Рябь на жк-мониторе во время &quot;тяжелых&quot; игр

Лучший ответ: Артефакты видеокарты из-за перегрева/переразгона.

Худший ответ: Попробуйте настроить сам монитор в меню монитора. У меня монитор показывал картинку так, что казалось, что местами он сжимает, а местами растягивает. Помогло изменение настроек Частота/Фаза.
Вопрос: Почему не сохраняются изменения в live версии Linux?

Лучший ответ: Как устанавливали на usb? Файловая система при установке часто помечается как read only, если специально не позаботиться о том, чтобы иметь возможность записи.Здесь пишется про persistence mode, т.е. возможность сохранять файлы, настройки и вообще изменения на лайвах. Воспользуйтесь UNetbootin, USB Creator'ом или Startup Disk Creator'ом.

Худший ответ: Чаще всего Live CD используются для ознакомления с возможностями операционных систем. Многие Live CD также предоставляют возможность установки на жёсткий диск. Таким образом, можно быстро запустить и попробовать в использовании ту или иную ОС, и, если система понравится, установить её.Поскольку произвольная запись на CD-диски невозможна, пользователи Live CD сталкиваются с проблемой хранения своих данных и настроек. Для этого приходится использовать различные дополнительные носители данных, например Flash-накопители или сетевые диски. Многие Live CD предоставляют специальные программы для организации хранения настроек и данных на подобных носителях. Также некоторые Live CD позволяют дописывать свои данные на тот же CD-диск с помощью так называемого мультисессионного режима записи. 
(с) ru.wikipedia.org/wiki/Live_CD
Вопрос: Как программист может быть полезен на войне?

Лучший ответ: Программист может быть полезен в ВПК, одинаково как в военное, так и в мирное время.
Но только не тот программист, который пишет сайты, открывающиеся по 30 секунд через раз.
И таких ithappens.ru/story/3099 лучше подальше держать от военной техники!

Худший ответ: На моей военной кафедре мне навыки программирования пригодились при разборе управляющих команд ЦВК. Много специфичного, но на ассемблер похоже. Собственно про себя я его и называл «военным ассемблером».
Вопрос: Какие есть бесплатные онлайн курсы по javascript?

Лучший ответ: тут можно начать https://ru.hexlet.io/courses/introduction_to_progr... основы программирования + основы js

Худший ответ: codewars.com 
самое то после получения представления о том, как это все работает.
Вопрос: Как нарисовать многоугольник на PHP?

Лучший ответ: Прежде чем задать вопрос здесь нужно было подумать -  а Вам действительно нужно рисовать многоугольник на PHP? :)

Худший ответ: Зачем заниматься извращением и рисовать кнопку на PHP? Можно сделать ее в графическом редакторе а потом работать с ней в PHP - накладывать надписи и прочее.
Вопрос: Как сделать так чтобы CTRL+C/CTRL+V в Mac OS X работали аналогично cmd+v/cmd+с?

Лучший ответ: Системные настройки — Клавиатура — Сочетания клавиш
Нажимаем "+", в «Программа» выбираем «Все программы», в «Название меню» вводим «Копировать», в «Сочетание клавиш» — нажимаем Ctrl+C. Аналогичным образом повторить для Ctrl+V.

Худший ответ: Учим МАС OC cut / paste по аналогии ctrl+x / ctrl+v в Windows для работы с файлами и папками

1.Устанавливаем OnMyCommand с сайта free.abracode.com/cmworkshop:
закачиваем free.abracode.com/cmworkshop/OnMyCommand.dmg.gz (8.2Mb)
распаковываем, монтируем находим кликаем — Install OnMyCommandCM

2. Устанавливаем OMCEdit (находится в дистрибутиве) копируя файл в Applications.
Запускаем OMCEdit, жмем на иконку Downloads Commands ( требуется интернет соединение ) и выбираем команды 212 ,213. (все остальные команды сохранятся в кэше и их можно установить в оффлайне нажав Cached Commands)
Закрываем OMCEdit

4. Устанавливаем Shortcuts с сайта free.abracode.com/cmworkshop.
закачиваем free.abracode.com/cmworkshop/Shortcuts.dmg.gz
В закладке Setup запускаем ShortcutObserver ( Run)
и добавляем (Add) ShortcutObserver в login items.
CocaTextSelectionHelper пока можно не устанавливать

5. Делаем Log Out 
Проверяем: в Finder в контекстном меню появилось Сut item(s)/Paste items(s)

6. Снова запускаем Shortcuts

В закладке Assign Hot Key в разделе File выбираем Сut item(s) и присваиваем ему комбинацию клавиш Shift+ябл+X 
В разделе Folder выбираем Paste items(s) и присваиваем комбинацию Shift+ябл+V
Не советую назначать ябл+X ябл+V, чтобы не было конфликтов.
Работает как с одиночными, так и с группой файлов и папок.

На правах ЖЖ — нагуглил за 10 секунд.
Вопрос: Как создать динамическую форму с использованием REST?

Лучший ответ: С идеологической точки зрения, клиент посылает на сервер запрос с заголовком «Accept: формат», сервер вспоминает, умеет ли он описывать формы в таком формате, выдает описание формы в нём и обязательно указывает его Content-type. Клиент смотрит на Content-type, вспоминает, умеет ли он обрабатывать этот формат и рендерит форму. Сама идеология REST не накладывает никаких ограничений на то, как именно передавать данные.

Например можно с сервера выдать HTML страницу с формой, клиент смотрит, видит html, содержимое head добавляет к текущему head страницы (чтобы стили подгрузились), а содержимое body добавляет в div для формы. Очень соответсвует REST.

Худший ответ: Что-то типа того:
[
    {name: "fieldName", 'type': "email", 'length': {min: 10, max: 50}, label: "Field Label"}
]


И все в таком духе. Реализовать сборщик формы в зависимости от типа тоже реально.

Еще есть готовые реализации. Я увы работал с этой проблемой только в контексте работы с Backbone. Тут мне помогла эта реализация