pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Книги по разработке 2D-игр на C++ и DirectX

Лучший ответ: Никого не слушайте, советую начать со следующих:

 — Jonathan Harbour — Advanced 2D Game Development (http://www.amazon.com/Advanced-Game-Development-Jonathan-Harbour/dp/1598633422)
 — David Franson — 2D Artwork and 3D Modeling for Game Artists (http://www.amazon.com/Artwork-Modeling-Artists-Development-Software/dp/1931841330)

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

Лучший ответ: Owl Carousel 2 - если поддержка IE меньше 10-го не нужна.OWL Carousel 1.3.2 - если нужна поддержка версий постарше (в разумных пределах).
Уже больше 2-х лет использую только его.

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

Лучший ответ: Никто не может Вам гарантировать, что Вы не окажетесь в психушке, не зависимо от того, будете Вы их изучать или не будете :)
По делу. Если языки отличаются друг от друга существенно, как указанные Вами, то переключаться между ними будет несложно. Сложнее было бы, если бы Вы изучали, скажем, C++, C# и Java. 
Это будет тем более не сложно, если Вы уже умеете программировать. Хотя бы на каком нибудь одном языке. А вот если все три для Вас, это программирование с нуля, то я бы поостерегся.

Худший ответ: Вы окажетесь в психушке, если будете изучать, но не будете писать)
Вообще, сложности обычно возникают, если в языках по разному реализованы одинаковые подходы, тогда легко запутаться и не понять вовсе.
А вообще, это нормально, изучать одновременно взаимосвязанные языки, если вы, например, используете их вместе. Если вы заходите написать сайт на django, то вам придется изучить python, параллельно изучая js (предположим, что языки верстки вы знаете), а потом и много смежных технологий.
А учить ЯП просто ради того чтобы его знать - смысла никакого нет.
Вопрос: Что будет, если задержать руку над беспроводной зарядкой?)?

Лучший ответ: Довольно сильное ощущение бесполезно потраченного времени.

Худший ответ: Насколько я себе представляю беспроводные зарядки, они включаются только при наличии нагрузки, то есть электромагнитной связи с заряжаемым устройством. И даже если бы этого не было -- там слишком низкая частота, чтобы вызвать заметный руки.
Вопрос: Аналог proxmox(debian) для centos?

Лучший ответ: oVirt.org конечно. Намного мощнее чем проксмокс

Худший ответ: Три минуты гугла это так сложно
lxcenter.org/
Вопрос: В Linux adb -d печатает только справку, но не обращается к устройству, почему?

Лучший ответ: > Есть какие либо идеи?
конечно есть идеи!
например, ты используешь адб не так, как то планировали его разработчики и он тебе ненавязчиво в очередной раз справочку кажет.
Например, если "directs command to the only connected USB device" так зачем после -d какое-то "Zera F" - это что вообще и зачем оно там?!
и вообще, если у тебя одно устройсво подключено, можно безо всяких -d. просто adb install /path/to/file.apk

Худший ответ: что adb devices выдает?
возможно проблема в том, что вы не включили дебаг мод на телефоне и он не может подключиться
Вопрос: Какие перспективы у сегодняшних выпускников направления «Радиотехника»?

Лучший ответ: Радиотехник - специалист достаточно широкого профиля. 
Спрос есть, если это специалист на самом деле.

Худший ответ: Серожа none  послушай он дело говорит.... я отучился в 2010 и сразу в армию - единственное место где мои знания по связи пригодились... а на гражданке мои знания уже были стары и не нужны, ввиду того что заводов в моих краях нет по специальности - то максимум технарь где ни будь в Билайн а минимум электрик одиночка который зарабатывает "сам на себя". 
Вот парадокс. Пока учился знания устарели.
Вопрос: Как стать профессиональным веб-разработчиком за 7 лет?

Лучший ответ: Фигню вам тут советуют. Одной лишь работе на фрилансе вы мало чему научитесь. Скорее всего, наберётесь примеров говнокодинга в здачах «подправить скрипт» и подумаете, что так и нужно делать.
Вы не самый молодой — я видел тут 14-летнего парня, который на C# пишет круче всех PHP- и Python-программистов, которых я видел. Просто есть огромная разница между enterprise и home-page проектами. Java и C# имеют в себе больше от enterprise-культуры.

Самый лучший совет Вам сейчас: читайте книги. Как можно больше книг. Обязательно сочетайте с практикой. Но не на фрилансе, а «свои велосипеды», чтобы была возможность пробовать применять знания из книг. Пока Вас кормят родители — это самое лучшая возможность начинать свои проекты. Возможно, Вы сейчас мало придаёте этому значения, но это так. 

Изучайте существующие фреймворки. 
Книги и работа с фреймворками (в том числе фреймворками для unit-тестирования) дадут Вам огромнейшее количество знаний, Вы сможете сэкономить многие многие годы, которые другие программисты тратят, чтобы постигнуть всё своим путём.
Читайте Макконнелла «Совершенный код», Роберта Мартина — «Чистый код», Э. Хант, Д. Томас — «Программист прагматик».
Изучайте Qt, Symfony, Visual Studio. Никогда не думайте, что Вы остановитесь на одном языке — нужно изучать несколько языков, чтобы видеть несколько способов решения проблем.

Выбирая профессию программиста, знайте, что Вы будете учиться ВСЕГДА, а не следующие 7 лет. Новые технологии появляются каждый год, индустрия очень молодая и активная — каждый год Вы будете изучать и пробовать новое. Это университет без даты окончания :)

Худший ответ: Про ООП я написал конкретно для PHP ибо есть ООПшные языки
Вопрос: Как написать бэкэнд под задачу?

Лучший ответ: 1. Тот, которым владеете лучше. Или тот, который вам сейчас интересен и на изучение которого у вас сейчас есть время.
2. Да. Например, настраиваете задание в cron на нужные дни.
3. Да, можно. Сделайте отдельно парсер, который будет в нужные моменты времени парсить и класть нужное в базу, и отдельно инструмент, который будет выводить данные из базы.

Худший ответ: 1. Любой серверный, например PHP
2. Да, планировщик (cron) в помощь
3. А почему нет? Simple xml PHP парсит инфу, а куда ее отправить, это уже Ваше дело.
Вопрос: Как корректно составить запрос

Лучший ответ: Попробуйте так, если я правильно понял задачу.
SELECT
    cs2.userId,
    count(cs2.storeId) AS count_stores
FROM
    chess_storetry AS cs2,
    (SELECT
        cs.storeId,
        min(cs.timeStore) AS timeStore
    FROM 
        chess_storetry AS cs,
        _historystore AS h
    WHERE
        cs.numberTry = 0 AND h.userId=cs.userId AND h.storeId = cs.storeId AND h.finish=1
    GROUP BY
        storeId) AS results
WHERE
    cs2.numberTry = 0 AND cs2.storeId=results.storeId AND cs2.timeStore = results.timeStore
GROUP BY userId


Худший ответ: … GROUP BY userId ORDER BY timeStore DESC LIMIT 100
Не подойдёт?
Вопрос: Язык для олимпиадного программирования?

Лучший ответ: Вполне подходит для олимпиад. Скорости в большинстве случаев хватает, на всех этапах/олимпиадах в России поддеживается. Если по скорости не укладывается, то лучше переписать на С/C++/Java, но в большинстве случаев проблема скорости возникает из-за недоработанного алгоритма, а не из-за языка. Кстати на некоторых олимпиадах нет ограничения по скорости выполнения. Например на московской олимпиаде по программированию нужно было вообще только ответы сдавать, т.е. можно было очень быстро написать совершенно неоптимизированное решение, поставить минут на 15 выполняться(способ весьма грязный, but who cares). В итоге за 20 минут есть ответ. А если делать качественно, то на размышления и кодирование больше времени суммарно выйдет.
Комментарий писал с прицелом на школьные олимпиады, т.к. судя по посту автор ещё школьник.

Худший ответ: Python не подойдёт для школьного олимпиадного программирования, так как ваши программы должны будут улаживаться в определённое время. Например, на Всеукраинской ученической олимпиаде по программированию доступны только Pascal, C и C++.
Учите С++. Я начинал учить именно с него, и хотя возникали некоторые сложности, сейчас ни о чём не жалею, так как теперь легко осваивать любые другие языки, в том числе и Python. На С++ писать не сложно, нужно лишь немного времени, чтоб привыкнуть к синтаксису.
Могу порекомендовать книгу "Язык программирования С++" Стенли Липпмана.
Вопрос: Где нужно начинать шифровать пароль?

Лучший ответ: Разумнее https.

Худший ответ: Интересно почему не используются в вебе технологии *CHAP . Это накладывает ограничение на сервер, что на нем будут храниться пароли с обратимым шифрованием, но при этом защищает от прослушки. 
Даже Https не панацея - вспомните аваст, который подменяет корневой сертификат защищаемой системы, если это может делать антивирус, то скомпроментировать https на клиенте может любой троян.
Очень хотелось бы увидеть реализацию, в которой на клиенте пароль шифровался одним способом, передавался на сервер, там шифровался с солью сервера и в базе хранился бы хеш этого пароля. При авторизации клиент делает первый хэш, солит его солью полученной от сервера, передает на сервер. сервер солит второй солью пароль в базе, а первой солью полученный хеш авторизации. Сравнивает хеши. При таком подходе открытый пароль будет только в хтмл форме и сть ограничение на выбор хеш функций. но при довольно сложном алгоритме шифрования на сервере подобрать пароль и повторно использовать хеш становится сложнее.
Остается добавить к этому метод позволяющий не хранить пароль в поле ввода по мере набора...
Вопрос: Возможно ли mbr в gpt без потери информации на system разделе?

Лучший ответ: MBR в GPT можно конвертировать с помощью утилиты gdisk.
Открываем нужный диск: gdisk /dev/sdX
Вводим команду w, подтверждаем изменения и MBR-диск автоматически преобразуется в GPT.

howto-press.blogspot.ru/2012/08/mbr-gpt_6.html

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

Лучший ответ: var a = [1]
годится?

Худший ответ: 
Иногда не хочется объявлять каждую переменную, а приходится
¯\_(ツ)_/¯
Вопрос: Работа с borland C++ ListView или аналог, куда копать (см скрин)?

Лучший ответ: Не понял причем тут div и float, но копать лучше в сторону Qt.:)

Худший ответ: Нашел вменяемую документацию functionx.com/bcb/controls/listview.htm
upd:
Нашел еще лучше компонент, не буду кидать ссылки на варез, вот офф сайт :) www.tmssoftware.com/site/advgrid.asp
Вопрос: Есть ли в приложении WhatsApp API? Кто знает как написать приложение для смартфона?

Лучший ответ: Есть кое что на python https://github.com/tgalal/yowsup

Худший ответ: devdocs.ru/programming/php/whatsapp-api-the-librar... на пхп
Вопрос: Как работать с PayPal в Украине?

Лучший ответ: У меня Visa Internet от ПриватБанка (в Приват24 бесплатно оформляется виртуальная карта) — легко подключается, работает без проблем.

Худший ответ: PayPal -> Webmoney
www.payoneer-affiliates.com/
Получать деньги в банкомате, класть на webmoney через любой обменник

Webmoney -> PayPal
Обналичить в любом обменнике, получить в любом банке карточку, официально положить на PayPal с карточки
Вопрос: Как оптимизировать алгоритм подсчёта суммы чётных чисел Фибоначчи?

Лучший ответ: Навскидку, числа Фибоначчи идут в периоде (нечет-нечет-чет). 
При этом четный член равен сумме предыдущих нечетных.
3+5 = 8
13 + 21 = 34
55 + 89 = 144
То есть, четное число - это полусумма своей тройки.
Так что берем искомую последовательность, добавляем при необходимости один-два члена (чтоб получить полную тройку). Сумма первых 2k+1 чисел равна 2*F_{2k+1}. Сумма первых 2k чисел равна F_{2k+2}.
Так что ищем сумму, отнимаем 1 и 2, отнимаем добавленные слагаемые, делим на два, получаем ответ.
Формулу быстрого поиска энного числа Фибоначчи ищем на википедии. 
В результате при любых больших n поиск будет занимать почти одинаковое время.

Худший ответ: Еще одно решение, помедленнее, чем у uvelichitel, но рабочее и в лимит 4 сек. укладывается. Как показала практика, самая медленная операция в этом алгоритме - это остаток от деления на больших числах. Побитовые сдвиги помогли ускорить алгоритм в 2 раза.def solution(A):
	r = s = 0
	x = y = 1
	i = 2

	while i < A:
		y = x + y
		x = y - x

		n = y >> 1
		n = n << 1

		if n == y: # is even?
			s += y

		i += 1

	r = sum(map(int, str(s)))
	return r
Вопрос: Так как же правильно верстать сайты?

Лучший ответ: Ну у вас там нет ничего — несколько десятков строк кода. Не страшного кода. Фтопку препода.HTML
Нет meta с charset. Шанс на то, что сервер не отдаст кодировку в Content-Type, ничтожно мал, но соломку лучше положить. Да и для локального просмотра по file:// пригодится. Прямо перед title.
Декларация есть, стили перед скриптом.
Часть элементов без классов, что может превратить дальнейшее усложнение кода в сущий ад.
Блоки с классами clear и line — избыточный код. Это реализуется с помощью псевдоэлементов или самих элементов.
А вот a.submit — чушь. В форме нужна кнопка button.submit. У формы должен быть action, отправляться она должна по https:// и методом post.
По стилистике «Ваш» — архаизм. Выкиньте.CSS
Не привязывайтесь к именам тэгов. Потом сильно пожалеете.
Шрифт задан а html — хорошо.
Задавать блочным элементам в нормальном потоке width: 100%; — моветон.
Не ставьте z-index с шагом больше, чем 1.
Устанавливать cursor для :hover — странно. Лучше не делать смену этого правила при наведении, ведь курсор имеет смысл только при наведении.
Для border-radius не нужно вендорных префиксов.
Размер кегля шрифта лучше привязывать либо к размеру кегля родительского элемента, либо корневого элемента (rem).
Жонглирование странными значениями размеров говорит о том, что для вас тема построения визуальной модели пока сложна. Обязательно к прочтению.JS
Ну тут вообще ничего пока нет. Но уже если пишете $(), то jQuery-то нужно подключить.

Худший ответ: по стилистике кода:
- разные кавычки в html,
- код типа "ul.navleft li:hover, ul.navcentral li:hover, ul.navleft .active" лучше форматировать с переносом каждого селектора на отдельную строку (легче читать),
- код "margin-left: 10px; width: 25px; height: 25px;" тоже фигово, каждое правило на новой строке
по коду:
- нет указания кодировки
- label должен связываться с input (select, textarea) через атрибуты for-id
- класс .clear - лишний, как и элемент с его использованием (есть другие, более семантичные варианты очистки потока)
- описание поля следует после самого поля (некорректно логически, хотя конечно в CSS можно настроить любой вид)
- отправка формы - кнопкой (должна быть)
- универсальный селектор "*" не к месту,
- стилизация через имя тега (огромное зло, и, поверьте, сложно расширяемое и поддерживаемое)
Можно еще придраться к слишком общим именам селекторов (reg, submit и т.п.).
- селекторы типа tag.class - совершенно излишни, достаточно .class
............
В общем, таких мелких косяков еще кучу найти можно (я просто код посмотрел, не анализируя построение разметки, а там наверное тоже есть интересности), но убивать за это явно не стоит =)))
Вопрос: Какой из js фреймворков выбрать для данной задачи?

Лучший ответ: Angular.js а то что вы описываете зовется single page application.

Худший ответ: РазДва
Если с фреймворками ни разу не работали то можно рассмотреть Backbone.js и потом использовать фреймворки на его основе - Marionette.js, Chaplin.js. Но тут придется разобраться еще с jQuery и Underscore.js. В плане не сложного освоения можно посмотреть в сторону Ember.js - большинство опций поддерживаются из коробки и минимум использования jQuery.
Если есть много времени и терпения то Angular.js.
Вопрос: Бекап на роутере?

Лучший ответ: Подключив hdd к роутеру, ничего не получилось.А что должно было получиться? И что конкретно не получилось?
Во первых не факт что роутер поддерживает подключение накопителей к USB, иногда поддерживаются только модемы.
Если поддерживает - не факт что диск заведется, диску в отличии от флешки может банально не хватить питания по USB от роутера.
Если все же диск подключиться он как правило будет доступен по FTP.
Поэтому подключайтесь по фтп, и скидывайте туда бэкапы.
Хотя скорость будет печальной.
Да и надежность такого решения вызывает сомнения.

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

Лучший ответ: Облачный хостинг от Amazon. Создаешь инстансы в разных точках света и вперед.

Худший ответ: раскидать вдски, купить инстансы в разных частях света… о синхронизации то кто думать будет? А с DNS кто будет шаманить, если упадёт что-то? не забывайте, что они то работают только как round-robin. 

2 сервера в м9 и м9-вднх, heartbeat, умный шлюз, который будет реагировать и передавать IP адрес второму серверу, если первый упадёт. Стоимость — 9-15к+аренда/colo серверов+трафик.
Вопрос: Корпус iPhone 3g

Лучший ответ: Крышек то полно! но если вы впервые решили поменять её сами, то вы порвете шлейфы!
Лучше сходите в нормальный СЦ и пусть вам поменяет человек с опытом :)

Худший ответ: На www.ebay.com наверняка есть, для 2G по-крайней мере есть все, хоть по частям собирай.
Вопрос: Зачем делать приведение к типу BOOL в конструкции IF?

Лучший ответ: Ничем не отличается. Просто это обобщает все ложные значения (0, false, "", null, undefined, NaN) к единому значению false.

Худший ответ: Ничем не отличается. Просто это обобщает все ложные значения (0, false, "", null, undefined, NaN) к единому значению false.
Вопрос: MacBook Pro проблема с тачпадом?

Лучший ответ: У меня навенорное проклятие какое то. Спустя 2 года в гугле ищу такую же проблему но уже с AIR и попадаю на свой же вопрос…

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

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

Худший ответ: Первое. Заводи массив, в простейшем случае (таблица ограниченного размера) — как минимум вдвое больше, чем желаемая ёмкость. В каждом гнезде или пара (ключ, значение), или «ничего». То ли какое-то спец.значение ключа отведи на «ничего», то ли храни указатели на элементы (не забудь наладить управление памятью), то ли сделай два параллельных массива, один Entry[], второй bool[] (можно добавить bool в Entry, так лучше с прогерской точки зрения, но перерасход памяти).
Второе. Вычисляем хэш, берём остаток от деления на n, заглядываем в таблицу. Если там что-то есть, но у этого «чего-то» другой ключ, перескакиваем на 1 вперёд. Если снова неправильный ключ — то ещё на два, если снова — то ещё на три… Надеюсь, поймёшь, как делать цикл…
Третье. Зачем тебе map, если задача — сделать свою хэш-таблицу, а не пользоваться чужим самобалансирующимся деревом.
Такая таблица может только расширяться, удаление если и можно наладить, то тяжело. Википедия рекомендует второе спец.значение (кроме «ничего») — «тут когда-то что-то было». При поиске «тут когда-то что-то было» считаются занятыми, а при добавлении — свободными. Дурость в общем — удаление не упрощает поиск.
Вопрос: Восстановление не закомиченного бренча в git

Лучший ответ: да, два дня коту под хвост
на такой случай надо юзать git stash

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

Лучший ответ: Ну хоть бы поискали: habrahabr.ru/qa/39805/
В двух словах:
Либо rsync либо tar.
С последующей установкой grub на целевом сервере.

Худший ответ: да в общем получиьт список пакетов, развернуть их на целевой машинке и скопировать /etc туда же.
Вопрос: CSS/JS фреймворк... для лендинга?

Лучший ответ: alvarotrigo.com/fullPage
www.thepetedesign.com/demos/onepage_scroll_demo.html
Это всего навсего постраничный скролл, и уж точно не "фреймворк... для лендинга"

Худший ответ: Может вы имели ввиду сервис для landing pages а-ля unbounce.com или lpgenerator.ru
Вопрос: В чем необходимость TDD?

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

Худший ответ: Тут есть немного про суть модульных тестов и TDD.
Вопрос: Как полностью удалить Google Chrome в Ubuntu 12.04?

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

Худший ответ: Хороший ответ, но меня хром выбесил до белого коления и я опосля проделанного по совету StrangeAttractor добил еще и следующим образом:
# locate google-chrome > chrome
#cat chrome |wca b c
#vi chrome
.,.+a!awk '{print "rm -rf",$0}'
после чего добавил в начале файла строку
#!bin/sh
и закрыл файл
:wq
а дальше с яростью и пеной:
#chmod +x chrome
#sh chrome
#updatedb
#locate google-chrome
После чего я получил невероятное удовольствие ;)
Вопрос: php SOAP Extension

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


$client = new SoapClient(
  'http://new.starliner.ru/modules/trains/soap/test.wsdl',
  array(
    'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
    'trace' => 1
  )
);

try {
  $result = $client->trainRoute(array('day'=>'12', 'month' => '12', 'train' => '066А'));
} catch (Exception $e) {
  print $e->getMessage() ."\n";

  print $client->__getLastRequest();

  print $client->__getLastResponse();
}



Wrong Version

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Ufs" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:TrainRoute><from xsi:type="ns1:ufsTrainRoute"><day xsi:type="xsd:string">12</day><month xsi:type="xsd:string">12</month><train xsi:type="xsd:string">066А</train></from></ns1:TrainRoute></SOAP-ENV:Body></SOAP-ENV:Envelope>




            <html>
                <body>
                    <pre style="border: 1px solid black; padding: 8px; background-color: whitesmoke;">
                        Ошибка 5027: Starliner: Метод "test" в контроллере "SOAP" не найден
                    </pre>
                </body>
            </html>




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

Лучший ответ: У каждого способа есть свои плюсы и минусы. Поддомены хороший вариант, но оптимально ли его применение зависит от ситуации.
Из относительно свежей информации есть статья - rashad.su/multiregional-site рекомендую ознакомиться.

Худший ответ: Первый, который приходит в голову - создать на каждый город, свой поддомен.
Лучший вариант. И на каждом поддомене прописать свои тайтлы и дескрипшины.
Вопрос: Сканирование директорий и файлов сайта

Лучший ответ: Конечно, есть. Из того, что можно самому своими руками запустить: dirb, DirBuster, Sublist3r, dirsearch. Разницы между ними не так много, главное какой словарь для перебора использовать. 
Из онлайн вариантов могу посоветовать URL Fuzzer или METASCAN, у них словари уже встроенные.

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