Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой движок для блога стоит попробовать?

Лучший ответ:
Tumblr. Описание — тыц.

Худший ответ:
_ttp://blogolet.ru/ — добротно сделанный, и активно развивающийся движок блога.
Вопрос: Когда следует приступать к практике?

Лучший ответ:
Начинать практику надо тогда, когда возникает потребность что-то писать. Нет потребности - не нужна практика.

Худший ответ:
Советую идти на www.checkio.org там куча задачек от самых простых до продвинутых. Учиться лучше на практике. Выбираете задание и решаете его.
Вопрос: Разделение большой папки на части

Лучший ответ:
Если папок до 10, то быстрей будет руками разгребать. А на оставшееся место, советую, залить корректирующие файлы:
www.ice-graphics.com/ICEECC/IndexE.html

Диски тоже не долговечны. 

По ссылке прога которая работает по очень клёвому алгоритму Рида-Соломона. 
Позволяет очень эффективно восстанавливать данные.
Если очень примитивно, то к примеру, если вы записал 4 гб, и 400 мб данных для восстановления, то вы можете восстановить ЛЮБЫЕ 10% данных. В каком месте бы файлы не испортили. В начале, в конце, по 40 мб каждые 100 метров. Не важно.

Худший ответ:
Столкнулся как-то с такой темой по работе. Тоже искал долго. Путного ничего не нашел под свою задачу. Пришлось написать самому на Python. Исходники и собранный exe можно посмотреть на моемGitHub
Вопрос: Хочу «залить сайт водой», можете посоветовать способ реализации?

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

Худший ответ:
1. В целом, нужно видео с такой водой: https://www.shutterstock.com/video/clip-3570359
2. А потом сделать с прозрачным слоем эту воду: www.sciencelifeny.com/transparency/transparency.html
UPD: видео затопление/заполнение
Вопрос: Надежна ли функция is_array?

Лучший ответ:
На примере PHP5.6.14
ext/standard/type.c PHP_FUNCTION(is_array) вызывает php_is_type (функция определена там же, чуть выше)
Та проверяет на равенство Z_TYPE_PP(arg).
Z_TYPE_PP, соответственно, макрос из Zend/zend_operators.h#define Z_TYPE(zval)		(zval).type
#define Z_TYPE_P(zval_p)	Z_TYPE(*zval_p)
#define Z_TYPE_PP(zval_pp)	Z_TYPE(**zval_pp)
Как видим, прямое обращение к полю type базовой для zend'а структуры zval. Ну а уж оно врать не может, это или IS_ARRAY и is_array даст true или что-то другое и результатом будет false.

Худший ответ:
вполне
Вопрос: Windows 8 VS Linux?

Лучший ответ:
переключение между PS и редактором занимает ~ 10 секунд
Ну че, логика верная. Нет фотошопа - нет проблем.2ГБ Оперативки
Вы не думали увеличить объем... скажем до 8-ми? или хотя бы до 4-ех? Ну и да, SSD. А так поменяете вы систему или нет - разницы не будет с таким железом.

Худший ответ:
Лично я бы посоветовал установить elementary OS.
Она хоть основана на Ubuntu, но работает шустрее (проверял на своем нетбуке с Атомом 2 Гц и 2Гб + интегрированная интеловская видео карта). Кто то скажет, что есть xUbuntu, но интерфейс xfce меня не радует.
Удалось запустить Photoshop, так как я занимаюсь версткой, он нужен.
Вопрос: Объединить прайсы

Лучший ответ:
Когда сделаете универсальное поймете, что нужно в итоге подгонять под каждого поставщика. Лучший способ — сделать универсальный синхронизатор", но под каждого поставщика отдельно настраивать. Иначе Вы получите массу проблем. Как понять что товар одинаковый — тут уже нужно смотреть что за товары и подстраивать поиск совпадений. Не пытайтесь написать экспертную систему — это всегда хуже узкоспециализированной задачи. Если вы конечно не готовы это вылить в отделенный продукт по поиску похожих товаров. 
Скорее всего у Вас будет максимум 5 прайсов. Не 100 ведь? Поэтому, я Вам очень рекомендую воспользоваться тем выходом из ситуации который Вы хотите обойти. Не делайте универсальной задачу там где она Вам больше не понадобится.

Худший ответ:
Занимаюсь чем-то похожим примерно треть своего рабочего времени последние 5 лет. Около 30 различных поставщиков, состав меняется и растёт. Ассортимент — одежда, бельё, чни. 
В начале делал на каждого поставщика индивидуальный обработчик, потом бросил. Даже крупные брэнды регулярно меняют формат — от расположения колонок и схемы наименования товара до деталей названия каждой конкретной тряпки. А нам было очень важно что бы в нашу базу один и тот же товар попадал всегда одинаково. Получилось, что я дольше проверял правильность выхода и переписывал алгоритмы на каждое изменение чем пользовался ими. В итоге для нескольких стабильных поставщиков есть персональные загрузчики разбирающие входной файл, а для большинства только ручками пополняемая база вида «длинная строка в свободной форме из накладной поставщика» -> набор наших внутренних полей. Приведение формата файла к пригодному к такой обработке тоже полуруками.
Некоторых даже в такую форму загнать не получается.
Впрочем, если не страшны постоянные задвоения строк, то всё становится резко проще.
Вопрос: Как правильно реализовать оформление заказа на нескольких страницах?

Лучший ответ:
Есть два пути:
1. Записывать данные в таблицу orders каждом шаге и отдельно валидировать каждый шаг, но установить у заказа статус "черновик". Переводить в активный статус, только если отправлен третий шаг и валидны все три (надо проверить)
2. Писать состояние заказа в сессию и валидировать все данные один раз на последнем шаге. 
Первый вариант позволит продолжить оформление заказа в другой сессии + вы будете видеть так называемые "брошенные корзины", менеджеры потом смогут связаться с клиентом и узнать что не так и, может быть, повысить продажи.

Худший ответ:
Я решил записыванием данных в корзину заказа. Или в сессию( если не зарегистрирован). Поскольку корзина для каждого пользователя по факту одна, как и "шаги заказа".
Вопрос: Неправильно работает if?

Лучший ответ:
Запустите дебаггер и посмотрите. 
Что за детский сад.

Худший ответ:
if  convert_time_start.Before(current_time)  && convert_time_end.After(current_time)
Вывести в логи/на экран непосредственно перед этим if значения всех трех переменных, участвующих в условии, чтобы было понятно - а что там по факту сравнивается.
Вопрос: Какой бесплатный антивирус посоветуете для windows xp, для коммерческого использования?

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

Худший ответ:
Всё зависит от легальности ОС, можно и родной использовать но там граница 10 машин. Бесплатно можно и Касперский поставить, только управлять бесплатными антивирусами геморрой, но тоже бесплатный .
Вопрос: Ваше отношение к рекурсии?

Лучший ответ:
Ваше отношение к морозильнику? Где то примерно лет 5 назад сложилось сомнительное мнение, однако сейчас все чаще покупаю пельмени и их надо где то хранить.
Короче, вопрос бредовый. Если рекурсия вам упростит решение задачи - используйте ее смело.

Худший ответ:
Рекурсия - так же как и любой другой инструмент - это в первую очередь инструмент.
Её можно и нужно использовать там где её нужно и можно использовать :)
Есть многие задачи которые сложно решить без рекурсии, и в конце получиться что фактически вы реализуете рекурсию просто без вызова функции, фактически же рекурсия остаётся, просто менее ярко выраженная.
Если же можно реализовать без рекурсии задачу - то обычно лучше реализовывать без неё.
Вопрос: Как добавлять записи в БД с сайта?

Лучший ответ:
Вам не тостер нужен. Это не тот ресурс. Книги, только книги

Худший ответ:
Имя базы, логин-паролль, структура таблицы news - всё это у вас как в коде?)
Вопрос: Сервисы для изучения программирования с телефона?

Лучший ответ:
Для новичков подойдет эта серия: https://play.google.com/store/apps/dev?id=80924754...
Достаточно легкий материал. Если нужен материал по серьезней, тогда книги (электронные либо печатные).

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

Лучший ответ:
А что именно Ваше приложение должно делать с этими данными ? 
Если осуществляется просто передача, хранение, упорядочивание контейнеров без вникания в их суть - Вам подойдет оперирование зашифрованными контейнерами, например, с помощью неизвлекаемого ключа, хранящегося на USB-брелоке.
Но если разрабатываемая программа должна понимать семантику данных, т.е. обрабатывать их в полном смысле этого слова, то о какой защите может идти речь ? У разработчика всегда остается возможность внести в код закладку, копирующую данные в тот момент, когда они расшифрованы. Криптографы очень много времени уделяют решению этой задачи, т.н. гомоморфному шифрованию. Но результаты сейчас пока далеки от применимости на практике.

Худший ответ:
Любое шифрование с ключом +ключ есть только у пользователя и расшифровка так же происходит на стороне пользователя.
Вопрос: Помогите сверстать нестандартное поведение [Решено]

Лучший ответ:
jsfiddle.net/HwD3R/

Скорее всего будут проблемы в IE6-IE7 – к сожалению, нет возможности проверить

Худший ответ:
Верстайте дивами, указывайте ширину блоков и флоат, будет всё как надо.

Вот например, если сделать:



То при ширине контейнера, в котором они лежат, меньше шестисот пикселей — выстроятся дуруг-под-другом
А если больше, то в две колонки.

Такова моя идея.
Вопрос: Как с помощью keyframes задать задержку частоты смены кадров?

Лучший ответ:
За задержку отвечает свойство animation-delay, а за длительность анимации отвечает animation-duration
Если вас интересует анимация на CSS3 то вам сюда:
popel-studio.com/blog/article/vozmozhnosti_css-ani...

Худший ответ:
designmodo.com/steps-css-animations - все там же в кейфреймах, только юзать steps. Внутри гайда есть примеры с часами и прочими вещами.
Вопрос: Как убрать серый background image в Android?

Лучший ответ:
На днях с такой проблемой в Xamarin Studio столкнулся. Решение такое. Поместите ваше изображение в папку drawable-nodpi и обновите ресурсы. Ссылка android:background при этом таковой и должна остаться: @drawable/main_background. 
Связано с тем, что под разные экраны (с разной плотностью пикселей)  андроид пытается масштабировать и не всегда получается. Если посмотреть в Application Output во время выполнения приложения, то там будут ошибки типа "Bitmap too large to be uploaded into a texture".

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

Лучший ответ:
Как мне перебрать такой массив?foreach($answerObject->stats as $item) {
    echo $item->pbx_call_id, PHP_EOL;
}у вас массив объектов. поэтому с массивом работаете как с массивом, а с объектами как с объектом.

Худший ответ:
 Как посмотреть значение [pbx_call_id], скажем 14 элемента например?$arr = $answerObject->stats;
echo $arr[14][pbx_call_id];Задача,, пройтись по массиву, если [pbx_call_id], совпадает с нужным мне, то посмотреть [sip] и [disposition], и в зависимости от значений выполнить определенное действие.$nuznii_pbx_call_id = 123;
$arr = $answerObject->stats;
$sip = false;
foreach($arr as $one){
if($one['pbx_call_id'] == $nuznii_pbx_call_id){
$sip =$one['sip'];
}
}
if($sip){
echo $sip;
}else{
echo 'не найдено совпадений';
}
Вопрос: 1с управление торговлей нельзя скачать?

Лучший ответ:
Демо-версия?
Разве такое уже есть?
Пусть вам заказчик предоставит доступ. Или просто этот файл создаст и даст вам для разбора.
Тем более что без более менее реальных данных - пользы от конфигурации нет.
Так что есть ломанные. И легко находятся.
Но это незаконно и вне тематики ресурса.

Худший ответ:
Если нужен именно конфигуратор, то нужно искать лом. Учебная версия платформы 1С рассчитана только на работу с пустой конфигурацией без ничего.
Если нужен только режим предприятие, то есть полезный открытый ресурс demo.1c.ru.
Еще вариант что у вас есть доступ на сайт releases.1c.ru, если на данном сайте у вас доступна для скачивания УТ то можете не заморачиваться с ломом а качать официальный дистрибутив УТ.
Вопрос: Как учить технический английский?

Лучший ответ:
Lingualeo + Rosetta Stone.
Lingualeo для словарного запаса. Перед обучением обязательно пройди тестирование и укажи направление обучения IT.
Rosetta Stone для слуха. Очень удивился когда буквально пару раз позанимался с этой программой и начал в англоязычных аудио четко различать почти каждое слово. До этого вообще речь на слух не воспринимал хотя читал вполне уверенно. Было что-то типа: "Blalalala bool bool Blalalala Bool Fuck Suck..."
Лингвалео бесплатен, розетский камень тоже хм.... бесплатен... На торрентах бесплатен, если ты конечно понимаешь о чем я :). 
Найдешь усе сам.
Ну а если не найдешь, то лучше иди перебирать картофель на овощебазу.

Худший ответ:
Elementary будет явно недостаточно, минимум intermediate (а вообще неспроста экспатов принимают на работу с уровнем знания языка не ниже upper intermediate/B2 в классификации Евросоюза).Года за 2-3 должны осилить, сильно зависит от возраста и усвояемости материала. Рекомендую начать тренировать внимательность, потому что с ней у вас проблемы (convenient при транслитерации будет напоминать слово "конвенция", откуда сможете понять значение без словаря, "handles" ни разу не похоже на "заголовок").
Вопрос: Как отформатировать дату в javascript?

Лучший ответ:
var d = new Date('Fri Oct 02 2015 00:45:59 GMT+0300 (EEST)');

var formatDate = ('0' + d.getDate()).slice(-2) + '/' + ('0' + (d.getMonth() + 1)).slice(-2) + '/' + d.getFullYear() + ' ' + ('0' + d.getHours()).slice(-2) + ':' + ('0' + d.getMinutes()).slice(-2) + ':' + ('0' + d.getSeconds()).slice(-2);

console.log(formatDate); // 02/10/2015 00:45:59
P.S. Я тут подумал, а что вам мешает сразу при запросе форматировать дату? В MySQL - это функция DATE_FORMAT()SELECT DATE_FORMAT(`my_date_column`, '%d/%m/%Y %H:%i:%s') AS `foramt_date` FROM `my_table`;

Худший ответ:
Встроенных методов нету. Народ юзает всякие либы, от себя советую datef (я автор:) ) или, если нужно плотно работать с датами -- moment.js.
Вопрос: Почему в блоке элементы становятся в столб, а не идут строкой?

Лучший ответ:
https://jsfiddle.net/td81zapz/1/
float: left; забыл?

Худший ответ:
display: flex; задай для .top
Вопрос: Почему ни один конструктор регулярных выражений не понимает это?

Лучший ответ:
потому что конструкторы обычно используют формат /regex/, и ваша регулярка вылетает из-за непроэкранированных слешей.^\/forum(\/[\d\w_\/\-]+\/)([\d]+)\.xhtml

Худший ответ:
Дык вроде работает ваша регулярка.
Вопрос: Как реализовать множественную замену с помощью JavaScript?

Лучший ответ:
document.body.innerHTML = document.body.innerHTML.replace(/слон|мышь|авто|окно/g, function(word) {
 var newWord = {
   'слон': 'печь',
   'мышь': 'мышь',
   'авто': 'мото',
   'окно': 'рама'
  }[word];
  return newWord || word;
});

Худший ответ:
function myReplace(oldWord, newWord) {
  var exp = new RegExp(oldWord, 'g');
  document.body.innerHTML = document.body.innerHTML.replace(exp, newWord);
}

myReplace('муха', 'слон');
Вопрос: Чем проверить существование почтового ящика?

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

Худший ответ:
Самый известный и популярный сервис такого рода - это 2ip.ru. 
Но для массовой автоматической проверки он малопригоден, поскольку начинает требовать капчу.
Вопрос: Как сделать, чтобы запись добавлялась с уникальным id автоматически?

Лучший ответ:
1. перестаем говнокодить устаревшими на 10 лет функциями, изучаем PDO.
2. Читаем про auto_increment в MySQL
3. Читаем про ORDER BY в MySQL
4. Читаем про иньекции в MySQL
5. Учимся верстать и не используем устаревшие на 15 лет теги.

Худший ответ:
В БД для id укажите autoincrement
Вопрос: Книги для изучения JavaScript?

Лучший ответ:
https://learn.javascript.ru/
https://karmazzin.gitbooks.io/eloquentjavascript_r...
eloquentjavascript.net
bonsaiden.github.io/JavaScript-Garden/ru
largescalejs.ru
bakhirev.biz/book
вот этого должно хватить, на первое время конечно)

Худший ответ:
"o'reilly" ищите
считаю что для новичка это самое то!
Сейчас JavaScript используется везде, и например в приложении с которым я работаю, (написанно оно на Backbone.js + Marionette.js + Node.js) написана львиная доля функционала который выполняется на клиенте ( на локальном компьютере) и затем данные отправляются на сервер
Ваше представление о JS пока очень слабое, но с этого все начинают!!!
Вопрос: Как прервать if() в ф-ции?

Лучший ответ:
Есть два пути:
1. Улучшить проверку: сейчас у вас переменная $result не определена в случае первой ошибки, что приравнивается к false. Можно проверять так: if (isset($result) && !$result)
2. Использовать return, это стандартный способ прерывания работы функции.
Вообще, функция не должна ничего выводить, она должна только возвращать результат.
Вот так:function checkLogin($str) {
    if (!$str) {
        throw new InvalidLoginException('Вы не ввели имя пользователя');
    }

    $pattern='/^[-_.a-z\d]{4,16}$/i';
    $result=preg_match($pattern,$str);

    if (!$result) {
        throw new InvalidLoginException('Недопустимые символы в имени пользователя или имя пользователя слишком короткое (длинное)');
    }
}

try {
    checkLogin("");
} catch (InvalidLoginException $e) {
    echo $e->getMessage();
}
Или, на худой конец, так:function checkLogin($str) {
    if (!$str) {
        return 'Вы не ввели имя пользователя';
    }

    if (!preg_match('/^[-_.a-z\d]{4,16}$/i',$str)) {
        return 'Недопустимые символы в имени пользователя или имя пользователя слишком короткое (длинное)';
    }

    return true;
}

$status = checkLogin("");

if ($status !== true) {
    echo $status;
}

Худший ответ:
Вв ашем коде много лишнего и это лишнее вас запутывает.function checkLogin($str)
{
  if (!$str)
  {
    echo 'Вы не ввели имя пользователя';
    return false;
  }
  
  if (!preg_match('/^[-_.a-z\d]{4,16}$/i', $str))
  {
    echo "Недопустимые символы в имени пользователя или имя пользователя слишком короткое (длинное)";
    return false;
  }

  return true;
}
Вопрос: Как защитить сайт от вредоносных атак?

Лучший ответ:
1. Пользователь всегда врет. Все без исключения входящие данные ОБЯЗАТЕЛЬНО должны валидироваться, в случае ошибки - шлем на йух.
2. Для средних систем - вполне норм подход: во всех публичных методах выполнять обязательную проверку всех аргументов простых типов, чуть что не так - исключение. Так как проверок будет море - критично время их выполнения, можете посмотреть мой проектик: https://github.com/ko-ko-ko/php-assert
Пример использования:/**
 * @param string $login
 * @param string $password
 * 
 * @return int
 * @throws \InvalidArgumentException
 */
public function login($login, $password)
{
    Assert::assert($login, 'login')->lengthBetween(4, 16);
    Assert::assert($password, 'password')->lengthBetween(6, 20);
    
    // Business logic here
}
Код конечно после таких действий не самый красивый, но надежный. В случае действительно крупного проекта - вполне норм делать проверки в приватных и защищенных методах. Многомерные массивы как аргументы методов можно использовать только в безвыходных ситуациях.
3. Гетеры и Сеттеры - обязательно. По хорошему классов с публичными свойствами быть не должно.
4. Права на запуск ТОЛЬКО у точек входа, например index.php.
5. Log - твой друг. Каждое исключение обязательно должно сохраняться для выяснения причин.
6. Жесткая блокировка типов запросов. Например на главной - только GET, на login - только POST.
7. По хорошему в мир должен смотреть только 80/443 порты.
8. Блокировка сканнеров - в случае подключения запросов на то, чего у вас нет публично, pma (phpmyadmin) например - банить по ip на час, или больше. *Если у вас таки есть публичный pma - сами себе злобные буратины))
9. По хорошему - стоит снимать метрики работоспособности вашей системы, например в zabbix, это косвенно решает проблему безопасности: отклонение метрик - маячок.
10. Система контроля версий на проде обязательна, но с заблокированным push + системные файлы vcs закрыты для мира.
11. Доступ к проду только у сисадмина и тим лида.
12. Ручные правки кода в не релизное время выполняет тимлид и только после апрува руководства. Эти правки ОБЯЗАТЕЛЬНО должны быть сохранены в репозиторий в ближайшее время, например в течении 3-х дней.

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

Лучший ответ:
Разница из-за различных методик сбора данных. Рейтинг TIOBE строится на подсчете количества поисковых запросов, содержащих название языка (https://ru.wikipedia.org/wiki/Индекс_TIOBE). Github, полагаю, ориентируется на количество коммитов в проекты, написанные на соответствующих ЯП. Stackoverflow, скорее всего, ориентируется на теги.
Особо зацикливаться на эти рейтинги, честно говоря, не вижу нужды; максимум, на что они годны - это служить аргументом в разных фаллометрических баталиях на тему "ЯП1 vs ЯП2". В реальной жизни лучше ориентироваться на количество/качество предлагаемых вакансий (если хочется программировать профессионально) или на личные предпочтения (если хочется программировать "для души").

Худший ответ:
Работодателям.
Вопрос: Есть идеи? DIY или Сделай Сам..

Лучший ответ:
— Датацентр LEGO для самых маленьких.
 — Суперкомпьютер для бюджетного фильма из 90х (светодиодов возможно придется докупить)
 — TouchScreen Тетрис
 — Транслятор 25 кабельных каналов для взрослых
 — Видеорегистратор для сетевых систем антипробки
[...]

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

Лучший ответ:
www.headfirstlabs.com/books/hfjquery
Книга есть на русском.
В первое главе достаточно информации, что бы сделать через одно место.
Далее по нарастающей...

Худший ответ:
Писал для одного сайта калькулятор, но там используются слайдеры, но и обычные инпуты тоже есть, jsfiddle.net/VyacheslavY/22u4orc0/26 Тут и комментарии почти к каждой строке
Вопрос: Как вывести строку в linux?

Лучший ответ:
Как вывести строку в которая содержит \\.\Aktiv echo "\\\\.\\Aktiv"

Худший ответ:
Тяжёлые наркотики употребляете?grep -n  "\\.\Aktiv" /opt/cprocsp/bin/amd64/csptest
или рекурсивноgrep -n  "\\.\Aktiv" .
Вопрос: Существует ли аналог Битрикс24 для личного использования?

Лучший ответ:
Пользуюсь вот этим Ссылка (не реклама). Довольно таки удобная система для личных целей.

Худший ответ:
SalesMan CRM - рекомендую! Это удобная и очень гибкая по настройкам система.
Вопрос: Включение поддержки WebDAV в Windows 7

Лучший ответ:
Хм, включать? Поддержка сразу есть, даже ничего не ставил.

Худший ответ:
Хм, включать? Поддержка сразу есть, даже ничего не ставил.
Вопрос: Как побороть CORS в Nginx?

Лучший ответ:
И как обычно лучше оф.документации нет ничего ))
https://enable-cors.org/server_nginx.html

Худший ответ:
Варианты:
- в DJANGO убрать localhost  из ALLOWRD_HOSTS
- в Node.js доюаить на серверной ноде
- в Nginx прописать в OPTIONS

location / {

                if ($request_method = 'OPTIONS') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Max-Age' 1728000;
                        add_header 'Content-Length' 0;
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type$
                        return 204;
                }