Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: На сколько удобно писать на C# под Android?

Лучший ответ:
В целом разрабатывать на Xamarin удобно.
1. Можно открыть книгу по разработке под Android на java и копипастить примеры оттуда с минимальными доработками, с учетом языка и xamarin'a
2. Сам язык C# более чем годен, очень активно развивается. Есть куча шарповых библиотек как платных так и бесплатных, как в репозитории пакетов так и на GitHub в виде исходников. Xamarin  позволяет подцеплять нативные либы на java, если чего-то не хватает.
3. Есть "нативный" Xamarin (Xamarin.Android, Xamarin.iOs и т.д.) - это обёртка над нативными API, UI делается привычным для нативных разработчиков способом. Есть Xamarin.Forms - там можно делать единый UI с помощью XAML. Инструмент более чем работающий, но нужно к нему привыкнуть, знать минусы, знать особенности платформ под которые разрабатывается приложение, знать что Xamarin Forms можно использовать не для всех приложений, знать как делать быстрый UI. XF - в целом готов для использования.
4. Да, размер пакета приложения если сделать все по дефолту большой, есть куча статей по оптимизации размера приложений, но размер приложения будет больше чем у нативных. 
5. Основная проблема Xamarin Forms - не баги, размер или еще что-то. Это неправильные ожидания которые к нему предъявляются.  У него своя ниша.

Худший ответ:
Вроде как для таких приложений нужен фреймворк Xamarin (сам как-то этим интересовался но уже где-то 2 месяца назад )
Вопрос: Laravel 5.5 Scout + Elasticsearch ошибка «No alive nodes found in your cluster»?

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

Худший ответ:
env('ELASTICSEARCH_HOST', 'http://localhost:9200'), Не?
И проверить, запущен ли elastic. Можно через curlleah@xxx:~$ curl -XGET http://localhost:9200
{
  "name" : "DR4r-FT",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Q4TCatpdSkaMoqlezR-TQQ",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}
leah@xxxx:~$
Вопрос: Можно ли ответить на тестовое задание с опозданием?

Лучший ответ:
Можно ли ... ?
Нельзя. Придёт штраф на 750р и вас лишат лицензии на работу сроком на 1,5 месяца.

Худший ответ:
Отправляй. Чего терять то?
Тестовое задание для текущей работы выполнил спустя неделю, так как отравился и ничего делать не хотелось. Отправил без надежды на позитивный ответ.
Вопрос: Много соединений socket. Что лучше использовать asyncio или потоки?

Лучший ответ:
50 - это немного :) Много - это несколько тысяч. Лучше используйте асинхронность вместо многопоточности. В Python это и проще и производительнее в большинстве случаев.

Худший ответ:
50 - это немного :) Много - это несколько тысяч. Лучше используйте асинхронность вместо многопоточности. В Python это и проще и производительнее в большинстве случаев.
Вопрос: Нужно ли мне внедрять онлайн кассу по ФЗ-54?

Лучший ответ:
Приветствую! Я из Яндекс.Кассы, всё зависит от того, что/как вы продаёте, какая форма налогооблажени и т..д. Лучше проконсультироваться у юристов. Если что, решение Яндекс.Кассы по этой ссылке: https://kassa.yandex.ru/blog/receipt.

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

Лучший ответ:
Потому, что он будет так же закрыт.
https://docs.oracle.com/javase/8/docs/api/java/sql...

Худший ответ:
Как вам написали в комментарии мапить на объект. Если вам не понятна структура объекта . мапте на массив map ( строка, колонка \ значение) массив = кол-ву выбранных строк.
Вопрос: Как менять цвет картинки svg через css без встраивания и js?

Лучший ответ:
Если вставили как img - то ни как.

Худший ответ:
Можно с помощью скрипта из изображения сделать inline SVG и с ним делать все что пожелается. Вот Gist
Вопрос: Что нужно знать системному администратору чтобы обслуживать небольшой сервер в офисе?

Лучший ответ:
Методичка "сам себе курсы".
0. Определяешь круг своих непосредственных обязанностей.
1. Составляешь список - что тебе надо / хотелось бы сделать, и что из этого ты не знаешь, как делать.
2. Гуглишь рецепты - 90% админской работы подробнейше разжеваны в интернете.
3. Применяешь обретенное на практике, бьешься головой о грабли, получаешь опыт.
4. Возвращаешься к п. 1.
А "небесного инструктажа", после которого ты будешь все знать и все понимать, ни на каких курсах нет и быть не может. 
IT-специалист - это не тот, кого научили. Это тот, кто научился.

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

Лучший ответ:
Если не хочется лезть в чужой код и менять его, и уж тем более заниматься интимными вещами через Reflection, то правильнее всего будет создать свой класс отнаследованный от нужного, и в своем классе добавить public метод который будет вызывать protected предка.
Таким образом не нужно будет менять чужой класс, при этом сохранится доступ ко всему функционалу базового класса.

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

Лучший ответ:
Суть такова, что есть прайс(ы) ~5млн и его нужно быстро обновлять (раз в 2 часа).
Это НЕ много и совсем НЕ часто.обновлять или удалять и заново записывать
Ложный выбор, это одна и та же операция. MVCC update = delete + insert
Но что важно - не делать update который вам действительно не нужен. Postgresql не анализирует данные в поиске пустых обновлений, update table set id = id; вам честно удвоит таблицу, хотя ничего на логическом уровне не изменится.
Профилируйте, на что реально тратите время - pg_stat_statements ответит хорошо на этот вопрос со стороны базы. Пальцем в небо - вы работаете в автокоммите и естественно 5млн пишущих операций для любой честной ACID базы - это порядком медленного IO (даже для SSD)

Худший ответ:
Держите прайс в редисе  и проблемы не будет.
Вопрос: Потоковый JSON парсер, какой использовать?

Лучший ответ:
Стесняюсь спросить, json_decode() вас чем не устраивает?
У меня на ПК обработка json-файла размером в 130 мб занимает чуть больше секунды.

Худший ответ:
Вы правы вполне хватает и обычного json_decode, в файле были спецсимволы...
Вопрос: Как вести документацию для компонентов Angular 2+?

Лучший ответ:
Давать компонентам правильные названия
Таким образом, чтобы при прочтении названия компонента можно было понять, что данный компонент из себя представляет. К примеру: select, datepicker, graph, file-input, editorПравильно распределять компоненты по директориям
Если компонент является разделом на сайте, то перед наименованием директории в которой хранится этот компонент пишем, к примеру, +. Составляющие части разделов размещаются внутри директории раздела которому они принадлежат.
Выглядит это так: есть страница, допустим, "часто задаваемые вопросы" - "+faq", на которой есть независимые части, такие как, "вопрос/ответ"-  "question-answer" и "задать вопрос" - "ask-question". В итоге иерархия получается такой:
-- +faq
---- ask-question
------ ask-question.component.ts
---- question-answer
------ question-answer.component.ts
-- faq.component.ts
Если компонент используется во многих местах (общий компонент), то такие компоненты помещаются в директорию /shared и группируются по смысловой составляющей, к пример:
-- shared
---- forms
------ editors
-------- summernote
------ input
-------- datepicker
-------- select
---- graphs
------ flot-charts
...
После этого пробежавшись глазами по всем директориям сразу можно понять где разделы, где составляющие этих разделов, а где общие компоненты. И уже, без какого либо описания, можно понять что и для чего.
Для общего документирования приложения можете воспользоваться Dgeni (инструкция)
Для TypeScript можете воспользоваться typedoc

Худший ответ:
что бы не тратить кучу время на эти модные документации достаточно перед куском кода понятным родным языком писать комментарии. не надо писать ерунду или какие то очевидности на английском. а то бывает смотришь ацкий гомнокод и видишь такой четкий коммент /*
    * Phone mask on inputs
    * */
    $rootScope.mask = function() {
        $(document).ready(function() {
            $('input[type="tel"]').mask('+7 (999) 999-99-99');
        });
    }();
Вопрос: В каком направлении течет постоянный ток?

Лучший ответ:
С тем же успехом сопротивление может находиться между конденсатором и "-" источника тока. С направлением тока это не связано.

Худший ответ:
В данной схеме полярность и положение резистора в схеме роли не играет. 
Главное, чтобы у конденсатора стояла верная полярность "на ногах" ("+" к плюсу).
Вопрос: Cброс заводских настроек не помог удалить программу шпион?

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

Худший ответ:
Ну например, сравнить образ файловой системы с эталоном, это если совсем по тупому...
Если нужно тупо обезвредить, то нужен не "сброс настроек", а "восстановление заводской прошивки"!
А если по уму то андроидные зловреды обычно отличаются редкой наглостью исполнения, и их идентификация не вызывает затруднений, однако перечисленные симптомы, больше напоминают паранойю ибо от прослушивания и записи разговоров их качество никак не страдает, и включать при этом фонарик вовсе не обязательно :-)
Вопрос: OpenVZ или XEN?

Лучший ответ:
Любой так как в вашем случае не важно какой тип виртуализации

Худший ответ:
обычно xen/kvm виртуалки дороже openvz,
и одна из причин почему, потому что на openvz оверселить проще, потому что на openvz возможны конфигурации, когда вам реально доступно меньше оперативной памяти чем заявлено по тарифу...
НО openvz быстрее, потому что не используется виртуализация (а это +10%-30% к производительности вычислений, всего что занимает процессор), потому что оперативная память экономится (считанные десятки мегабайт) за счет того что системные процессы общие для всех виртуалок на хосте.
xen/kvm это почти полноценная машина, любые операционки (в разумных пределах, так как виртуализация кушает ресурсы), любые версии ядер, ваши собственные капризы, вплоть до gentoo... иногда это бонус.
и для параноиков, помним, на xen/kvm вы сможете настроить шифрование раздела с вводом пароля/указания ключевого файла, при перезагрузке в ssh сессии, и администраторам/хостерам будет заметно дороже (но не невозможно) получить к вашим данным доступ.
Вопрос: С помощью какой программы можно создать графику на подобие Crossy Road?

Лучший ответ:
Maya, 3ds Max, Blender - любой тридэшный редактор такое умеет. Если хочется прям воксельный редактор, то можно взять MagicaVoxel или что-то аналогичное.

Худший ответ:
Это можно сделать практически в любом современном 3д или даже 2д-редакторе.
Вопрос: Где мне найти такой API?

Лучший ответ:
Нет такого API. И быть не может.
Как говорил Остап Бендер: "А может тебе дать еще ключ от квартиры, где деньги лежат?"

Худший ответ:
Посмотрите в сторону acat.online (платный)
Вопрос: Книга по компютерным сетям?

Лучший ответ:
linkmeup.ru/blog/11.html и одноименные ролики на Youtube

Худший ответ:
Канал на ютубе Андрея Созыкина
Вопрос: Тестовые платежи в Одноклассниках?

Лучший ответ:
Никогда не появятся, потому что всем похуй. Ну и зачем их вводить, если лишние шекели капают, ага?

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

Лучший ответ:
Сначала полгода практики, потом "Совершенный код"

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

Лучший ответ:
Какой из двух ноутбуков выбрать?Оба примерно одинаково плохи.что бы вы выбрали? Я бы выбрал нотубук с экраном диагональю не более 13,3, и без дискретной видеокарты. Дискретная видеокарта вообще вещь абсурдная в ноутбуке.

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

Лучший ответ:
Нужно раз в сколько-то секунд проверять текущее время браузера и ставить классы, в зависимости от часа.
По-хорошему, не нужно при каждой проверке убирать-ставить классы, когда они и так стоят, поэтому код чуть усложняется добавлением текущего состояния state:(function($el) {
    
    var state, timer;
    
    function checkTime() {
        var h = (new Date).getHours(), state_prev = state;
        state = ( h >= 9 && h < 22) ? 'DAY' : 'NIGHT';
        
        if( state_prev !== state) { // только что изменился статус
            if( state === 'DAY') $el.removeClass('disable').addClass('visible');
            else if( state === 'NIGHT') $el.addClass('disable').removeClass('visible');
        }
    }

    checkTime(); // вызвать один раз сразу же
    
    timer = window.setInterval(checkTime, 10000); // раз в 10 секунд перепроверять
})(

    $('.opened') // jQuery-выборка элементов, которым переключать класс

);
Неоптимальная плохая версия, но покороче:var $el = $('.opened'); // jQuery-выборка элементов, которым переключать класс
window.setInterval( function() {
    var h = (new Date).getHours(); // текущий час по локальному времени
    if( h >= 9 && h < 22) $el.removeClass('disable').addClass('visible'); // кабак открыт
    else $el.addClass('disable').removeClass('visible'); // кабак закрыт
}, 10000); // раз в 10 секунд перепроверять

Худший ответ:
Сергей очень хороший вариант предложил, но я просто не могу не сказать - чисто субъективно - что запускать это всё каждые 10 секунд - зло. Особенно, если меняется что-либо существенное. Я бы делал проверку только по document.ready
Вопрос: На чем они делают Html 5 банеры?

Лучший ответ:
Как вы считаете на чем эти ребята делают html5 Банеры?
Какие библотеки или сервисы используют? 
Заходим на сайт -> листаем до примеров -> тыкаем на симпатичную азиатку -> inspect -> видим iframe -> смотрим что в нем есть -> видим там EasePack.js, TweenLite.js, CreateJS.

Худший ответ:
adobe animate - canvas анимация
Вопрос: Какой тип таблицы выбрать для 200-400 одновременных подключений?

Лучший ответ:
Вы написали немного бреда, но после вашего вопроса по SSL вам простительно ))
А зачем держать их открытыми? Откройте подключения на каждые 3 запроса. Если на запись то у меня 1200 запросов в секунду записывала без всякого тюнинга, если на чтение то и того больше.
Увеличьте просто количество одновременных доступных подключений в my.cnf

Худший ответ:
Вы написали немного бреда, но после вашего вопроса по SSL вам простительно ))
А зачем держать их открытыми? Откройте подключения на каждые 3 запроса. Если на запись то у меня 1200 запросов в секунду записывала без всякого тюнинга, если на чтение то и того больше.
Увеличьте просто количество одновременных доступных подключений в my.cnf
Вопрос: Как избавить от КЗ USB на материнской плате?

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

Худший ответ:
просмотреть есть ли диоды защиты  по линиям D+ D- на землю.  если они живы тогда менять хаб (H61).
Вопрос: Как убрать отступы справа на сайте?

Лучший ответ:
Проще всего добавить overflow: hidden к .top_div:.top_div {
    background-image: url(../img/top_volna.png);
    background-repeat: repeat-x;
    background-position: top center;
    position: relative;
    min-height: 127px;
    padding: 55px;  
    overflow: hidden;

Худший ответ:
Не делайте костылей с overflow: hidden
1) Уберите position: absolute c .top_div2
2) Уберите у span отрицательный margin. Но если хотите чтобы все было так как сейчас с overflow: hidden то поменяйте на -15px; будет один в один.<div class="top_menu ta_right">
	<span style="margin-left: -15px;">
	+7 727 39 35 767 / +7 727 39 74 156
        </span>
    </div>
3) Уберите margin-right. Или поставьте 0.<div class="top_menu">
		<span style="margin-right: 0px;">
		г. Алматы, ул. Жангельдина 29
		</span>
	</div>
Итог: Все будет ровно и без костылей.
Вопрос: Переписать говнокод?

Лучший ответ:
Зачем его переписывать? Просто делайте следующую задачу. Для начинающего норм. Исходник почти нормально читается и работает без ошибок. Я запустил и за минуту купил полтора десятка телефонов и два аксессуара (не знаю, правда, что за телефоны... пусть будет сюрприз).

Худший ответ:
не судите строго, гуру джаваскрипта - https://repl.it/JkPV/3const you = { device: 0, accessory: 0, availableMoney:  null };

handle(99.99, 9.99, 0.08, you);

function handle(phone, accessory, tax, customer) {
	
	const availableMoney = parseInt(prompt('Сколько денег у вас не счету?', ''), 10);
	
	if(Number.isNaN(availableMoney) || availableMoney <= 0) return alert('Остаток на счету не является положительной суммой!');

	customer.availableMoney = availableMoney;
	
	if(!confirm('Купить телефон?')) return purchaseNothing(); // ты не хочешь покупать девайс о_0

	const phonePrice = getRealPrice(phone, tax); // стоимость девайса с учётом налогов
	
	if(availableMoney < phonePrice) return phoneBuyingFailed(availableMoney, phonePrice); // девайс не купить :(
	
	if(!confirm('Купить акссесуар?')) return purchasePhone(phonePrice, customer); // ты хочешь девайс, но без акссесуара :|

	const comboPrice = phonePrice + getRealPrice(accessory, tax); // стоимость трубы и акссесуара вместе (комбо) с учётом налогов
	
	if(availableMoney > comboPrice) return purchaseCombo(comboPrice, customer); // денег хватило на всё!

	comboBuyingFailed(availableMoney, comboPrice); // акссесуар точно мимо...
		
	return (confirm('Вы всё ещё хотите приобрести только гаджет?')) // когда пролетел с акссесуаром
		?  purchasePhone(phonePrice, customer) 
		: purchaseNothing;
}

function purchaseNothing() {
	return alert('Очень жаль видеть вас уходящим...');
}


function purchasePhone(price, customer) {
	alert('Вы приобрели девайс за ' + price + '$. Поздравляем с покупкой!'); // бабла хватило на всё!
	
	console.log('Your results:');
	
	return { device: 1, accessory: 1, availableMoney: +fixNumb(customer.availableMoney - price) };
}

function purchaseCombo(price, customer) {
	alert('Вы приобрели девайс вместе с акссесуаром за ' + price + '$. Поздравляем с покупкой!'); // бабла хватило на всё!
	
	console.log('Your results:');
	
	return { device: 1, accessory: 1, availableMoney: +fixNumb(customer.availableMoney - price) };
}

function phoneBuyingFailed(total, price) {
	alert(
		'К сожалению, у вас недостаточно средств на счету(' + total + '$).\n' + 
		'Стоимость гаджета с учётом налогов - ' + price + '$'
	);
}

function comboBuyingFailed(total, price) {
		alert(
		'К сожалению, у вас недостаточно средств на счету(' + total + '$).\n' + 
		'Стоимость гаджета вместе c акссесуаром с учётом налогов - ' + price + '$'
	);
}

function fixNumb(n) {
	return n.toFixed(2);
}

function getRealPrice(n, tax) {
	return +fixNumb((n + (n * tax)));
}
Вопрос: Чему учат в колледжах для программистов?

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

Худший ответ:
Смотря конечно какой колледж, но всё равно скажу что это пустая трата времени. Если железно хочется избежать ЕГЭ, то как вариант можно рассматривать. Фундаментальные вещи преподают. Высш. мат, алгоритмы и логика, даже С++ был, но в основном нужно быть готовым к огромной куче ненужных предметов. 
В итоге 4 года потратили, а выхлоп минимальный и всё равно придется на высшку поступать (если она вам нужна).
Лучше уж в 10-11. ЕГЭ можно пережить и поступить в ВУЗ. + армия лет 5 не будет маячить) (После колледжа, если поступать в ВУЗ, то отсрочки от армии уже не будет)
Вопрос: Как Вам такой путь?

Лучший ответ:
Путь, конечно, правильный. И учителя информатики, его, конечно, одобрят. Но тут есть две важных проблемы:
Во-первых, изучать архитектуру компьютера можно очень долго, туда можно закопаться так глубоко, что и за 10 лет не достигнешь дна, всегда будет что-то, чего ты не знаешь. И чтобы  знать, когда остановиться, нужен опыт. Ну или совет сочувствующего профессионала.
А во-вторых, самое главное, это очень скучно. Когда изучаешь теорию и основы, ты чаще всего не знаешь, как это тебе поможет, ты не поймёшь, зачем, собственно, это нужно, почему это важно. Даже если забыть про железо и углубиться в основы языка программирования, ты встретишь ту же проблему: ну очень много всего, ну очень сложно. И неизбежно ты не поймёшь что-то, пролистаешь мимо чего-то, что на самом деле важно.
Я бы избрал другой путь: начать изучать какой-нибудь язык программирования и тут же начать на нём что-то делать. Это будет интересно. Более того, по ходу ты начнёшь понимать, чего ещё тебе не хватает, будешь навёрстывать и тут же применять. Так ты сохранишь мотивацию, а главное — будешь тут же применять полученные знания, и они отложатся в голове гораздо прочнее. У тебя будет мотивация, интерес, и так ты станешь настоящим программистом. А потом, через пару лет можно читать в свободное время про компьютеры, и сухие данные будут находить отклик в твоём опыте, будут цепляться за практику. И это будет гораздо полезнее и продуктивнее.
Изучай потихоньку, программируй, ошибайся, пиши говнокод, штудируй stackoverflow и тостер, задавай вопросы, но главное – действуй, пробуй, совершенствуйся. 
Удачи!

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

Лучший ответ:
Pinba + Slow query log + Xhprof + AB/Я.Танк

Худший ответ:
Поставить мониторинг базы данных
Запустить Яндекс танк по адресам
Анализ логов и мониторинга
Я использую tuning-primer.sh и mysqltuner
Вопрос: Не могу получить заказ на бирже?

Лучший ответ:
Спасибо скажите тем, кто  статейки пишет на хабре про то, как они начали работать на фрилансе, сначала было сложно, но они поднатужились и теперь деньги льются рекой.  Сами же себе яму роют рассказывая про это. 
Или как они в 80 лет за одну ночь переучились на программиста. Зачем - непонятно -- народа больше, конкуренция больше, денег меньше, индусов больше.
И среди заказчиков тоже теперь соотвествующие ожидания по оплате -- клон фейсбука за $100 и толпа желающих.
Так что думаю, что дальше будет ещё дешевле и хуже.

Худший ответ:
все просто. Экономика школьная программа. Спрос = предложение. 
Те кто делает за 3 копейки фейсбук , будут продолжать делать только это всю жизнь.
Вопрос: Как уменьшить уровень вложенности страницы?

Лучший ответ:
Не мешайте в кучу урл и уровень вложенности страницы с точки зрения поисковой оптимизации. 
Уровень вложенности изменяется путем перелинковки.

Худший ответ:
... или это от движка отталкиваться надо? ДА