Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Существует ли паттерн для сравнения двух объектов (PHP)?

Лучший ответ:
Если вам нужно просто сравнить объекты на равенство, с этим справится ==. Если же вам нужно получить различия двух объектов, можно сделать так:<?php

$a = (object) ['color' => 'red', 'foo' => 'bar'];
$b = (object) ['color' => 'green', 'foo' => 'bar'];

$diff = array_diff(get_object_vars($a), get_object_vars($b));
Можно так же сделать у класса метод diff который принимает другой аргумент... Все зависит от задачи.

Худший ответ:
Какой еще паттерн? Берете два объекта и сравниваете. ==
Вопрос: Продвинутая литература по тестированию?

Лучший ответ:
Как не смешно звучит, сам я эти книжки не читал, но, когда собирал подобную же вашей коллекцию, заметил, что  их во многих местах рекомендовали безотносительно языка:The-Art-Unit-Testing-examplesxUnit-Test-Patterns-Refactoring-Code
ActiveRecord нормально тестируется с помощью частичных моков. Даже запросы нормально тестируются, если их выносить в отдельный класс, а ActiveRecord::find() использовать только как фасад для получения инстанса нужно класса с запросами.
П.С. Поделитесь потом что нашли и что реально оказалось полезным.
П.П.С. А вот еще книжка хорошая The Clean Architecture in PHP. Она вроде бы не сложная, но очень хорошо описывает как можно IoC использовать, а это прямой путь к хорошим тестам.

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

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

Худший ответ:
Если вам нужна кроссбраузерность (т.е. IE<11), да ещё и "резина", то нет. А если вас устраивают последние версии браузеров, и резина не нужна, то можно.
Почитайте про border-image. Там есть параметр stretch - это то что вам нужно.
Вопрос: Как раскрасить картинку в цвета из другой?

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

Всё совершенно элементарно делается через Match Color

Худший ответ:
кладем цветную картинку поверх чернобелый, меняем режим смешения слоев на Color, получится цветная белиберда, но больше никак (в фотошопе).
Недавно изобрели программу для раскраски чб изображений, на хабре/гиктаймсе освещалась, посмотри там.
Вопрос: Как вставить css файл в stylus?

Лучший ответ:
Разобрался. При компиляции просто указать 'include css': true.pipe(stylus({
      'include css': true
}))

Худший ответ:
Сначала вы собираете .styl в css файл(ы), затем с помощью другого плагина, склеиваете все css в один.
Вопрос: Сервис подбора подарка?

Лучший ответ:
Любой интернет-магазин подарков.

Худший ответ:
Мы делаем такой сайт: millionpodarkov.ru
Плюс можем от себя подсказать, если не получится найти через сайт; напишите на почту podberem@millionpodarkov.ru и мы подберем. Мы этим каждый день занимаемся, знаем ассортимент всех магазинов. Подключим лучших специалистов по подаркам, если что :)
Вопрос: Как сверстать такое меню?

Лучший ответ:
https://codepen.io/topicstarter/pen/gvapaE  на jQuery

Худший ответ:
Можно через JQuery, но можно и на чистом css
Пример: https://ruseller.com/lessons.php?rub=2&id=1502
Вопрос: Что почитать, что бы систематизировать и дополнить знания про MySQL?

Лучший ответ:
Шварц Б., Зайцев П., Ткаченко В. и др. - MySQL. Оптимизация производительности

Худший ответ:
Научись делать шардинг и использовать mysql в связке с elastic search.
Хотя бы так 1, 2
Всё идет к тому что БД будут использовать только для записи, а чтение, агрегирование, полнотекстовый поиск - полностью через elastic search и аналоги потому что так намного проще и скорость работы выше.
Вопрос: Cocos2d-x для настольных компьютеров (Win, Mac, Linux) и производительность

Лучший ответ:
1. cocos2d-x под Windows использует GLEW, работая с OpenGL напрямую (см. cocos2dx\platform\third_party\win32\OGLES\GL).
Насчет других PC-платформ не знаю, но под Linux вроде все должно быть нормально (используется та же библиотека GLEW).
2. Смысл есть. Портировать с Windows на Android — довольно просто: проект компилируется с Android NDK и поверх него цепляется обертка на Java. Менять ничего не приходилось. Насчет других мобильных платформ — не знаю, но думаю, тоже не слишком сложно.

Худший ответ:
Выгодными преимуществами cocos2d-x оказались:
 — open source
 — MIT License — меняй что хочешь и годна для коммерческого использования
 — по сравнению с конкурентами (даже с платными) не такой то он сырой оказался,
регулярно переписывается и дополняется + довольно обширное коммьнити, к которому примыкает и коммьюнити obj-c-шного cocos2d
 — C++ — легко дополнять сторонними и самописными либами, при правильной архитектуре Ваша кодобаза может существовать и без кокоса, в случае чего можно перенестись на другой движок (в отличие, к примеру от платного и мега-раскрученного Юнити)
По части кроссплатформенности меня пока устраивает связка иОС + Винда.
Очень удобно вести разработку на зрелой винде в нормальной вижуал студии и потом просто перекомпилить в икс-коде для иОС.

По поводу настольных компов — думаю надо сразу изначально целиться на планшетный/телефонный рынок.
Вопрос: Как узнать, загрузился ли шрифт из font-face?

Лучший ответ:
document.fonts.ready.then(function() {
  //Пишите условие, которое должно выполниться, после загрузки шрифтов...
  //Например текст opacity: 1 (предварительно указав в стилях opacity: 0)
  //Это предотвратит "скакание" шрифта при загрузке страницы.
});

Худший ответ:
В ФФ есть расширение Font Finder и оно может показывать как отрендерился шрифт.
Вопрос: Что не нравится валидатору?

Лучший ответ:
Bad value img/favicon/favicon (2).ico for attribute href on element link
Пробелов в ссылках не должно быть. Замените на %20 (функции rawurlencode и urlencode в php).Element p not allowed as child of element ul in this context.
Дочерним элементом тега UL может быть только LI и ничего более.Bad value $nametext for attribute type on element input.
Очевидно, не работает php код, а именно не интерпретируются переменные как задумывалось.
Четвертая ошибка - следствие третьей.
Пятая, шестая и седьмая - лишние закрывающие теги DIV
Восьмая - неправильно написан тег BR (слеш не нужен совсем, или ставить его в конце)No space between attributes.
Тут думаю очевидно - нужно пробел добавить перед именем атрибутаAttribute alt not allowed on element i at this point.
Тоже довольно ясно написано  - атрибут альт не допускается для тега I (возможно вы хотели поставить атрибут title="")

Худший ответ:
https://validator.w3.org/nu/?doc=http%3A%2F%2Fspku...
там же попунктно описано где и в чем ошибка, с указанием строки и что не так
Вопрос: Как комментить статью в песочнице?

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

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

Лучший ответ:
Ссылки:<a href="" class="popup_open" data-target=".popup_1"></a>
<a href="" class="popup_open" data-target=".popup_2"></a>
<a href="" class="popup_open" data-target=".popup_3"></a>
<a href="" class="popup_open" data-target=".popup_4"></a>
<a href="" class="popup_open" data-target=".popup_5"></a>
Окна:<div class="popup_1"></div>
<div class="popup_2"></div>
<div class="popup_3"></div>
<div class="popup_4"></div>
<div class="popup_5"></div>
Jquery:$('.popup_open').click(function () {
	var modal = $(this).data('target');
	$(modal).fadeIn(0);
	$(modal).animate({top:"0", bottom:"0"}, 400);
	$('header').animate({top:"-60px"}, 400);
	return false;
});

Худший ответ:
function callback() {
        $('.popup_Mac').fadeIn(0);
        $('.popup_Mac').animate({top:"0", bottom:"0"}, 400);
        $('header').animate({top:"-60px"}, 400);
}

$('.open_popup_Mac').on('click' callback);
$('.open_popup_iPhone').on('click', callback);
// и так далее
Вопрос: Разные шрифты в Chrome и Firefox. Почему?

Лучший ответ:
В FF под линуксом другой дефолтный шрифт. Лечится в настройках. Но перед этим стоит поставить пакет ttf-mscorefonts-installer (или хотя бы fonts-liberation — это очень похожие по метрикам на Arial и Times New Roman свободные шрифты)

Один в один как в win7 не получится, потому что разный механизм рендеринга шрифтов, но тем не менее.

Худший ответ:
Может потому что в FF нажали ctrl + для увеличения только текста?
Вопрос: Когда публикуется отзыв на Upwork?

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

Худший ответ:
Обычно в течении 24 часов появляется.
Вопрос: Куда ввести инвайт, чтобы выйти из read-only?

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

Худший ответ:
тыц
Вопрос: Установка сторонних библиотек в Makefile

Лучший ответ:
Самостоятельно скачивать не надо, т.к. она есть в стандартных дистрибутивах, и в зависимости от дистрибутива её надо устанавливать через yum, apt, zypper, pkg-add и т.д.
Достаточно указать зависимости в README.
Если хотите, чтобы они устанавливались автоматически, делайте установочные пакеты.
Для этого есть susestudio.com и https://abf.rosalinux.ru/

Худший ответ:
Как и комментатор выше, раз Вы не использовали системы сборки раньше и принципиальной позиции нет, лучше выбрать что-то типа CMake (крайне популярная среди C++ разработчиков) или waf (набирающая популярность система сборки, отличный вариант для знатоков Python).
Для CMake все очень просто гуглится в интернетах. Например, Ваш случай.
Вопрос: ICQ

Лучший ответ:
Можно удаленно отключать другие подключения аськи.
Добавляем контакт бота aolsystemmsg (писать прям вместо UIN). Боту можно отсылать две команды:
«1» — Отключить все подключения кроме текущего.
«2» — Просмотреть кол-во подключений.

Худший ответ:
Никак. Насколько я помню, multiple instance подразумевает что сообщения приходят туда, где была найдена последняя активность
Вопрос: Кто-нибудь получал образование на intuit.ru?

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

Худший ответ:
Лучше смотри в сторону https://hexlet.org/ тут более актуальные инструменты разработки.
Вопрос: Как вывести свойства элемента в списке новостей?

Лучший ответ:
Пишу гайд для себя. 
Вывод свойства элемента в модуле bitrix:news.list раздельно друг от друга. 
Вывод одного свойства:<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
	<?if($arProperty["CODE"]=="PROPERTYCODE"):?>
		<?=$arProperty["DISPLAY_VALUE"];?>,&nbsp;
	<?endif;?>
<?endforeach;?>
Вывод свойства с условием "показывать, если нет первого"<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
	<?if($arProperty["CODE"]=="PROPERTYFIRST" && is_array($arItem["DISPLAY_PROPERTIES"]["PROPERTYFIRST"])):?>
		<?=$arProperty["DISPLAY_VALUE"];?>
	<?elseif($arProperty["CODE"]=="PROPERTYSCND"):?>
		<?if(!is_array($arItem["DISPLAY_PROPERTIES"]["PROPERTYFIRST"])):?>
			<?=$arProperty["DISPLAY_VALUE"];?>
		<?endif;?>
	<?endif;?>
<?endforeach;?>
Вывод свойства с условием "показывать, если при добавлении не указано другое"<?foreach($arItem["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
	<?if($arProperty["CODE"]=="PROPERTYSCND"):?>
		<?if(!is_array($arItem["DISPLAY_PROPERTIES"]["PROPERTYFIRST"])):?>
			<?=$arProperty["DISPLAY_VALUE"];?>
		<?endif;?>
	<?endif;?>
<?endforeach;?>

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

Лучший ответ:
Яндекс.Метрика с Вебвизором.

Худший ответ:
свяжись с этим человеком, он делал такую систему
www.facebook.com/akhavr

можно сказать, что от меня, но скидок вряд ли даст :)
Вопрос: Переход с самописного движка на платную CMS для интернет магазина — сейчас или через год?

Лучший ответ:
Пилите то что есть. Вам надо делать продажи от чего зависит ваше рабочее место и зарплата (не только ваша но и коллектива). Если вам плевать, то можете конечно сказать давайте сразу на Битрикс и месяц полтора простоя. Но посмотрите на это со стороны директора. Хотели бы вы сами простоя в месяц полтора ?
Делайте на том что есть. Пойдут клиенты , пойдут запросы. И вот тогда когда уже больше шансов взять битрикс, может уже и бабло на него найдется.

Худший ответ:
Нужно постараться убедить руководство, что использование Битрикса будет экономически эффективнее: приведите примерную оценку стоимости внедрения Битрикса и стоимости доработок текущего движка (с описанием плюсов/минусов). Руководство скорее всего ничего не понимает в технологиях, а просто пытается экономить: движок есть, значит его проще настроить, чем брать что-то еще, да и за лицензию платить. В общем нужно обосновать своб позицию.
Вопрос: Django: как передать одинаковые данные для разных представлений?

Лучший ответ:
Включаем мидлвару для инжекта реквеста в темплейт MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
в темплейте запрашиваем информацию о пользователе<h2>{{ request.user.get_ballance() }}

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

Лучший ответ:
4кб это с учетом gzip.

Худший ответ:
очень хочется 4кб))
Вопрос: Решение задачи «Гирлянды», ДонНУ?

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

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

Лучший ответ:
сайт на флеше,  изучайте флеш

Худший ответ:
Сайт на флеше. Но актуальнее (по крайней мере, настолько простое) делать с помощью html, css, js. 
Правда, хотелось бы поменьше таких сайтов
Вопрос: Нужен свежий взгляд и советы на собственный just for fun проект

Лучший ответ:
Отступы везде разные, если их поправить станет лучше.
habrastorage.org/storage2/68c/bd0/07c/68cbd007cb5b4d088d91de2e3163047a.jpg

Худший ответ:
Ну над дизайном точно нужно поработать) Фотку к машине можно добавить только одну? Ни где не заметил несколько. 
Есть что то типа порекомендовать/показать другу?

И еще местами видна миниатюра, а в детальном просмотре фотки нету. Так должно быть?
Вопрос: Как вынести ширину DIV'a за границы Wrap'a, в котором он лежит?

Лучший ответ:
Чем не устраивает такое?<div class="wrap">
  <!-- some content -->
</div>

<div class="wrap-2">
  <!-- some full width content -->
</div>

<div class="wrap">
  <!-- some content -->
</div>

Худший ответ:
Можно сделать невидимый div для этого элемента с высотой которая будет и шириной в размер основного контейнера. А сам блок который нужно вывести в 100% сделать position: absolute; и разместить с помощью margin-top ровно над подготовленным для него контейнером который не будет вылазить и не будет виден. Всё для того чтобы отступы были такие же. Ведь absolute размещает элемент поверх всех. А так должен как раз быть где нужно.
Вопрос: Как реализовать сброс php функции ssh2_connect при задережке в 30 сек?

Лучший ответ:
Именно ssh2_connect не умеет timeout.
Используйте то, что умеет. Например, phpseclib.

Худший ответ:
Никак.
Вопрос: Как оптимальней клонировать сайт на wordpress?

Лучший ответ:
Увеличивайте исходный ценник заказа в 15 раз.
На вопрос заказчика «WTF?», спокойным голосом поясняете, что сюда входит стоимость взлома серверов, фтп и тп заказчика.
А вообще, как справедливо выше уже написали - что-то вы не договариваете...

Худший ответ:
Взять реквизиты доступа грубой силой!
Вопрос: Как отредактировать html код в sublime text 3?

Лучший ответ:
https://github.com/victorporof/Sublime-HTMLPrettify
https://github.com/akalongman/sublimetext-codeformatter
https://github.com/rareyman/HTMLBeautify
А вообще - https://www.google.com/search?q=html+beautifier+su...

Худший ответ:
Есть плагин такой, HTML-CSS-JS Pretify. Из названия, думаю, всё понятно. 
Есть настройки индентации и всего что необходимо.
Вопрос: Сайты, тупо возвращающие ответ?

Лучший ответ:
Почему не посылать HEAD запрос?

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

Лучший ответ:
Email пользователя и email получателя (админа) не связаны вообще никак! Именно для этого формы и делаются. Иначе вам бы пришлось отправлять письмо из почтовой программы например.

Худший ответ:
По событию onsubmit передаете данные формы в самописный скрипт на php, в котром отправляете переданное поле из формы, например, textarea, с помощью стандартной функции mail. Соответсвенно, mail администратора вы укажите в этом скрипте принудительно.
Если я вас правильно понял, то строки реализации можно по пальцам пересчитать. Код не привожу, так как с планшета неудобно :-)
Вопрос: nginx и apache

Лучший ответ:
«В конфиге nginx прописал настройки?» Экий тонкий реквест телепатов…

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

Лучший ответ:
Рекомендации к стилю кода
В дополнение, мы обязываем использовать следующие правила для кода:
...Фигурные скобки: открывающие фигурные скобки не находятся в отдельной строке.
...
А вообще это не важно, как Вам удобно так и делайте. Современные IDE могут форматировать как надо. Ну или есть всякие beautifier-ы кода.

Худший ответ:
Выберите один стиль и придерживайтесь его. Главное, чтобы у вас во всех файлах стиль был один и чтобы с вами было удобно работать вашей команде, а вам с ней.
Как пример - google-styleguide.googlecode.com/svn/trunk/javagui...
Вопрос: Потерял свой домен, и сайт впридачу. Можно ли вернуть?

Лучший ответ:
Надо было домен продлевать.
Такое восстановление сайтов из веб-архива с целью заработка — повсеместное явление.

Насчет суда — а что именно своровали, точнее как это можно сформулировать юридически?

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

Лучший ответ:
Сохраняйте в куках метод авторизации и к примеру почту в шифрованном виде. При регистрации через соц. сети проверяйте как раньше входил человек. Если окажется, что он пользовался обычной авторизацией, то спрашивайте пароль от учетки и объединяйте их. Так у человека будет 2 варианта авторизации и 1 учетка.

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

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

Худший ответ:
Ну так и передавайте:def explicitEulerMethod(n, h, x, y)
где x и y - массивы
Вопрос: Как быть в курсе, что происходит у себя на сервере?

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

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

Лучший ответ:
Возможно кто-то скажет что я гавно-верстальщик/разработчик и, в какой-то мере он будет прав.
Но Opera это глючное подобие (это мое личное мнение), с которым бывает больше проблем чем с IE 7,8,9. И если в случае IE в большинстве случаев возможны костыли — в опере такой возможности нет.

Проблемы, в большинстве своем, решаемые. Но задумайтесь — основной доход гугл — америка и европа, а там опера занимает очень малое кол-во процентов. Стоит ли заморачиваться с специальной поддержкой?
Ведь в принципе все работает. А гугл честно предупреждает о возможных проблемах.

Когда-то опера была перспективным и прогрессивным браузером, но теперь я ее таковой не считаю. Последние две версии (10-11) они только и делали, что убили JS движок и меняли 3!!! раза дизайн, пока остальные браузеры занимались улучшением своих основных функций.
Не даром из компании ушел ее со-основатель.

P.S. Искренне извиняюсь, если кого обидел, но именно такой я вижу реальность. Да простят меня фанатики. Сидел на опере с 9.27 по 10.6, как на основном браузере. Теперь только проверяю в ней работоспособность сайтов.

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

Лучший ответ:
gulp - найс
git - его надо юзать всегда, это как зубы с утра почистить.
vendor - для этого используйте bower, и собирайте их в один файл для минификации
к слову о минификации - это относится ко всему вашему js и css коду
я юзаю не лайврелоад, а browsersync
P.S yeoman гляньте

Худший ответ:
Не gulp-ом единым, я бы grunt посоветовал. И переходите на приличную IDE, вроде Webstorm.
Вопрос: Что за популярный шрифт в российском брендинге?

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

Худший ответ:
DIN действительно универсальный и очень мощный шрифт, но довольно дорогой.
Особенно с учетом того, что он имеет просто огромное количество начертаний и вариаций.
Для кириллицы нужна гарнитура PF DIN, авторства греческой студии Parachute.