Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Нужно ли профильное образование для работы в сфере информационной безопасности?

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

Худший ответ:
Получайте навыки работы с указанными продуктами, сервисами и железом. Это куда важнее профильного образования, если вы идете в коммерческую структуру. В гос. сектор я бы не советовал соваться ни при каких условиях. Для примера, когда я окончил универ по ИБ, зарплата соответствующего специалиста в налоговой было около 17к в месяц (еле отмазался от целевого направления в нее). Большая часть моих одногруппников разбежались по банкам и коммерческим конторам с зп от 30к. Выводы делайте сами))
Насчёт сертификатов - на начальном этапе они вам не понадобятся. Точнее, они будут большим плюсом, но затраты сил и денег на их получение буду слишком велики. Вас точно не возьмут на серьезную должность, а помощником\младшим инженером или вроде того - могут. Первое время будете получать мало денег, много учиться и ничего не понимать. В будущем уже можно получать сертификаты, может даже работодатель оплатит вам их получение. И тогда за вас будет говорить ваш опыт и ваши знания и, как подтверждение, эти сертификаты, а не профильное высшее.
Вопрос: Как решить проблему с CORS при использовании локального сервера и webpack dev server с прокси?

Лучший ответ:
В общем сам решил проблему! Как говориться: "Спасение утопающих - дело рук самих утопающих!"
Суть того что я делаю, я просто подменяю host:port в адресе заголовка в ответе от локального сервера (proxyRes.headers.location) на host:port webpack dev server'a и CORS идет нах...(лесом), так как не вдупляет, что его наеб... (обманули) ))) и подсунули другой адрес.devServer: {
    contentBase: params.path.public, // Путь до корневой дериктории, где dev server будет запрашивать файлы, которые не компилируются webpack'om
    // Например: c://web-site-path/public
    publicPath: params.path.publicPath, // Перфикс пути, по которому будут лежать файлы у вебпак дев сервера 
    // Например: '/public/assets/' - файлы будут доступны по адресу: http://anyships.site/public/assets/file_name.js
    host: 'anyships.site', // Host webpack dev server'a
    port: 3000, // Port webpack dev server'a
    hot: true, // Включить автоперезагрузку страницы при изменении файлов
    proxy: { // Собственно настройки прокси
      '**': { // С какого адреса webpack dev server'a будут проксироваться запросы на адрес локального сервера. 
        // В данном случае ** - значит все адреса проксировать, начиная с корня http://anyships.site:3000
        // Например: http://anyships.site:3000/user запрос на http://anyships.site/user (адрес из target ниже)
        target: `http://anyships.site`, // Целевой адрес локального сервера, куда будут проксироваться запросы с дев сервера 
        onProxyRes(proxyRes, req, res) {
          if (proxyRes.headers.location) { // Если есть заголовок со свойством location (Где храниться полный адрес запроса к локальному серверу)
            let location = proxyRes.headers.location; // Сохраняем адрес зоголовка location из ответа в переменную location
            console.log(`LOCATION: ${proxyRes.headers.location}`); // Выводит в консоль адрес до замены
            location = location.replace('anyships.site', 'anyships.site:3000'); // Заменяем адрес локального сервера на адрес webpack dev server'a
            proxyRes.headers.location = location; // Присваиваем в заголовок location подмененный адрес из переменной location
            console.log(`REPLACED: ${proxyRes.headers.location}`); // Выводит в консоль адрес после замены
          }
        }
      }
    }
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin()
  ]Надеюсь мой ответ поможет кому-то еще, кроме меня самого! )) Успехов всем!

Худший ответ:
Спасибо!
Если добавлять заголвок `access-control-allow-origin` внутри `onProxyRes`, то он не появляется в результирущем ответе
Вопрос: Как задать высоту блока по размеру картинки фона?

Лучший ответ:
Если я правильно понял задачу, то вы можете прописать так и фон будет подстраиваться под размер блокаbackground-position: center center;
  background-size: cover;

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

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

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

Лучший ответ:
Здесь уже писали о scrapy
Команда этого проекта запустила платформу https://scrapinghub.com - панель управления и мониторинг спайдеров

Худший ответ:
Crawl and monitor +1000 websites
https://stackoverflow.com/questions/19618735/crawl...
И вот что-то подобное, судя по описанию - The Crawler dashboard view shows you a much more in depth view of your current Scrapy Crawlers. Here you see breakdowns of response codes, machine load balances, and successful outbound Kafka messages.
scrapy-cluster.readthedocs.io/en/latest/topics/adv...
Вопрос: В правильном ли направлении строится система роутингов?

Лучший ответ:
Направление более-менее правильное, но путь еще предстоит большой.
Что в роутинге делают htmlspecialchars и trim? Если в запросе пришел мусор, лучше не устраивать лотерею, а честно показывать 404. По крайней мере поначалу.str_replace('/', '\\', $str)Тестовый сервер на windows? В последствии он только на windows и будет крутится?
(Хинт: есть такая штука как DIRECTORY_SEPARATOR)
Переменные с названиями $str и $str2 пораюдуют вас, когда вы попытаетесь вспомнить что делает этот код всего-лишь через полгодика.if (file_exists ...Не лучше ли поручить подключение классов автолоадеру? Он специально для таких случаев и придуман.
Ну и echo с выводом ошибок в браузер - это жесть. Надеюсь, что это временная заглушка.

Худший ответ:
Как уже сказал Stalker_RED направление правильное, но надо еще больше отделить мух от котлет.
Если ваш класс занимается как бы рутингом, то он и должен только этим заниматься. То есть он обязан вернуть только инстанс класса тому, кто его запрашивает. А тот кто вызывает проверяет нужный ли инстанс он вообще получил и что с ним дальше делать.
А вы вместо этого вы вызываете $action, делая медвежью услугу.
А вдруг вам завтра надо будет не сразу выводить данные в браузер, а получить контент по данному запросу? Вам придется шаманить сам рутинг и вот тут вот начнутся костыли.
Вопрос: Зачем нужно знать о сетевой модели OSI?

Лучший ответ:
Модель OSI, это не конкретная "запчасть", которая может использоваться или не использоваться. Это основополагающий принцип того, как нужно думать о любом стеке любых протоколов, под каким углом на него смотреть )) Она потому и называется открытой моделью межсистемного обмена, (а не паттерном построения стека протоколов), что дает наиболее общую картину того, какие у протоколов в стеке могут быть характерные роли, и предлагает принцип, как это можно структурировать для понимания их взаимодействия друг с другом. И ее не нужно заучивать, ее нужно просто понять, сам принцип, и потом использовать это понимание для понимания других, уже конкретных вещей.

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

Лучший ответ:
Ну вообще адреса в корпоративной сети должны назначаться из частных диапазонов. Тогда и проблем такого рода не будет.
В текущем случае вероятнее всего трафик предназначенный серверу БД уходит в шлюз по умолчанию, и идет к публичному адресу за пределами вашей сети.
Самое простое и правильное в данном случае перевести адресацию в сети в диапазоны 10.0.0.0 или  192.168.0.0, в общем просто поменяйте настройки DHCP.

Худший ответ:
А что шлюзом для сервера и интернета служит? какие IP?
В любом случае сделайте два маршрута - один 0/0 в интернет, другой IP/32 через другой шлюз (или интерфейс?). Поможет вам консольная команда route
Вопрос: Нужна ли captcha в мобильном приложении?

Лучший ответ:
Что мешает достать из вашего приложения данные API и использовать их для массовой регистрации?

Худший ответ:
Готовых не существует, но по принципам клиент-серверной архитектуры абсолютно любой клиент можно "подделать" с помощью сниффинга + реверс-инжиниринга оригинала, но это недешево и нелегко, вряд ли кто-то будет заниматься, пока приложение не наберет популярность, поэтому не торопитесь.
Вопрос: Соглашение NDA (неразглашении конфиденциальной информации)?

Лучший ответ:
Соглашение о неразглашении -- это установление режима коммерческой тайны, который устанавливается одноимённым законом. Это небольшой закон, можете почитать и удивиться количеству требований к тому, как этот режим нужно установить. Поэтому про режим забудьте.  Но это не значит, что отсутствие режима позволяет использовать третьим лицам ваши изобретения и идеи как им заблагорассудится.
Можно сконструировать разные соглашения, прописывать убытки и неустойки. Но главное, что нужно знать: полноценное NDA при выполнении всех требований служит одному -- переложению обязанности доказывания вины, то есть уже нарушитель коммерческой тайны будет должен доказать, что он вообще мимо проходил. Без полноценного NDA это в любом случае должны сделать вы. Убытки доказывать сложно, но при успешном доказывании такое "неполноценное" соглашение может помочь хотя бы в установлении их размера. А если придумать хитрые порядки передачи информации, то и сам процесс доказывания убытков упростит.
Но это всё требует полноценной и кропотливой работы юриста. Совета два: попытаться как уже рекомендовали выше изменить деталь (разбить на несколько частей?) либо вообще не беспокоиться, потому что копии устройства -- это нужно делать полноценный бизнес, продвигать, вкладывать деньги и пр. Шанс, что кто-то прямо начнёт в это деньги вкладывать и загорится этой идеей -- минимален.

Худший ответ:
В конкретном случае NDA мало поможет.
Тут принцип простой - вы говорите что вам нужно, и вам считают сколько это будет стоить.
Если вы начинаете ставить свои условия - вроде неразглашения и прочего, ваш просто вежливо но настойчиво пошлют подальше, или что более вероятно просто проигнорируют.
Зачем какой то компании ради разового заказа принимать на себя какие-то обязательства?
Такое возможно при заинтересованности.
Если вы убедите компанию что она гарантированно получит из этого выгоду, или просто заплатите ей денег за этой - тогда возможно она согласится рассмотреть доп. условия вроде NDA.
Вопрос: Что такое слот M.2 и слот M.2 PCIe?

Лучший ответ:
что такое слот M.2Это слот, физический интерфейс с определенными размерами в миллиметрах, и определенным расположением контактов.
В этот слот включаются разнообразные устройства.
Например WiFi модули, диски, и прочее.
Электрически этот слот может подключаться к SATA контроллеру, тогда туда можно вставлять SATA диски, а диски PCI-E работать не будут.
Так же он может подключаться к шине PCI-E, тогда туда можно вставлять диски с интерфейсом PCI-E, а SATA работать не будут.
Возможны и другие варианты.
Стандартизирован только физический размер и размер контактной площадки.
А вот подключаться он может куда угодно.

Худший ответ:
m2 - это уменьшенный интерфес SATA с его скоростью
m2 -e Это интерфейс работающий со скоростью pci-e
Визуально они могут различаться у разных производителей мат плат, но в целом это стандартизированный разъем
Вопрос: Windows 32бит и windows 64бит?

Лучший ответ:
Активируется. Ключ не влияет на разрядность системы, только на версию дистрибутива (Домашняя, Проффесиональная и т.д.).

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

Лучший ответ:
На фрилансе недостаточно быть хорошим технарём. Ты должен быть хорош во всем. В первую очередь, как продавец и проект-менеджер.

Худший ответ:
ну если на одной не получается сидите на 50 биржах
Вопрос: Как лучше называть страницы на сайте?

Лучший ответ:
Если язык на сайте русский - то лучше obreznaya-doska. Если мультиязычный - то для русского obreznaya-doska, для английского edged-board и тд

Худший ответ:
лучше obreznaya-doska.html
Вопрос: Есть физический сервер,на нем развернута Hyper-V,смогу ли резвернуть на другой машине виртуалку,просто скопировав ее файлы?

Лучший ответ:
Для такого есть экспорт виртуальной машины

Худший ответ:
Да.
Создаете виртуальную машину и подсовываете ей диск.
Хотя проще экспортировать.
Вопрос: Поиск Яндекс и Гугл заместо описания показывает содержание сайта. Что делать?

Лучший ответ:
не пользоваться
поисковики сами решают, так лучше кликают

Худший ответ:
Слишком многие сеошники стали манипулировать этими description, поэтому поисковики нередко их игнорируют.
К сожалению, тут ничего особо не исправишь.
Можно еще OpenGraph использовать, но он вряд ли особо поможет
Вопрос: Не могу запустить PHP сайт на VirtualBox. В чем проблема?

Лучший ответ:
Ты уверен, что у тебя в конфиге сайта прописан верный пароль?

Худший ответ:
посмотри 23-ю строку в class_db.php и куда она ведет. Это подключение к базе. Оно не настроено
Вопрос: Какой язык и инструментарий для обработки данных получаемых по http?

Лучший ответ:
1. Если ты в браузере откроешь "Исходный текст страницы" (например, в Firefox это правая клавиша мыши и пункт View Page Source) и увидишь то, что тебе надо - тогда это любой язык что ты лучше знаешь.
2. Если интересующий тебя текст находится внутри картинки, а не является отдельной сущностью - любой язык что ты знаешь если к нему есть библиотека распознавания букв. Или библиотека распознавания графических объектов, если тебе не буквы нужны.
3. Если браузер формирует страницу только после загрузки и по п. 1 ты данные не получаешь, а получаешь их только в живом браузере, то как тебе сказали или Selenium. 
4. То же что и пункт 3, более экономичный по ресурсам вариант. SlimerJS и т.п. скриптами управляеые "безголовые" браузеры. Там JavaScript.

Худший ответ:
selenium
Можно на питоне, джаве, руби, c# или ноде.
Вопрос: Какой Linux установить вместо Windows на Asus K53TA?

Лучший ответ:
Рекомендую оставаться на 10-ке.
Linux удобная система... после доработки напильником.
Хотя если вас не пугают трудности, то в принципе подойдет любой из популярных дистрибутивов.
Просто готовьтесь, что WTF в минуту будет большим. :-)

Худший ответ:
Заменить HDD на SSD, установить Windows 7, только чистый дистрибутив, а не сборку типа Vasyan_Mega_Edition.
Вопрос: Система для контроля прибыли/клиентов?

Лучший ответ:
таблица гуглодоков, просто и со вкусом, отовсюду доступна, считает искаропки разные проценты/суммы. Есть подсветка разными цветами - типа красный - долг, зеленый оплачено и тд. Стильно, модно, молодежно )

Худший ответ:
А Bitrix разве не подходит вам?
Вопрос: Почему выкидывает с приложения при выполнении OnBeforePopup на TChromium в делфи?

Лучший ответ:
Вы не создаете web в myBeforePopup

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

Лучший ответ:
Для начала изучения React вам хватит хорошего знания JavaScript.

Худший ответ:
Начинай изучать react, он как раз лежит на стыке всегг того, что ты перечислил. Если сразу перейдешь к декларативному подходу программирования безо всяких там jquery, то ты очень быстро станешь конкурентноспособным разработчиком. Я в своем городе как раз ищу джуниоров, чтобы научить их реакту и давать части своих проектов.
Вопрос: Что лучше header() vs htaccess?

Лучший ответ:
У каждого из инструментов есть свови плюсы.
 HTACCESS 
+ "ожидаемое" место для таких вещей, и  SEOшник полезет туда в их поиске.
+ Есть много  готовых пресетов и гернраторов для правил.
- Странное поведение редиректов ( нужно хорошо знать mod_rewrite чтобы понимать что и почему происходит)
-  не работает на nginx и iis
-  трудность создания редиректов с гет параметрами.
-  большое количество редиректов снижает производительность сайта ( Но на практике не заметно)
php
+ нет проблем с редиректами GET параметров
+ нет последовательности кодов типа 301 +301 +301+200
+ можно сделать редирект  типа  сделать 301 если текущий статус урла 404  да и вообще можно положить в 
404.php ( в .htaccess тоже можно но через ...)
+ сработает на любом веб сервере
-нестандартное место и искать их никто не будет
-seo шник не знает php

Худший ответ:
Если правил для переадресации не слишком много, то используйте переадресацию на стороне Apache/Nginx, т.е. файл .htaccess в Вашем случае.
Вопрос: Процесс разработки на Golang и Docker, в общих чертах?

Лучший ответ:
Конкретно Go действительно прекрасно может жить без Docker. Он на это заточен.

Худший ответ:
Можно все что угодно собирать и делать. 
Мне кажется в официальной документации все есть. Так как я не пишу на Go, то не совсем помогу. Я гуглил так: docker python container и пошел искать доки. А там уже само как-то все получалось.
Вопрос: Аренда на день удаленного рабочего стола (10 штук с разными IP)?

Лучший ответ:
Решение бесплатное, простое и быстрое Tor Brouser
https://www.torproject.org

Худший ответ:
Может проще прокси использовать?
Вопрос: Как закрыть PDO соединение mysql?

Лучший ответ:
Немедленно выкинуть на помойку этот ад кромешный, извращающий все принципы программирования. Использовать оригинальный ПДО. Прочитать Error reporting basics. 
Сделать обработку ошибок общую для всего РНР.
Заодно пропадет и проблема с закрытием соединения.

Худший ответ:
тип такогоpublic function disconnect() {
	$this->DBH = null;
}

DB->disconnect();
Вопрос: Как запустить коллбек после асинхронных функций?

Лучший ответ:
Вот это ваше называется callback hell'ом. Поэтому все таки стоить выделить время и почитать о промисах. Вот тут очень годно расписано все.

Худший ответ:
В данном случае они не очень сильно помогут, там будут такие же вложения, может быть немого более читаемо.
Я похожее делал через async/await, но там тоже надо было дождаться выполнения предыдущей команды, обработать результат и передать дальше. Тоже что-то такое получается, посмотрите вот тут с 180 строки
Вопрос: Почему функция в chai isBelow не хочет принимать строку?

Лучший ответ:
Mixed это какие-то влажные фантазии авторов chai — такого типа нет ни в JS, ни даже в TS или Flow. Если отдельно где-то в доках не указано, что Mixed это например number | string, то остается только смотреть в исходники и пытаться из использования понять, что именно подразумевалось. По всей видимости, подразумевалось «всё что угодно и каждый раз разное», оооочень полезная документация:)
Судя по коду — принимаются только Data и number.
Как не мучаться: expect('test' > 'rest').to.be.true;. Кажется контр-интуитивным, но на самом деле такие тесты проще читать и поддерживать.

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

Лучший ответ:
По своему опыту могу сказать:
Всё это бесполезный треш, все эти описания как надо, как правильно, как делают гуру, как делают в НАСА, солиды, банды четырёх, десяти, трёхсот спартанцев и т. д. Но, ровно до того времени, пока вы сами до этого не дойдёте. А дойти до этого можно только с опытом. Когда вы пишете что-то относительно не крупное, эти все вещи можно опускать. А когда приходите к огромному проекту, всё идёт само по себе, ибо иначе вы просто не можете с этим взаимодействовать, либо если система уже достаточно хорошо спроектирована, вам приходится писать правильно, т. к. по-другому либо не получится, либо вам дадут по шапке ревьюверы.
Если вы в любом проекте начинаете ещё до проекта строить идеальную мега-архитектуру там, где она не нужна, то это уже является в какой-то мере преждевременной оптимизацией, которую уже миллион раз обсудили. Ни одна софтварная корпорация мира не может спроектировать всё заранее, а в большинстве всё спроектировано и написано через жопу, это могу точно сказать, ибо много крупных продуктов приходилось реверсить. Вы бы знали, какое там гавно, даже в рамках правильного использования средств разработки и языков...
Рецепт прост: пробовать, делать, строить, ломать, перестраивать, ошибаться, снова перестраивать. Тупо взять и прочитать, как кто-то там сделал и у него получилось, не прокатит. У него звёзды сошлись, а у вас, у меня, или у неё не сойдутся точно в такой же последовательности. Используйте разные языки программирования, разные парадигмы, фреймворки. Это даёт прекрасное понимание о существовании различных архитектурных решений, которое не даст ни однин теоретический паттерн.
Я не хочу сказать, что все эти гофы и солиды не имеют смысла, они созданы для того, чтобы для начала просто с ними ознакомиться, отложить в подсознание и... благополучно забыть! Но потом, когда вдруг что-то писал и внезапно осенило: Да это же паттерн медиатор/обсервер/репозиторий/anyPattern! Вот тут и пригодится та самая книга трёх танкистов и собаки, которая просто направит в нужное русло, объяснит остальное, что не успел понять сам, и т. п.
Всё это моё понимание, работает для меня, может не работать для кого-то другого, кто, например, запоминает 95% прочитанной книги и может уже сразу же адекватно оценить где какой подход использовать, где нужно будет масштабироваться и т.д. 
Но, я пока что таких людей не видел...

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

Лучший ответ:
1. VDS с линуксом, ставим туда java
2. jar 
3. java -jar filename.jar

Худший ответ:
Почитай что такое https://www.heroku.com/ или покупай помесячно у хостера виртуалочку с линуксом (например https://uahosting.com.ua/vps.php). Там настраиваешь самостоятельно все Java окружение, деплоишь свою аппликуху и вуаля - она доступна по ip:port. Хорошая тренировка, рекомендую. Дальше кури что такое гитлаб, дженкинс, докер, вообщем впереди еще много интересного. Удачи!