Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как добавить кастомные способы оплаты в Woocommerce WP?

Лучший ответ:
Забыл сказать, что нашел решение - Woocommerce JetPack, делает очень много полезных вещей, в том числе и кастомные системы оплаты, правда чтобы прикрутить отсылку сообщений о способе оплаты на e-mail клиентам сделавшим заказ, пришлось немного подправить function.php. add_action( 'woocommerce_email_before_order_table', 'add_order_email_instructions', 10, 2 );
 
function add_order_email_instructions( $order, $sent_to_admin ) {
  
  if ( ! $sent_to_admin ) {
 
    if ( 'bacs' == $order->payment_method ) {
      //STANDART MESSAGE
    } else {
      // other methods (ie credit card)
      echo '<p>Переведите деньги на карту Сбербанка России. Ваш заказ не будет отправлен до тех пор, пока денежные средства не поступят на наш счет.<br/>Номер карты: **** **** **** ****<br/>ФИО Держателя карты: ИВАНОВ ИВАН ИВАНОВИЧ</p>';
    }
  }
}

Худший ответ:
В платной версии сафали это по идее все есть:
saphali.com/woocommerce-plugins/saphali-standard
А если прием оплаты с банковской карты, то через сервис какой нибудь, у них есть свои плагины для WP, к примеру робокасса.
Вопрос: Как решить проблему с ООП?

Лучший ответ:
Да вы, батенька, король контента!
Эт шутка. Хоть и не смешная для самоделкиных из области геймдева. :)
Так, а кроме шуток. Не надо вообще так делать. Тип наносимого урона/снаряда/юнита/орудия никогда не должен описываться его собственным классом. Все юниты должны быть одного класса, все пули - тоже, все здания - тоже.
У тебя должен быть только набор общих классов для сущностей. Конкретные параметры (что откуда вылетает, как дамажит и как это все визуально выглядит) должны лежать в ресурсах.
Рекомендую почитать: habrahabr.ru/post/255561 Изложенное куда более важно для области любимых самокатов на С++.
Хотя... Если тебе так надо реализовать на классах, а не на ресурсах, то тебе надо просто организовать фактическую связь между сущностями. Давай предложу один страшный вариант... Дебажить это все чур самому.class TowerParent
{
public:
	// Это тип для той штуки, которая будет создавать нам нужную боеголовку.
	typedef FireParent* (*FireConstructor)( float, float, int, float, float, float );
	
	TowerParent(int _col, int _row, float _posX, float _posY, float _attackRange, float _angle);

	//...
	
	FireParent* towerFire;
protected:
	FireConstructor	fire_constructor; // инстанция конструктора боеголовок.
	
	// Вот так мы будем определять тип конструируемой боеголовки.
	template< class fire_t >
	inline void DefineFireType(){
		fire_constructor = TowerParent::template MakeFire<fire_t>;
	};
	
private:
	// А вот так мы будем конструировать боеголовку.
	template< class fire_t >
	static FireParent* MakeFire( float _x, float _y, int _speed, float _angle, float _targetX, float _targetY ){
		return new fire_t( _x, _y, _speed, _angle, _targetX, _targetY );
	};
};


SimpleTower( int _col, int _row, float _posX, float _posY, float _attackRange, float _angle ){
	DefineFireType<Bullet>();
};

RocketTower(int _col, int _row, float _posX, float _posY, float _attackRange, float _angle){
	DefineFireType<Rocket>();
};
Конструирование делается через:towerFire = fire_constructor( .... );
Еще одна поправка. Не Rocket, а Missile. Потому что ... :)UPD:
Еще один вариант, уже менее страшный - это шаблонизация базового класса:template< class fire_t >
class TowerParent
{
public:
	TowerParent(int _col, int _row, float _posX, float _posY, float _attackRange, float _angle);

	//...

	fire_t* towerFire;

protected:
	inline fire_t* MkeFire( float _x, float _y, int _speed, float _angle, float _targetX, float _targetY ){
		return new fire_t( _x, _y, _speed, _angle, _targetX, _targetY );
	};
};

class Bullet : public FireParent<Bullet>
{
public:
	Bullet(float _x, float _y, int _speed, float _angle, float _targetX, float _targetY);
private:
};

class Rocket : public FireParent<Rocket>
{
public:
	Rocket(float _x, float _y, int _speed, float _angle, float _targetX, float _targetY);
private:
};

Худший ответ:
Шаблоны?
Вопрос: ПО для стриминга видео с ПК на Android

Лучший ответ:
На ПК ставится Home Media Server. На Android — в зависимости от возможностей железа и софта. Если нет встроенной поддержки DLNA/UPnP — ставим какой-нибудь DLNA controller (например, у меня стоит BubbleUPnP). Для проигрывания видео лучше всего использовать хардварный декодер, ну на крайний случай можно поставить что-то из софтовых видеоплееров (например, тот же RockPlayer поддерживает потоковое воспроизведение). Сервер может крутится на компе постоянно, а вы в любой момент сможете прямо с телефона запустить нужный фильм.

HMS — это DLNA-сервер с возможностью транскодирования. Поддерживает воспроизведение видео и музыки, а также просмотр фотографий. Самое сложное в этом процессе — настройка HMS под ваш Android-девайс. С ним идет немало распространенных профилей транскодирования, но не факт, что среди них найдется подходящий. Зато у него очень широкие возможности кастомизации, поэтому настроить его можно практически всегда.
По умолчанию HMS с телефоном общаются по протоколу DLNA, однако если с этим будут принципиальные проблемы — сервер также имеет Web-интерфейс.

Худший ответ:
В свое время у меня отлично стримил vlc на андроид или на ios и даже пережимал под нужное разрешение на лету.
Вопрос: Как и что вы логируете в свои проектах?

Лучший ответ:
Логин, logout (дата, время, IP),
Активные действия, вызывающие изменения данных
запросы в случае использования поиска
да и система - неочень ясный момент, смотря что у вас за проект.
А хранить в базе или файлах зависит от проекта. В случае простого лога для админов, проще файл. В случае последующего использования лога для статистики, или хотя бы, если его следует просматривать нескольким людям (например даже одному, но не сисадмину), можно в BD, даже сделать отчеты для просмотра логов по определенным критериям

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

Лучший ответ:
wordpress mu + плагины. Но это ад. Вообще можно любую cms-ку допилить для этого.

Худший ответ:
Посмотрите сюда - https://github.com/search?l=PHP&q=+Freelance&source=cc&type=Repositories
Вопрос: Где найти статьи на it тематику на французском языке ?

Лучший ответ:
Подождите, а как же написать? Написать самому? Головой? Своей? И руками? Ну или перевести из ru.wikipedia.org ? Или хотя бы fr.wikipedia.org? Аспирант? Серьезно?

Худший ответ:
В библиотеке.:))) Или наберите "открытый доступ" - там ссылки на все открытые библиотеки
Вопрос: Работа с пользовательскими данными | Комментарии для статьи?

Лучший ответ:
Не считай себя умнее разработчиков - данная функция нужна если тебе досталась бд внаследствоclass Meta:
        db_table = 'comments'
старайся не использовать excludefields = ['text']def addcomment(request, article_id):
    form = CommentForm(request.POST or None )
    if form.is_valid():
        comment = form.save(commit=False)
        comment.comments_article = Article.objects.get(id=article_id)
        form.save()
        # почитай reverse
        return redirect('/articles/get/%s/' % article_id)
    return render(request, 'template.html', {'form': form})
советую не учиться по данному ману

Худший ответ:
Привет, на канале shadrus в YouTube есть реализация блога с комментами. Реализацию можешь взять оттуда.
Вопрос: Написание первой CMS. Как лучше?

Лучший ответ:
Т.е. прежде чем мне написать CMS мне надо "перелопатить" тысячи исходных кодов различных CMS, изучить их, проработать с ними как минимум год чтобы понять как написать правильно свою систему?
Именно так. Я бы даже сказал годика так 3 хотя бы, и пару десятков разных проектов. Важно что бы вы получили разный опыт.Неужели чтобы написать даже самую простую CMS для личных элементарных нужд придется изучать куча всего другого чтобы выстроилась точная картина о ее разработке?
нет, если вы не будете писать велосипеды и возьмете фреймворк как готовую основу.но интерес составляет написать самому
Начните с фреймворка:
 - библиотека для рендринга шаблонов (буферизация вывода, работа с файловой системой немножко)
 - библиотека для маршрутизации запросов (прошаритесь в регулярках)
 - библиотека для работы с базой данных (не ORM, начните с Table Data Gateway или DAO хотя бы. Прошаритесь в SQL минимально).
 - Ядро, связывающее все это вместе. Желаельно с какой-то концепцией мидлвэров, что бы все остальныекомпоненты ничего не знали о ядре. (прошаритесь в HTTP)
В целом же писать CMS очень и очень скучно и долго. Вы намного быстрее прошаритесь во всем что надо делая отдельные компоненты. Благо сейчас век composer-а и вы можете крутить и вертеть фреймворками как хотите, подменяя чужие компоненты на свои.

Худший ответ:
Ссылка на мой блог: sitecoder.blogspot.ru/p/blog-page_23.html
Я перечислю здесь основные блоки "пирога":
1. Сессия
2. ACL
3. Роутер
4. Приложение (входные данные, обработка, выходные данные, шаблон представления)
5. Модули (входные данные, обработка, выходные данные, шаблон представления)
6. Шаблон страницы
7. Рендер готовой страницы и отдача в браузер
Вопрос: Как сделать фоновое обновление страницы?

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

Худший ответ:
на Javascript пишите обработчкик который вызывает по javascript.ru/setInterval
посылает AJAX запросы на Ваш сервер.. который получает данные и отдает в JSON
а Вы уже делаете что Вам нужно.
почитайте в отдельности про каждую технологию... разберитесь и все поймете!
Вопрос: Как повлияет на работу GPS приемника отключение наземных станций в России с 1 июня?

Лучший ответ:
На бытовые GPS приёмники отключение наземных станций никак не повлияет - приемники ориентируются по спутникам, которые никто запрещать не планирует. Сигналы наземных корректирующих станций бытовые  GPS приемники принимать не умеют. Возможно, упадет точность наведения баллистических ракет по целям, рядом с отключенными наземными станциями, но детальных алгоритмов наведения министерство обороны США не публикует =)

Худший ответ:
Она пока только грозится приостановить. Не надо паниковать. Останется глонасс, сотовые вышки и позиционирование по wifi
Вопрос: Какая запись кода более правильна с точки зрения Python?

Лучший ответ:
for a in range(1, 10):
    print a
while вообще лучше  не использовать для такого типа циклов

Худший ответ:
Какая запись более правильна и почему "while a != 10: " или же "while a < 10:"
Эти записи семантически неравнозначны. Конкретно в вашем примере они будут работать одинаково, а вот если в какой-то момент нужно будет прибавлять к а 2, а не 1, то запись while a != 10 превратится в бесконечный цикл.
А как правильно с точки зрения питониста уже ответил Дмитрий Александрович.
Вопрос: Как проверить, что возвращает ajax?

Лучший ответ:
Попробуйте console.log(data);

Худший ответ:
заполните данными json слой для отладки:
$('#mydebug').html(data);
Вопрос: Какую ФС выбрать для совместного использования в Mac OS X и Windows 7?

Лучший ответ:
Вообще, универсально - это ExFAT. Но я бы вам посоветовал для этой цели взять обычный внешний жесткий диск. Идеальное решение для файлопомойки. При желании можно подключить его к роутеру и дать доступ по wifi.

Худший ответ:
120 гиговый ссд ноутбука, явно не для качания кинца с торрентов.
пора бы уже сервак завести свой)
Вопрос: Прототип системы, на чем лучше писать ? (Python или Ruby)

Лучший ответ:
RoR(Ruby) и Django(Python) практически одинаково хороши для прототипирования. Делайте на том, что знаете лучше. Остальное — холивар.

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

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

Худший ответ:
Как вариант, держите в памяти структуру, в которой по индексам страниц есть две строки - слово в начале страницы, и слово в конце страницы.
Вопрос: Как учить Xcode + Swift + OS X?

Лучший ответ:
Вот отличные видеокрусы obj-c и swift.

Худший ответ:
Сам перепробовал много чего, тут просто перечислю ресурсы, которые пробовал со своими впечатлениями:https://vk.com/iosdevcourse - Курс Скуторенко, отличный курс, особенно по ObjC, по Swift лично мне как то не зашел, в нем предполагается что уже знаешь ObjC. 
Курсы Geekbrain - видел пару курсов, ужас какой то, видно сильно зависит от преподователя, в одном препод даже не знает правила написания кода, в другом на первом уроке узнает что большая часть группы никогда не имела дело с разработкой вообще, а потом начинает показывать сразу сложные вещи.
swiftBook.ru - очень понравились курсы, все разложено по полочкам, купил подписку, сейчас в процессе изучения. Радует что если что то поменялось в обновлении Swift видео обновляется или дополняется.
Simon NG - две книги для начинающих и для продвинутых, по сути сборник примеров, но написано очень круто. Как я понял один из курсов swiftBook основан на первой книге.
Усов - очень хорошо для начинающего и потом удобно использовать как справочник
Вопрос: Как сделать проверку наведения курсора на игровой объект на canvas?

Лучший ответ:
Когда я делал нечто похожее (но с интерактивными картами), я слушал событие на самом холсте. Брал из события координаты (event.pageX и event.pageY) и по ним искал вхождение в нужный мне элемент на холсте (я хранил координаты элементов в памяти). Вот код моей функции:$("#myCanvas").on("click", function(event){
		var pt = [event.pageX, event.pageY];
		var elem = findP(pt);
});

function findP (pt) { // polygons это массив элементов (объекты с данными и координатами), в которых хранятся координаты вершин многоугольников (points).
		for (var z = 0; z < polygons.length; z++) { 			var polyz = polygons[z].points;
			for(var c = false, i = -1, l = polyz.length, j = l - 1; ++i < l; j = i)
				((polyz[i][1] <= pt[1] && pt[1] < polyz[j][1]) || (polyz[j][1] <= pt[1] && pt[1] < polyz[i][1]))
				&& (pt[0] < (polyz[j][0] - polyz[i][0]) * (pt[1] - polyz[i][1]) / (polyz[j][1] - polyz[i][1]) + polyz[i][0])
				&& (c = !c);
			if (c) return polygons[z].properties;
		} return null;
	}
Можно смело заменить событие click на hover/mouseover, код будет такой же. Только стоит добавить debounce или throttling на обработчик, чтобы снизить нагрузку.

Худший ответ:
Массив с координатами объектов (верхняя правая и нижняя левая точки) перебирать
Вопрос: Найти ошибку в коде php?

Лучший ответ:
As of PHP 5.4 it is possible to array dereference the result of a function or method call directly. Before it was only possible using a temporary variable.
As of PHP 5.5 it is possible to array dereference an array literal.
Очевидно, у вас php <5.4
php.net/manual/en/language.types.array.php#languag...
https://wiki.php.net/rfc/functionarraydereferencing

Худший ответ:
Обращение к функции загоняйте в отдельную переменную:$pagination = self::vdfGetPagination($paramsUrl);
а потом выводите:echo $pagination['html'];UPD:
в value должно попасть уже готовое значение - 
Вообще если у Вас фреймфорк какой, то в контроллере должна быть вся логика.
Если нужно быстро и некрасиво, то над input-ом:<?php 
$getPagination = self::vdfGetPagination($paramsUrl);
$pagination = ts_enc_string(serialize($func['paramsUrl']));
?>
и далее так:<input type="hidden" value="<?= $pagination['html'] ?>" name="ts-params-url">
А вообще там где генерируется $paramsUrl, там и должен быть вышеперечисленный код, а вывод в шаблон уже
Вопрос: Какие системы управления проектами с диаграммой Ганта Вы знаете?

Лучший ответ:
google.drive диаграмма ганта легко рисуется руками в экселе.
удобно если привыкнуть.
из специализированных проектов нравится smartsheet.com но они хотят 15$ в месяц что на мой взгляд перебор за их продукт.
А так проекты в Jira, версия на 10 пользователей стоит 20$ разово, правда память у сервера жрет не по детски =(
PS еще есть www.gantter.com сам не щупал

Худший ответ:
Сказать честно не помню ни одной бесплатной в которой бы не было её, ну за исключением наверно каких то мелких для трех человек.
сам юзаю redmine
Вопрос: Зачем на цифровой клавиатуре дублируют системные клавиши?

Лучший ответ:
Чтобы в carmageddon2 играть удобно было.

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

Лучший ответ:
Когда владеете базисом PHP и можете оперировать объектами.
Берите Laravel.

Худший ответ:
Я думаю что лучше взяться за один из самых популярных фреймворков. Там, как минимум, имеется достаточное количество примеров реализации той или иной задачи и хорошая документация. 
Т.к. последние месяцы я работаю с Yii, то именно этот фреймворк я бы и порекомендовал :)
Вопрос: А есть ли такое приложение для айФона? (а если нет — то дарю идею)

Лучший ответ:
Такое приложение есть для Андроида, для iOS обещают скоро сделать: Open Signal Maps.

Худший ответ:
Насколько я знаю, таких приложений не существует на iOS.
В целом идея интересна, только мне кажется, что опсосы найдут лазейку, чтобы данное приложение прикрыть :(
Вопрос: Java. Стоимость лицензий для проекта?

Лучший ответ:
1. Должен ли я Orcale’у что-то платить если на production серверах я хочу использовать их JVM?
Hot Spot — бесплатно. JRockit — не знаю.
2. Должен ли платить за JDK?
Нет
3. За какие компоненты или подсистемы которые напрямую связанны с запуском Java проекта в production, Oracle или иные так или иначе связанные организации, могут с меня потребовать оплату?
Есть платные сервера приложений, например IBM WebSphere Application Server, есть бесплатный JBoss. Так что все зависит от стека.

Худший ответ:
1. нет.
2. нет.
3 & 4. Большие корпорации обычно предпочитают платные апликейшн сервера с супортом, что стоит немалых денег. Чисто с технологической точки зрения достаточно бесплатной версии того же JBOSSa
Вопрос: Что за подстава от reg.ru?

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

Худший ответ:
Не развод, нет. У доменов .com жизненный цикл подразумевает redemption период, когда стоимость его продления увеличивается на $40. Все остальное - маржа регистратора. Вот весь ЖЦ наглядно:
Вопрос: Выгодно ли сейчас вставать в очередь на приобретение майнера (поставка в марте)?

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

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

Лучший ответ:
Есть такой пакет — MultiSystem — с его помощью это все проделывается без каких либо проблем и без чтения мануалов даже. Ну разве что чуть-чуть. По крайней мере Вам не придется лезть в конфиг grub руками, просто перетаскиваете iso образ в эту прогу, она сама добавляет его загрузку на флешку, и так, со многими дистрами.

goo.gl/Ir2qZ

Худший ответ:
Я использую программу yumi и всем её рекомендую.
Вопрос: Как шейперить трафик wi-fi на openwrt?

Лучший ответ:
wiki.openwrt.org/doc/uci/qos
wshaper, емнип, тоже умеет лимитить wifi (по крайней мере ручками в конфиге)
https://forum.openwrt.org/viewtopic.php?id=36816

Худший ответ:
Эм... Так Wi-Fi сбриджoван с LAN, если не сказано чтоб Wi-Fi был не в бридже. Так что шейпите на LAN.
Вопрос: Почему в Django не работает POST?

Лучший ответ:
Вы не установили атрибут name для текстовых input-ов.

Худший ответ:
Ну и замыленные у меня уже глаза. Свято верил что нужен только id. Спасибо!
Вопрос: Как сохранить драгоценное время и нервы ?

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

Худший ответ:
> гневные заявление подруги, почему я не отвечаю на ее сообщения «Вконтакте»(ищу панацею, помогите!)

 — Почему ты не отвечаешь на мои сообщения?
 — Я занят, я работаю.

Вот вам панацея. Если подруга не понимает, что работа — это важно, вам следует ей это объяснить.
Вопрос: Как реально скрыть поисковые запросы от провайдера, какие есть реальные способы?

Лучший ответ:
впн с шифрованием + tor

Худший ответ:
Зайти через Tor на search.disconnect.me и искать.
Вопрос: Куда убрали установку root-пароля во время установки Ubuntu?

Лучший ответ:
Эта возможность нарушает современные понятия о безопасности.
Любая *nix машина с белым IP ежедневно подвергается школоло-атаками в виде попытки зайти на нее через ssh под юзером root, toor, ubuntu, adm с паролем по словарю.
Поэтому сейчас правильный принцип идет такой - у root пустой пароль, под ним зайти вообще нельзя. Создавайте себе персональных пользователей, настраивайте /etc/sudoers

Худший ответ:
В sudo passwd root её "убрали" после установки.
Вопрос: Почему зависает composer update?

Лучший ответ:
В общем, с помощью флага --profile удалось установить причину. Все упиралось в недостаток памяти. Увеличил объем RAM до 1Гб (было 384Мб) и update успешно завершился. Пик использования памяти при этом был равен 569.84Мб.
Дополнительно, для тех, кто в будущем столкнется с подобной проблемой, на github я обнаружил еще одну возможную причину такого зависания. Суть ее, как я понял, заключается в том, что при большом количестве зависимостей composer может "зависать" из-за большого количества их возможных комбинаций. Такое случается очень редко, но теоретически возможно. Решение в данном случае: задать требования более строго. Например, использовать более конкретные рамки версий, или вообще указать точную версию.

Худший ответ:
Последняя версия композера - после selfupdate? Попробуйте поставить последний релиз, без обновления, если это так