Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой почтовый сервис посоветуете?

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

Безопасность бесплатной не бывает. Если кто-то предоставляет вам услугу бесплатно - значит он как-то зарабатывает на чем-то другом (либо услуга соответствующего качества).

Чтобы соблюсти пункты 2 и 3 - лучше всего иметь почту на собственном сервере. Но это, разумеется, небесплатно (как в плане оплаты за сервер, так и в плане усилий по настройке/оплаты специалиста)

Худший ответ:
potonmail. Если конечно, его не заблокировали и он сам себя не заблокировал :)

Искал как-то сервис, который дает почту без телефона - кроме протона не нашел ничего..
Вопрос: Работа с датами?

Лучший ответ:
Да, это задача на работу с датами.

Худший ответ:
datetime в помощь.
Вопрос: Посоветуете ipsec IKEv2 клиент для windows?

Лучший ответ:
Какие методы шифрования для Вас наиболее безопасные?
Из коробки Windows поддерживает aes256 и sha2, при желании можно настроить что-угодно с помощью Set-VpnConnectionIPsecConfiguration.

Худший ответ:
Я с windows ковырялся давненько, уже не помню на чём конкретно ломалось,
но по сертификату с такими настройками не поднимается.
фаза 1 
aes256 sha512
dh 20\21
фаза 2
aes256(cbc\ctr) sha256
dh20\21
можно настроить что-угодно с помощью Set-VpnConnectionIPsecConfiguration.
Я не смог. У меня не завелось.

Forticlient работать не будет - он работает исключительно со своим оборудованием
у меня вот прям щас работает.  на остальные вопросы вроде выше в посте ответил
Вопрос: Почему в tarantool\redis хранимые процедуры если не на SQL, то на Lua?

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

Худший ответ:
Почему во всех БД — если хранимые процедуры не на SQL, то на Lua?
Ну почему сразу "все". Вот в postgres есть питон, например.
Вопрос: Как верстают сайты на React и Next?

Лучший ответ:
Верстка делается сразу в React компонентах ? Или вначале делается классическая верстка, а потом переносится в React?
Как Вам удобнее.
Можно заказать вёрстку на аутсорсе, а потом перевести на реакт. А можно сразу верстать на реакт компонентах.

Если я делаю какой-то сложный с точки зрения вёрстки компонента - я сначала просто верстаю его на чистом HTML, потом декомпозирую на подкомпоненты, если это имеет место быть, а потом накидываю реактивность и логику условного рендеринга. Я считаю, так компонент получается качественнее, с точки зрения вёрстки.

 если сайт на React, там все должно быть на React или допускается сделать некоторые элементы на нативном Js
Реакт по своей природе - библиотека, которая может быть добавлена на любой сайт.
Что означает, что у вас может быть 90% статичной вёрстки и 10% на реакте(какие то виджиты, отдельные блоки или сложные формы).
И наоборот.
Как и 100% на реакте.

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

2.  Если сайт на React, там все должно быть на React или допускается сделать некоторые элементы на нативном Js?
React использует концепцию virtual dom, поэтому нативные js элементы (const div = createElement('div')) не допускаются. Но есть похожий способ создания элементов без синтаксиса jsx (https://ru.reactjs.org/docs/react-without-jsx.html). Если React встраивается на уже готовый сайт частично, то часть сайта может быть спокойно на нативном JS, а другая на React.
Вопрос: Как располагаются в памяти элементы массива обьектов класса?

Лучший ответ:
Объекты в C++ имеют постоянный размер, известный на этапе компиляции и равный sizeof(экземпляр)

Утверждение:
 объект класса может содержать и вектор ... а значит разные элементы массива(объекты класса) могут занимать разное количество байт в памяти.
неверно, так как вектор хранит свои данные не в своем экземпляре, а туда, куда их засунет аллокатор (обычно засовывает на кучу).

Утверждение:
[объект класса] и шаблонным может быть ... а значит разные элементы массива(объекты класса) могут занимать разное количество байт в памяти.
неверно, так как все шаблоны конкретизируются на этапе компиляции.

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

Худший ответ:
Отличный вопрос!

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

Как эта проблема решается в с++? 
С++ не решает эту проблему. Эту проблему решаете вы как программист.
Самое простое что приходит в голову - хранить в массиве не сами объекты, а указатели на них или ссылки.
Так же было бы не плохо запретить возможность создавать экземпляры базовых классов, тогда у вас в принципе не будет возможности создать подобный массив.
Вопрос: Возможна ли проверка условия внутри ON CONFLICT DO UPDATE?

Лучший ответ:
Описание синтаксиса весьма красноречиво намекает о реализации
DO UPDATE SET ... WHERE condition

melkij=> create temp table foo (item int primary key, d date, price numeric);
CREATE TABLE
melkij=> insert into foo values (1, '2021-07-30', 100) on conflict (item) do update set price = excluded.price, d = excluded.d where excluded.d > foo.d;
INSERT 0 1
melkij=> table foo;
 item |     d      | price 
------+------------+-------
    1 | 2021-07-30 |   100
(1 строка)

melkij=> insert into foo values (1, '2021-08-01', 110) on conflict (item) do update set price = excluded.price, d = excluded.d where excluded.d > foo.d;
INSERT 0 1
melkij=> table foo;
 item |     d      | price 
------+------------+-------
    1 | 2021-08-01 |   110
(1 строка)

melkij=> insert into foo values (1, '2021-07-20', 80) on conflict (item) do update set price = excluded.price, d = excluded.d where excluded.d > foo.d;
INSERT 0 0
melkij=> table foo;
 item |     d      | price 
------+------------+-------
    1 | 2021-08-01 |   110
(1 строка)

Худший ответ:
Это делается следующим образом:
insert into products values (1, '2021-05-01', 150) 
on conflict(id) do update 
set 
	date = case when excluded.date > products.date then excluded.date else products.date end,
	price = case when excluded.date > products.date then excluded.price else products.price end;

PostgreSQL fiddle
Вопрос: Можно ли как-то запретить пользователю через консоль браузера отключать стили?

Лучший ответ:
Тебя вообще касаться не должно что там пользователь делает через консоль браузера.
И любой js код юзер может изменить. Даже взять полностью код и вырезать лишнее. 
Есть например расширение "User Javascript and Css", с его помощью можно на любую страницу свой код впихнуть.
Если это какая-то игра и тебе нужно ждать проигрывания анимации, то привяжи данные к серверу

Худший ответ:
Можно отключить контекстное меню на странице, этого вполне хватает для дефолтных ситуаций по типу запрета на скачивание картинки и т.д. Но более опытному челу, если ему это действительно нужно, не составит труда нажать F12, и сделать свои дела
Вопрос: Как перенести сайт без потери по СЕО?

Лучший ответ:
Я перенес все title,meta key,meta desc,h1-h3.

Надеюсь это делали на отдельном поддомене, закрытом от индексации.

301 редирект со старых на новый урл и все? или еще есть нюансы?

В целом - это все.

Можно еще добавить:

1. Оставьте старую версию где-нибудь на поддомене и закройте от индексации. Потом будет легче спарсить урл и составить соответствия между ними если что-то не так пойдет.

2. Проверьте базовые редиректы: с www на без www и прочие. Сервис в помощь https://apollon.guru/duplicates/

Худший ответ:
Как раз есть статья как надо делать
https://habr.com/ru/post/595173/
Вопрос: Как задать собственные порты в linux?

Лучший ответ:
Правильно защитить хост - поставить на нем firewall  и закрыть все неиспользуемые порты. Если есть что-то критичное, то лучше пробрасывать эти сервисы по ssh-proxy, а в самом ssh запретить вход по паролю, оставить только с использованием ключей.
Не ленитесь на http ставить реверс-прокси, например nginx.
Используйте контейнеры (docker, lxc).
На фаерволе запретите исходящий трафик, поставьте по умолчанию правило drop packets (значительно увеличит время перебора портов).

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

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

Худший ответ:
Можно. Так же арендовать игровой сервер и усиановить туда нажнвй софт
Либо голую систему с гпу и так же поставить
Вопрос: Легализация фриланса для несовершеннолетнего?

Лучший ответ:
Если зарабатываешь три копейки забей
Если больше сотки в месяц то самозанятый

Худший ответ:
Молодые люди с 16 до 18 лет, которые впервые зарегистрируются в качестве самозанятых после 1 января 2021 года, могут получить право на дополнительный налоговый вычет. Им будет предоставлен дополнительный «налоговый капитал» в размере одного МРОТ – 12 130 рублей. В результате общая сумма льготы с учётом стандартного вычета в 10 тыс. рублей составит для них 22 130 рублей. Эти деньги можно будет тратить на уплату будущих налогов.
Вопрос: В чем разница между undo commit, revert commit и reset branch to commit?

Лучший ответ:
Там в меню твоей IDE есть ещё несколько методов откатить изменения. 
Это же JetBrains? Все способы подробно описаны в справке, например вот как в IntelliJ IDEA

Reset удаляет все коммиты выше выбранного. Там предлагается четыре варианта этой команды. Отличия их в том, как поступить с изменениями в рабочем каталоге и в индексе. 

Revert не удаляет коммит, а создаёт новый, который описывает действия необходимые для отмены выбранного коммита.

Undo позволяет отменить последний коммит. Но изменения коммита предлагает сохранить в новый changelist. Файлы в рабочем каталоге не изменятся и можно будет их подправить и заново закоммитить.

Drop — удобная команда для удаления произвольного коммита из середины истории.  Под капотом там на самом деле выполняется интерактивный rebase, но в автоматическом режиме.

Revert Selected Changes напоминает Revert,  но отменяет изменения отдельного файла, а не всего коммита. Эта команда доступна на Панели изменёных файлов.

Get позволяет вернуть любой файл к состоянию на определённый коммит в истории. Выберем файл любым удобным способом и контекстное меню Git | Show History покажет все коммиты, в которых изменялся данный файл. Кликнув на нужном коммите правой кнопкой увидим команду Get

Худший ответ:
revert создаст новый коммит, который компенсирует действие старого.
reset branch to commit - удалит все коммиты, которые идут после коммита, на который происходит ресет.

Undo - это как ресет, но только он отменит этот коммит
Вопрос: Насколько этично предлагать заказчику переделать сайт, который я же и сделал года 3-4 назад?

Лучший ответ:
Предположим, вы 3-4 года назад приобрели телефон. 
Этично ли производителю телефонов продавать вам новый, учитывая что он понимает, что тогда «сделал какую то хрень» и «сейчас офк сделал гораздо лучше» и даже предполагает, что «еще через 3 года будет считать хренью то, что сделал сейчас»?

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

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

Теперь про техническую сторону. Не знаю че у тебя там за CMS такая, впервые слышу про нее, но в целом механизм прост, так как ты сам сказал про логин и пароль для доступа.

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

Худший ответ:
Надо сделать, если нет обычную регистрацию/авторизацию пользователя, затем определить пользователя в группу "Пользователи", а после оплаты нужно сменить группу на "Пользователи по подписке".
Если подписка на месяц, то после оплаты прибавлять к оплаченным дням +30 дней. На cron каждый день проверять даты и переносить пользователя из одной группы в другую для отмены подписки.
---
Вариант, как вы описываете, что авторизационные данные получает пользователь после оплаты - плохой. Что получается - продление = созданию нового аккаунта? Плохо.
---
Самое простое подключить Юмани виджет, в него можно зашить номер аккаунта из вашей базы. После оплаты платежная система делает ответ, вам надо получить ответ, что сумма оплачена и сменить группу пользователя. Все автоматически и не требует особых навыков.
---
Для разделов сайта необходимо настроить права доступа на уровни групп пользователей.
---
Вариант, когда сначала оплата, потом регистрация тоже возможен, вернее не регистрация, а просто выдача доступа - логин и пароль (без ЛК). Тот же виджет с обязательным указанием email. Когда платеж проходит - в случае положительного ответа сгенерировать пару логин и пароль и выслать с помощью smtp сервера на адрес, указанный в платежной информации. Мне кажется, что при таком способе сложно продлевать подписку и объединять оплаченное время.
---
Юмони есть апи и виджет, работает и для физлиц. Но лучше ИП или Самозанятость - меньше проблем будет и сможете выдавать чеки.
---
Часа на 2 работы, включая регистрацию самозанятости)
Вопрос: Что использует Steam для запуска игр на Linux?

Лучший ответ:
Серьезно? Первая же ссылка в гугле!

Худший ответ:
И то и другое.
Если есть нативная версия, то используется она.
Если игра только для винды, то Steam использует Proton (форк Wine)
Вопрос: Какие книги по операционным системам на ваш взгляд лучшие?

Лучший ответ:
если ваши задачи – администрирование и девопс, книги по устройству осей вам нафиг не уперлись.

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

Худший ответ:
Изучать операционки можно/нужно по разному: в зависимости от цели. Т.е. изучать общие принципы работы - это одно; уметь работать с конкретной операционкой - немного совсем другое, да ещё и зависит от того, в каком именно направлении работать (например: сети, базы данных, Web-серверы, файловые серверы, кластеры).
Вопрос: Почему зарплаты go разработчиков такие высокие?

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

когда же уже поймут, что платят не за языки.

Худший ответ:
Дело в высоком спросе на Go разработчиков со стороны крупных IT-работодателей: Яндекса, Авито, Озона и тд.

Посмотреть сколько получают Go разработчики и сравнить с другими специальностями можно в зарплатном калькуляторе GetMatch: https://getmatch.ru/salaries/golang
Вопрос: Как настроить принтер canon на отправку сканов на почту?

Лучший ответ:
Ну, мейби он настолько стар, что не умеет в TLS или не хочет жрать сертификат яндекса.

Так что выходом может быть наделать внутри периметра организации почтовик, который работает на старом добром порте 25.

Кстати, время на принтере не сбито?

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

Лучший ответ:
Сервис который нужен - Sieve , умеет фильтровать почту по разным критериям, делать автореспонден на нем тоже достаточно просто. 
Настройка Sieve: https://blog.tinned-software.net/setup-sieve-mail-...
Описание модуля vacation: https://doc.dovecot.org/configuration_manual/sieve...

Худший ответ:
После переустановки почтового сервера с нуля (postfix+dovecot+roundcube) вопрос решился сам собой. В Roundcube появился фильтр, с помощью которого можно настраивать как автоответчик, так и перенаправление и отправку копии письма... без всяких скриптов... через веб-интерфейс...
Вопрос: Как проверить материнку на совместимость с ЦП?

Лучший ответ:
Считать биос (можно программно), открыть в UEFI Tool, посмотреть раздел FIT, там будет микрокод для ЦПУ с идентификаторами. Погуглить их, каким процам соответствуют. Вот вам и CPU Support List получился

Худший ответ:
Накопал инфу. Судя по всему Xeon должен зайти если я всё правильно понял



Биос прошился без проблем штатной прогой от НР.

Добавлено спустя 2 недели.

В итоге приехал камень с алика. Был заказан E3 1230 v3 .
Сначала думал беда. Изображения нет) Потом вспомнил, что он без видеоядра. Подкинул видеокарту и всё ок.
Всё завелось, винда 10-ка работает нормально, процессор  узнала. Температура на штатном кулере от НР 25 градусов. Нагрузку пока не давал. 

Встала другая проблема. Блок питания кастом. Обычный блок в посадочное место не встаёт( переходник с 6-ти на 24 пин не заработал. Материнка кстати тоже не простая. От блока 3 провода, 4пин на проц, 6-пин на мать и Р2 (6 пин) контроль. Теперь предстоит найти с этим.  Если кто знает как адаптировать такую мать под обычный блок напишите плиз.

Всем кто откликнулся СПАСИБО)

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

Лучший ответ:
Планировщик задач Вам в помощь. В задаче запускаете смотрелку PDF, параметром передаете файл с планом

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

Лучший ответ:
1. Научиться пользоваться поиском. 
https://qna.habr.com/search?q=Как+учить+Java%3F
2. Все.

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

Лучший ответ:
То что вы хотите не нужно делать через http, либо используйте web-socket, либо полностью перетащите этот функционал на фронт. Http предназначен для получения данных, а не отправки команд-сигналов с сервера. Манипуляции с ajax или переполнением буфера - также будут извращением.

Худший ответ:
Функции контроля вывода

<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    flush();
    ob_flush();
    sleep(1);
}
echo 'End ...<br />';
?>
Вопрос: Удаленно выключить антивирус в сети локального домена?

Лучший ответ:
запилить батник, групповой политикой добавить в  автозапуск, в конце не забыть удалить батник)

Худший ответ:
Тут описано, как временно отключить: https://remontka.pro/windows-defender-turn-off/
Вопрос: Изучение языков программирования — дело второстепенное?

Лучший ответ:
Изучать программирование для программиста - дело второстепенное.
Изучать строение глаза для офтальмолога - дело вторичное.
Изучать вождение для таксиста - дело вторичное.
Поняли иронию?

Худший ответ:
Изучение языков программирования — дело второстепенное?
ЯП - это дай боже 10% знаний разработчика, поэтому в целом это верно.
начать с тестирования, потом разработчиком?
Как это вообще связано?
Для "легкого старта" 
Легко и IT? Ты в своем уме?
Вопрос: Ошибка в файле main.py?

Лучший ответ:
pip install надо писать в консоли, чтобы установить пакеты, а не в файле с кодом.

Худший ответ:
Возможно, вы не установили данную библиотеку! Как я понял из комментария выше не можете таким образом устанавливать другие библиотеки! 
P.S команда pip является консольной утилитой и устанавливается при установке python, добавляя себя в переменную Path( отдельно от python.exe )
Вопрос: Как подключить по вайфаай комп через RJ-45 вход?

Лучший ответ:
Беспроводная точка доступа
считай тот же вай-фай роутер  только чуть проще и дешевле.
практически у всех вайфай роутеров есть режим работы "Беспроводная точка доступа"

Худший ответ:
Старый смартфон на андроиде тоже может решить данную задачу, если прижмет. Подключаете по USB и включаете режим модема по USB
Вопрос: Нормально ли не понимать в начале react?

Лучший ответ:
Изучение новой темы — как обход дерева*.
Попался непонятный момент, ставить на паузу и разбираться с непонятной темой. В процессе, возможно, встретятся ещё непонятности, с ними так же поступать. Рекурсия! : )

Но рано или поздно кэш в мозге заполнится почти всеми необходимыми деталями и новые «деревья» пойдут гораздо быстрее, на перемотке проскакивая моменты уже и так понятные из предыдущего опыта.

* – дерево не во дворе, а как структура данных.

Худший ответ:
npm в начале действительно пугает, но потом все становится на места и не так запутанно как может показаться.
npm i
npm run start 

Это даже не про реакт а про nodejs 

После этого порога на обычно реакте просто сможешь кодить. 
Доля непонимания останется всегда.
Можешь продолжать изучать и делать как говорят, все нормально.
Вопрос: Как обогнать конкурентов в ТОПе по выдаче в Гугл?

Лучший ответ:
Очень общий вопрос:

1. Сколько сайту лет? Если недавно появился, то может быть в песочнице. Если сайты конкурентов старые, то у них преимущество и очень значительное.

Промониторил конкурентов на тех.оптимизацию(тех.аудит через Screaming Frog)

2. С помощью этой проги нельзя сделать полный техаудит. Смотрели показатели сайта с помощью этого софта из search console и гугл аналитики?

Прогнал из через ahrefs - не совсем мощные ссылочные профили, я бы даже сказал так себе.

3. Они могут дроп домены использовать. Тогда их ахрефс может не видеть. Тем более, это не повод, чтобы не работать с собственной ссылочной массой.

4. Посмотрите скорость конкурентов и вашу, пузомерки по pagespeed, количество страниц в индексе.

Худший ответ:
Давно не обновляли контент ^^