Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какую выбрать CMS для создания типовых SPA (single page application) с использованием node.js и mongo?

Лучший ответ:
В общем почитав, что пишут иностранные коллеги на stackoverflow.com пока остановил выбор на keystonejs.com. Она походу живая, быстрая, поддерживается автором, заработала из коробки и умеет генерить интерфейс админки на основе модели данных. Когда будут первые результаты, постараюсь не забыть их показать.

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

Лучший ответ:
kvm свич надо использовать

Худший ответ:
Софтверно, если надо работать на всех них одновременно — лучший вариант synergy synergy-foss.org/
Вопрос: Можете накидать большую порцию задачек для практики Python-новичка?

Лучший ответ:
Вот очень клевый сайт, с кучей задач, уровнями, ачивками и неплохим форумом по решению этих задач:
www.checkio.org

Худший ответ:
"Задача пяти кнопок"
имеется "однорукая" клавиатура, состоящая из 5-ти клавиш  и многопозиционного переключателя, которым выбираем кодовую страницу-пятёрку. Текущая кодовая страница-пятёрка динамически отображается значками для каждой клавиши, например "А" - первая клавиша, "Б"- вторая, "В"-третья, "Г"-четвёртая, "Д"-пятая.  Верхний и нижний регистры различаются - на кодовых страницах присутствуют и заглавные и строчные буквы.
Есть заданные пользователем фиксированные кодовые страницы, например, на отдельную кодовую страницу вынесены "Ctrl" "Alt" "DEL"    ;) 
Нужно написать программу, которая раскладывает текстовый файл на кодовые страницы-пятёрки таким образом, чтобы:
1. Минимизировать количество переключений кодовых страниц для ввода данного текстового файла.
2. Минимизировать количество кодовых страниц.
3. Код был коротким и красивым.
Вопрос: Реально ли сделать сайт хостела на WP?

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

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

Лучший ответ:
то, что без тюнера, называется ЖК-панелью, относится к профессиональному оборудованию и стоит сильно дороже. 
market.yandex.ru/model.xml?modelid=7777725&hid=90639

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

Лучший ответ:
Раньше писали нативные приложения, не было виртуальных машин, фреймворков, DI и рефлексии в целом, не было 100500 сервисов проверяющих фейсбуки и твиттеры. У меня был палм от сони, черно-белый экран и никакой анимации. Ну и конечно качество кода упало.

Худший ответ:
Приветствую.
Логики никакой, сплошной маркетинг. У меня у самого пылился Galaxy S с Android 2.3.6 (последней его официальной). Поставил на него 4.4.4 и летать стало! Ставил Cyanogen и без GApps. Вот и думай теперь, кто прав и что делать...
Вопрос: Действительно ли работает усилитель Wi-Fi сигнала ProfLine?

Лучший ответ:
вот же
geektimes.ru/company/ulmart/blog/252462
более менее всё разжевали

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

Лучший ответ:
Vim наиболее мощный, но если вы не программист, то он покажется излишне сложный и непонятный. В этом случае Notepad++. Небольшой, быстрый, есть плагины.

Худший ответ:
До кучи, Textpad — хороший текстовый редактор, с лучшим движком регулярок, чем в других редакторах. В том числе, поддерживает много строчные регулярки, с переводами строк.
Вопрос: Как переписать код с PHP на Python?

Лучший ответ:
1) так как в python есть система модулей, автозагрузка не нужна. Просто импортируете нужные модули. Каждый файл - модуль. Если в директории есть файл __init__.py, то вся директория - пакет модулей, по сути тот же модуль который содержит другие модули...
2) https://docs.python.org/3.4/tutorial/classes.html - классы в python
3) stackoverflow.com/questions/8258819/comparing-phps... - разьяснение по поводу магического __get в php и аналогия для python. Точнее объяснение различий в объектной модели (к слову почитайте в документации).
4) https://docs.python.org/3.3/library/re.html - регулярки
ну и т.д. Так же все интанцируемые классы должны быть импортированы перед использованием.

Худший ответ:
Вот бы еще кто подсказал аналог phpDoc комментария "@property Bar1 bar1" для автокомплита в PyCharm.
Docutils, Pycharm умеет её анализировать. Разметка там в нормальном RestructuredText. Плюс, есть отличная система документации Sphinx.
Вот пример оформления docstring для функции:def public_fn_with_sphinxy_docstring(name, state=None):
    """This function does something.

    :param name: The name to use
    :type name: str
    :param state: Current state to be in
    :type state: bool
    :returns:  the return code
    :rtype: int
    :raises: AttributeError, KeyError

    """
    return 0
Или, более компактно:def public_fn_with_sphinxy_docstring(name, state=None):
    """This function does something.

    :param str name: The name to use
    :param bool state: Current state to be in
    :returns:  int - the return code
    :raises: AttributeError, KeyError
    """
    return 0
Кроме того, в 3-й ветке питона есть поддержка аннотаций типов (можно указывать тип аргументов функции и возвращаемый тип). Pycharm это тоже понимает.
Вопрос: Как решить проблему с Sublime Text?

Лучший ответ:
запятые неверно стоят{
	"font_size": 10,
	"draw_white_space": "all"
}

Худший ответ:
Нужна запятая после "font_size": 10
Это, кстати, даже в сообщении об ошибке написано.
Вопрос: Как правильно открыть доступ к FTP сквозь NAT Mikrotik'а?

Лучший ответ:
При работе по протоколу FTP между клиентом и сервером устанавливается два соединения – управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы).
Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.
В активном режиме, когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.
В пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных.
Главное отличие между активным режимом FTP и пассивным режимом FTP – это сторона, которая открывает соединение для передачи данных. В активном режиме, клиент должен принять соединение от FTP-сервера. В пассивном режиме, клиент всегда инициирует соединение.Первоисточник 
Теперь сами сможете ответить на свой вопрос? =)

Худший ответ:
В микротике включить Service port нужно. IP - Firewall - Service Port - FTP21
Ну и в filter rules открыть 21 порт.
Вопрос: Спрайт svg — как правильно варить?

Лучший ответ:
Совсем недавно отвечал на вопросы
про генерацию нескольких спрайтов: Способы генерации нескольких спрайтов?
и про подход к хранению графики вообще: Шрифты или картинки для иконок что оптимальнее?
Послушайте как делают в 2гис: 2014.codefest.ru/lecture/677 (правда сейчас судя по всему от ase64 отказываются)
По вашим вопросам:
1. К сожалению, используя спрайт мы жестко привязаны к размерам иконки. Т.е. если у нас одинаковая иконка 16*16 и 32*32 - придется добавить в спрайт обе. Если у нас серая по умолчанию и синяя по ховеру - придется добавить обе. 
Решают эту проблему шрифты (но со своими, на мой взгляд критичными, недостатками) и svg symbols (тоже есть минусы, внедрять планирую начинать в следующем году).
2. Да, https://github.com/jkphl/gulp-svg-sprite - всё положительно, мощная штука. Конечно нужно будет заморочиться со своим шаблоном файла стилей, чтобы всё по красоте.
Подводный камень есть со спрайтами вообще. Когда сделаете - попробуйте подвигать масштаб страницы. Иконки на некоторых уровнях"подрежутся". Погуглите про эту проблему.
3. Ответ в первом абзаце
4. Использую https://www.npmjs.com/package/gulp-imagemin для пожатия всей графики, включая svg

Худший ответ:
Написал статью на эту тему на хабре.
Вопрос: Установка mongo на mac os x

Лучший ответ:
1. установить homebrew(brew.sh)
2. brew install mongo
3. попробуйте еще раз

Худший ответ:
У меня на Ubuntu нужно было включить модуль php5enmod mongo, может у вас что-то подобное?
Вопрос: Как отображать иконку сайта на экспресс-панели?

Лучший ответ:
Это называется favicon<link href="/path/to/favicon.ico" rel="shortcut icon" type="image/x-icon" />

Худший ответ:
Фавиконка (Яндекс.Вебмастер)
Вопрос: Стоит ли идти в 1С программисты?

Лучший ответ:
1C - колхоз. Будете сидеть в потном офисе с 40-50 летними женщинами бухгалтерами за древним компьютером с CRT монитором. А если лет через пять 1С платформа помрет или заменится чем-то более современным, то ваши 5 лет пойдут коту под хвост.
ps переезжайте в Питер или Москву.

Худший ответ:
Могу порекомендовать попробовать удаленку в перечисленных направлениях, либо сменить местоположение. 
Но NY сходу не подойдет, у вас же опыта нет особо, а с индусами надо конкурировать. Санкт-Петербург не плох по числу позиций/цене проживания.
Вопрос: Как правильно установить бесплатный SSL от Comodo?

Лучший ответ:
Для тех, кто, как и я, долго искал ответа на этот вопрос:
1) COMODO все вам прислал в ZIP файле
2) В терминале "соединяем" три файла cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt  > domain.com.cer
3) В конфигурационном файле сайта в Apache вставляем SSLEngine on
SSLCertificateFile /etc/apache2/ssl/domain.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.com.key
SSLCACertificateFile /etc/apache2/ssl/domain.com.cer
domain.com.crt - тоже из ZIP файла
4) Перезапускаем Apache sudo service apache2 restart
5) смотрим на сайт, идем сюда https://www.sslshopper.com/ssl-checker.html вбиваем свой домен - все должно быть зеленым :)

Худший ответ:
Достаточно прочитать руководство по установке сертификата от комодо, логично что вы пропустили промежуточный сертификат центра сертификации, так как не читали руководство по установке от комодо
Вопрос: Как доставать видео с VK?

Лучший ответ:
Вот вам пример:<? 
	$token = "Ваш access_token"; // access_token брал от сюда http://u.to/8nA8CA
	
	$video_id = "100973593_171060396";
	
	$videoGet = file_get_contents("https://api.vk.com/method/video.get?videos=".$video_id."&access_token=".$token);
	$json_video = json_decode($videoGet,1);
	
	Echo'<iframe src="'.$json_video["response"][1]["player"].'" width="853" height="480"  frameborder="0"></iframe>';
?>

Худший ответ:
Только парсить sfw. Там есть прямая ссылка в разных разрешениях. Но контакт постоянно банит ип, домены.
Вот пример парсинга без токенов. $link = 'oid=134218719&id=168399790&hash=f721a4d8be925b49&hd=2';
// Далее идет магия по извлечению прямой ссылки с вконтакта
$val = $link;

$valex = explode('&', $val);

$oidexp = explode('=', $valex[0]);

if (!isset ($oidexp[1])) return Response::json(array('success' => "false", "message" => "error oidexp"), 200);
$oid = $oidexp[1];

$idexp = explode('=', $valex[1]);
if (!isset($idexp[1])) return Response::json(array('success' => "false", "message" => "error  idexp"), 200);


$id = $idexp[1];

$hashexp = explode('=', $valex[2]);
$hash = $hashexp[1];

$nameexp = explode('=', $valex[3]);
$name = $nameexp[1];


$page_up = file_get_contents('http://vk.com/video_ext.php?oid=' . $oid . '&id=' . $id . '&hash=' . $hash . '&hd=1');
preg_match('<param name="flashvars" value="(.*)">', $page_up, $matches);


if (count($matches) < 1) return Response::json(array('success' => "false", "message" => "error  matches"), 200);

$buf = $matches[1];

$res = array();

foreach (explode('&amp;', $buf) as $tmp) {
    $tmp2 = explode('=', $tmp);
    $key = $tmp2[0];
    unset ($tmp2[0]);
    $res[$key] = implode('=', $tmp2);
}

echo '<pre>';
print_r($res);
echo '</pre>';
Вопрос: Запретить Скролл мышки в DIV блоке?

Лучший ответ:
где getElementById нужно в скобках вставить id элемента т.е. document.getElementById('id');
где как вы указали 'МОЙ ДИВ БЛОК' относительно оригинала вы ничего не меняете.

Худший ответ:
Спасибо за подсказку!
Увы, почему-то, не получается заблокировать - скролл виджет-чата.
Немог бы кто знающий подсказать в чем просчет?)
быть может способ не тот, или есть другие варианты заблокировать скролл определенного див блока?)
Вариант 1<script>
function disableWheelScroll(){
if (document.getElementsByClassName.addEventListener) document.getElementById('shoutbox').addEventListener('DOMMouseScroll', blockWheel, false);
document.getElementsByClassName.onmousewheel = blockWheel;
}
function blockWheel(event){
if (!event) event = window.event;
if (event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
}
</script>
Вариант 2<script>
function disableWheelScroll(){
if (document.getElementsByClassName.addEventListener) document.getElementsByClassName('scroll-wrap').addEventListener('DOMMouseScroll', blockWheel, false);
document.getElementsByClassName.onmousewheel = blockWheel;
}
function blockWheel(event){
if (!event) event = window.event;
if (event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
}
</script>
Блок самого Чата<div class="scroll-wrap"><div class="scroll-pane"><div id="shoutbox"></div></div></div>
Вопрос: Как получить данные из элемента в AngularJs?

Лучший ответ:
вам нужно реализовать директиву, которая будет отвечать за drag'n'drop объектов, и внутри организовать калбэки, которые можно задавать через scope. (например что-то типа on-drop). Для удобства настройки можно сделать несколько директив, и одну главную (читать про require).
Работать с элементами можно только в директивах, но директивы не должны ничего знать о вашей бизнес логике. То есть если у вас появляются конструкции вида angular.element(garage).scope() то это повод задуматься.
Должно получиться что-то такое:<ul>
<li data-ng-repeat="car in Model.cars" data-draggable="car" data-draggable-item="car">{{car.modelName}}</li>
</ul>
<ul>
    <li data-ng-repeat="garage in Model.garages"  data-droppable="car" data-on-drop="doSomething">{{garage.name}}</li>
</ul>
атрибуты data-draggable и data-droppable будут отмечены тегами, что бы указать какие объекты можно тягать куда. Для вашей задачи можно и без этого.// controller
$scope.doSomething = function (car, garage) {
    // ставим машинку в гараж, убираем ее из списка если хотим, или что-то еще...
    // контроллер в этом случае вообще ничего не знает о drag n drop, 
    // только о том что что-то нужно сделать с данными.
};

Худший ответ:
Кто мешает внутри moveCarToGarage(car, garage), пробежаться циклом по массиву данных и обновить совпадающие значения?
Вопрос: С чего начать изучение Unity3D?

Лучший ответ:
Начинать нужно с мануала, тут без вариантов. Всё подряд можно не читать, всё равно потом к нему ещё вернётесь.
docs.unity3d.com/Manual
Потом посмотрите официальные туториалы, особенно в категории Intermediate, они годные и постоянно обновляются.
unity3d.com/learn/tutorials/modules
unity3d.com/learn/tutorials/projects
Ещё очень советую почитать статьи на Catlike Coding. Нет лишней воды и много хороших примеров.
catlikecoding.com/unity/tutorials

Худший ответ:
Их родные туториалы чем не устраивают?
Да и на ютубе куча сторонних туториалов.
Вопрос: Ищу DNS-хостинг с претензиями

Лучший ответ:
Если домен зарегистрирован в reg.ru, то можно получить DNS бесплатно + иметь API по управлению: 8. Функции для управления DNS-зоной (категория zone). Единственно насчет секондари не скажу, потому что не юзал, ибо зачем оно при таких отличных условиях.

Худший ответ:
Уже 5 лет использую Masterhost в качестве DNS хостинга, до января не было вообще никаких претензий. В январе пару раз что то у них ломалось. Хостится порядка 20 имен, почти бесплатно. Интерфейс вполне удобный. Секондари по-моему только через поддержку, обновление зоны за 30-40 минут происходит.
Вопрос: Не понятний ответ при запросе Djnago?

Лучший ответ:
1. Пока читал вопрос, пять раз сломал язык и трижды – глаза.
2. Пожалуйста, попробуйте PHP. В Python программисты, которые не умеют грамотно писать на родном языке, не выживают. Или попробуйте сформулировать свой вопрос на любом другом (включая корейский). Уверен, Вам помогут охотнее.
3. Данный код, вероятно, будет работать вот так:# views.py
liked_post_ids = UserLikes.objects.filter(user=request.user).values_list('id', flat=True)

# template.html
{% if post.id in liked_posts_ids %}
    This post was already liked.
{% else %}
    You can like this post.
{% endif %}
4. Ваша модель UserLikes (а по guideline всё-таки корректнее её назвать UserLike) – ни что иное, как ManyToMany между моделью Post и User. Следовательно, правильнее сделать так:# models.py
from django.contrib.auth.models import User
from django.db import models

class Post(models.Model):
    user = models.ManyToManyField(User)
    slug = models.SlugField()
Другой вариант через два ForeignKey (тот же ManyToMany, только с "ручной" таблицей). Только не надо делать это руками через "models.IntegerField(blank=True, default=1)". Пусть за Вас думает база.

Худший ответ:
У тебя получилось нагромождение неправильных представлений об архитектуре
request.user - указывает на текущего авторизированного пользователя
я залогинился, и через request.user могу отфильтровать, то что сделал я
Появление вот таких полей свидетельствует, что что-то пошло не такuser_id = models.IntegerField()
id_post= models.IntegerField()
инт предназначен для хранения целых чисел
Не делай проверки в темплейте{% if one_post.pk in all_likes.id_post %}
Когда твой запрос не дает, того что он по твоему мнению должен вернуть - делай мысленный експеримент.
Взять из request.user ид пользователя = 2
Сделать запрос select * from tablename where user_id = 2 
Вернется | 3 | 2 | 25 |
все верно
Возможно, я что-то не так хочу или не так делаю
Отложи свои лайки на полку и пройдись еще раз по туториалу https://docs.djangoproject.com/en/1.8/intro/tutorial01/
Выучи его до такой степени, что бы самостоятельно написать его копию
После попробуй поиграть с темплейтами и вью
После попробуй добавить или убрать что-то из моделей
Переходи к новому только после того как можешь уверенно сказать, что и зачем ты сделал
Если на каком-то етапе слишком долго не можешь найти решение - пиши вопрос
Вопрос: Что нужно php программисту для своего первого трудоустройства в студию?

Лучший ответ:
Учитесь писать тесты.
А так с вашим списком вы уже можете бомбить биржу труда своим резюме и сами ответите на свои вопросы.

Худший ответ:
Ответ 1
Во всех хороших компаниях идет работа в компании на каком либо фреймоворке. Как я понимаю ваших знаний вполне достаточно.
Вполне целесообразно будет подать резюме на headhunter
Так же можете посмотреть там же среди доступных вакансий
Даже не думайте идти на неоплачиваемую стажировку. Многие фирмы под этим предлогом эксплуатируют в своих целях и после просто выгоняют. Все солидные фирмы могут позволить себе спокойно брать вас на минимальный оклад на время испытательного срока. Просто многие хитрят.Ответ 2
Тут всё зависит от фирмы. Вообще не советую идти в web-студии, которые занимаются "клипанием" сайтов. Это быстро надоедает и нету никакого интереса. Лучше всего идти туда, где занимаются какими-то большими проектами. В хорошей команде. Где нужно решать какие-то интересные и сложные задачи. Вот тогда и развиваться будете постоянно и интерес останется.
Нужно понять разницу в вакансиях компаний. Есть вакансия junior, это как раз для тех, у кого еще мало опыта но вы уже знаете все что требуется. Компания помогает вам развиваться в их же интересах. Если же вакансия middle или более, то тут уже стоит понимать, что подтягивать вас никто не будет. Наоборот вы должны будете показывать результативность.Ответ 3
У меня сейчас своя фирма. Но я вообще люблю ходить по собеседованиям, просто с целью узнать что-то новое.
Практически всегда спрашивают о том, что Вы знаете, и вопросы по той или иной технологии. Задают практические задачки на логику (целью является не решение, а показатель - можете ли вы логически попытаться решить её), ну и всем интересно как вы справитесь с настоящей задачей (практической. тестовое задание).
Правда частенько встречаются фирмы, у которых на собеседовании можно просто посмеяться :)
Вопрос: Различные варианты товара в интернет магазине. Преимущества и недостатки реализаций

Лучший ответ:
поскольку пишу 2-й раз — буду краток ;) не буду пугать количеством реализованных «складов», сразу приведу пример довольно универсального справочника товаров (естественно, в упрощенном виде ;)
Таблица 1 — goods:
id, Name
Таблица 2 — params:
id, Name(например — Производитель, Длина, )
Таблица 3 — goods_params:
id, goods_id(foreign key), param_id(foreign key), Value

в такой схеме товар имеет имя(в некоторых случаях его можно генерить автоматом по заполненным данным из goods_params — будет как общее описание товара в розетке), а все его характеристики в goods_params, пустых полей нет, добавление товара с новыми характеристиками добавит записей в goods, params, goods_params. В ширину таблицы расти не будут. Надеюсь, схема понятна? Ключи/индексы не расписаны… Дальше это можно наворачивать еще долго… проблем с подбором, поиском и сопоставлением товара здесь нет — решается банально через SQL(что-то вроде расширенной версии такого подхода отлично работает в оракловой базе под 1,5TB). ну а насколько данная фантазия ляжет на ваш orm — это другой вопрос — вы не это спрашивали ;)
ну где хранить цену — вопрос обычно отдельный ;) хотя, в некоторых случаях войдет в уже описанную схему… в общем, дерзайте ;)

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