Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Nginx + apache 2, ubuntu 11.10, 504-ая ошибка?

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

Худший ответ:
как вариант  разреши апачу делать это лично. Пропусти проксирование данного вида файлов в этой папке.
так же есть try_files
  error_page 404 = @fallback;
            #--------------Все 404  отдаем на обработку апача-------------------------------
            location @fallback {
                proxy_pass http://$host:82;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
            }
Вопрос: Обязательно ли для логики искусственного интеллекта использовать Prolog?

Лучший ответ:
Нет, и вот почему:
ИИ — это научная область
Пролог — Тьюринг полный язык
Значит, любые алгоритмы на Прологе, которые решают какие-либо задачи в области ИИ, могут быть написаны  и на любом другом Тьюринг-полном языке (С++, Java, Python, etc).
Обязательно к прочтению: Artificial Intelligence: A Modern Approach

Худший ответ:
нет
Вопрос: Каким образом малвари попадают на сайт?

Лучший ответ:
Как правило такая фигня распространяется двумя способами:
А. дыра в сайте. ищется путём усердного чтения логов и поиска шеллов. 
совсем недавно я помогал товаришу с похожей штукой (на ресурсе воткнулись iframe'ы). порядок действий был примерно такой:

сравнение с бэкапом и выявление изменнённых / новых файлов
изучение новых файлов, естественно, один из них оказался шеллом ( .cache_rcnzyz.php )
(если нет бэкапов, то ССЗБ стоит поискать на стандартные функции шеллов (в случае с php это всякие shell_exec и base64 [стоит учитывать, что свой код так же может их использовать, поэтому искать нужно внимательно])
изучение логов на предмет доступа и заливки данного шелла. у меня были примерно такие строки:
xxx.xxx.xxx.xx - - [09/Jan/2013:18:09:46 +0400] "POST /images/stories/.cache_rcnzyz.php HTTP/1.0" 200 501 "-" "Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0"
к сожалению злоумышленник оказался достаточно осторожным и с этого ip (который к тому же оказался и зарубежным, т.е. доблестной полиции не пожалуешься) других обращений не было. нужная дыра была найдена по времени создания файла (+- пара минут).
zzz.zzz.zzz.zz - - [08/Jan/2013:00:02:21 +0400] "POST //index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20 HTTP/1.0" 200 668 "-" "BOT/0.1 (BOT for JCE)"
ура, дырка найдена, заплатка сделана, злоумышленник забанен.

В. человек с ftp доступом к ресурсу подхватил троян (про ssh слышал лишь один раз). ну тут менять пароли и фиксить заражённую машину.

Худший ответ:
Не обязательно взломали ваш аккаунт, взломан мог был и весь сервер — получили административный аккаунт.
В идеале смотреть логи сервера и искать каким образом был изменён файл.

Заодно по всем файлам поискать внедренный shell.
Вопрос: Как реагировать на событие изменение данных в MySQL?

Лучший ответ:
Запускать TRIGGER AFTER UPDATE на нужной таблице, в котором отслеживать изменилось ли нужное поле.
В случае изменения добавляет запись в какую-нить таблицу, по которой "бегает" рассыльщик.

Худший ответ:
Сохранить значение поля БД в текстовик. Например по крону вынимать значение из БД и сравнивать с текстовым, если одинаковые - ничего не делать, если разные - отправить письмо и записать в текстовик новое значение.
Вопрос: Как прокачать навыки в C++?

Лучший ответ:
В С++ нету навыков, это не Java или C#. У С++ навыки выглядят приметрно так "Разработка на С++ под имя платформы или библиотеки".  Ты берешь спецификацию железяки/видяхи/сетевого устройcтва/xbox-one-devkit/scaleform/openCL и кодишь. Если в вакансиях на Java ты наверняка увидишь БД, то с С++ сложнее. Это просто язык. Он даже в многопоточность не умеет и контейнеры "изкаробки". В Винде потоки выглядят сяк, в линуксе иначе. На С++ пишут примерно так: собирается команда и на протяжении ближайших лет кодит какую-нибудь новую спеку, интегрирую её в свой проект. C 80х-90х годов способы программирования на С++ не изменились особо.

Худший ответ:
Отличная книга  Герб Саттер Решение сложных задач на С++
Вопрос: Почему по DirectX так мало туториалов/видеоуроков?

Лучший ответ:
Вам мало офицальных туториалов и документации? 
https://msdn.microsoft.com/ru-RU/library/windows/d...

Худший ответ:
Зачем 9ка? Учусь по www.rastertek.com/tutindex.html , очень годные туториалы.
PS. Как-то на просторах был найден bgfx, особо руки до него конечно не дошли, но данный продукт интересен тем, что поддерживает множество API и платформ, при этом остаётся более или менее низкоуровневым. https://github.com/bkaradzic/bgfx
Вопрос: Как обновить библиотеку php intl icu?

Лучший ответ:
Обновление ICU на CentOS/Fedora:
Для Ubuntu/Debian будет аналогично.

Худший ответ:
В readme все написано icu-project.org/repos/icu/icu/tags/release-54-1/re...
Вопрос: Карта веб-проекта?

Лучший ответ:
В виде mind maps не пробовали сделать?

Худший ответ:
В виде mind maps не пробовали сделать?
Вопрос: Возможно ли анонимное общение в сети, удовлетворяющее ниже приведенным требованиям?

Лучший ответ:
1й и 5й пункты взаимоисключающие.

Худший ответ:
Данные, загруженные пользователем, должны быть доступны только ему и тем, кому он разрешит доступ к ним. - от F12 или скриншота не спасёт ничто. Пользователи в беседе, должны быть уверены, что общаются именно с тем человеком, с которым хотели. - из протокола допроса: "в тот день у сестры в гостях были друзья, кто-то из них мог воспользоваться моим компьютером"
Вопрос: Java. Стоит ли начинать?

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

Худший ответ:
Посмотрите неплохие уроки по джаве на hexlet. Если затянет, то идите дальше, если нет, то отложите на будущее. Вообще, джава неплоха для некоторых глобальных пониманий, если С не по зубам.
Вопрос: Bootstrap 3.0.2 Row-fluid

Лучший ответ:
В этом примере вы описываете элементы в соответствии со старой версией Bootstrap 2.3.2, а надо по новому .container  ->  .col-lg-X  ->  span, или подключить старую версию...
Подробнее на оф сайте бутстрапа.

Худший ответ:
Синтаксис сетки поменялся.
Вопрос: Как узнать совместим ли ноутбук с linux?

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

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

Лучший ответ:
Крон не подходит для задач, которые нужно выполнять каждые несколько секунд. Периодичность максимум 1 минута. Конечно, можно писать всякие костыли, но я советую посмотреть в сторону www.celeryproject.org
Можно будет запускать таск, в ходе его работы вычислить время, через которое нужно выполнить его еще раз, с точностью до секунды.

Худший ответ:
Просто написать скрипт на любом языке, например пайтон, и держать его постоянно запущенным. А из этого скрипта уже дергать данные и напрямую смотреть в бд или ещё куда. Там же и будет динамически рассчитываться время, через сколько снова проверить и засыпать.
Вопрос: Бага или фича PHPStorm, которая сломала мне проект?

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

Худший ответ:
Использовать классы.
С ними ещё не разу не возникало проблем при рефакторинге
Вопрос: Можно ли испортить компьютер из-за испорченного образа ОС?

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

Худший ответ:
Если можно, то как это избежать?
После записи образа протестировать его в том же QEMU или VirtualBox.
Вопрос: ZF2 layout variable

Лучший ответ:
Не качал, глянул через просмотр репозитория. Вроде хелпер layout остался, так что как и в первом $this->view->layout()->переменная = значение;

Худший ответ:
Как мне ответили вот здесь, нужно работать через события Application\View\Listener:

*Controller.php
$e = $this->getEvent();
$e->setParam('footer', 'test');


layout.phtml
<?php print $this->raw('footer'); ?>
Вопрос: Можно ли сделать короче мой конфиг nginx для перенаправления всего на https без www?

Лучший ответ:
У вас там вообще одна строка делает редирект по сути, куда уж короче.

Худший ответ:
Можно.
Все `ssl_*` вынести из сервера на уровень выше.
`ssl on` не нужен.
Получится что-то такоеssl_protocols ...
...
ssl_session...

server {
    listen 80;
    server_name example.ru;
    return 301 https://example.ru$request_uri;
}

server {
    listen 80;
    listen 443 ssl spdy;
    server_name www.example.ru;
    return 301 https://example.ru$request_uri;
}

server {
    listen 443 ssl spdy;
    server_name example.ru;
    
    root ...
    add_header ...
    location ...
}
Вопрос: Вопрос к гуру JQuery — почему не работает вот такой хитрый селектор?

Лучший ответ:
$(':parent', elem) ищет _внутри_ элемента его родителя, это не правильно. Делайте проще:
$(this).parent().next().toggle();Это будет быстрей (никаких разборов селекторов)
Это будет проще (при изменении не надо ломать голову разбираясь в селекторах)
Это будет работать =)
+ в каждый из методов можно вставить селектор для фильтрации, если нужно

Худший ответ:
this — не нужен.
Вопрос: Распознавание цифр на лету в приложении под iOS?

Лучший ответ:
Често признаюсь я далек от iOS разработки и решил начать изучение с написания, как мне кажется, несложного приложения.
Удачи!!!

Худший ответ:
TextGrabber в AppStore?
Вопрос: Лента новостей на php (проблема с запросом), как реализовать 2 запроса в один?

Лучший ответ:
Самое первое, что надо сказать:
Не нужно давать временным переменным супер-информативные имена.$sqlForSubscriberByLogged - это просто $sql. Эта переменная никогда никому не будет нужна, кроме функции, исполняющей запросы. А ей всё равно, как названа переменная.Переменной $queryForSubscriberByLogged в принципе быть не должно, это паразитная, ничего не делающая переменная.$fetch_arrayForSubscriberByLogged - это какой-то адов монстр. Нас не должно интересовать, каким способом получена информация, через fetch_array или fetch_row. Нас должно только интересовать её содержимое. Вот его и надо описать в имени переменной. Но тоже без эксцессов.
В итоге должно получиться$sql = "SELECT id_request_reciver FROM subscribers WHERE id_request_sender = ..."; 
$SubscriberByLogged = $database->query($sql)->fetch_array();

Худший ответ:
Задачу решил!
Всем спасибо за подсказки та помощь. 
Вот что изменил я..SELECT subscribers.id_request_reciver, wall_messages.* FROM subscribers JOIN wall_messages ON subscribers.id_request_reciver = wall_messages.id WHERE subscribers.id_request_sender = $loggedUser->id ORDER BY wall_messages.id_mes DESC
Результат.
Хотел еще спросить, что дописать в запросе чтобы видеть и свои записи в ленте ?
Вопрос: Как устанавливать виртуальные машины?

Лучший ответ:
Чего там читать? Ставите VirtualBox или VMWare Player (оба бесплатные), ставите нужную вам ОС с ISO образа или диска, пользуетесь.Какую ОС выбрать для разработки на C++?
Да какую хотите. И под виндой, и под любым линуксом можно писать на С++, с чего вы взяли, что для этого вам обязательно виртуальная машина нужна?

Худший ответ:
>> Какую ОС выбрать для разработки на C++
любую, какая у вас целевая платформа?
Вам сойдет и virualbox.
Вопрос: Генератор полей формы на JS. Как улучшить?

Лучший ответ:
Как улучшить? Поизвращаемся...<div id="fields">Контейнер полей</div>

     <a onclick="fields.add('input');">Add</a>
     <a onclick="fields.remove();">Remove</a>var FieldSet=function(container,tagID){
             this.fields=[];
             this.container=(typeof container=='object')?container:document.getElementById(container);
             var id=0;

             this.add=function(type){
                 var template={input:'TextField Name : <input type = "text" name="txt_field"> -> your text field has been generated just define name',
                             textarea:'',
                             table_name:''}[type],
                         wrapper=document.createElement("div");

                 wrapper.innerHTML=template;
                 tagID&&wrapper.setAttribute("id",tagID+(id++));//можно выбросить если не надо id для полей
                 this.container.appendChild(wrapper);
                 this.fields.push(wrapper);
                 return wrapper;
             }

             this.remove=function(index){
                 this.container.removeChild(this.fields.pop());
             }
         }

         var fields=new FieldSet("fields");//id или элемент контейнера для коллекции полей

Худший ответ:
Вместо innerHTML использовать appendChild.
Вопрос: Сколько стоит разработать мобильное приложение для курьерской службы?

Лучший ответ:
Когда-то (2011) именно для такой задачи, мобильный клиент (убогенький внешне) только для Android был мною разработан за 2 месяца и каких-то 30 крублей. Клиент именно для самих курьеров, получающих\развозящих заказы. 
Но это было мною делано для фирмы, которая разрабатывала и содержала (да и содержит) сервер с 1C и скриптами взаимодействия с ней, которые неизвестно сколько стоили\стоят основному заказчику, федеральной курьерской службе в одном отдельно взятом городе.
Знаю только, что клиентом до сих пор пользуются, спросил обедающего рядом курьера :)

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

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

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

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

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

Лучший ответ:
необходимо:
1 подключиться к услуге рассылки СМС, наилучшее решение через существующий шлюз, например по России, мы после большого перебора остановились на smsc.ru (это не реклама), у них хороший api, цены в рынке.
2 Необходимо реализовать взаимодействие с api смс шлюза на своем сервере (в зависимости от выбора api).
3 На стороне сервера необходимо генерировать код подтверждения, к примеру набор из 4 или 6 цифр или букв, или иной комбинации. Сохранить связку пользователь - код подтверждения, чтобы иметь возможность сравнения в будущем.
4 используя api шлюза отправляете код подтверждения на номер пользователя.
5 абонент вводит код подтверждения и отправляет вам на сервер, любым реализованным вами механизмом.
6 получив под подтверждения, проверяете, что данному пользователю был отправлен именно этот код. Если данные совпали - авторизуете пользователя.
Некоторые советы по реализации:
1 установите срок жизни кода, это нужно для безопасности
2 введите ограничение на количество попыток ввода, опять же для безопасности
3 при взаимодействии с api шлюза, необходимо анализировать ответы на ваши запросы, скажем человек ввел не существующий номер телефона, ошибся, вам необходимо корректно обработать данную ситуацию, подобных моментом может быть достаточно много.
4 некоторые шлюзы (как например указанный мной выше) примут российский номер в формате 89 и так далее, но надо понимать что не факт что все шлюзы так поступят, правильный код России 7, и следовательно номер мобильного должен начинаться на 79, в других странах есть свои особенности, и это надо учитывать.
5 установите срок жизни СМС сообщения (если шлюз позволяет это в своем api) не более срока жизни кода на вашем сервере, к примеру человек вне зоны действия сети, и СМС придет к нему через 1 час, когда уже не будет актуальна, в итоге вы заплатите за бессмысленное СМС сообщение, если у вас много абонентов, в итоге может набежать большая сумма. А так, сообщение просто не будет отправлено и вы сэкономите деньги.
На самом деле там еше много нюансов, в зависимости от потребности вашего сервиса, но в общих чертах примерно так.

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

Лучший ответ:
Установить Skype.
Настроить автоответ на звонки с видео от определенного пользователя.

Худший ответ:
У большинства камер в поставляемом софте (а если в нем нет, то наверняка уже что-то подобное написано) есть возможность заливки на FTP снимков + страница просмотра, где все снимки показываются, как видео. 
Но данное решение не совсем онлайн и без звука.
Вопрос: Какой выбрать курс английского?

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

Худший ответ:
Рекомендую глянуть "Реактивный Английский" jetenglish.ru
У них акцент на практику и развитие разговорного навыка. Думаю должен подойти.
Лично я доволен.
Вопрос: MODx: автоматическое применение шаблона к определенным страницам?

Лучший ответ:
Это можно сделать через Manager Customization (Настройки Админки)
- Верхнее меню -> Настройки Админки 
- Создать новый профиль (поставить галку активный)
- Создать новый набор правил на "Создание ресурса"
- Ограничивающее поле: 'parent'
- Ограничивающее значение: id родительского шаблона
- Находим поле template и назначем нужный шаблон.
Видеоинструкция
www.youtube.com/watch?v=PS4TmQcohsA

Худший ответ:
Была у меня ссылка на мануал на русском, но источник более недоступен...
Плагином сделать очень просто, в комментариях вся инструкция:<?php
/**
* =========================
* ChangeTemplate
* =========================
*
* Plugin for MODX Revolution
* Set which template is inherited by children
* documents of a certain parent document
*
* Author:
* Marc Loehe (boundaryfunctions)
* marcloehe.de
*
* Modified by:
* Lorenzo Stanco <lorenzo.stanco@gmail.com>
* Lorenzostanco.com
*
* Usage:
*
* 1. Paste this as new plugin and connect it to system event
* 'OnDocFormRender'.
*
* 2. Assign a new TV 'changeTemplate' to each template
* for which you want to define the default children template.
*
* 3. Set the newly created TV to input type "Text"
*
* 4. Open a document and in the 'changeTemplate' TV type a
* comma separated list of template IDs.
*
* 5. Have fun!
*
*/
  
// Check Event
if ($modx->event->name == OnDocFormRender && $mode == modSystemEvent::MODE_NEW) {
    
  // Get current document ID
  if ($id = $_REQUEST['id']) {
  
    // Document Chain
    $resources = array($id);
  
    // Get parent ID
    foreach ($modx->getParentIds($id, 10, array('context' => $_REQUEST['context_key'])) as $parentId) {
      if ($parentId) array_push($resources, $parentId);
    }
      
    // Search changeTemplate in the chain
    $level = 0;
    $childTemplates = array();
    foreach ($resources as $resourceId) {
      $resource = $modx->getObject('modResource', $resourceId);
      if ($childTemplatesTV = $resource->getTVValue('changeTemplate')) {
          
        // Create template array for each tree level
        $childTemplates = @explode(',', $childTemplatesTV);
        if (empty($childTemplates)) break;
        foreach ($childTemplates as $k => $v) $childTemplates[$k] = intval(trim($v));
          
        break;
  
      }
  
      $level++;
  
    }
  
    // Set template based on tree level
    if (!empty($childTemplates)) {
      $useTemplate = $childTemplates[$level];
      if (!empty($useTemplate)) {
         
        // Set default template
        if (isset($modx->controller)) {
          $modx->controller->setProperty('template', $useTemplate);
        } else { // modX < 2.2.0
          $_REQUEST['template'] = $useTemplate;
        }
  
      }
    }
  
  }
  
}
Вопрос: Каким должен быть дизайн сайта для гостиничного бизнеса?

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

Худший ответ:
Удобным для посетителей.
Вопрос: Ошибка phpstorm+Xdebug не работает в чем может быть дело?

Лучший ответ:
Столкнулся с такой же проблемой. Раньше все работало, а после обновления версии Open Server перестало, хотя все конфиги правились точно так же.
Ответ для себя нашел здесь: https://devnet.jetbrains.com/message/5478634 в последнем сообщении.
Мне помогла установка xdebug.extended_info в 1, в конфигах он теперь прописан явно равный 0

Худший ответ:
В моём случае сбой «Cannot evaluate expression '`isset($_SERVER['PHP_IDE_CONFIG'])`'» был вызван использованием «test.php»  в качестве имени файла отлаживаемого в IntelliJ IDEA / PhpStorm скрипта.
Смена имени файла скрипта на любое другое устранило проблему.
Вопрос: Вопрос по node.js, нужно передать данные с роута в контроллер, как?

Лучший ответ:
В двух словах: не нужно пытаться передавать io в качестве параметра.
Его можно сделать "глобальным" на уровне app следующим образом.
К примеру, послеvar io = require('socket.io')(server);
написатьapp.set('io', io);
после чего можно в любом обработчике получить его черезvar io = req.app.get('io');

Худший ответ:
Подключаем middleware, впереди тех обработчиков, которым нужен сокет.  app.use(require(__dirname + '/middleware/SOCKET'));
Внутри пишем.req.app.locals.io=io;