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

Лучший ответ:
1. Дать по шапке дизайнеру. Предварительно спросить, сделал ли он это намеренно. В случае утвердительного ответа - дать по шапке дважды.
2. За использование 5 разных шрифтов в дизайне - дать по шапке третий раз.
3. Если дизайн со всеми кривыми отступами выглядит очень круто (в чем я сомневаюсь)  - извиниться за третий удар по голове перед дизайнером. Только за третий.
4. Обсудить с заказчиком этот момент. Кому-то отступы не важны, он и не заметит ваших 15пкс вместо 20, кому-то нужно точь в точь, но тут уже ничего не поделаешь.

Худший ответ:
На это вам ответит только заказчик и совесть.
Вопрос: Как заставить работать pkexec visudo?

Лучший ответ:
Откройте два сеанса SSH

В первом сеансе получите PID bash, запустив:
echo $$

Во втором сеансе запустите агент аутентификации с помощью:
pkttyagent --process (pid from step 2)

Вернувшись в первый сеанс, запустите:
pkexec visudo

Во втором сеансе вы получите запрос пароля. Visudo начнется в первой сессии.

Худший ответ:
visudo необходимо было использовать до поломки (чтобы не сломать).
Теперь вариант 1 - войти под учётной записью root.
Вопрос: Как правильно сохранить логотип?

Лучший ответ:
SVG наше все.

Худший ответ:
Возможно дело в логотипе - убедись, что он pixel-perfect, всё попадает в пиксельную сетку. Если не попадает в силу своих особенностей (какой-нибудь витиеватый, органический) - ну ниче не поделаешь тогда, только с форматами экспериментировать.
Еще лайфхак - сохрани избыточно большую картинку, а в конструкторе сделай ее нужного размера. Такой прием незначительно улучшает вид картинки.
Вопрос: Какие веб-технологии подойдут для дипломной работы?

Лучший ответ:
PHP, Ajax, MySql, HTML, CSS — их вполне будет достаточно. У них сильное комьюнити.

Худший ответ:
Попробуй nodejs + соответствующий стэк
Вопрос: Отправлять письма со своего сервера, или использовать сервис рассылок?

Лучший ответ:
Лучше - делать со своего сервиса и делать это так, чтобы юзеры сами могли как подписаться так и отписаться от рассылки.
Для этого всегда нужно отсылать доп. поле: List-Unsubscribe
https://support.google.com/mail/answer/81126?hl=ru
https://geektimes.ru/post/101440/

Худший ответ:
10-20К - это ерунда. мы рассылаем по 140К в сутки , а бывает и больше. свой сервис. мейлер на postfixкак выполнить рассылку правильнонагрузка на сервер рассылок
если заморачиваться со своим не охота, то конечно, mailchimp, unisender и тд
Вопрос: Как наладить синхронизацию баз 1С?

Лучший ответ:
Проблема решена. Для решения потребовалось создать нового пользователя с административными правами, и выполнить из-под него команду regsvr32 "C:\Program Files (x86)\1cv8\8.3.12.1685\bin\comcntr.dll"

Худший ответ:
Зарегистрировать regsvr32
Как это делали? Какая разрядность сервера?
Вопрос: Mysql как сделать поле альтернативной нумерации?

Лучший ответ:
Повесьте триггерDELIMITER $$
CREATE TRIGGER `items_BEFORE_INSERT` BEFORE INSERT ON `items` FOR EACH ROW
BEGIN
	DECLARE oldmax INT;
	SELECT IFNULL(MAX(`alt_id`), 0) 
		FROM `items` 
		WHERE `category_id` = NEW.`category_id` 
        INTO oldmax;
	SET NEW.`alt_id` = oldmax+1;
END$$
DELIMITER ;

Худший ответ:
Для старых:UPDATE items INNER JOIN (SELECT items.id, COUNT(joined.id) as counted_id FROM items LEFT JOIN items AS joined ON (joined.category_id = items.category_id AND joined.id <= items.id) GROUP BY items.id) as i ON items.id = i.id SET alt_id=counted_id
Для новых - ответ Rsa97
Вопрос: Как вы решаете задачу с выводом изображения?

Лучший ответ:
Вот таким способом мы заставляем любое изображение быть не меньше, чем наш квадрат, и располагаться строго по его центру:
codepen.io/andrey-hohlov/pen/WGEJpq 
Так же на CSS можно прибить к левому краю, к правому, к верху, к низу и т.д.
А на backend желательно изображения ресайзить, из соображений производительности.

Худший ответ:
Способы почти идентичны
1. элемент с фиксированными размерами, картинка у него как фон, и background-size: cover
2. object-fit: cover у картинки с фиксированными размерами
Вопрос: Скомканная бумага на css?

Лучший ответ:
Пойдет? jsdo.it/alvarobyrne/crumpled_paper

Худший ответ:
На webgl пожалуй возможно. Рендерите html в canvas 
https://github.com/cburgmer/rasterizeHTML.js
https://github.com/tsayen/dom-to-image
https://github.com/Irrelon/html-to-canvas
Грузите canvas в текстуру
Накладываете текстуру на анимарованный меш.
https://threejs.org/examples/#webgl_animation_cloth
Вопрос: Выбор операционной системы?

Лучший ответ:
макось вестимо. если цена железок не смущает или охота в хакинтош повозиться.

Худший ответ:
На работе выдали десктоп с win10, вроде хорошая штука привыкнуть нужно к горячим клавишам, а чем тебе не нравится?
А так 4 года как сижу на маке и всё нравится. По поводу ноута у макбука класный тачпад, что мне кажется лучше чем мышь.
Вопрос: Появятся ли вакансии, требующие знания экосистемы vue.js в 2017?

Лучший ответ:
Появятся ли вакансии, требующие знания экосистемы vue.js в 2017?
Думаю да. За рубежом Vue сейчас в тренде (учитывая, что относительно стабильная версия 2.0 вышла пол года назад), многие его начинают использовать, а значит скоро и у нас некоторые продвинутые компании начнут пробовать, может кто-нибудь возьмется написать пару толковых статей на хабр в духе "Vue 2 в изучении проще, чем jQuery" (на медиуме уже было что-то такое), а затем (я надеюсь) и остальные, которые просто увидят, что "вон те крутые чуваки это используют".на тостере даже тега vue нет...
А давайте заведем, позадаем друг другу вопросы, быть может и народ заинтересуется :)
P.S.: Наверху Vue назвали "мутантом", но давайте ради интереса вернемся на 5 лет назад. Тогда любой здравомыслящий разработчик сказал бы, что писать разметку в скриптах - это фу-фу-фу и нужно этого избегать. А потом появился React... и те же самые люди стали говорить, что разметка в скриптах - это круто.

Худший ответ:
хайп.
нет я не против vue или чего то еще я про сомнительность подобных метрик. 
vue Star 43,063
react Star 59,694
есть часть сообщества которая активно ставит звезды на гитхабе, часть из ни поставила звезду и там и там, часть из этих самых актиных пользователей поставила звезду react год или два назад
react уже не новый продукт, он продолжает развиваться, набирать популярность но на волне хайпа всегда новые технологии, это нормально.
завтра появится что то еще, что опять будет актвино обсуждаться, получать звезды и тд
это не делает vue плохим или хорошим, просто вопрос несколько бессмысленПоявятся ли вакансии, требующие знания экосистемы vue.js в 2017?
да, уже есть проекты которые делаются на нем, но не смотря на активность роста и звезды, даже на ангуларе который вроде бы как четвертый в этом списке, гораздо больше проектов. Есть уже написанный код, есть проверенные решения от которых просто так никто не откажется.
Вопрос: В Java при роботе с filter, map и т.д. нужно вызывать метод stream(). Зачем и почему так спроектировано?

Лучший ответ:
В Java нет методов расширения, потому на коллекцию можно "навешивать" функциональность аналогичным образом (C#/LINQ), оборачивая коллекцию в Stream<T>.

Худший ответ:
stream - это рецепт потоковой обработки данных. чтобы он что-либо сделал, нужна терминальная операция. это сделано для ленивости.
например: 
listOf(1,2,3,4,5).stream().filter(it -> it  > 3).map(it -> it + 1)
такая строчка не сделает ничего, так как стрим не закрыт (нет терминальной операции)
listOf(1,2,3,4,5).stream().filter(it -> it  > 3).map(it -> it + 1).collect(toList())
теперь есть терминальная операция collect и строка отработает как ожидается.
причем выполнится все это лениво (в одном цикле), то есть мы не будем обходить list 2 раза, мы обойдем его 1 раз последовательно применяя операции
в данном случае элемент проверяется на >3, увеличивается на 1, следующее число проверяется на >3. увеличивается на 1 и тд
Вопрос: Как посылать запущенному приложению комманды?

Лучший ответ:
Конечно есть. Есть два варианта как всегда.
1. MBean читаем тут docs.spring.io/spring/docs/current/spring-framewor...
Как результат получаем возможность управлять приложением например через jvisualvm и плагин mbean к нему. Довольно удобно.
2. Самый удобный для меня вариант, если используется spring boot. Тут можно развернуться на docs.spring.io/spring-boot/docs/current/reference/... 
Как итог получаем возможность подключатся к приложению по ssh, реализовывать свои консольные команды. А также получаем служебный REST API с кучей встроенного функционала.
Надеюсь помог.

Худший ответ:
https://ru.wikipedia.org/wiki/%D0%A3%D0%B4%D0%B0%D...
Но мне кажется проще будет через webservices сделать
Вопрос: Хочу стать Full stack develper'ом. Что надо знать?

Лучший ответ:
И уметь пользоваться гуглом.

Худший ответ:
имея перед собой простые цели, как быстро, незатратно и удобно донести интерфейс и функционал до пользователя?CMS Joomla! или создать всё с "нуля" на PHP(back)/JS(front), опираясь на существующие архитектуры кода (посмотреть исходный код других фреймворков) и на шаблоны/паттерны проектирования: PHP, JS.Bonus: здесь
Вопрос: Как сделать квадратную аватарку с 45% наклоном?

Лучший ответ:
Классика же - поворачивать контейнер на 45% через transform, а содержимое поворачивать в обратную сторону на столько же.
https://codepen.io/alexey-m-ukolov/pen/PBdazG

Худший ответ:
Классика же - поворачивать контейнер на 45% через transform, а содержимое поворачивать в обратную сторону на столько же.
https://codepen.io/alexey-m-ukolov/pen/PBdazG
Вопрос: Насколько надежна фильтрация по IP?

Лучший ответ:
Никак не надежна.
Возможность подмены IP есть, и она не теоретическая, а практическая.
Да, нужен VPN

Худший ответ:
Кажись нашел
https://xakep.ru/2010/11/02/53653/
https://ru.wikipedia.org/wiki/IP-%D1%81%D0%BF%D1%8...
Вопрос: Как запустить собственный почтовый сервер на ubuntu 16.04?

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

Худший ответ:
apt-get install postfix
илиapt-get install exim
Вопрос: Чем скачать mp3 c youtube?

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

ссылка на источник : https://www.youtube.com/watch?v=bpTHZY7N2jI&list=R...
только что скачал =>  https://cloud.mail.ru/public/9iLH/5egxeeDdz

Худший ответ:
youtube_dl, скрипт на Python.
Вопрос: Разбитие через .split по буквам?

Лучший ответ:
Сплит не для этого. Используй простое преобразование в список:list('много слов')  # => ['м', 'н', 'о', 'г', 'о', ' ', 'с', 'л', 'о', 'в']

Худший ответ:
spisok = ('много слов')
spisok = spisok.split()
spisokout = spisok[0] + spisok[1]
print(spisokout)
Пробел удалили. Теперь в переменной spisokout хранится строка 'многослов'.
В принципе, этого достаточно. Но если нужно принципиально получить вывод [м, н, о, г, о, с, л, о, в], то добавь следующие строки кода:spisoklitera = []
for i in range(len(spisokout)):
    spisoklitera.append(spisokout[i])
print(spisoklitera)
Вопрос: Почему не останавливается таймер?

Лучший ответ:
Потому что self.stop();, и при этом переменная self не объявлена.
Так вот работает: https://jsfiddle.net/o940649p/2/
P.S: Когда-то делал похожую штуку, можете посмотреть https://jsfiddle.net/Stalk/mLu8v4k6/

Худший ответ:
Можно так:this.start = function() {
  	//console.log(interval);
  	if (working) return;
  
  	position = 0;
  	timer = window.setInterval(function(self) {
    	//console.log('timer');
    	position += step;
      on_step(position, from, to);
      if (position >= to) {
      	console.log('end1');
      	self.stop();
      }
    }.bind(null, this), interval);
    on_start();
    working = true;
    on_step(position, from, to);
  };
Или так:this.start = function() {
  	//console.log(interval);
  	if (working) return;
  
  	position = 0;
  	timer = window.setInterval(function() {
    	//console.log('timer');
    	position += step;
      on_step(position, from, to);
      if (position >= to) {
      	console.log('end1');
      	this.stop();
      }
    }.bind(this), interval);
    on_start();
    working = true;
    on_step(position, from, to);
  };Во всех этих интервалах контекстом по умолчанию идет переменная window.
Вопрос: Как сделать функцию которая принимает любое количество массивов и удаляет из каждого массива первый элемент?

Лучший ответ:
changeCollection как этой главной функции указать то что будет принимать сколько угодное количество массивов , а последним будет обработчик ?В современном js вот так: changeCollection(...arrays, handler)
В arrays будет массив с переданными массивами.
Если по классике, то вот так:function changeCollection() {
    var handler = arguments[arguments.length - 1];
    
    for (var i = 0; i < arguments.length - 1; i++) {
      var array = arguments[i];
      
      handler(array);
    }
}
Кстати, обратите внимание, что массивы в js передаются по ссылке, поэтому изменяя переданные аргументы вы изменяете и оригиналы:function changeCollection() {
  var handler = arguments[arguments.length - 1];
    
  for (var i = 0; i < arguments.length - 1; i++) {
    var array = arguments[i];
      
    handler(array);
  }
}

function deleteFunc(array) {
  array.shift();
}

var one = [1 ,2 ,3];
var two = ['b', 'c'];

changeCollection(one, two, deleteFunc)

console.log(one, two); // [2, 3] ['c']
Если вас такое поведение не устраивает, нужно делать копии и изменять и возвращать их. Для этого лучше воспользоваться готовыми библиотеками и не писать свой велосипед. В современном js, опять же, можно воспользоваться встроенными средствами: const clone = [...original];. Но если у вас внутри массивов не примитивы и вы изменяете элементы, то нужно делать глубокое копирование.

Худший ответ:
В JS функции могут принимать ограниченное число аргументов, так что передавать любое число аргументов в функции нельзя и поэтому следует передавать в функцию массив с массивами:function(arrays, cb){
    var len = arrays.length;
    for (var i = 0; i < len; i++) {
        cb(arrays[i]);
    }
}
Вопрос: Какое рабочее окружение лучше подобрать на python?

Лучший ответ:
docker нужен для быстрого разворачивания вашего приложения в его родной среде.
Для проверки, как отрабатывают скрипты не обязательно каждый раз в докер лезть, просто виртуалку с нужным линуксом поставьте и там сразу и пишите и запускайте.
А то на каждый чих докер - это неправильно. Вдобавок, кроме докера есть куча более легких контейнеров, если так уж нужен контейнер.

Худший ответ:
Для отладки можете воспользоваться pudb
Вопрос: Как сделать else вложенный в if?

Лучший ответ:
elif:
    str(input("Ваше число больше 60")
Должно быть такelif (условие):

Худший ответ:
У вас elif без условия.
Вопрос: Шок! Как убрать нижнюю панель в safari iphone?

Лучший ответ:
С помощью js - нельзя. По другому - можно, называется WebApp. 
Делается следующим образом: во-первых, разработчик должен оптимизировать сайт для просмотра на iOS (документация здесь). Во вторых, пользователю нужно добавить иконку сайта/приложения на домашний экран, для этого: открыть сайт в Safari на мобильном устройстве, нажать "Поделиться", далее "На экран домой". 
В качестве примера можете открыть сайт Контакта и выполнить указанные действия.

Худший ответ:
1. Увы нельзя. Нет такого API, хотя я слышал вроде на андройде бывает, можно менять там цвет, прозрачность. Может и Apple введут со временем.
2. Увы увы
Вопрос: Ip адрес в локальной сети привязывается к пк или нет?

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

Худший ответ:
Если DHCP, то он может и втечение дня изменяться.
При относительно быстром переносе из розетки в розетку, скорее всего, адрес не изменится, так как у DHCP сервера не успеет исчезнуть запись из таблицы соответствия IP - MAC адрес.
Вопрос: Некорректное вычисление?

Лучший ответ:
Для C++ такая конструкция нарушает стандарт языка и приводит к неопределенному поведению. На C++ так писать нельзя.

Худший ответ:
Даже девушки о таком пишут: alenacpp.blogspot.ru/2005/11/sequence-points.html ))
Вопрос: Symfony, правильный подход?

Лучший ответ:
Есть несколько книг (бесплатных):Practical SymfonyLearn SymfonyA year with Symfony
Видео-уроки: codereviewvideos.com
Демо-приложение (там код можно как книгу читать): https://github.com/symfony/demo

Худший ответ:
Открываете документацию и начинаете делать бложик, возникающие вопросы гуглите. 
Универсальный способ для любого фреймворка.
Вопрос: Где найти open source проект для начинающего (Python)?

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

Худший ответ:
На github
Вопрос: Замена Django на Pyramid. С какими проблемами придется столкнуться?

Лучший ответ:
Так можно просто вместо стандартного django orm использовать SQLAlchemy.

Худший ответ:
Вместо встроенного ОРМ в джанге еще бы и шаблонизатор поменять на Jinja2. Но тогда какой смысл в джанге? Flask с расширениями отличное решение. Что страшного в global request? Это сделано для удобства.
Вопрос: Rust использует виртуальную машину?

Лучший ответ:
Видимо, данный вопрос возник из-за того что код на Rust сначала компилируется в LLVM-байткод, а далее этот байт-код компилируется в машинный код для заданной системы. Примерно так работает LLVM: исходный код → фронтенд (компилятор языка) → LLVM → бэкенд (транслятор из LLVM-байткода в машкод целевой платформы) → бинарник в машкодах целевой системы. 
Таким образом, готовый бинарник является нативным кодом и не использует виртуальную машину или байт-код.
P.S. Ну конечно когда мы компилируем в wasm, то получается код для виртуальной машины, потому что WebAssembly ею является, но для этой машины полученный код является нативным. Вот так всё просто и понятно!:)

Худший ответ:
Нет, не использует
Вопрос: Сайт и почта через CNAME одновременно?

Лучший ответ:
Ничего не понял.
CNAME - это имя хоста, отвечающего за поддомен
Почта - это MX запись, куда вы занесете то что вам выдаст сервис.
Или что именно у вас не получается?
Например вы разместили сайт на ГуглСайты, а почту, например на mailservice.com.
Вы в своем dns прописали примерно следующее:www CNAME ghs.google.com
@ MX mx.mailservice.com (то что выдаст сервис)
@ TXT v=spf1 redirect=_spf.mailservice.com
и у вас будет сайт www.domain.ru и почта вида addr@domain.ru
Бонусом еще редирект domain.ru -> www.domain.ru, если у вас к хостингу привязан только www.domain.ru - Редирект с domain.ru на www.domain.ru без веб-сервера, сервис?

Худший ответ:
Привяжись через А
Если есть  CNAME, то все остальное игнорится
https://support.google.com/a/answer/112037?hl=en
Вопрос: Использование багов чужой системы?

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

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

Лучший ответ:
У меня для Вас плохая новость - строго говоря, никак, если без дополнительных аппаратных средств. И потом - что Вам даст зашифрованная БД, если её когда-то надо будет расшифровывать для работы сайта?

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

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

Худший ответ:
Либо демоном крутить очереди, либо сервисами (предпочтительнее)
Вопрос: Как запустить выполнение js файла при нажатии на кнопку?

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

Окна/фреймы взаимодействуют между собой через объекты Window: для доступа к дочернему окну родительское может использовать ссылку которую возвращает метод open ("var child_window = window.open()"), а дочернее может обращаться к родительскому используя свойство opener. Доступ к свойствам есть только у окон принадлежащих одному источнику (origin): если окно с адресом "first.com/page.html" вызовет окно с адресом "second.com/page.html", то оно не будет иметь доступа к его свойствам, а если с адресом "first.com/folder/another-page.html" - то будет.

Окна/фреймы одного источника могут почти без ограничений обращаться к свойствам друг друга - могут использовать данные, выполнять функции, производить операции с элементами. Достаточно объявить в одном окне функцию, и она сразу станет доступна для дочернего/родительского окна.

Также взаимодействие можно осуществлять с помощью метода Window.postMessage (MDN, JSR), который к тому же позволяет реализовать кроссдоменный обмен данными. В IE8+ этот метод 1) работает только для фреймов, 2) позволяет передавать только строки.

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

В качестве примера можно рассмотреть случай, когда первое окно вызывает второе окно с калькулятором, и нужно в первом окне иметь доступ к функциям калькулятора, например считать значение выражения. Вот примеры для обоих случаев - для первого и для второго. В первом случае каждым из окон просто выполняются функции объявленные в другом окне, а во втором функции выполняются обработчиками кастомных событий.

Код обоих примеров можно увидеть на гитхабе

Худший ответ:
Скрипт в отдельном файле заворачиваем в функцию, после функции пишем module.exports = functionName.
После сией несложной процедуры во второй файл (в котором нужно инициализировать первый) пишем в нужном месте functionName = require('./path/to/functionName') и вызываем functionName(). Как и в любую другую функцию можно передавать параметры в виде аргументов.