Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Чем отличаются эти две статьи (полиморфизм, PHP)?

Лучший ответ:
код в статьях не отличается ничем.
за каким чертом автор №2 решил выпендриться, и объяснить "Что такое полиморфизм на самом деле" с использованием абсолютно такого же примера - останется тайной на века.
лично меня ни один толком не убедил.
попробую привести собственный пример:<?php 

// базовый класс публикации
// имеет свойства для заголовка и тела
// умеет отдавать контент в простейшем виде
class Publication {
  protected $_header;
  protected $_body;
  
  public function __construct($header, $body) {
    $this->_header = $header;
    $this->_body = $body;
  }

  public function getContent() {
    return 
      '<h1>' . $this->_header .  '</h1>' . 
      '<p>' . $this->body . '</p>';
  }
}

// статья в дополнение имеет еще свойство для имени автора
// конструктор переопределен для задания имени автора
// метод getContent переопределен, чтобы дописывать под заголовком статьи имя автора
class Article extends Publication {
  protected $_author;
  
  public function __construct($header, $body, $author) {
    parent::__construct($header, $body);
    
    $this->_author = $author;
  }

  public function getContent() {
    return 
      '<h1>' . $this->_header .  '</h1>' . 
      '<br /><br/ >'. 
      'By ' . $this->author . 
      '<br /><br/ >'. 
      '<p>' . $this->body . '</p>';
  }
}

// объявление переопределяет только метод getContent 
// заворачивает вывод в блок определенного класса - так объявление заметнее
// но сам контент генерируется родительским методом
class Announcement extends Publication {
  public function getContent() {
    return 
      '<div class="announcement">' . 
        parent::getContent() . 
      '</div>';
  }
}

// а вот короткая новость, например, не переопределяет метод getContent
// он ей подходит как есть
// она только с данными немного шаманит
class ShortNews extends Publication {
  public function __construct($header, $body) {
    $this->_body = substr($header, 0, 31);
    $this->_body = substr($body, 0, 255);
  }
}

// а вот и принтер
// принтер печатает публикации
// ему пофиг, какие именно - хоть короткую новость мы его попросим напечатать, хоть объявление
// он знает, что у любой публикации есть метод getContent, результат которого можно напечатать
// потому что объекты классов статья/объявление/короткая новость - они одновременно и объекты класса публикация
// это и есть полиморфизм
class PublicationPrinter {
  public static function print(Publication $publication) {
    print($publication->getContent());
  }
}

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

Лучший ответ:
1. Здоровье;
2. Знания (развитие);
3. Недвижимость;
4. Небольшие суммы валютных депозитов в 3-5 банках.

Худший ответ:
мозг
Вопрос: Magento против X-Cart

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

Худший ответ:
Я лично заказал бы только под мои требования CMS (а точнее в моем случае потратил бы пару недель и написал бы сам).

Но если выбирать между этими двумя… пройдемся по пунктам:

1) Тут выигрывает x-cart (хотя опять же смотря в какой редакции, но даже в самое дешевой — выигрывает, хоть и не сильно)
2) Тут уже сложнее, насколько я помню из коробки этого нету. Да и для x-cart вроде бы тоже не видел, а для магенту есть точно. Но быть может моя информация устарела. Я x-cart ресерчил где-то пол года назад.
3) Из коробки в дорогих редакциях x-cart или же модули для магенту. Но если брать модули то возможностей больше.
4) тут сказать ничего не могу.
5) есть вроде бы в обеих. Явного лидера назвать не могу
6) Модули
7) X-CART примитивнее, но с другой стороны с разработчиками под magento намного более приятная ситуация. Да и сама структура непривычна только первое время.
8) ERP — интеграции есть. Для x-cart знаю что некоторые конторки предоставляют возможность интеграции в обе стороны для множества ERP систем. Но точно ничего сказать не могу ибо с этим никогда не сталкивался. Мод магенту же с этим проще. Есть как бесплатные так и платные решения.
9) если судить объективно — и то и то выглядит ущербно. Из коробки покрайнемере. По поводу костомизации в этом вопросе ничего сказать не могу, ибо не занимался. Хотя с другой стороны ничего лучше особо и нету… и это печально
10) тут обе системы вроде подходят
11) нифига админы не в грязных свиторах… Ну да несуть. По поводу x-cart честно не знаю в этом плане, но допилить какие-то механизмы для более шустрого поиска можно. Так же как и для магенту использовать для поиска сфинкс/монго. При небольшой заточке напильником, исходя из возможностей вашего сервера, нагрузки они оба будут выдерживать примерно одинаково.
12) Тут однозначно лидер магенту. Потому то он и стал так быстро набирать обороты в самом начале.

Такие дела.
Вопрос: Как найти IT конференции в США для визы?

Лучший ответ:
<шутка&gtWork & Travel</шутка&gt

Худший ответ:
Я когда-то тоже занимался этим вопросом. Нашел первую попавшуюся конференцию по Python, написал им на инфо ящик что мне для визы нужно приглашение. Меня попросили прислать бланк. Они его заполнили, расписались, поставили печати и прислали в PDF. Так же сказали что могут выслать оригинал и в случае отказа в визе готовы вернуть деньги за конференцию (около 700$, конфа была недельной продолжительности). Может повезло, а может и действительно это для организаторов обычная процедура. 
З.Ы. До получения визы так дело и не дошло…
Вопрос: Какие сейчас востребованные направления за рубежом?

Лучший ответ:
Относительно Канады и Штатов могу сказать что очень хорошим спросом пользуется разработка мобильных приложений, банковская сфера и IT безопасность. Им проще всего найти там работу. В штаты очень сложно уехать по рабочей визе, в Канаду намного проще, но везде нужен опыт работы и хороший английский. Так что пару тройку лет плотной работы и профессионального роста и можно пробовать. Еще у них такая фишка есть, что ты должен быть узким специалистом в какой то области. Так что лучше выбрать одно перспективное направление и пытаться по максимуму развиться в нем.

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

Лучший ответ:
Старайтесь не работать с такими заказчиками

Худший ответ:
На mail.ru как-то реализовано это. Когда несколько ящиков и в разных вкладках открыты разные ящики, в разных вкладках получается разная кука Mpop. Сам пока не понял, как это происходит. При создании новой вкладки открывается тот ящик, вкладка которого была активна последней.
Вопрос: Почему SELECT date( «2014-01-01» ) — date( «2013-12-31» )  выдает 8870?

Лучший ответ:
А что ты хотел сделать вызовом функции DATE() для дат, у которых уже нет времени? Фактически, у тебя разность строк "2014-01-01" и "2013-12-31", которые преобразуются в числа 20140101 и 20131231, разность которых и равна 8870.
Для получения кол-ва дней между двумя датами, можно воспользоваться функцией DATEDIFF():SELECT DATEDIFF('2014-01-01','2013-12-31');

Худший ответ:
нет, мне надо было выбрать записи, старше 60 дней.
сделал вот так:
SELECT TO_DAYS(now()) - TO_DAYS(timefrom)) > 60;
т.е. функция to_days оперирует с датами, а функция date оперирует с числительными.
большое спасибо.
Вопрос: Версткой на PC и MAC: цвета выглядят по-разному?

Лучший ответ:
«Фоновое изображение — png» — почти наверняка в этом косяк. Насколько я помню сафари и др. браузеры (на винде) по разному обрабатывают цветовой профиль из пнг (кто то использует встроенный а кто то свой).
Если не ошибаюсь была статья на хабре по этому поводу. 
Для проверки используйте jpg.
p.s. Попробую найти статью, добавлю ссылку потом

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

Лучший ответ:
Обычно демоны создают pid-файл. Проверяйте его наличие.
Или вы сами пишете демон?

Худший ответ:
Посмотрите пример тут.
Вопрос: Как убрать убрать .html в конце веб-страницы (CMS Modx)?

Лучший ответ:
В админке "Система" —> "Типы содержимого" —> Убрать расширение у HTML.

Худший ответ:
Не знаю, поможет ли вам.
1. loco.ru/materials/367-modx-nastraivaem-chpu-kak-ub...
2. stackoverflow.com/questions/12268045/how-to-remove...
3. community.modx-cms.ru/blog/questions/1954.html
Вопрос: Постгрес оптимизация запроса?

Лучший ответ:
des1roer: CREATE INDEX насколько понимаю создает индексы для наиболее часто используемых данных. но если данные динамические то как это сделать и поможет ли
des1roer: Вы понимаете не правильно.
1) индекс нужен для ускорения поиска и сортировки
2) без "order by" порядок кортежей вообще не гарантирован.
даже с "order by" если у нескольких кортежей совпадают значения в поле по которому идет сортировка - их порядок не гарантирован.
индекс по (F_Date,F_TagName_ID) существенно ускорит выборку я полагаю
3)В порядке бреда: т.к в таблице у Вас весьма много записей - есть смысл обдумать так ли их надо хранить в реляционной базе, или можно агрегировать в списки например по часам и класть в какую нибудь монгу? Ну или хотя бы чистить старые записи. Или переносить их в другую таблицу.

Худший ответ:
Начните с CREATE INDEX
Вопрос: Заказчик требует компенсации простоя в работе?

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

Худший ответ:
А что написано в лицензии вашей системы? Обычно там пишут, что ни при каких обстоятельствах ни за что не отвечают. Вот, например: mydebianblog.blogspot.com/2010/04/microsoft-windows-eula-end-users.html
Вопрос: Что выбрать: ставить или не ставить слэш на конце URL?

Лучший ответ:
Яндекс, если видит урл без слеша, иногда проверяет такой же урл, но со слешем. В этом случае важно делать 301-й редирект на страницу без слеша (в друпале для этого есть специальный модуль, кажется, GlobalRedirect называется).

Ошибкой будет выдавать одинаковую страницу со слешем и без, т.к. это дубли страниц и могут быть санкции поисковых систем.

Ну это все с точки зрения СЕО. А с практической точки зрения — абсолютно все равно как делать, только считается, что со слешем по смыслу должен быть каталог чего-то, а без — страница.

Худший ответ:
Сейчас уже такие URL делают, что закачаешься:
http://www2.sub.domain.com/fol.der/#/my_page:here.html?bla=bla&foo=bar
Так что пишите как хотите — всем пофиг что там в строке адреса.
По поводу замечания о СЕО теоретически согласен, но думаю поисковики уже и с этим разбираются.
Вопрос: Как сделать спойлер jquery (для нескольких элементов на странице) так чтобы кнопка «раскрыть» исчезала если текста мало?

Лучший ответ:
1) не click, a on('click'...)
2) всю лапшу заменить на slideToggle
3) что бы спрятать кнопку - проверяй объем текста по кол-ву символов или проверяй высоту блока с текстом, если слишком высокий блок - уменьшаешь его высоту и выводишь кнопку

Худший ответ:
Извините, увлёкся.<p class='spoiler_block'>qqqqqq<br>wwwwww<br>eeeeee<br>qqqqq<br>wwwww<br>eeeee<br>qqqqqq<br>wwwwww<br>eeeeee<br>qqqqq<br>wwwwww</p>.spoiler_title{
	font-size: 12px;
	border-bottom: #000000 dashed 1px;
	cursor: pointer;
    color: #62a000;
    display:inline-block;
}
.spoiler_block{
    overflow:hidden;
}$(function() {
    $('.spoiler_block').each(function() {
        var t = $(this);
        var h1 = t.height();
        var h2 = 40; // необходимая высота блока
        if (h1 > h2) {
            var n;
            var add_spoiler_expand_title = function() {
                t.after('<p class="spoiler_title">развернуть</p>');
                n = t.next();
                n.on('click', spoiler_expand);
            };
            var add_spoiler_collapse_title = function() {
                t.after('<p class="spoiler_title">свернуть</p>');
                n = t.next();
                n.on('click', spoiler_collapse);
            };
            var spoiler_collapse = function() {
                n.fadeOut(100, function() {
                    n.remove();
                    t.css({height: h2 + 'px'});
                    add_spoiler_expand_title();
                });
            };
            var spoiler_expand = function() {
                n.remove();
                t.stop(true, false).animate({height: h1 + 'px'}, 300, add_spoiler_collapse_title);
            };
            t.css({height: h2 + 'px'});
            add_spoiler_expand_title();
        }
    });
});
Вопрос: Где формируется меню Wordpress?

Лучший ответ:
в каталоге вашей темы должен быть файл functions.php там и ищите

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

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

Худший ответ:
Попробуйте Iceweasel, Swiftfox
Вопрос: Ужасная ошибка с chmod?

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

Худший ответ:
Ммм… Иногда rm -rf / помогает, но не уверен, что в этом случае спасёт, тут всё запущено уже давно и глубоко…
Вопрос: Как использовать арифметическое округление вместо банковского, и повысить точность расчётов?

Лучший ответ:
Используй decimal, и будет тебе щастье.

Худший ответ:
Пользуюсь вот такой простой функцией.def rd(x, y=0):
    ''' Функция математического округления '''
    m = int('1' + '0' * y)  # multiplier - how many positions to the right
    q = x * m  # shift to the right by multiplier
    c = int(q)  # new number
    i = int((q - c) * 10)  # indicator number on the right
    if i >= 5:
        c += 1
    return c / m
Вопрос: Как проверить пенсионер ли покупатель?

Лучший ответ:
Когда то задавался этим вопросом. 
Мой путь был таков: 
Разумеется по номеру - самое простое, сказано - сделано.
но тему внезапно просекли родственники, родственники родственников и тд и тп, вбивая рандомные номера,
значит нужно было проверить а существует ли вообще такой номер,
Какой-то информации как вообще проверить правильность этого номера не нашлось  (типо как ИНН),
и оказалось, что узнать ФИО владельца онлайн то же нельзя: "персональные данные",
скан вообще не рассматривался ввиду геморройности.
Так же стоит учитывать, что пенсионные удостоверения не выдаются с 2015 года!
Поэтому от номера удостоверения отказались  в пользу СНИЛС (алгоритм проверки есть) с запоминанием кто ввёл. 
Для клиента было не критична 100% точность, просто откинуть процент рандомных вбиваний.
Да и большинство вообще про СНИЛС не вкурсе, поэтому была соответствующая инструкция если вы пенсионер у вас должна быть зелёная карточка бла бла бла и тд и тп.

Худший ответ:
Сделать тест с вопросами типа "назови отчество ленина", пройдут либо грамотные и умеющие гуглить (менее 5%) либо пенсионеры:)
Вопрос: Почему не загружается аватар?

Лучший ответ:
Откройте один раз в браузере сайт https://habrastorage.org и ваша проблема решится. Разработчик тостера в курсе этой проблемы и когда-нибудь однажды она решится.

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

Лучший ответ:
чтобы растянуть блок на всю ширину за предела родителя пропишите свойство width: 100vw;
  margin-left: calc(-50vw + 50%);

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

Лучший ответ:
Не скажу на счет облачных сервисов, но тут у меня на месяц "завалялся" ненужный dedicated 4 CPU 3.2 Hz Xenon и думал намайнить litecoin'ов (вроде попроще bitcoin'ов). В результате 100% круглосуточной загрузки сервера - 0.27 LTC
Так что даже если не забанят, выгоды от такого майнинга никакой.

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

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

Худший ответ:
В этом конкретно случае не решение, но есть очень удобное расширение для хрома:
https://chrome.google.com/webstore/detail/appspect...
Appspector
пытается проанализировать сайт и собрать данные о технологиях. Не всегда показывает, но достаточно часто.
Добавил прикольный скриншот:
Вопрос: Уровень зарплаты php-программистов?

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

Худший ответ:
От 100 баксов
Вопрос: Фрилансер создал логотип с использованием платного шрифта. Нужна ли лицензия?

Лучший ответ:
Вынесу из комментариев к другому ответу, а то не все туда заходят:
Вот официальный ответ от службы поддержки fonts.com:
Dear Sir or Madam,
The licensing depends solely on how you are going to be using the fonts.
When you are simply printing using the fonts, you are not actually making the font data available for the customer to use so you would not require any additional licensing.
For branding and web use, if you are going to be using the font in a jpg, GIF, static image etc the font data is now simply an image of the font which cannot be accessed by the customer or recipient. You are not distributing the font data therefore this is covered under the basic end-user license. If you will be embedding the fonts into an application or embedding the fonts on the web via CSS, @fontface, Cufon, Flash etc, you would require additional licensing. The same is true if you have an online application that will allow customers to submit text and it will render a preview in the typeface.
If you are going to be using the fonts within a commercial product, such as a video game, cell phone, product with a digital display, etc, an extended license is require.
Most fonts come with a 1-5 user license (see shopping cart for the number of licenses included with the font). This gives you the ability to install the fonts on up to 5 computers within a company. If you need more than 5, you would purchase a Multi User License. This can be done by choosing the number of users from the drop-down menu next to the item in the shopping cart.
The Monotype Imaging Inc, Standard End User License Agreement can be found at the link below:
www.fonts.com/info/legal/eula/monotype-imaging
Иными словами, лицензия на использование изображения созданного с использованием платного шрифта не нужна.

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

Лучший ответ:
Это не так просто как кажется… 
1) Управление курсором — просто…
2) Взаимодействие с веб-камерой просто…
Но вот куда двигать курсор при движении камеры?.. Во-первых нужно анализировать изображение с веб-камеры на предмет того, куда оно оказалось сдвинуто — это наисложнейшая задача… Во-вторых, веб-камера имеет маленькую частоту обновления и при резких или быстрых движениях — ничего не получится… Ну и привязка к точкам — тоже добавит головной боли…
Вобщем, за более-менее вменяемые деньги за такое врядли кто-то возьмется…

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

Лучший ответ:
Вот моя подборка русскоязычных действующих сайтов о WordPress:wp-kama.ru Сайт о CMS WordPress для любителей и профи: описание всех функций и хуков, объяснение принципов работы WordPress, хаки, вопросы и ответыtruemisha.ru/blog Уроки и статьи по WordPress, jQuery, CSS, HTML, PHP, создание плагинов и тем, документация, описание функцийwpmag.ru WP Magazine - онлайн журнал посвящённый системе управления контентом WordPresswpnew.ru Бесплатные уроки по созданию своего сайта на WordPress, его продвижению

Худший ответ:
лучшее из того, что можно найти в сети по wordpress - n-wp.ru
Вопрос: Почему modx набирает популярность?

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

Худший ответ:
Попробуйте и узнаете сами. Или не узнаете и тогда он вам не подходит. Судя по тому что вы много лет работаете с WP вы весьма консервативны. Я не знаю что там с MODx и что там внутри, но я хорошо знаю тот ад который внутри WP.
Вопрос: Базовый экскурс в MVVM Light Toolkit от практикующих?

Лучший ответ:
Зачем вам этот MVVM Light. 
Для написания любого MVVM приложения достаточно двух базовых классов. 
вот накидал вам пример за 20 минут https://bitbucket.org/xakpc/mvvm
из интересных только класс AsyncDelegateCommand который позволяет создавать и биндить асинхронные команды с помощью async-await

Худший ответ:
Чем не устраивает документация?
Вопрос: Что я делаю не так?

Лучший ответ:
Просто в данном запросе "https://bablobit.ru/index.php?login/login" присутствует redirect. А как мы знаем, когда в пост запросе присуствует redirect, он будет возращать html.
with open('1.html', 'w', encoding='utf-8') as f:
    f.write(r.text)
Т.е. предпологаю что у тебя здесь вывелось html с окном для входа.

Для того чтоб прочитать redirect, считываем r.history. А так как обычно на подобных форумах переадресация лишь одна, то можем считываем лишь первый, а так же можно вывести headers. Обычно на подобных, но чуть усложнённых версиях, как раз в headers генерируется session , который по дефолту обычно существует 30 дней. Благодаря этому session token потом при помощи get запросов, можем получать xftoken - который обычно по дефолту существует ~12 часов, или чуть больше.

Так что для обработки пост запроса, можем использовать такой вот вид. Как раз таки в headers попадаются или токен сессии, или статус входа, не помню точно, относительно давно это было.
print(r.history[0].headers, r.history[0].text)

Update: Вот к примеру, в случае успешной авторизации, у r.status_code - будет равно 303. А в r.history[0].headers выведет что-то по типу 
Set-Cookie: xf_user=85376%2CH4tard146PUjjcLAYflx8-eovp8AmraDqd0lkf-A; expires=Thu, 28-Apr-2022 08:01:40 GMT; Max-Age=31536000; path=/; secure; HttpOnly
Set-Cookie: xf_session=73Ox5QmBBLZEpYBL940YTm_iMX7u2ufR; path=/; secure; HttpOnly
Эти set-cookie, берём, и добавляем к изначальным headers--> cookie. И вуаля.

Худший ответ:
Postman юный хацкер уже освоил?