pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Чем отличается VPS на VMware от VPS на Xen или KVM?

Лучший ответ: Для тех кто внутри - разница малосущественная.
Для тех кто это админит - разница есть. Между технологиями идет соревнование. Xen его правда уже проиграл.
Вот если бы вы сравнивали с виртуализацией типа OpenVZ или Jails - эти уже отличаются от ESX и KVM принципиально.

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

Лучший ответ: Склеить можно MS ICE

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

Лучший ответ: Я в своих мелких проектах пишу примерно так (система сборки qbs):Group {
        name: "cpp_os_specific"
        prefix: "src/cpp/utils/"
        files: {
            if (qbs.targetOS.contains("windows"))
                return ["utils_windows.cpp", "utils.h"];
            if (qbs.targetOS.contains("linux"))
                return ["utils_linux.cpp", "utils.h"];
        }
    }
Соответственно при сборке на разных платформах просто используются разные файлы, никаких разных имён классов или #if defined не нужно. 
Насколько это может быть удобно/неудобно на больших проектах не знаю.
P.S.
По поводу qbs, к сожалению генератора проектов из Qt Creator, нет. По крайней мере раньше не было, я давно туда не заглядывал. Но если написать файл проекта руками то он нормально открывается в Qt Creator (qbs плагин обычно включён по умолчанию).
Пример файла сборки qbs:spoilerimport qbs 1.0

Product {
    type: "application"
    name: "timer_qml"
    consoleApplication: false

    Group {
        name: "cpp"
        prefix: "src/cpp/"
        files: ["*.cpp", "*.h"]
    }

    Group {
        name: "cpp_os_specific"
        prefix: "src/cpp/utils/"
        files: {
            if (qbs.targetOS.contains("windows"))
                return ["utils_windows.cpp", "utils.h"];
            if (qbs.targetOS.contains("linux"))
                return ["utils_linux.cpp", "utils.h"];
        }
    }

    Group {
        name: "resources_and_qml"
        prefix: "src/qrc/"
        files: ["*.qrc", "*.qml"]
    }

    Depends {
        name: "Qt"
        submodules: {
            if (qbs.targetOS.contains("windows"))
                return ["core", "widgets", "gui", "sql", "quick", "qml"];
            if (qbs.targetOS.contains("linux"))
                return ["core", "widgets", "gui", "sql", "quick", "qml", "x11extras"];
        }
    }

    Depends {
        name: "cpp"
    }
    cpp.staticLibraries: {
        if (qbs.targetOS.contains("windows"))
            return ["user32"];
        else
            return [];
    }
    cpp.cxxFlags: {
        if (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw"))
            return ["-std=c++11"];
        else
            return [];
    }
    cpp.dynamicLibraries: {
        if (qbs.targetOS.contains("linux"))
            return ["Xss", "X11"];
        else
            return [];
    }

    Group {
        name: "App itself"
        fileTagsFilter: parent.type
        qbs.install: true
        qbs.installDir: "bin"
    }
}
По официальной документации можно за пару вечеров освоить.

Худший ответ: MyClass_L.cpp и MyClass_W.cpp нужно тоже целиком завернуть в ifdef
Либо, что наверно более правильно, надо сказать вашей системе сборки (qmake я так понимаю), что надо собирать только нужные cpp.
doc.qt.io/archives/qt-4.8/qmake-tutorial.html "Adding Platform-Specific Source Files"
Вопрос: Выбор запасных комплектующих для сервера

Лучший ответ: Всего не предусмотришь- в идеале было бы иметь еще один «аварийный» сервер, пусть ниже по производительности, но которым можно на первое время заменить основной «боевой». 

На «боевых» же чаще всего горят блоки питания или сыпятся жесткие диски. Иногда выходят из строя конденсаторы на материнских платах, но если умеете паять- это дело решаемое и не затратное.

Худший ответ: Еще бы добавить кулера на процессор. 
У меня на Super Micro P4DP6 сервера стояли с 2002 по 2012, под замену шли кулера и, да, винты. А при смене форм фактора пред-предыдущее поколение кулеров сложно раздобыть (а у меня за 10 лет сменилось несколько поколений).
Вопрос: Какая структура лучше для БД?

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

Худший ответ: Доброго. Ни малейшего смысла устраивать это нет. Это вообще не запросы по меркам баз данных, 2000 записей. Там даже без индексов все летать будет.  У вас тут обязательные PK есть, плюс, я надеюсь, FK вы тоже используете.  Самый медленный и загруженный сервер такого запроса не заметит.
Вопрос: Подходит ли C#, ASP.NET для фриланса?

Лучший ответ: мне всегда веселило слушать фразы в стиле "миграция офиса во фриланс"
наверно мы живем в разных мирах. 
серьезный офис НИКОГДА во фриланс не переедет. ежедневно надо тыкать друг-друга монитор, консультировать и консультироваться.

Худший ответ: Почему нет? Фриланс это далеко не только js/css/html.
Смело пробуйте свои силы, если вы хороший спец, то работа для вас всегда найдется.
Вопрос: Советы по разработке на Android?

Лучший ответ: Начать нужно с изучения Java. Мне понравились уроки от DevColibri, но они предполагают, что у вас уже есть опыт в программировании. Уроки по Java: https://www.youtube.com/watch?v=9Yz3unV4NDw, а затем переходите конкретно к Android:  https://www.youtube.com/watch?v=mmUgcokRJ5k

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

Лучший ответ: Учить ни одного не стоит.
А учиться писать реальные программы можно и на 20, если для каждого есть свой круг реальных задач и вы именно их решаете на нем.
UPD: Что вы пишете на Java и на JavaScript? Если ничего, то оба не нужны. А если что-то пишете, и оно реально нужно, и для него подходят именно эти инструменты, то оба нужны.

Худший ответ: Программировать начал недавно около 3 лет. Первым был java, мало что понял без практического применения. Дальше javascript, nodejs практики кроме онлайн курсов не было. не знал как подступится к этому волшебству :) В конце концов нашел Python и тут попёрло каждый день вижу задачи и решения. Супер язык для начинающих. Это и клиент и сервер и все все все что ты захочешь написать. 
По себе скажу будет цель легко выберешь язык.
Вопрос: Что такое Абстрактная математика, а что практическая?

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

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

Лучший ответ: У меня похожие проблемы были с Blender. Оказалось, что не все драйвера Nvidea нормально работают, поставил более ранный вариант драйверов, все заработало нормально.

Худший ответ: Системы одинаковые?
Подкачка настроена?
И сюда проследовать https://helpx.adobe.com/photoshop-elements/kb/trou...
Вопрос: Почему ругается Mikrotik?

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

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

Лучший ответ: Что за странный вопрос. Ещё бы спросили: Сколько стоит создание логотипа? А дизайн сайта? Кто то за 2000р делает сайт (дизайн + верстка). Другой же только за дизайн одной страницы берет 50 000р. Тут все зависит от твоего портфолио и опыта работы (некоторые дизайнеры несмотря на большой опыт остаются невостребованными в связи с отсутствием таланта).

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

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

Худший ответ: С одной стороны прецеденты были. Вспомнить высосанный из пальца иск bethesda против mojang. (Якобы Scrolls нарушает авторские права на логотип TES). Но с другой стороны это были mojang, которые уже к тому времени деньги гребли лопатой. И посему я сомневаюсь, что даже если вы продадите все свое имущество, у вас хватит денег на оплату такой сумы иска, ради которой Disney расшевелилась бы.
Вопрос: Будут ли проблемы после перепрошивки Iphone 4s?

Лучший ответ: Очень похоже на проблему с антеннами, несите в сервис.

Худший ответ: для начала попробуйте сделать полный сброс! , какая на данный момент ос у вас установлена?
Вопрос: Будет ли спрос на arduino?

Лучший ответ: Все зависит от ценника.
Я обычно на eBay Мегу заказываю за 25$ с бесплатной пересылкой. Но тут пришлось купить в Москве. Ценник аж 2500р.!!! Можно было и подешевле найти, но нужна была доставка в тот же день…

Так что все зависит от цены и ассортимента. Расширения тоже искать приходится.

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

Лучший ответ: Не надо отслеживать изменения, вешайте событие на родительский элемент, что статичен.
Для примера:$('body').on('click', '.comment .like', function(){ ... });

Худший ответ: Используйте делегирование.
Вопрос: Будет ли считаться документ, заполненный на компьютере, при помощи плагинов и распечатанный «настоящим»?

Лучший ответ: Для начала объясните что такое "настоящий документ".
Разумеется он будет настоящим, его же можно будет руками потрогать.я могу предъявить его как обычный документ написанный от руки, напечатанный по правилам, то есть руками? Можете. У нас нет законов запрещающих предъявлять документы.
Если же вас интересует будет ли он иметь юридическую силу - то тут ответ однозначный, нет не будет.
Это просто бумага с текстом. И не важно каким способом вы нанесли этот текст - рукой написали или принтером.
Для того чтобы документ имел юридическую силу его надо удостоверить надлежащим образом, например поставив подпись, или печать, или каким то иным способом.

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

Лучший ответ: Как же у вас все намешано!  В кучу и налогообложение, и авторские права, и наем работника, и логотипы, и какие-то патенты, и создание юрлица...  Здесь до пяти независимых вопросов, но давайте попробуем (IANAL, TINLA):
> Допустим нанимаю разработчика...
> Как правильнее оформить на эти продукты права, копирайт и прочее?
Зависит от ваших шкурных интересов.  Наверное, вы на себя захотите переписать его имущественные авторские права. По трудовому договору в России примерно это в общем-то и по-умолчанию подразумевается, но не вредно и прямо будет оговорить во избежание недопонимания.
> Как регистрировать логотип
Как товарный знак.  Если вы его вообще собираетесь регистрировать, конечно.
> права на использование графических материалов
О чем речь?
> и согласно каким лицензиям?
Каким еще «лицензиям»?  Вы кому-то собираетесь разрешать использовать свой логотип?
> Нужно ли оформлять патент
На что?
> или переходить на патентную систему налогооблажения?
При чем здесь вообще патентная система налогообложения???  В любом случае, емнип, она применима для закрытого перечня видов деятельности, и разработку программ я среди них что-то не припоминаю.  Вру.  С прошлого года еще применима к «оказанию услуг (выполнению работ) по разработке программ для ЭВМ и баз данных (программных средств и информационных продуктов вычислительной техники), их адаптации и модификации».  Другое дело, что весьма сомнительно, что это ваш случай — вы же не услуги оказываете.
Так или иначе, по-моему, «Тостер» — это не место для советов по оптимизации налоговых выплат.

Худший ответ: на поруки нет - только консультации, никто ответственность нести не любит
Вопрос: Какая есть альтернатива MS project и projectlibre?

Лучший ответ: 
Мне нравится интерфейс вот этой программы. Цена как  1/4 ms project

Худший ответ: "Лучше гор могут быть только горы...", на которых нашел ты "лекарство" + личный ноутбук =).
а так - лично я не знаю.
Вопрос: Почему Chrome не подключает Jquery + Font Awesome?

Лучший ответ: Вы подключаете вот так<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
...
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
при этом браузер заменяет // на тот протокол, по которому вы сайт открыли. Обычно так делают, чтобы работало и по http:// и по https://. Если вы открываете этот файл "мимо сервера", то путь к нему в адресной строке file://путь к файлу/index.html. Бразуер заменяет // на протокол и пытается загрузить file://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css и file://code.jquery.com/jquery-1.11.3.min.js, которых по этому адресу, естественно, нет.

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

Лучший ответ: Можно вот так. Менее запутанно но смысл тот же<!-- load jQuery 1.10.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
var jQuery_1_10_2 = $.noConflict(true);
</script>

<!-- load jQuery 3.2.1 -->
<script type="text/javascript" src="http://example.com/jquery-3.2.1.js"></script>
<script type="text/javascript">
var jQuery_3_2_1 = $.noConflict(true);
</script>
и в коде где вы вызываете свои плагины пишете так вместо $('#selector').function()jQuery_3_2_1('#selector').function();

Худший ответ: $.noConflict();
Это нашел по запросу:Всё верно, всё jQuery.noConflict() решает. У меня получилось, нужно его использовать вместе с анонимным объявлением функций javascript.
На сайте используется jQuery времён палеолита (1.3.2), я совмещал с 1.8.2.
В блоке head подключается старая jQuery.
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

Далее в body подключаю версию поновее:
<script type="text/javascript" src="<?= JS_HTTP?>jquery-1.8.2.min.js"></script>
<script type="text/javascript">var jQuery_1_8_2 = jQuery.noConflict();</script>


И далее обе версии доступны таким образом:
копировать в буфер
показать чистый исходник в новом окне
Скрыть/показать номера строк
печать кода с сохранением подсветки
1
	(function($) {
2
	//здесь располагается тот код, который работает со старой версией
3
	})(jQuery);
4
	(function($) {
5
	//а вот здесь уже версия новая.
6
	})(jQuery_1_8_2);
А по делу, не стал бы я подключать 2 версии.
Вопрос: Централизованное обновление пакетов для Debian?

Лучший ответ: Puppet вам в помощь.

Худший ответ: Отвечу сам на свой вопрос — apt-dater.
Вопрос: Почему один и тот же шаблон продается разными авторами на themeforest?

Лучший ответ: Все верно написали — это просто разные версии под разные нужды и CMS. Без проблем можно так продавать по договорённости с автором оригинала.
Один автор сверстал сам шаблон, другие предложили (или он сам попросил) сделать шаблоны под конкретную CMS для простоты установки, чего первоначальный автор не умел (или не хотел). На самой странице шаблона (это и есть начальный автор), прямо под превью размещены ссылки на все имеющиеся версии для разных CMS и это уже говорит о том, что все нормально. По датам выложенных товаров тоже видно, что они делались после публикации оригинального HTML-шаблона.

Худший ответ: html, wordpress и drupal - т.е. шаблоны для cms на основе html-шаблона делали разные люди. 
там же есть этот шаблон под joomla и magento.
посмотрите, какую cms использует ваш проект. если ни одну из перечисленных - значит использовался html-шаблон.
Вопрос: Как сделать уровни в telegram-bot на node js??

Лучший ответ: Типичная машина состояний:
- К каждому состоянию привязать шаблоны для прослушивания сообщений
- Для каждого пользователя запоминать текущее состояние
- Начинать прослушивание с корневого состояния
- При получении соответствующего сообщения переходить в нужное состояние (или остаться в текущем)

Худший ответ: дока https://core.telegram.org/bots/api
примеры github, google
Уровни - это что?
Вопрос: Изменить курсор мыши при нажатии

Лучший ответ: Можно спросить, а зачем это нужно?

Худший ответ: Стандартными средствами вряд ли, скорее всего что-то надо будет ставить, типа CursorXP.
Вопрос: Почему вместо выпонения команды ищет файл?

Лучший ответ: Попробуйтеcmd  := exec.Command("cmd", "/C", "start", "", strings.TrimSpace(c[1]))

Худший ответ: Вам по всей видимости сюда.
stackoverflow.com/questions/13008255/how-to-execut...
Вопрос: Какую роль играют 2 амперсанда стоящие вне условной конструкции в JS?

Лучший ответ: Это можно переписать так:if ($(window).width() >= tablet)
{
  size_media_container();
  isotope_projects();
  init_project_info_control();
}
Оператор && имеет особенность:
Если левая часть false, то правая часть не будет выполнена.
Просто введите в консоли:test = true;
test && (alert(1), alert(2), alert(3));
test = false;
test && (alert(1), alert(2), alert(3));
И увидите разницу.
В данном конкретном случае, эта конструкция используется как сахарок, для вызова каких-то функций, если размер экрана больше таблета.

Худший ответ: && возвращает tablet, если он преобразуется к false, иначе – возвращает (size_media_container(), isotope_projects(), init_project_info_control())
javascript.ru/boolean-operators
Вопрос: Как закрыть проблемы в математике/физике?

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

Худший ответ: Если с английским все чики-пуки, то есть офигенный канал про визуализацию математических штук, который показывает, как на самом деле красива и полезна математика.
Вопрос: Можно ли с помощью С++ создавать сайты, и приложения?

Лучший ответ: Для С++ есть множество компиляторов и его можно скомпилировать почти под любую платформу, но в первую очередь вопрос должен стоят в целесообразности данного деяния.
К верстке С++ не имеет никакого отношения, а если речь идет о приложениях, то нужно уточнить - что должны делать эти приложения и где? 
Если сложные вычисления на стороне сервера (например, физика и прочие процессы для онлайн игры), тогда С++ будет в самый раз, иначе для обычных страничных сайтов процесс создания такого сайта на С++ будет равносильным перевозке 3 тонн угля на БелАЗе
Если на стороне клиента для большинства задач JS будет достаточно, а если речь пойдет,опять же, о сложных вычислениях - C++ с Emscripten поможет добиться хорошей производительности (что обычно практикуют в браузерных 3D играх, но чаще через оболочку какого-то движка - Unity или UE4, к примеру)

Худший ответ: "... для обычных страничных сайтов процесс создания такого сайта на С++ будет равносильным перевозке 3 тонн угля на БелАЗе"
Есть также CMS на С++ (у меня даже есть такая самописная), так что совсем не так всё плохо в этом плане)
Вопрос: Как выбрать/хантить хорошего дизайнера?

Лучший ответ: Вопрос интересный, а больше всего интереснее что подразумевается под словом "дизайнер". В некоторых областях даже и не требуется умение рисовать.
Смею предположить по профилю PrinsAlbert, что это должен быть веб-дизайнер. 
Я как арт-директор в первую очередь должен пообщаться с кандидатом. Обращаю внимание на знания в областях UI/UX, типографики, технологий HTML/CSS/JS (увы без этого никак), и он сразу скажет, что либо работает с этим, либо имеет поверхностные знания. Из этого можно строить выводы.
Разбор портфеля, показать самый лучший по его мнению проект, рассказать о нем в деталях, какие применялись методики, результаты анализа. Это даст представление, на сколько он был погружен в работу.
В любом случае у каждого из нас есть слабые/сильные стороны, в силу того что разный опыт в выполнении задач.
Хороший специалист не будет проходить брифы, глупые опросы или тестовые задания, пустая трата времени, он так же избирателен, как и клиент.

Худший ответ: 1 - почему? 
Портфолио - достаточно объективный критерий. 
Перечисленные вами "причины" касаются найма любых сотрудников - от уборщиков до директоров. 
Гарантии вам никто никогда не даст. 
Портфолио/опыт/отзывы + общение с кандидатом.
Вопрос: В чём ошибка записи пользователя в бд?

Лучший ответ: steamid, nickname, joined, balance, totalBought, banned, admin -- 7 столбцов
'$steamid', '$nickname', '$current_date', '0', '0', '0' -- 6 значений

Худший ответ: У Вас в запросе написано:ON DUPLICATE KEY UPDAYE
Проверьте, не в этом ли дело?
Вопрос: Как заработать на Big Data?

Лучший ответ: Всё равно что спросить "как заработать в нефтебизнесе".
Тебе никак, там серьёзные ребята зарабатывают.

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

Лучший ответ: Всё верно

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

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

Худший ответ: Марк, перелогиньтесь! )