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

Лучший ответ: Бекап оригинала делать с админки битрикса.
Восстановление сайта - нужно воспользоваться скриптом от битрикса restore.php .
Используйте OpenServer или Denwer.

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

Лучший ответ: Фонарик

Худший ответ: Яндекс.Карты — карты/пробки
Афиша — расписание кино в ближайшем кинотеатре
TurboScan — сканилка документов, с сохранением в PDF и пересылкой на имэйл, либо закачкой в дропбокс
SoundHound — распознавалка музыки на радио или вообще откуда-нибудь
miCoach — Пульсометр с построением кардиограмм во время тренировки (нужен отдельный девайс от Adidas)
А игры надоели еще года назад :)
Вопрос: Чему равен результат выражения «x-1», /* { int x=1; x-1} */ true или false?

Лучший ответ: Оно в цикле бесконечно из "3" "1" будет вычитать

Худший ответ: Все понятно, всем спасибо, нужно было делать декремент
Вопрос: Phpstorm какой есть плагин для сжатия css js?

Лучший ответ: 
в качестве программы устанавливаешь какой-нибудь пакет css-nano и вызываешь, когда нужно
для JS выбираешь .js файлы устанавливаешь еще один File Watcher  и настраиваешь подойдет minifier или любой аналог

Худший ответ: на счёт плагинов не знаю, но для этого давно существуют таскраннеры типа gulp или grunt
Вопрос: Объясните ситуацию с облачным хостингом?

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

Худший ответ: Юнит - 1 ядро. 
Не пишут по одной простой причине - у них в кластере разное железо с разными CPU + ещё шедуллер питания молотит вовсю. 
Так что в зависимости от везения и нагрузки 1 юнит - это 900-3400 Мгц.
Вопрос: Стоит ли уходить с работы?

Лучший ответ: Все ниже описанное сугубо ИМХО.
Давать советы в такой ситуации не есть корректно. Мы не знаем всего, не знаем вашего уровня. Есть вероятность, что вы не все описали. Но... случись со мной подобная ситуация - ушел бы без раздумий. И дело здесь не в формате "начальник высказал недовольство", а в том, что он ставит вам ультиматум. Что уже есть звоночек - ничего адекватного ожидать не предвидится. Если уверены в себе - дерзайте. Дорога появляется под ногами идущего. Это раз. Второе - если вы примите решение уйти, вы покинете свою зону комфорта, а, как правило, именно за ее пределами совершаются чудеса. В3х - если вы примете решение остаться, то рискуете прикипеть к занимаемой вами должности. Чем дольше работаешь на одном месте, тем больше жалеешь время, которое уже потрачено, и тем сложнее принять решение об уходе. 
Тем более, если вы говорите, что есть средства на первое время, вообще не вижу проблем - дерзайте. Все будет хорошо!

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

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

Худший ответ: не только у вас так. для нормальных программистов существует правило
программа без комментариев и документации - это безделушка никому не нужная.
в данном примере программист позаботился не организовать лишнюю переменную и меняет местами переменные путем перетасовок данных внутри них. это конечно его выбор, но оттого программа и становится непонятной.
в этом коде нет комментариев, а и алгоритм на мой взгляд не лучший и не самый понятный.
если хотите этот код можно было бы реализовать так:#include <iostream>
using namespace std;

int main()
{
    int A,B,C;
    cout << "Программа сортировка по возрастанию\n";
    cout << "Введите три целых числа через пробел:\n";
    cin >> A >> B >> C;
    //opredelyaem poryadok sortirovki
    if (A > B) {
        if (B > C) {
          // A > B > C
          //poryadok ostaetsa pryamym
          //nichego ne delat
        } else {
            if (A > C) {
                // A > C > B
                //menyaem B i C
                B += C;
                C = B - C;
                B -= C;
            } else {
                // C > A > B
                //menyaem A i C, potom B i C
                A += C;
                C = A - C;
                A -= C;

                B += C;
                C = B - C;
                B -= C;
            }
        }
    } else {
        //esli A < B
        if (A > C) {
            // B > A > C
            //menyaem tolko A i B
            B += A;
            A = B - A;
            B -= A;
        } else {
            if (B > C) {
                // B > C > A
                //menyaem C i A, i potom A i B
                C += A;
                A = C - A;
                C -= A;

                B += A;
                A = B - A;
                B -= A;
            } else {
                // C > B > A
                // menyaem A i C
                C += A;
                A = C - A;
                C -= A;
            }
        }
    }
    cout << "По возрастанию: \n";
    cout << C << " " << B << " " << A;
    return 0;
}
признаю, код в вопросе лучше чем в этом ответе. но тут хотя бы комментарии
Вопрос: Хочу поставить на убунуту тестовый почтовик postfix, как быть с доменом если его нет?

Лучший ответ: С чего начинал я:
1.interface31.ru/tech_it/2010/09/pochtovyj-server-st...
2.interface31.ru/tech_it/2010/10/pochtovyj-server-dl...
3.interface31.ru/tech_it/2013/10/pochtovyy-server-dl...
Это про теорию.
А вот про то какой почтовик ставить это отдельная тема

Худший ответ: Спамер? Наверное начинающий?
Зачем вам домен, если вас большинство нормальных почтовых сервисов отбросит или отправит в спам? Чем sendmail не угодил?
Прочтите про PTR, DKIM.
Вопрос: Ошибочно опубликовал пост, сейчас он в черновиках. Можно ли его удалить?

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

Худший ответ: Если только НЛО… 
Нет, черновики не доступны для чтения.
Вопрос: Java и Kotlin. Как осваивать вместе?

Лучший ответ: Учите что-нибудь одно. Лучше выучить 1 язык хорошо, чем иметь кашу из-двух языков. Да и в разработке решают не столько языки сколько умение строить архитектуру приложений, выбирать оптимальные алгоритмы и фреймворки. Кругозор в смежных технологиях также приветствуется. А языки осваиваются быстро, 2-10 дней на усвоения синтаксиса, в то время как научиться писать хорошо продуманные с архитектуроной точки зрения проекты очень сложно и 10 лет тут мало.

Худший ответ: Учите Java, поскольку котлин лишь набор плюшек к нему, который изучается беглым прочтением документации.
Вопрос: Есть ли такой сайт, где уже свёрстаны psd шаблоны и выложены исходники?

Лучший ответ: Для практики PHP лучше подойдут фреймворки.BootstrapUikit

Худший ответ: Попробуйте вбить в любом поисковике "бесплатные шаблоны html5" или что-то вроде этого и выбирайте на ваш вкус любой шаблон.
Вопрос: Какой php фрейморк использовать для написания апи сервера?

Лучший ответ: На каком php фрейморке писать апи серверНи на каком.
На фреймворках не пишут! Пишут на языке программирования, а фреймворки используют.
Что такое " апи сервер" не совсем понятно. Объясните подробней.И как лучше хранить файлы?На ленте.

Худший ответ: На любом, просто у вас вместо вывода в представление будет вывод например в JSON. 
Вон к примеру реалиазация на Yii
www.yiiframework.com/doc-2.0/guide-rest-quick-star...
Вопрос: С# уменьшение кода?

Лучший ответ: label.Content = (Convert.ToInt32(textBox.Text) + Convert.ToInt32(textBox1.Text)).ToString();
Или функцию написать и использовать её:private static string Sum(string a, string b)
{
  return (Convert.ToInt32(a) + Convert.ToInt32(b)).ToString();
}
Или даже так:label.Content = Sum(textBox.Text, textBox1.Text);
label.Content = Sum(textBox.Text, textBox1.Text, textBox2.Text, textBox4.Text);

private static string Sum(params string[] n)
{
  return n.Sum(itm => Convert.ToInt32(itm)).ToString();
}
Еще можно расширение написать, но это только на случай, если сложение чисел в TextBox являются частыми в проекте :-)public static class TextBoxExtension
{

  public static string SumWith(this TextBox value, params TextBox[] n)
  {
    return (Convert.ToInt32(value.Text) + n.Sum(itm => Convert.ToInt32(itm.Text))).ToString();
  }

}label.Content = textBox.SumWith(textBox1, textBox2, textBox3);
Либо расширить string:public static class StringExtension
{

  public static string SumWith(this string value, params string [] n)
  {
    return (Convert.ToInt32(value) + n.Sum(itm => Convert.ToInt32(itm))).ToString();
  }

}label.Content = textBox.Text.SumWith(textBox1.Text);

Худший ответ: Не использовать Convert.ToInt32.
Вам нужен Int32.TryParse. Там и формат можно подставить и в случае ошибок ввода эксепшены сыпаться не будут.
Если хотите красиво - делайте через биндинги, events и прочий MVVM.
Вопрос: Как в форме contact form 7 на wp отправлять данные карточки товара woocomerce?

Лучший ответ: Делаете в форме текстовое поле, скрываете его через css. Яваскриптом кладёте в него нужную вам информацию (название, url и т.д.). Либо тоже самое с использованием скрытого поля - тогда без css.
Посложнее - делаете поле, делаете ему дефолтный value например __PRODUCT-INFO__ . Далее при вызове шорткода делаете примерно так:<?php 
$info = "Товар: " . get_the_title() . " \nСсылка: " . get_the_permalink();
$cf = do_shortcode('[contact-form-7 .....]'); // шорткод вашей формы
$cf = str_replace("__PRODUCT-INFO__",  $info, $cf);
echo $cf7;

Худший ответ: Берёте указанный выше плагин Contact Form 7 Dynamic Text Extension, выбираете dynamic text или dynamic hidden в шаблоне создаваемой формы письма и вставляете например вот это значение, если требуется вывести title товара:
CF7_get_post_var key='title'
Вот так выглядит полностью код:
[dynamictext dynamictext-577 "CF7_get_post_var key='title'"] у Вас цифры 577 будут иные.
Вопрос: Вы тоже заметили, что в черновики стали заносить как то многовато статей?

Лучший ответ: Может быть, видя, куда катится рейтинг поста и карма его автора, последний решает сохранить то, что еще можно сохранить, — и прячет «источник раздражения» минусующих? По крайней мере, пару живых примеров мне известно.

Худший ответ: Некоторое количество постов прячет НЛО, по ходу баня автора за мат\рекламу (другие нарушения правил Хабра). В последнее время я заметил, что репрессии стали жестче. Может быть сменили модератора или просто решили «жестче» соблюдать правила.
Вопрос: Ростелеокм не проводит инет мол нету технический условий. Как объяснить что они не правы? Или все таки не прав я?

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

Худший ответ: Вообще клиент всегда прав! Идите и требуйте до последнего, чтобы вам все подключили, связывайтесь лучше с их начальством! Если конечно же других вариантов интернета нет...
Вопрос: Где искать заказы и клиентов по настройки и управлению контекстной рекламы Adwords и Директ?

Лучший ответ: поищите для начала преподавателя русского языка)))

Худший ответ: Нанимаешь продажника и он ищет.
Вопрос: Скрытие процесса в Windows 7

Лучший ответ: а зачем

Худший ответ: Спасибо. Буду что-то думать. Если у кого-то есть ещё идеи — буду рад)
Вопрос: HTML & Bootstrap Вопросы?

Лучший ответ: 1)<div class="container-fluid">
<div class="container">
<div class="row">
<div class="col-md-12">center</div>
</div>
</div>
</div>.container-fluid{
background: url('image.jpg') no-repeat top center;
background-size: cover;
}
2) Сможет

Худший ответ: Я делал так:
К примеру размер картинки 1600x500
500/1600*100=31.25%
.bg{
background:url(images) center center;
background-size: cover;
padding-top:31%
}
Это если ваш блок не содержит контента, если есть контент то для него position absolute и измеряйте, или отнимайте от padding в процентах содержимое. Если же это для body то вам padding вообще не надо.
Слегка глупый варик но по другому я только через js писал.
Вопрос: Почему отсканированное зеркало — черное пятно?

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

Худший ответ: Кстати, оно не черное. Черное будет, когда вы зеркало помоете.
Вопрос: Как установить сайт на Windows?

Лучший ответ: https://ospanel.io/ - портативный виртуальный сервер, установка на win в два клика. Визуальный интерфейс  и т.д. Это если для личного пользования. (есть и аналоги типа XAMPP, denver и т.д. Но я бы не советовал, для сохранности нервной системы)
А если Вы хотите из своего старого коня и интернета сделать полноценный хостинг - просто не стоит. Покупаете vds и не занимаетесь печальками и расстройствами.

Худший ответ: LAMP загугли
Вопрос: Как сделать простановку пробелов с конца в моей регулярке?

Лучший ответ: Регуляркой:var n = 12345678;
n = n.toString(10).replace(/(\d)(?=(\d{3})+$)/g, '$1 '); // 12 345 678
Можно и без регулярок. Строку разбить в массив, развернуть, к каждому третьему символу приделать пробел (идём с конца, получается), собрать в строку:var n = 123456789;

var a = n
  .toString(10)
  .split('').reverse()
  .map(function(e,i){ return (i%3 ? e : ""+e+" ")})
  .reverse()
  .join('')
  .trim()
;
// a = "123 456 789"
Disclaimer:  некорректно может обработать знак минус!

Худший ответ: В итоге прокатило только это решение для моего кривого случая artkiev.com/blog/number_format-in-javascript.htm
Вопрос: Как лучше хранить картинки к товару в отдельной таблице или в той же таблице в JSON'e?

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

Худший ответ: Для себя в итоге не нашел плюсов в JSON формате хранения. 
Сделал единую таблицу под картинки, и нужные модели цепляю через полиморфную связь.
Да, это на 1 запрос к БД больше, но это легко кэшируется.
Вопрос: Как избавиться от насильного сглаживания шрифтов в Google Chrome?

Лучший ответ: Нужно включить параметр «Отключить DirectWrite Windows» на странице chrome://flags/
Мне помогло.

Худший ответ: Это еще что, вот черный фон под картинками в последнем Firefox действительно проблема
Вопрос: Как сделать div за картинкой?

Лучший ответ: Вот вам пример как это можно сделать без js-са:
HTML:<div id="mono">
  <input type="checkbox" name="image" id="tonggle" />
  <label for="tonggle">
    <img src="http://wikipics.net/photos/20150206142322639625248.jpg" >
  </label>
  <div id="tex">Praesent sodales suscipit eros ut tempor. Curabitur pulvinar lectus ut enim gravida dictum. Vivamus eget nunc diam. Donec nec risus dictum, ullamcorper erat non, rutrum purus. Mauris lacus nibh, ornare sit amet ipsum et, rutrum sagittis tellus. Cras tincidunt facilisis facilisis. Cras lectus elit, efficitur at est nec, dictum gravida diam. Praesent eget ex porttitor nisi egestas commodo placerat vel eros. Nam sed justo congue, lobortis felis quis, fermentum massa. Donec egestas faucibus magna vitae maximus. Integer non facilisis dolor. Maecenas posuere elit ut magna bibendum, sit amet iaculis justo tempus. Vivamus vulputate eu neque quis hendre</div>
</div>
CSS:#mono {
  width: 500px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
#mono label {
  width: 100%;
  height: 100%;
  display: block;
  cursor: pointer;
  z-index: 2;
  position: relative;
}
#mono input {
  position: absolute;
  left: -9999px;
}
#mono input:checked + label img {
  -webkit-transform: translate(0, -350px);
      -ms-transform: translate(0, -350px);
          transform: translate(0, -350px);
}
#mono #tex {
  position: absolute;
  padding: 20px;
  z-index: 1;
  top: 0;
  left: 0;
}
#mono img {
  width: 500px;
  position: relative;
  -webkit-transition: -webkit-transform 1s;
          transition: transform 1s;
}
Для наглядности вот вам демку накидал.

Худший ответ: Измените #mono img:active на#mono:active > img, для начала. Так будет лучше. Поставьте блок #tex за блок #mono <div id="mono">
    <img src="http://i.stack.imgur.com/IehB7.png" />
</div>
<div id="tex">blablabla</div> и добавьте в свойства #tex следующее:  margin: 10px;
position: absolute;
z-index: -1;
jsfiddle.net/hnn8nq1g/2
По поводу «Картинка уезжает только когда я держу мышку» - это потому, что Вы используете псевдокласс :active. Добавьте немного js и будет работать так, как Вы хотите.
Вопрос: Как сделать такую обводку у списка?

Лучший ответ: Если надо именно дивами то можно обернуть еще в один div назначить для него border-top и  border-left. Для внутренних div назначить border-right и border-bottom тк внутренние дивы разные по высоте.

Худший ответ: что бы не накладывалась надо перекрыть. Сделав отрицательный margin размером с толщину border
Вопрос: Можно ли записать данные из сервера в базу данных 1С?

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

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

Лучший ответ: ₽ &#8381; но по моему мы скоро будем писать у.е.

Худший ответ: в основном использую fa (i.fa.fa-rub)т.к. 80% макетов идут с кучей иконок оттуда.
Вопрос: Как найти в двух массивах объектов одинаковые значения?

Лучший ответ: var a = [{"id":1, "item": 213}];
var b = [{"id":1, "item":  213}, {"id":78, "item":  21}, {"id":19, "item":  13}];

var result = a.filter(function(v) {
    return b.some(function(v2) {
        return v.id == v2.id && v.item == v2.item;
    }
});
console.log(result);
Типа того. Если нужна большая совместимость со старыми версиями, скажите, перепишу.

Худший ответ: или просто подключить lodash и заюзать find/intersection
Вопрос: Стоит ли переходить с Proxmox на Docker? Какая архитектура более удобна для множества highload проектов?

Лучший ответ: Ну как-бэ до 100Мбит трафика на ноду - ну совсем не Highload.
Нужно понимать что вопрос сформирован достаточно плохо и сразу видно общее недопонимание темы деплоя и непрерывной интеграции. Советую сначала разобраться с особенностями современных систем оркестрации и управления инфраструктурой: Puppet, Chef, Ansible, SaltStack и OpenStack,  потом разобраться как с этим дружить виртуалки и системы управления контейнерами типа XEN, KVM и LXC (Docker). Также советую разобраться с понятием Test Driven Deployment и как оно соотносится с Continuous Integration в целом.
Proxmox - решение которое достаточно плохо масштабируется горизонтально и не располагает средствами оркестрации. Оно предназначено для решений мелкого бизнеса с небольшими нагрузками и посещаемостью, и уж точно не ассоциируется с быстрым разворачиваем кластеров.
В общем большая часть вышеописанного вообще не ассоциируется с реальным highload'ом - от 10ти и до 40Гбит на ноду (чистого REST трафика). PHP для такого - ну совсем не тортъ, но есть проблески типа Phalcon, правда там есть проблемы со стабильностью.
Docker сам по себе не имеет никакого отношения к микросервисным архитектурам, но часто используется для менеджмента контейнеров в таких случаях, хотя можно использовать любое решение для этого. А вообще у микросервисных архитектур есть куча недостатков, и они совершенно не подходят для задач около-реального времени.

Худший ответ: Оставляю здесь ссылку на доклад от Альфа.Лаборатории.
habrahabr.ru/company/jugru/blog/264669
Крутые парни.
Вопрос: Как зафиксировать сайдбар, но что-бы при скролле страницы в конце он не перекрыл футер?

Лучший ответ: Какие еще 700рх? Вы раньше что-нибудь верстали (не только для себя)?при скролле страницы
Каким образом скролл страницы может влиять на fixed сайдбар?
Скрин Ваш из разряда "Пазл на 1500 элементов"!
UPD:
----------------------------------
Если z-index не помогает... А если и помогает, всеравно:
1. Вынесите сайдбар в body
2. Установите в relative
3. Установите нужный z-index
4. Установите html, body: height:100%;
5. Установите сайдбару высоту 100%. Если 100% много - тогда: calc(100% - 50px); (50px - для примера) 
6. Радуйтесь.
P.S. Для имитации оверлея можете добавить сайдбару в открытом состоянии еще:
    box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 0px 2600px;

Худший ответ: Пропиши z-index сайдбару больше чем футеру. Например футеру z-index: 5; а сайдбару z-index: 10; Число конкретно роли не играет главное чтоб оно было больше у сайдбара.
Вопрос: Opencart 2.3.0.2 не создается новая тема и все что делать?

Лучший ответ: Нужно зайти в админку, далее Extensions -> Extensions-> Choose the extension type -> Themes -> Edit -> Theme Directory - выбираем свой новый каталог темы. 

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

Лучший ответ: Маааамадорогая, какая каша.
Понимаете, вам придется прочитать и понять ОЧЕНЬ много, чтобы во всем этом разобраться.
Например Танненбаум  - "Компьютерные сети"
Й Снейдер "Эффективное программирование TCP/IP"
Кратко:
Сетевая карта получает из сети пакеты. Небольшие куски информации. Максимальный стандартный размер пакета для Ethernet и Wi-Fi 1500 байт.
О том, в каком порядке соединять пакеты, записано в самих пакетах. Операционная система (а не процессор, процессор ничем не управляет) ничего не "понимает", она действует по протоколам, которых в ней целый стэк (Ethernet | IP | TCP | HTTP, например). 
При получении каждого сегмента TCP, операционная система в ответ отсылает служебный пакет - подтверждение. Если отправитель долго не получает подтверждений конкретного сегмента, он отсылает его повторно.
Последний ваш вопрос смысла не имеет, вы все путаете. Количество обрабатываемых за такт байт - очень специфичная величина, для современных процессоров с их навороченными SIMD-инструкциями ее даже посчитать сложно.

Худший ответ: классически начинается с чтения Интернет потом видишь в нем ссылку на Стек протоколов TCP/IP, читаешь и в нем видишь еще кучу ссылок на другие документы...
еще вариант в поиске (надеюсь знаешь как пользоваться) написать "как работает интернет" и читать... читать... читать...
Судя по твоим словам не помешает и техническое описание работы компа прочитать...
есть куча материала в интырнете разжеванного по самое не балуйся, даже видосики, пересказывать здесь будет скучно и глупо
Вопрос: Актуализированная подборка по PHP фреймворкам?

Лучший ответ: Symfony / Laravel
Хотя и Zend тоже полезно знать, особенно если захотите работать с Magento.

Худший ответ: Я просто в шоке от того каким бараном был упертым...
даже не велосипед ... а колесо изобретал от телеги.
Но! не угрохай я эти месяцы на свое изобретение.. ООП, MVC и т.д... я вряд ли бы сходу понял эти фреймворки. 
Главное результат и удержаться от переписывания старых проектов)