pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Потеряю ли я трафик если сделаю сайт с нуля?

Лучший ответ: Что вы подразумеваете под словом сайт с нуля? Делать его на фреймворке?Нужно учитывать SEO. Это очень скользкая тема. Недавно вопросом этим тоже задавался.  Решено было просто написать шаблон для HOST CMS с 0. Что бы правильно реализовать свой фреймворк на основе которого будешь пилить нужно учесть кучу всего, вот что первое приходит в голову
На абсолютно каждой странице сайта должна быть возможность редактировать значения следующих тегов: Title, Meta-Description, Meta-Keywords, H1, H2 (если предусмотрен шаблоном).
Должен генерироваться файл sitemap.xml. Требования к sitemap можно найти тут https://developers.google.com/search/docs/guides/e... Эти требования следует добавить в ТЗ для разработчиков.
Желательно реализовать возможность редактировать файл robots.txt через админку. Это позволит seo-специалисту быстро редактировать данный файл без получения доступа к ftp.
Желательно реализовать возможность редактирования шаблонов страниц или их частей через админку. Это позволит специалисту, при большой необходимости, вносить небольшие правки в html-код страниц без получения доступа к ftp.
Автоматическое сохранение бэкапа всех файлов и базы сайта. Это позволит обезопасить себя от любых действий привлеченных специалистов (к сожалению, всякое бывает).
Обязательно должны присутствовать правильно указанные title (Img)

Худший ответ: Данные трафика, вы имеете в виду посетителей?
При создании нового сайта нужно сохранить URL страниц или настроить редиректы. В этом случае проблем не должно быть.
Вопрос: Есть ли для windows 10 todo приложение которое интегрируется с центром уведомлений?

Лучший ответ: Cortana пишут что может управлять To Do https://tldrify.com/qym

Худший ответ: Уверен, что нет. Но поскольку API вроде как открыто, то можно накодить самому.
Вопрос: BSOD при загрузке виртаулки на Oracle VirtualBOX. Куда копать?

Лучший ответ: Перенос установленной винды с железа на виртуалку все равно, что перенос харда с виндой с одной машины на другую: часто грузится без проблем (машины одинаковых поколений + доля везения), но иногда сваливается в BSOD. Причина - набор драйверов и их настройки заточены под конкретное железо, а без необходимых драйверов система не может загрузиться. В общем случае Windows предполагает загрузку только на том железе, на которое ставилась.Настройки виртуалки крутил по-разному. 
Типичные решения (в порядке убывания вероятности):Storage -> Controller: SATA заменить на Controller: IDE.System -> Enable I/O APIC выключить или включить.
Гораздо менее вероятно, но стоит попробовать:System -> Chipset: сменить.Storage -> Attributes -> Type: сменить.

Худший ответ: отловил bsod: 
правильно понимаю, что это как раз и есть несовместимость по дровам дисков?
Вопрос: Насколько правильно сверстанный страница?

Лучший ответ: Все норм, не слушай никого. Главное чтоб не тормозило и работало во всех браузерах... А клиенту в 99% пох как там все сверстано.

Худший ответ: Сайт сверстан Не правильно ибо:
0) богомерзкий бутстрап
1) скрипты и стили не в шапке  да спецификация 5,1 позволяет так делать но работать это будет не у всех а по поводу где грузить скрипты холливарить можно до второго пришествия.
2) слишком много дивов но это вытекает из пункта №0.
3) картинки прописаны фоном а не тэгом img.
4) через жопу сверстан блок .services_items .
5) через жопу сверстан блок с логотипами партнеров.
6) не понимания семантики тэгов div, ul, li.
А сверстал бы до 4 часов при условии что исходники  хорошо подготовлены и от 4 часов если исходники подготовлены плохо
Вопрос: Аналитика и метрика в WordPress?

Лучший ответ: Если прикрутите в Theme Customizer, то клиенты вам скажут только спасибо. Так как многие плагины вставляют код обычно не туда куда надо.

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

Лучший ответ: Включи отображение ошибок или смотри error.log
Там будет написана причина, что переменная $pdo не определена.

Худший ответ: $pdo внутри функции не определен, и скорее всего  определен где-то за ее пределами.
Вопрос: Ошибка при рутировании в Yii2?

Лучший ответ: при рутировании
????? Это что вообще?An Error occurred while handling another error:
yii\base\ViewNotFoundException: The view file does not exist: /home/igor/Projects/testmmps/frontend/views/site/error.php in 
Yii попытался вывести Вам ошибку, но не смог, потому что возникла ошибка при выводе ошибки, а именно нет файла view. Конкретно вот этого: frontend/views/site/error.php

Худший ответ: Добрый день.
В ошибке же сказано, что "Файл представления не существует: /home/igor/Projects/testmmps/frontend/views/site/error.php"
Проверяйте в конфигурации настройку error страницы и наличие файла error.php
Вопрос: С чего лучше начать изучение Scrum?

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

Худший ответ: "Педагогическая поэма" А.С. Макаренко.
Будет реальный толк.
Вопрос: Где кончаются границы возможностей CMS в сравнении с web-разработкой?

Лучший ответ: Какие самые топовые двигатели существуют?
Где заканчиваются возможности двигателей и начинаются возможности других способов что-либо двигать?
Вы же понимаете, что нельзя сказать что есть самое топовое, потому что сразу станет вопрос об области применения.
Ездить, летать, ползать, закручивать.
Так же и тут - "топовых" небывает, есть популярные для решения конкретных видов задач.
Любая CMS это обычно веб-продукт, и при желании ВСЕ можно реализовать в CMS, просто иногда задача бывает такова, что нет смысла переписывать CMS, а проще написать с нуля свое.

Худший ответ: Какие самые "топовые" CMS существуют?
если речь идет о пхп, то топовые по какому критерию вам нужны? 
Самая распространенная - wp. Где кончаются их границы возможностей, в сравнении с web-разработкой? 
Нигде. Написать можно что угодно в рамках любой системы, так как пхп - сам по себе скриптовый язык, ничего не мешает залезть в код и все поломать написать дополнительный функционал. Просто для этого потребуется больше телодвижений. И долгое воскурение манов. Ибо большАя часть функционала уже реализована по-своему, надо либо переписывать с учетом множества связей, либо писать свое и прикручивать к существующей системе.
Вопрос: Как переместить загрузочный отдел на другой диск?

Лучший ответ: 1. Отключить HDD.
2. Загрузить установщик, выбрать восстановление системы, убедиться что винда грузится.
3. Подключить  HDD, убедиться что SSD в порядке перебора загрузочных устройств выше по приоритету, чем HDD.

Худший ответ: ***********************
В биосе ставте 
1. устройство с установщиком
2.ssd
....
Вопрос: Простым языком о замыканиях?

Лучший ответ: 1. Для чего замыкание существуют?Для инкапсуляции данных.
В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.2. В каких условиях они создаются?Когда вложенная функция обращается к переменным внешней функции.
Хоть и просили без примеров, но на примере показать проще:// makeCounter - внешняя функция
function makeCounter(initialValue) {
  var value = +initialValue || 0;
  // counter - внутренняя функция
  // она использует переменную value из внешней функции
  // что-бы это было возможным, для counter создается замыкание,
  // в котором хранится переменная value
  // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
  return function counter() {
    return value++;
  };
}

// у нас 3 экземпляра функции counter
var counter1 = makeCounter();
var counter2 = makeCounter();
var counter3 = makeCounter(100);
// и для каждой есть своя переменная value
console.log(counter1()); // 0
console.log(counter1()); // 1
console.log(counter2()); // 0
console.log(counter1()); // 2
console.log(counter3()); // 100

// а вот получить как-то напрямую переменную value мы не можем
// инкапсуляция нам не дает поломать данные

Худший ответ: Замыкание это функция и доступные ей внешние переменные
Переменная недоступна для функции (находится в соседней функции) - замыкания нет
Вынесли объявление переменной в область видимости выше - замыкание появилось
Вопрос: Как правильно авторизовываться по ssh?

Лучший ответ: Понимаете Вы все правилно.
Рутовый пароль вам будет нужен только для подключения локально ( не по SSH).
Для sudo вы используете не root password а пароль от своего пользователя (пароль рут нужен для  команды su)
Если вы потеряли ключ польззоателя - тогда авторизируетесь локально по паролю   и делаете новый ключь. 
 Если это VPS у них должна быть VNC сонсоль если дедик то IPMI
Использовать можете любого созданого вами  пользователя ( не забудте добавить его в sudousers) Линк 
Так же советую изменить ssh порт с 22 на какой-то другой 2022 к примеру. ( Боты восновном сканируют только стандартые порты)

Худший ответ: Всё правильно понял. Единственное sudo, обычно, просит пароль пользователя, под которым ты запускаешь sudo, а не рута.Что в таком случае делать, если например, потерять приватный ключ пользователя?
Терять нельзя, это то же самое, что забыть пароль. Многие VPS-хостеры предоставляют доступ к терминалу через веб-интерфейс, в этом случае восстановить доступ через него. Если же такой возможности нет и нет физического доступа к серверу, то разве что горевать и писать в поддержку хостера.
Вопрос: Недопустимая операция в нескольких потоках?

Лучший ответ: Нельзя работать с графическими элементами из другого потока. Используйте Invoke. 
https://msdn.microsoft.com/ru-ru/library/zyzhdc6b(...

Худший ответ: Почему происходит зависание формы и таймеров windwos forms?
Вопрос: Поисковые роботы понимают JS?

Лучший ответ: сие тайна коммерческая есть
но имхо лучше на это не рассчитывать

Худший ответ: Да, понимают.
Уж точно формируют страницу с учетом JS, а потом анализируют.
Но лучше так не делать. Если вы препятствуете поисковым роботам, то это минус сайту.
Вопрос: Как выбрать псевдокласс :before из $(this) при каждой итерации?

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

Худший ответ: Никак, псевдоэлементы недоступны из js. Но в качестве контента в них можно использовать атрибуты родительского элемента, которые через js менять можно.
Вопрос: Почему возникает ошибка System.NullReferenceException: 'Object reference not set to an instance of an object?

Лучший ответ: Потому что список tours.tourInfos ни кто не создал. Вы его только объявили, а new не стали.

Худший ответ: public class Tours
{
    public List tourInfos { get; set; } = new List();
}
или создайте конструктор без параметров, где будет инициализирован список. Иначе он действительно null и компилятор вас не обманул
Вопрос: Какими инструментами можно создать подобные рисунки?

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

Худший ответ: Болванки мебели можно смоделировать в Скетчапе, потом экспортировать в векторный редактор. Людей только в векторе.
Вопрос: Приоритет трафика по конечному ip-адресу в mikrotik, возможно ли?

Лучший ответ: Делается это через очереди Queue Tree, но для начала надо отмаркировать трафик в mangle. Потом в деревьях очереди поставить более приоритетный.

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

Лучший ответ: Это вряд ли возможно формализовать. Один из подходов: KISS — keep it simple. Выбираю самое простое решение, потому что, пока оно дойдет до production, требования 10 раз поменяются (и еще 10 раз поменяются уже после внедрения), а простое решение и проще реализовать и проще переделать. Но это только одна из эвристик.
Такое, чтобы запутаться в решении не бывает. Это только, если не понимать, что делаешь. Иногда бывает, что не совсем до конца понимаешь требования, или как решать задачу. Тогда можно зайти в тупик спустя несколько часов или дней. Но такие ситуации встречаются редко.
Иногда по мере того, как делаешь задачу, понимаешь, что ее можно сделать совсем иначе, при этом получится проще и эффективнее. Ничего страшного нет: с самого начала продумать идеальное решение не может никто.
В жизни нет готовых рецептов на все случаи. Жизнь вообще не поддается формализации.

Худший ответ: На начальном этапе - не париться об этом. Все равно идеально не сделаете. Крутите велосипед - с опытом его улучшите и поймёте что правильно.
Вариант есть - спросить о реализациях старшего разраба. Если таковой есть. Описать ему все варианты реализации и он объяснит где у какого минусы-плюсы.
Просто пишите, читайте, вникайте. Со временем всё придёт.
Вопрос: Где можно журналировать изменения вносимые в конфигурацию подрядчиками?

Лучший ответ: Соглашусь с первым.
Только дам ссылку на первоисточник v8.1c.ru/overview/Term_000000603.htm
Хранилище позволит регулировать разработку, так что будет попадать в Рабочую базу.
Вариант 2 приемлем когда нужно понять какие изменения внесли, до тебя.

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

Лучший ответ: Представим что мы работаем в издательстве. Пишем статьи. Автор принёс статью и редактор начал с ней работать. 
Спустя несколько итераций редактор может дать отмашку, мол статья готова к публикации. Но в моей воображаемой редакции публиковать статью может лишь главред. У обычного редактора нет на это разрешения.
Разрешение на публикацию статей может получить и другой редактор. Например, временно, когда главред ушел в отпуск.
Так и получается, что все заходят в один кабинет, как редакторы. Но у одних больше возможностей, чем у других.

Худший ответ: А потом добавился moderator. И что? Переписывать каждый контроллер? А потом оказывается юзер может редактировать только свои посты и только в течении 30мин, премиум юзер — только свои в любое время, а модератор любые посты. Писать кучу лишнего кода в контроллере? Окей, а потом кроме постов добавились фоточки с такими же условиями доступа, дублировать код? Условия доступа поменялись, например, юзеры закрепляются за модераторами, модераторы могут редактировать посты только своих юзеров. Опять бегать по контроллерам искать где что? Проще уж застрелиться чем так жить.
Вопрос: Как купить кастомный macbook на сайте apple?

Лучший ответ: Носом тыкать невежливо, так что я просто оставлю это здесь (ищи заветную строку с номером телефона):

Худший ответ: Покупал, ждал 2 недели. 
Прислали брату 13"/1тб/16
Брат мне выслал и fedex за три дня принес мне домой в мск.
Советую брать гарантию трехлетнюю за 269$
Так как за 200 дней до конца гарантии (через 895 дней использования ) тачпад начал глючить. По гарантии поменяли в мск топкейс (Клава+батарея+часть корпуса + тачпад). Платил с альфакарты
Вопрос: Чем проверить скрипт на уязвимости?

Лучший ответ: Руками и головой, да и то гарантий не даст.

Худший ответ: toster.ru/q/158349
Посмотрите тут может поможет!
Вопрос: Как реализовать авторизацию через YouTube на сайте?

Лучший ответ: Тут все описано. Например в разделе javascript первый же пример это авторизация oauth.
https://developers.google.com/youtube/v3/code_samples/
Реп с примерами:
https://github.com/youtube/api-samples

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

Лучший ответ: Начиная с C++17, можно использовать constexpr if в шаблонах: en.cppreference.com/w/cpp/language/if . В самом условии что-то вроде en.cppreference.com/w/cpp/types/is_same, ну и выдавать ошибку компиляции, если типы не соотвествуют. Правда правила вам всё равно руками придётся прописывать или почитать advanced template metaprogramming.
Есть ещё вариант c boost::mpl, например использовать mpl::vector.

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

Лучший ответ: Не обязательно. Здесь есть другие риски.
Если ИП и программист - разные люди, то в один день они допустим поссорились. И программист, желая досадить ИП, меняет настройки домена так, что он начинает указывать на какой-нибудь сайт типа bolshiesiski.ru. А ИП останется только грызть ручку и досадовать, почему он в свое время не перевел домен на себя...

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

Лучший ответ: всё в дивах......аааа, мои глаза...(сори за офф топ).tour :hover убери пробел ==> .tour:hover

Худший ответ: Что именно значит Ваше заставить двигаться я не понял, как и какого потомка, поэтому вот в общем:.parent:hover {
// стили для родителя при наведении на него
}
.parent:hover .child {
// стили для потомка при наведении на его родителя
}
Вопрос: Как зайти на сайт в IPhone 5?

Лучший ответ: Чтобы открыть сайт напрямую, а не вызвать поиск, нужно вбить точный адрес, который начинается с http://

Худший ответ: Вообще, на своем iPhone не сталкивался, но быть может там какие-то особенные браузеры.
Один раз клиент так говорил, но я после этого решил пойти простым путем.
Отправлять ссылку на телефон клиенту в виде смс.
Ткнули и открылось.
И как уже сказали выше, отправлять полный путь с http://...
Вопрос: Восстановление Windows 8.1 из-за использования на внешнем жестком диске Windows 10?

Лучший ответ: Это типичный случай восстановления загрузки. Вот стандартный модус операнди:
1. В BIOS Setup в списке приоритетов загрузки выведите ваш системный диск на первое место (самое верхнее).
2. С помощью Acronis DD (или другой аналогичной утилиты) проверьте, является ли ваш системный раздел диска активным (помеченным красным флажком). Не помечен - сделайте его активным, иногда уже этого бывает достаточно. Правда, тут есть нюанс: если на том же диске есть скрытый (зарезервированный системой) раздел FAT32 размером 100...300 МБ, и он уже активный - так и оставьте.
3. Запустите комп с любого инструментально-восстановительного LiveDVD/LiveUSB, содержащего известный пакет утилит 2k10, и выберите в этом пакете одну из утилит для восстановления загрузки (их там с десяток). С её помощью восстановите загрузчик на активном разделе.

Худший ответ: Сделать загрузочную флешку и переустановить Windows будет наиболее простым решением - https://www.youtube.com/watch?v=y8bvM5XNPoM
Вопрос: Является ли данный подход нормальной практикой для Laravel?

Лучший ответ: Вот правильное решение. Пользуйся Blade.
@unless (Auth::check())
    You are not signed in.
@endunless
Это из документации:
https://laravel.com/docs/master/blade

Худший ответ: Является ли хорошей практикой проверять авторизовался ли пользователь прямо во вьюшке?
Зависит от того как вы это делаете. В целом же это презентационная логика, так что вполне можно.
Вопрос: Как научиться создавать свои функции в PHP?

Лучший ответ: Реально ли вообще с нуля самому не смотря не документацию или чужой код создать Движок?
Реально ли вообще с нуля самому учится математике не смотря в учебник?
Реально ли вообще с нуля научится работать с деревом не обрабатывая дерево?

Худший ответ: Немного учил по книге Роберта Никсона
Еще отличные видеоуроки по ПХП смотрел здесь Мне очень понравились, немножко подтянул ООП, понял что такое MVC. Потом уже сам начал разбираться с фрейворком Laravel
Вопрос: Книги про хакинг?

Лучший ответ: Не совсем ясно, какой жанр, но я не так давно прочел Кевина Полсена. Отвал башки
А еще...
и
и

Худший ответ: Марсель Низамутдинов - "Тактика защиты и нападения на web приложения"
Жуков Ю. В. "Основы веб-хакинга. Нападение и защита" (2-е изд.)
Думаю для начала Вам хватит...
Вопрос: Как подключить сервер питона к nginx без wsgi?

Лучший ответ: Ну да, можно запустить make_server из wsgiref.simple_server, который, о боже, и есть WSGI))
Но если ты очень хардкорный чувак, то можно собрать свой собственный super-nginx, бери либу socket и делай.

Худший ответ: Ну да, можно запустить make_server из wsgiref.simple_server, который, о боже, и есть WSGI))
Но если ты очень хардкорный чувак, то можно собрать свой собственный super-nginx, бери либу socket и делай.
Вопрос: Мониторинг создания файлов в Zabbix. Как сделать так, чтобы он ругался, что файл не создан?

Лучший ответ: Для vfs.file.exists надо указывать точное имя файла. Если оно заранее не известно, но надо, например, отслеживать именно периодичность создания новых файлов - то проще мониторить время модификации родительской папки параметром vfs.file.time(имя_папки)

Худший ответ: Когда что-то забывается, то нужно открыть и прочитать документацию:
Посмотрите описание vfs.file.exists. Оно?
Вопрос: Как правильно передать скрипт заказчику?

Лучший ответ: Делайте свой скрипт по подписке. Скрипты держите у себя на хостинге. Если будет много клиентов, наймете админа для этих целей. 
API и алгоритмы меняются\добавляются, соответственно их надо модернизировать и поддерживать. Каждый раз Вас дергать будет накладно для клиента и для Вас. По этому сделайте подписку N-рублей в месяц и сами поддерживайте ботов своих клиентов первое время. Ко всему же Вам стабильный заработок.
Ну это логичное продолжение если вы не одноразово это делаете.

Худший ответ: как и с любым веб проектом - В НАЧАЛЕ нужно объяснить заказчику что нужен некий сервер - хостинг, можно хостить у тебя - будет стоить 3 рубля, можно куприть отдельный хостинг под это - будет стоить 30 рублей. В принципе и в конце работы можно объяснить, но выглядит как будто ты дополнительно разводишь на деньги, ведь "в начальную стоимость это не входило". Тоже самое с доменом.
Вопрос: Существуют ли способы полностью скрыть окно PowerShell при выполнении задачи?

Лучший ответ: command = "powershell.exe -nologo -command C:\path\to\your\ps\script.ps1"
set shell = CreateObject("WScript.Shell")
shell.Run command,0
это сунуть в vbs файл, в планировщике заданий указать путь к vbs.

Худший ответ: Лучше скажите как наборот вывод Ps показать, так как я не вижу ничего.
В скрипте немного кода powershell и утилита robocopy - мне нужно видеть процесс, а его по-умолчанию нет. Вообще все в фоне запускается.
Если же открыть PoSh и запустить в нем скрипт то весь процесс отображается.
Вопрос: Как сделать косые углы у блока?

Лучший ответ: У Вас clip-path должен 5 точек описывать.

Худший ответ: Псевдоэлементами https://jsfiddle.net/Politonius/jgwrfej2/
Вопрос: Как подключить jquery в vue компонент?

Лучший ответ: Не нужен вам jQuery, тянуть столько ненужного кода. 
Вроде как должно работатьlet searchBar       = document.querySelector('.search'),
    searchInput     = searchBar.querySelector('input'),
    searchToggleBtn = document.querySelector('.search-toggle'),
    searchParent    = document.querySelector('.header_content');

searchInput.addEventListener('focus', function (event) {
    searchBar.classList.add('expanded');
});
searchInput.addEventListener('blur', function (event) {
    searchInput.value || searchBar.classList.remove('expanded');
});
searchToggleBtn.addEventListener('click', function (event) {
    searchToggleBtn.classList.toggle('active');
    searchParent.classList.toggle('search');
    searchBar.classList.toggle('visible');
    searchInput.focus();
});

Худший ответ: Как вариант, так: import JQuery from 'jquery'
let $ = JQuery
А вообще это довольно избыточно, тащить еще и jquery. Советую переписать код на ecma, он даже по размеру такой же будет, а работать это все будет гораздо быстрее.