Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Безопасность веб-приложений: Какие есть наиболее распространенные способы атак/взлома сайтов?

Лучший ответ:
Начните с азов
1. классификация от WASC
2. Owasp top ten

И правильно замечено — уже года 3 вплоть до данного момента большинство WAF почему-то пренебрегает защитой файлов веб-приложения и банально не мониторят их.

В дипломе своем как раз прикручивал файловый монитор и прочие плюшки к PHP-IDS $)

Худший ответ:
Советую прочитать журнал «ПРОграммист» №11 (http://procoder.info/index.php/articles/11/166-php-security) — коротко и понятно описаны уязвимости и методы защиты от них.
Вопрос: Подскажите стационарный медиаплеер для телевизора

Лучший ответ:
Вот совсем свежая статья — не оно?
habrahabr.ru/post/193660/

Худший ответ:
Завести на HTPC dlna сервер и брать чуть ли не любой плеер, который работает с dlna. Либо просто по сети расшарить контент и так же плеером проигрывать. Тут уже по обзорчикам поискать, сам юзаю Iconbit XDS1003D, он выбивается из бюджета. По другим ничего не посоветую, да и этот в принципе тоже:-D
Вопрос: Как управлять данными сайта, который требует авторизации без API?

Лучший ответ:
Не программирую на руби, но смею предположить что 
1) Куки из первого ответа надо передавать во второй запрос
2) сервер не поддерживает постоянное соединение - то есть надо разнести в разные блоки start/end
на стэковерфлоу например советуют вот такой костыль для кукr = http.get(path)
cookie = {'Cookie'=>r.to_hash['set-cookie'].collect{|ea|ea[/^.*?;/]}.join}
r = http.get(next_path,cookie)

Худший ответ:
stackoverflow.com
Только хорошим тоном будет куки сохранить в файл а не постоянно авторизироваться.
Вопрос: Как привести строку '64' к виду '01:04'?

Лучший ответ:
Делить на 60, целую часть и остаток записывать?

Худший ответ:
для плеера использовал такое function getTime(msec, useString) {
            var nSec = Math.floor(msec/1000),
                hh = Math.floor(nSec/3600),
                min = Math.floor(nSec/60) - Math.floor(hh * 60),
                sec = Math.floor(nSec -(hh*3600) -(min*60));
            return (useString ? ((hh ? hh + ':' : '') + (hh && min < 10 ? '0' + min : min) + ':' + ( sec < 10 ? '0' + sec : sec ) ) : { 'min': min, 'sec': sec });
        }
Вопрос: Вирт. машины Xen на собственном дедике?

Лучший ответ:
1)Настройте nginx внутри виртуальных машин, лишняя прослойка в виде nfs вам скорости явно не добавит.
2)Оверхед мизерный, купите айпишников для виртуалок и работайте напрямую.
3)Поднимайте внутри виртуалок если нагрузка не сильно большая, если большая то подымайте отдельные виртуалки для постгреса.

Худший ответ:
Ничего не поднимайте на dom0.
Вообще ничего.
Вопрос: Хочу создать сайт, используя Material Design. С чего мне начать изучение?

Лучший ответ:
К HTML и CSS добавь JS, учебник тут: javascript.ru и сразу за ним JQuery для облегчения работы с селекторами. Дальше создавай любые дизайны, какие захочешь. Material design - это набор принципов и никакие фреймворки тут не нужны, все можно сделать обычным CSS.
Ну, а если захочется изучать фреймворки, то заходи на их сайты и в разделе документация читай как их использовать. Bower и всякие другие приблуды, это конечно круто, но в частности bower только копирует из одного места в другую кучку файлов, это ты и руками сможешь сделать. А что касается штук вроде sass, less - то тут конечно сложнее, но если без них не обойтись, то опять же вся инфа по установке есть на их сайтах. Кроме того, есть habr, youtube, google с яндексом.

Худший ответ:
К HTML и CSS добавь JS, учебник тут: javascript.ru и сразу за ним JQuery для облегчения работы с селекторами. Дальше создавай любые дизайны, какие захочешь. Material design - это набор принципов и никакие фреймворки тут не нужны, все можно сделать обычным CSS.
Ну, а если захочется изучать фреймворки, то заходи на их сайты и в разделе документация читай как их использовать. Bower и всякие другие приблуды, это конечно круто, но в частности bower только копирует из одного места в другую кучку файлов, это ты и руками сможешь сделать. А что касается штук вроде sass, less - то тут конечно сложнее, но если без них не обойтись, то опять же вся инфа по установке есть на их сайтах. Кроме того, есть habr, youtube, google с яндексом.
Вопрос: Каким средством централизованно собирать логи?

Лучший ответ:
из брутального (настройка — ручное конфигурирование, складирование логов в файлы) могу посоветовать syslog-ng, rsyslog, scribe.
*scribe — показывает нестабильную работу при логах более 5гб в день (с одного хоста)
*syslog-ng — блокирующийся сокет, так что делать прямое перенаправление с nginx делать невыгодно
*rsyslog — немогу сказать ничего плохого.

А вообще graylog2 очень хвалят многие

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

Лучший ответ:
Наверное, в первую очередь надо думать — если какая-нить экранная заставка хочет доступ к gps, передаче данных, телефонной книге смс, и т.п, может означать что либо её (заставку) писал ленивый криворукий программер, который не читал маны и написал в манифесте требования — полностью ко всем службами к этому(данные) и этому(gps) и вон тому(телефонная книга), но это просто красивая заставка с котиками, либо, что кроме показывания на экране няшных котиков эта «заставка» будет рассылать спам через email, смс (ну или пару на платные номера) или ждать команды от оператора бот-сети.
Вообще наверное надо пользоваться проверенными программами из маркета, хотя высокие рейтинги тоже накручиваются, так что я бы перед установкой понравившейся мне программы из маркета почитал про неё в сети.
В маркетах, к сожалению, самая большая печаль это наличиие килотонн непонятного шлака и всяких hello world'ов с калькуляторами «прописных истин»

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

Лучший ответ:
Посмотрите в сторону ГОСТ34. Уже есть наработанные стандарты. Не обязательно использовать всё из этого, но можно взять то, что действительно важно и интересно.
www.clientprav.ru/standard/gost_34

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

Лучший ответ:
Возможно я не прав и это относится только ко мне, НО все же лучше выучить базу(html,css,js), а потом набивать шишки изучая документацию, иногда можно глянуть на ютубе туториал(что-то вроде Webdesign master там очень хороше разжевывается верстка и всякие сборщики , пакетные менеджеры и тд).А вообще берешь и куришь доки.Лично для себя делаю так: вот никогда не юзал sass и gulp, посидел погуглил и вроде как понятно, полезные штуки.Очень важно понимать зачем тебе это и действительно ли тебе это нужно.Просто иногда кажется , что ангуляр учат не потому что он крут, а потому как он популярен, те все юзают и я буду.Так сказать модная штука.Сам игрался и играюсь на freecodecamp.com .Плэтому его и посоветую из всего выше.Собственно говоря вот мой субЪективный взгляд.

Худший ответ:
На собственном опыте убедился в эффективности изучения технологий в следующем порядке:
1) Очень качественные и по содержанию и по исполнению бесплатные курсы на https://www.udacity.com/ 
Там полноценный подход, где уделяется время и теории и практике.
2)  https://www.codecademy.com - теории там вообще практически нет, по паре строк, что-то серьёзно там изучить не реально, а вот дополнительно потренироваться после udacity.com - очень полезно!
3) Имя базу с первых двух проектов обязательно сделайте парочку своих pet-проектов, чтобы поработать с технологиями более детально на реальной практике. 
Если этого не сделать - теорию из первых 2-х пунктов быстро забудете. Если начнёте с этого пункта, пропустив предыдущие - потеряете в целостности картины и есть риск закрепить не правильные подходы, переучиваться с которых потом долго и муторно.
PS: Лично мне очень помогает конспектирование основных моментов изучаемого, особенно когда материала много и из разных источников.
Вопрос: Как сделать, что б при нажатии на телефон, шел сразу вызов с мобильного устройства?

Лучший ответ:
Никак, это политика безопасности на стороне устройства (телефона).

Худший ответ:
Даже не на телефон, а при нажатии с мобильного устройства, к примеру на обьявление Google Adwords, шел сразу набор номера, указанного в обьявлении
Вопрос: Позиционирование повернутого элемента CSS?

Лучший ответ:
Попробуйте поиграть со свойством transform-origin и допишите свойство transform, например так:.front .front_label h1 {
    font-size: 15px;
    transform: rotate(-90deg) translate(-100%, 0);
    display: inline-block;
    width: 154px;
    transform-origin: 0 0;
}

Худший ответ:
Для себя сделал такое универсальное решение FlexBox с JS.PUGh1.title
	span ОтзывыSASS.title
		display: flex
		align-items: center
		justify-content: center
		text-align: center
		width: 0
		margin-right: 155px
		border: 1px solid red // рамка родителя для наглядности
		span
			font-size: 150px
			line-height: 150px
			font-weight: 600
			color: #eaeeef
			transform: rotate(-90deg)
			border: 1px solid blue // рамка самого текста для наглядностиJSfunction verticalTitle(selector) {
	var titleWidth = $(selector).find('span').width();
	var titleHeight = $(selector).find('span').height();

	$(selector).css({'width':titleHeight+'px', 'height':titleWidth+'px'});
}

verticalTitle('.title');
Скрипт получает ширину и высоту текста и задает для родителя как ширина=высота, высота=ширина. Эту функцию можно запускать при resize и будет адаптивным.Результат
Вопрос: Из JS в obj-c, swift, iOS-dev. Как сложен переход и с чего начать?

Лучший ответ:
JS, как и Objective C принадлежит к алголоподобной семье, так что особых проблем с синтаксисом не будет. Разве только возможен разрыв шаблона по поводу ООП, так как оно совсем по другому реализовано в Objective C. Почитайте любую общую литературу, а там найдёте волну. Не скажу, что должны возникнуть какие-то особые сложности, однако в любом случае - терпение и труд всё перетрут.
По поводу специфики JS как языка - пусть он и урод, однако он довольно мощный язык программирования с тучей возможностей и ещё тележкой фич. Objective C в этом плане намного больше похож на классический Smalltalk, да и совместимость с классическим Си только добавляет очков в пользу классики, однако сам по себе Objective C всё таки имеет несколько интересный устрой.
По поводу Swift - он пока довольно сырой и создавался с учётом специфики iOS разработки, без опыта вряд ли действительно поймёте улучшения, разве только некоторые из них. Впрочем, смысла действительно никакого, а вот большая привязанность к платформе ничего хорошего не сулит.

Худший ответ:
Как сложен будет переход с JS на obj-c, swift, учитывая странную специфику JS, как языка ?
надеюсь вы понимаете что у разных людей будет по разному. Для кого-то переход и изучение именно языка (я не про весь стэк технологий, API и прочее) займет пару месяцев для нормального уровня. У кого-то год.
Чем спрашивать лучше в свободное время попробуйте пописать чего.
Вопрос: Как автоматически посчитать людей в вагоне метро при помощи видеокамеры?

Лучший ответ:
Даром не нужно таких извращений. Вагон прекрасно знает, сколько в нем народу - у него "весы" есть на каждой тележке. Вычитаем тару вагона из показаний весов, делим на 75 - 80 и получаем количество человек.

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

Лучший ответ:
Определение кодировки текста в PHP — обзор существ...

Худший ответ:
Попробуйте в запросе передавать заголовок Accept-Charset: нужная_вам_кодировка.
Подробнее можно прочитать о ней тут
Вопрос: Как самоучке-программисту получить оплачиваемую работу? Варианты путей?

Лучший ответ:
Станьте профессионалом, проблем-то? Профессионал всем нужен.

Худший ответ:
Я думаю для начала нужно составить хорошее резюме (видеокурс https://courson.ru/  )и конечно же советую курсы по достижению целей,сам их проходил
Вопрос: У вас осталось 5 голосов за карму, а за карму голосовать не могу?

Лучший ответ:
Теперь у Вас карма = 6, попробуйте ещё раз.

Просто шесть больше пяти )

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

Лучший ответ:
Работал с шаблонами Yoo на Warp, он основан на урезанной версии UIkit. Ничего плохого сказать не могу, и хорошего тоже :) Обычный блочный конструктор, все достоинства там это мощная кастомизация от UIkit, ну и у Yoo очень красивые шаблоны. Из недостатков - не все фичи и JS-скрипты доступны из UIkit, это огорчает.

Худший ответ:
Поддерживаю Warp. Сам использую Uikit в своих проектах. Развивается неплохо, Bootstrap вполне догнал. Параллельно разрабатывают CMS (Pagekit вроде).
Вопрос: В каком случае лучше использовать абстрактный класс, а в каком интерфейсы?

Лучший ответ:
Just wanted to summarize previous answers:Интерфейс - это просто список методов, то есть в нем мы определяем что будут делать наши методы. Как черный ящик: отдаем входные данные и получаем результат, абстрагируясь от того, как будет получен результат.Обычный класс (реализация интерфейса) - здесь мы определяем как будут работать наши методы.Абстрактный класс - часть методов абстрактные, т.к. мы не может определить на данном этапе как они будут выполняться, другая часть - обычные методы. Используется в следующих ситуациях: 
Пусть у нас есть интерфейс и несколько его реализаций (обычных классов): в интерфейсе будет описан метод для вычисления определенного интеграла Римана а также метод для определения точности результата. Реализаций несколько: метод прямоугольников, метод трапеций, метод Монте-Карло. Создадим 3 обычных класса для 3-х методов, унаследуем эти класса от интерфейса. После реализации можно заметить, что метод для определения точности результата дублируется во всех 3-х классах, следовательно он может быть вынесен на предыдущий уровень иерархии: создаем абстрактный класс унаследованный от нашего интерфейса, реализуем в нем второй метод, а первый оставляем не реализованным (абстрактным). При добавлении нового метода вычисления нам уже не нужно беспокоиться о реализации метода определения точности результата.
Также используется для предотвращения создания объектов данного типа. Если класс объявлен как абстрактный мы не можем создать объект new AbstractClass();
Таким образом абстрактный класс является прослойкой в иерархии между выше стоящим интерфейсом и ниже стоящими реализациями.

Худший ответ:
Если необходимо задать тип объекта, то необходимо использовать абстрактный класс. А если необходимо задать поведение объекту, то следует использовать интерфейс.
Вопрос: Существует ли GSM-SIP шлюз на Android?

Лучший ответ:
3cx Phone, в нем есть такая функция как перехват входящих звонков и направление в сип.
Пробовал, работало, но толком не тестировал, завел, проверил, отключил и забыл.

Худший ответ:
max_rip это трудновато, если сервер в датацентре, да еще и vps
Вопрос: Как подключить скрипт после загрузки ajax?

Лучший ответ:
jQuery.getScript()
Делает запрос к серверу без перезагрузки страницы, с запросом javascript файла. При получении запрошенного файла, код внутри него будет автоматически выполнен. Метод имеет параметры:
jQuery.getScript(url, [success(data, textStatus)]):XMLHttpRequestv:1.0
url — url-адрес js-файла.
success(data, textStatus) — пользовательская функция, которая будет вызвана после удачного выполнения загруженного js-файла.
data — данные, присланные с сервера.
textStatus — статус того, как был выполнен запрос.
Примеры
Запросим у сервера файл "test.js", который будет автоматически выполнен, как только загрузится:$.getScript("test.js");
Загрузим файл и выведем сообщение, после его удачного выполнения:$.getScript("test.js", function(){
   alert("Скрипт выполнен.");
 });

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

Лучший ответ:
Они нужны для избавления от дублирования кода, ну или например для множественного наследования.
Грубый пример:
У вас есть много классов, которые что-то записывают в лог, из класса в класс, это один и тот же участок кода, к примеру Logger::write(str), вот этот участок кода можно вынести в трейт LoggerTrait c методом logWrite, и потом во всех классах использовать $this->logWrite(str).
Потом удобно будет эту функцию переопределить в каком-то конкретном файле, если скажем там нужна какая-то специфичная запись в лог. 
При таком подходе вы всегда класс логгера можете заменить, просто отредактировав всего один файл трейта, а не 100500 классов. 
Еще пример:
В трейт можно вынести функцию isAjaxPost, для проверки, что запрос в контроллер пришел ajax post, и подключать в нужные контроллеры.
Да вообщем море примеров привести можно, где это удобно применять, для избавления от дублирование в коде, от однотипных операций и т.д.

Худший ответ:
Трейты нужны для уменьшения дублирования кода. Причем выносить в них стоит только тупой код, который не имеет смысла покрывать тестами. Все что делает хоть что нибудь умное в трейте хранить не стоит.
Пример когда трейты хороши - паттерн композиция.interface A {
    function foo();
}

interface B {
    function bar();
}

trait AImpl {
    function foo() {
        return $this->a->foo();
    }
}

trait BImpl {
    function bar() {
        return $this->b->bar();
    }
}

class AB implements A, B {
    private $a;
    private $b;

    use AImpl;
    use BImpl;

    public function __construct(A $a, B $b) {
        $this->a = $a;
        $this->b = $b;
    }
}
Вопрос: Каким требованиям должен отвечать дизайн-макет для адаптивной верстки сайта?

Лучший ответ:
1 - Что бы убедиться, сверстал ли верстальщик макет правильно - достаточно наложить скриншот сверстаной страницы (масштаб 100%) к макету в фотошопе ( масштаб 100%) и дать скриншоту 50% прозрачности. 
Если все совпадает - то верстальщик сверстал правильно и дизайнер нарисвал не правильный масштаб. 
2 - Обычно в 80% случаев нет необходимости рисовать разые дизайны под каждое из разрешений. Исключения составляют варианты, когда дизайн на моб. версии сильно отличается. 
3 - уменьшить масштаб бывает сложно, если в дизайне есть куча картинок, которые верстальщик вырезал и использовал в макете. 
Например, он вырезал иконку лупы для кнопки поиска. Ее размер соответствует дизайну в макете. Вы просите уменьшить масштаб верстки на 10%. 
Верстальщик может уменьшить размер кнопки на 10%, но иконка останется такой же большой. Для этого он и просил вас перерисовать макет. 
4 - Я бы, скорее всего, сам уменьшил макет, и перевырезал картинки, но конечно за доп. плату.
5 - И наконец то отвечая на ваш вопрос, Каким требованиям должен отвечать дизайн-макет для адаптивной верстки сайта?
Он должен быть нарисован по сетке ( bootstrap или foundation или любой другой сетки, которой будет пользоваться верстальщик ).

Худший ответ:
1. Я поправлю, зачем скриншоты тащить в фотошоп, сохраняете design.jpg, кидаете его в корень страницы, заходите на неё, в Chrome скачиваете себе Crosspixel и кликаете на его иконку один раз - вуаля. 
2. Если ваш дизайн в ширину 960px, то все в порядке и все десктопы вы удовлетворяете. Но в Вашем случае как я понимаю ширина 1920px. Значит либо вы забиваете на самые популярные разрешения в интернете (1366px), либо переделываете верстку. Отдельно - под забытую часть десктопов, и, возможно, еще одну под мобильники.
Вопрос: PHP + фреймворк, существует книга по этой теме?

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

Худший ответ:
Тебе не нужно знать и думать , и даже читать код фреймворков. Всё что нужно знать - это как их использовать (то есть их API).
Классический пример,
Есть блок питания от компьютера. Всё что тебе нужно знать о нём - это сколько ват, и как его подключить к материнской плате. Тебе не нужно знать, что там внутри, как это всё работает, какие законы физики/электростатики там применяются. Ты - пользователь, а не завод.
Точно так же с фреймворками. Не нужно вообще смотреть и заморачится на то что внутри. Открывай документацию и смотри какие методы API имеются и как их вызывать.
И да, нет такого понятия как "чистый PHP" и фреймворк. На самом деле, когда говорят так, подразумевают что они пишут на PHP используя компоненты/утилиты фреймворка.
Вопрос: Что здесь не так?

Лучший ответ:
У вас с синтаксисом беда. Куча лишних скобок и точек. Используйте IDE для написания кода и включите отображение ошибок php. Тогда таких вопросов не будет возникать.

Худший ответ:
['name'].';

Если не описка, то не закрытая скобка. Включите вывод ошибок в пхп
Вопрос: Зачем нужна двойная скобка у function expression?

Лучший ответ:
В первом случае this.method будет результатом выполнения функции:{
  init: function () {
    alert();
  }
}
А во втором - самой функцией.

Худший ответ:
Посмотрите в консоль, там будет подсказка.ответ
В первом случае функция сразу выполнится и в this.method попадет объект. Во втором попадет функция, которую сперва нужно вызвать jsfiddle.net/G3ybH/3
Вопрос: Сайт медицинского учреждения — каким себе его представляют хабралюди?

Лучший ответ:
Посетители хотят в первую очередь знать:
 — Какой врач им нужен (ответы на часто задаваемые вопросы, нормальный список врачей),
 — Когда это врач их может принять (графики работы и номера кабинетов),
 — Контакты (как позвонить/написать администратору/врачам),
 — Какие документы нужны и сколько это теперь стоит (спасибо, Медведеву за платное лечение).

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

Лучший ответ:
Недавно советовали 
bm.yandex.ru
и антивирус(анитимылварь)
antivirus.baidu.com/en
Но вообще сотни их этих антивирусов. Если в браузере повреждены файлы, то переустановка. Вроде ничего нового в анитивирусах за последние N лет не появилось.

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

Лучший ответ:
Может docs.google.com? Бесплатно и делает, то что нужно.

Худший ответ:
Если выбирать именно среди цмс, а не полностью готовый решений, то я бы посоветовал MODx (Evolution) Крайне удобный интерфейс и структура документов безконечной вложенности.