Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Нужно написать cms для базы данных на Nodejs. С чего начать?

Лучший ответ:
https://www.youtube.com/playlist?list=PLOzk9ZaOL1u...
Стопудово, она к тому же использует быструю связку

Худший ответ:
Даже я вон нашёл: https://nodejs.org/en/docs/guides/getting-started-...
Через ГУГЛ!
Вопрос: Порекомендуйте производительный роутер?

Лучший ответ:
Я бы порекомендовал Ubiquiti EdgeRouter 4 (ER-4) для таких целей.Маршрутизатор построен на базе мощного четырехъядерного процессора MIPS64 с частотой 1 Ггц. Объем оперативной памяти составляет 1 Гб DDR3. Подобные характеристики вычислительной части обеспечивают маршрутизатору высочайшую производительность, позволяя обрабатывать свыше 3.4 млн пакетов в секунду. . +EdgeOs на основе Linux Debian.

Худший ответ:
Я бы порекомендовал Ubiquiti EdgeRouter 4 (ER-4) для таких целей.Маршрутизатор построен на базе мощного четырехъядерного процессора MIPS64 с частотой 1 Ггц. Объем оперативной памяти составляет 1 Гб DDR3. Подобные характеристики вычислительной части обеспечивают маршрутизатору высочайшую производительность, позволяя обрабатывать свыше 3.4 млн пакетов в секунду. . +EdgeOs на основе Linux Debian.
Вопрос: Что важнее для программиста?

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

Худший ответ:
Программисту важнее, внезапно, программная инженерия. На прикладной математике и информатике вас программировать учить не будут (программировать в целом, а не "программировать алгоритмы"). Но, с другой стороны, большой вопрос будут ли вас чему нибудь полезному учить на программной инженерии. Тут от вуза зависит. И так, получить ценные знания больше шансов на прикладной математике, но есть немалая вероятность, что эти знания вам не пригодятся в вашей специализации в программировании. А учиться программировать всё таки придется самостоятельно.
Вопрос: Как запустить .sh скрипт от root находясь под другим юзверем одной строкой?

Лучший ответ:
man su не пробовали читать?
su -c /home/run.sh

Худший ответ:
sudo или suid устроят?
P.S. suid на shll-скриптах в подавляющем большинство случаев - не работает... Спасибо тов. jcmvbkbc за подробную информацию.
Вопрос: Структура базы данных магазина/каталога для SQL. Как лучше хранить атрибуты и их значения в БД?

Лучший ответ:
Неверно в корне.
Вы нарисовали по сути EAV (есть такая готовая схема данных под эту задачу - погуглите, примеров много).
Плюсы:
Удобно ложиться в реляционную модель, удобно программируется (если вам удобно работать с реляционной моделью), на первый взгляд хорошо подходит под любую реляционную СУБД (MySQL, PostgreSQL, Oracle).
Минусы:
Неоправдано малоэффективно по производительности.
Есть решения на порядок более быстрые.
Впрочем, если у вас каких то жестких требований на производительность или на минимизацию затрат на сервер - годится.
По мне так EAV удобен как средство редактирования (ну и хранения первичной информации).
А вот собственно сам поиск гораздо эффективнее осуществляется на full-text search engines, например:
SphinxSearch (или его клон Мантикора), ElasticSearch и т.п.
И чем по большему количеству фильтров идет поиск - тем больше этот разрыв (хотя он и по одному фильтру уже весьма заметен).
В наиболее развитых full-text search engine поиск по свойствам является "дешевой" операцией, совершенно совместимой с основным полнотекстовый поиском. 
Более того, работа с множественными фильтрами по свойствам в этих движках даже проще полнотекстового поиска (так как фильтры не нужно разбивать на слова, прогонять через алгоритм стемминга с его возможными косяками - они уже "готовы к употреблению" сразу).
Бонусом практически "бесплатно" получаете т.н. "фасеточные итоги", отвечающие на вопрос "сколько у нас товаров с таким то свойством" (это часто используется в отображении фильтров на сайтах).
====================
Вывод:
Если вам принципиально на MySQL - просто см. описание схемы данных EAV. Она как раз именно что для этого.
Если вам нужно чтобы все летало - см. SphinxSearch (он крайне быстр и нетребователен к ресурсам).
P.S.:
SphinxSearch
Умеет выдирать данные из MySQL. На их основании строит уже свой собственный узкоспециализированный но очень быстрый поиск для выборок, в вашем случае, по названию и по свойствам товаров.

Худший ответ:
Я в подобной ситуации, использовал поле с типом JSON. Т.е. содержимое такого поля у одного товара может быть таким: [ "color" : black, "size" : 42, "gender" : "male", "season" : "winter"], а у другого следующим : [ "color" : black, "size" : 42,  "kind" : "mountain", "sole" : "vibram"]. Нынешний MySQL позволяет по таким полям осуществлять поиск, а в ЯП имеются функции по раскодировке JSON в обычный массив.
Вопрос: Какую ОС поставить на слабый нетбук?

Лучший ответ:
Вопрос совершенно ни о чём! Пользователь работает не с ОСью, а с прикладным программным обеспечением, решающим конкретные задачи. Может Вы хотите запускать 1С, Firefox с сотней вкладок, Photoshop и всё это одновременно с проигрыванием FullHD видео?
Системным требованиям Windows 7 x86 ноут соответствует. А вот требованиям современного прикладного софта, так сказать, требованиям жизни - уже никак... Так что от смены оси никаких чудес не ждите, не будет их!

Худший ответ:
debian+lxde или xfce, или без DE
Вопрос: Как сделать разрешение на просмотр страницы?

Лучший ответ:
<?
	session_start();
	if($_POST['is18years'] == 'yes' || $_POST['is18years'] == 'no') $_SESSION['is18years'] = $_POST['is18years'];
	if(isset($_SESSION['is18years'])) {
		if($_SESSION['is18years'] == 'no') {
			header("Location: /access_denied.html");
        	exit; 
		}
	}
?><?
	if(!isset($_SESSION['is18years'])):
?>
<div class="body_overhead">
	<div class="overhead_window">
	<div class="oh_wnd_header">
		<p>Доступ к сайту могут осуществлять только лица, достигшие возраста 18 лет</p>
		<p style="font-weight: bold;">Вам уже есть 18 лет?</p>
		<p>
			<span style="color: green" class="is18years yes18">ДА, мне уже есть 18 лет</span> | <span style="color: red" class="is18years no18">НЕТ, мне еще нет 18 лет</span>
		</p>
	</div>
	</div>
</div>
<style>
	.body_overhead {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.95);
		z-index: 999999999;
	}
	.overhead_window {
		top: 10%;
		left: 30%;
		width: 40%;
		background: #fff;
		position: relative;
	}
	.oh_wnd_header {
		padding: 20px;
		color: #333;
		text-align: center;
	}
	.is18years {
	cursor: pointer;
	}
</style>
<?
	endif;
?>
<script>
	// проверка на 18 лет
	$('.is18years').click(function(){
		if($(this).hasClass('yes18') || $(this).hasClass('no18')) {
			var is18years = $(this).hasClass('yes18') ? 'yes' : 'no' 
			$.ajax({
  				type: "POST",
			  	context: document.head,
 				data: { is18years: is18years },
			  	success: function(){
			  		if(is18years === 'yes') {
			  			$('.body_overhead').hide()
			  		} else {
			  			document.location.href = '/access_denied.html'
			  		}
			 	}
			})	    
		}
	})
</script>

Худший ответ:
модальное окно + cookies
Вопрос: Как посчитать среднее значение в массиве?

Лучший ответ:
Смотри, берешь две переменные - счетчик и сумма.
Перебираешь массив.
Если число больше нуля - увеличиваешь счетчик на 1 и прибавляешь к сумме.
Потом делишь сумму на счетчик.

Худший ответ:
Делаете функцию для вычисления среднего по одному месяцу:function getMonthAverage($data, $month) {
  $monthData = array_filter(array_column($data, $month), function($n) {
    return $n > 0;
  });
  $count = count($monthData);

  return $count ? array_sum($monthData) / $count : 0;
}
И вызываете её для тех месяцев, по которым хотите узнать средние значения, например:$juneAverage = getMonthAverage($data, 'june');
UPD. Или можно посчитать сразу по всем месяцам:$allAverage = array_reduce(array_keys($data[0]), function($acc, $n) use($data) {
  $acc[$n] = getMonthAverage($data, $n);
  return $acc;
}, []);
Вопрос: С чего начать систему учёта склада?

Лучший ответ:
Я на своей практике (а работаю я именно с системами учета) из нормальных могу порекомендовать такую структуру:
1) таблица  Приходов Income (заголовок,  где указанны дата прихода,  подразделение куда пришел и прочее) + IncomeGoods - (тело заголовка, где указан товар, количество и цена)
2) Таблица Расходов Outgo(заголовок,  где указанны дата расхода,  подразделение от куда ушел) + OutgoGoods - (тело заголовка, где указан товар, количество и цена)
3) таблица взаимосвязей - RelationIO (идентификаторы приходной позиции товара из IncomeGoods  и OutgoGoods   )-> таблица взаимосвязей приходов и расходов. 
В чем суть таблицы: у вас есть приход допустим 20 штук. Вам нужно забрать из него 10 штук. Вы записываете в  RelationIO  то количество которое вы забрали из прихода и что его забрало.  
Только понадобится написать  процедуру проведения накладной - под проведением я подразумеваю набор свободных остатков для расхода. 
Теперь по отдельным пунктам. Проводить документ только в транзакции. Никакие вычитания в данной системе не нужны. Все операции обратимы. Вы можете убрать взаимосвязи и удалить расход при каждом обращении рассчитывать предыдущее состояние склада, вычитать из него 3-4 тысячи заказов и прибавлять 3-4 сотни поставок – не решение
Для проведения это единственное правильное решение. Иначе готовьтесь к большой Ж...  в приходах и расходах, когда вся ваша система разрастется. Создайте в заголовках места хранения "Основное" и "Брак" + прочие По последнему писать не буду.  Много там слишком. Если такая система заинтересует, могу  примерную структуру таблиц прислать с алгоритмом (или кодом на MS SQL) для  проведения   

Худший ответ:
по квадратикам:
1. только транзакции
2. ничего не надо рассчитывать: пакетная обработка с длиной пакета N-операций между состояниями
3. это пару свойств (если детально нужно, то - подмножества) товарного предложения
4. см. п.1
Советую Вам спроектировать диаграмму состояний на UML, чтобы Вы могли наглядно анализировать движение данных между конечными состояниями.
Вопрос: Аналог IrfanView для Ubuntu. Как быстро вырезать и сохранить фрагмент?

Лучший ответ:
Shift+PrtSc, выделение нужной области, Save

Худший ответ:
Не знаю, существуют ли близкие аналоги (кажется, нет), но она (IrfanView) замечательно встаёт под Wine. Без каких-либо танцев с бубном. Я так и решил эту проблему. )
Вопрос: Как передать значение переменной js в php переменную?

Лучший ответ:
Ajax запрос вы отправили в файл и на этом история закончилась.
Потом сколько бы вы не открывали файл, он так и будет с пустой переменной.
Вам нужно отправлять запрос к файлу, в котором переменная будет сохраняться, а в другом файле выводиться СОХРАНЁННАЯ переменная. Как сохранить? Масса вариантов: $_SESSION, setcookie(), записать в файл или базу.

Худший ответ:
Письмо наверняка отправляется по заполнению какой-то формы? Вы можете вставить значение region в input[type=hidden] на форме, и отправлять с неё данные на скрипт отправляющий письмо. А в скрипте переменная уже будет доступна в $_POST
Вопрос: Почему при вызове функции из цикла повторяются «случайные» значения?

Лучший ответ:
Random rnd = new Random(); создаёт случайно число на основе текущего времени. Вы вызываете эту функцию много раз подряд, время одинаковое - результаты повторяются.

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

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

Худший ответ:
Возможно: ловится хеш (hash(password+hash(слово))) через MiTM и авторизуется кто угодно дальше под этим хешем.
UDP: password+hash(слово) = пароль2, который также подбирается.
Чуть надёжнее, так:
1. На приветствие клиента, сервер генерирует случайную соль и отвечает ею: RSALT
2. Клиент хеширует пароль этой солью, добавив свой случайный параметр RANDOM и свою случайную соль SALT для получения парольного ключа: HKEY=hash(pass+SALT), затем отсылает на сервер 2 параметра:
HASH=hash(RSALT+RANDOM+HKEY), RANDOM
(SALT - также сохраняем на клиенте для последующих авторизаций!)
3. Сервер сохраняет (при установке/смене пароля): HKEY
4. Проверка при авторизации: HASH===hash(RSALT+RANDOM+HKEY)
Таким образом, соль - хранит у нас клиент, а сервер - генерит всегда уникальный запрос.
Вопрос: Существуют ли шаблоны онлайн-конструкторов сайтов?

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

Худший ответ:
на themeforest полно, и стоят 3 копейки
Вопрос: Почему знаки вопроса ��� в PHP?

Лучший ответ:
php.net/manual/ru/function.iconv.php
У Вас, наверное, будет что-то подобное:
$str = iconv('utf-8', 'windows-1251', $str);
или
$str = iconv('windows-1251','utf-8', $str);

Худший ответ:
php.net/manual/ru/function.iconv.php
У Вас, наверное, будет что-то подобное:
$str = iconv('utf-8', 'windows-1251', $str);
или
$str = iconv('windows-1251','utf-8', $str);
Вопрос: Какую cms выбрать для интернет большого магазина?

Лучший ответ:
А ТЗ есть?
ТЗ на бэкофис? Бизнес-процессы?

Худший ответ:
ИМХО! Для реально большого нужно пилить самопал под конкретные задачи, либо искать специализирующуюся студию.
Вопрос: Откуда выскакивает бесконечность?

Лучший ответ:
var m_1 = 0
while (m_1 <= 10){
  if (m_1 === 3){      m_1 = m_1 + 1; // вы забыли изменить значение и оно "замерзло" на 3
    continue;
  }
  console.log (m_1+1)
  m_1 = m_1 + 1
}

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

Лучший ответ:
a = input("Сообщение: ")

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

Лучший ответ:
на клиентской части надо сделать редирект (напр. location.href = '...' )

Худший ответ:
В функция openPromo в конце поставь window.location.href=""
Вопрос: Популярные плагины для Laravel — какие именно?

Лучший ответ:
Совсем мастхэв наверное только два
barryvdh/laravel-ide-helper
barryvdh/laravel-debugbar
А дальше по задачам, какие надо решать.
Очень хорошего качества пакеты у этих ребят:
https://spatie.be/open-source/packages
https://github.com/beyondcode
Если сайт не чистый SPA, но активно юзается js в виджетах, то скорее всего понадобится следующее:
aaronlord/laroute
laracasts/PHP-Vars-To-Js-Transformer

Худший ответ:
Все что вам будет нужно, ищите на гитхабе например 'laravel messenger', 'laravel image croper'...
Вопрос: Кем работать после окончания «Инфокоммуникационные технологии и системы связи»?

Лучший ответ:
Кем угодно.
Образование и дальнейшая работа слабо связаны друг с другом.
Есть исключения:
Без профильного образования вы не сможете практиковать как врач (только санитаром).
Без профильного образования вы не сможете стать офицером (прапорщик - это потолок).
Без прохождения обучения на водителя, вы не сможете работать водителем.
Судьям, нотариусам требуется юридическое образование.
И т.п.
В ИТ таких ограничений нет.
Есть небольшие исключения и в ИТ:Госконторы, крупные корпорации, банки - требуют корочки. Хоть какие-то. Конкретная специальность не важна.При этом крупные корпорации специализирующиеся на ИТ этого не требуют, но их наличие упрощает трудоустройство пока у вас нет опыта. После набора опыта корочками даже не интересуются.Профильные корочки будут нужны для получения рабочей визы (по туристической визе работать нельзя) для работы за границей на заграничные предприятие.Для удаленной работы на иностранную фирму корочек не требуется.

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

Лучший ответ:
Терморектальный метод вскрывает любые пароли. Эта защита сработает только в случае, если лицо, знающее пароль, немедленно стреляет себе в голову. Во всех прочих случаях - самое уязвимое звено в этой схеме - человек. 
Я уже много раз отвечал на подобный вопрос и всегда проблема одна и та же - строя защиту от "людей в сером", Вы предполагаете, что они будут соблюдать некие правила игры, и строите защиту, пытаясь переиграть их техническими способами. А "люди в сером" мыслят по-другому. "Я десять лет трупы по лесам откапываю и бомжей из подвала достаю - а вы мне тут с доменами..." (С) Некий опер У них стоит задача получить данные. И они ее решают привычными им способами - например, паяльником в #0пе.

Худший ответ:
Лучше гвоздя в ЖД защиты при изъятии нет.
Вопрос: Как сделать такой синий эффект на фото в фотошоп?

Лучший ответ:
Черно-белое фото на нем слой с синей заливкой в режиме Screen.

Худший ответ:
Берешь прямоугольник, рисуешь его на весь экран, закрашиваешь синим, позицию на передний план и крутишь прозрачность слоя
Вопрос: Как в jQuery/javascript сравнивать дату?

Лучший ответ:
Воспользуйтесь библиотекой Moment.js
У нее есть прекрасный метод diff(). С помощью этого метода вы получите разницу между датами в любой удобной для вас величине, от лет до милисекунд.

Худший ответ:
Вот так можно конечно тык. Но, лучше попробуйте формат ставить правильный, чем парсить таким образом
Вопрос: Нормально ли для bitrix разработчика требовать 70т.р. зарплаты в Сочи?

Лучший ответ:
Не очень понятно зачем требовать 70 если зарплата от 75 это какой то идиотский прикол что ли?

Худший ответ:
В описании вакансии написано что зп от 75 т.р.
да, обязательно требуй 70т.р.
Вопрос: October CMS и тысячи страниц?

Лучший ответ:
Почему бы не сгенерировать тысячу страниц и свой трафик каким-нибудь apache benchmark вместо того, чтобы гадать на кофейной гуще?

Худший ответ:
На jurist.by около 1 000 000 уникальных страниц профилей юридических лиц. Полет нормальный. =)
Вопрос: Как записывать числа в файл в течении дня?

Лучший ответ:
Зачем вам файлы? Поработайте с датой и временем, чтобы генерировать циферки. 
Например, за основу берете дату, переводите ее в time();
Затем каждый день приписываете 3-5 заказов, в зависимости от часа. Можно делать зависимости рандомно.

Худший ответ:
function fakeIncrement($now, $startTimer = "2018-12-03 08:10:53", $tickPerHour = 5){
    $startDate = strtotime($startTimer);
    $seconds = $now - $startDate;
    $offset = (int)date('H', $now);
    $offset = $offset % $tickPerHour;

    return (int)($seconds / 3600) * $tickPerHour + $offset;
}
Ну и тестfor($i=0;$i<50;$i++){
    echo fakeIncrement(time() + $i * 3600)."<br>";
}
Вопрос: Ребята где учить C# сейчас?

Лучший ответ:
Можно здесь глянуть - https://metanit.com/sharp/

Худший ответ:
Я учил по этой книге. Там все с нуля до создания полноценных приложений.
https://www.ozon.ru/context/detail/id/5648956/
Вопрос: Если у меня динамический IP, то определенный сайт каждый раз, при смене IP «воспринимает» меня за разных людей?

Лучший ответ:
За одного. Редкие сайты отличают юзера по IP, в основном они используют cookie для идентификации.

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

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

Худший ответ:
webmoney, киви, телефон, сбер для РФ
Вопрос: Как создать «виртуальную» локальную сеть через интернет?

Лучший ответ:
А не лучше ли было бы перейти на Гугл Таблицы, у них групповая работа поприличней организована чем у файлового варианта экселя, и не придется никакие VPNы строить?
Ну а так самое простое это Hamachi, либо VPN на шлюзах филиалов.

Худший ответ:
Eсли у вас несколько офисов\филиалов то вам их нужно связать VPN туннелем через интернет, настраивается это на маршрутизаторах офисов. туннель выбирайте изходя из возможностей ваших маршрутизаторов.
Вопрос: Шрифты. Теория. Какой рукописный шрифт использовать для заголовков (h1, h2, ...), если основной Open Sans?

Лучший ответ:
Причём интересует не только кириллица, но и латиница (даже без поддержки русского). Ещё, желательно, из коллекций Google Font.
Тогда стоит начать поиски с сайта fontpair.co, там как раз собраны хорошие сочетания разных шрифтов из коллекции от Google.

Худший ответ:
желательно, из коллекций Google Font
С кириллицей их всего 4 в Handwriting + Лобстер в Display. Так что выбор огроменный :-(Какой рукописный шрифт использовать 
Любой рукописный шрифт имеет свое предназначение.
Условно - на сайте, посвященном Шекспиру, Лобстер будет явно неуместным, так же, как и Паратайповские Прописи. 
Или же парашютовский Чемпион будет идиотски смотреться на сайте (да вообще на практически любом) :-)
Так что унифицированного рукописного на все случаи жизни нет. Или есть попытки принудительной унификации.
Вопрос: Как лучше всего реализовать данное решение?

Лучший ответ:
А просто проверить, что строка начинается с http:// или https:// вам будет недостаточно? Это и могло бы стать частью формулы-счетчика.

Худший ответ:
Почта, папки, метки и почтовые правила/фильтры - Вам помогут справиться с этой задачей.