Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как удалить файл с помощью функции DeleteFile() в C++?

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

Худший ответ:
Задача: удалить из каталога все файлы в названии которых есть символ "~" и размер которых 0.А так?#include<iostream>
#include<string>
#include<filesystem>
#include<vector>

// #include<windows.h> // DeleteFile ...

using namespace std;
using namespace experimental::filesystem;

auto pred = [](const auto& entry)
{
  return !is_directory(entry.path()) &&
         entry.path().filename().string().find("~") != string::npos &&
         file_size(entry.path()) == 0;
};

auto getFiles_if(const string& dir, decltype(pred) p)
{
  vector<directory_entry> result;

  if(!exists(dir))
  {
    cerr << "error: " << dir << "does not exist!";
    return result;
  }
  copy_if(directory_iterator(dir), {}, back_inserter(result), p);

  if(result.empty())
  {
    cout << "files not found\n";
  }

  return result;
}

int main()
{
  string dir = "D:\\temp";

  for(const auto& pf : getFiles_if(dir, pred))
  {
    string file = pf.path().string();
    cout << "delete file? " << file << " (y/n): ";
    if(char c = 0; (cin >> c), c == 'y')
    {
      if(remove(pf.path())) // Всего лишь заменить на DeleteFile(file.c_str());
      {
        cout << "delete: " << file << "\n";
      }
      // ...
    }
    else
    {
      cout << "skip: " << file << "\n";
    }
  }

  system("pause");
}
Вопрос: Почему CopyWebpackPlugin работает не правильно?

Лучший ответ:
В fileloader можно передать параметр outputPath, который принимает функцию, которая возвращает путь для файла. Вот так сделано у меня. url это имя файла с расширением, resourcePath абсолютный путь к обрабатываемому файлу, context это еще один параметр, который вы можете задать (а можете и не задавать), у меня images, по названию папки, куда я хочу складывать изображения. С помощью регулярного выражения проверяется resourcePath, если совпадает, то кидает файл в указанную папку. Если нет совпадений, то кидает в папку по-умолчанию, которая указана в последнем return. Попробуйте, возможно это то, что вы ищите.{
          test: /\.(png|jpe?g|gif|svg)$/,
          use: [
            {
              loader: 'file-loader',
              options: {
                name: '[name].[ext]',
                context: 'images',
                publicPath: (url, resourcePath, context) => {
                  if (/decoration/.test(resourcePath)) {
                    return `../${context}/decoration/${url}`;
                  }

                  return `${context}/${url}`;
                },
                outputPath: (url, resourcePath, context) => {
                  if (/decoration/.test(resourcePath)) {
                    return `${context}/decoration/${url}`;
                  }

                  return `${context}/${url}`;
                },
              },
            },
          ],
        },

Худший ответ:
Во-первых CopyWebpackPlugin работает правильно, он копирует что вам нужно
Во-вторых https://webpack.js.org/plugins/copy-webpack-plugin...
Если вы хотите чтоб ваш файл через file-loader был в img то измените генерируемое имяname: 'img/[name].[ext]'
Вопрос: Как для сайта прописать SPF чтобы почта отсылалась через smtp.mail.ru?

Лучший ответ:
IMHO, Если вы отправляете письма от имени пользователя своего MX-сервера - то не получится скрыть IP-источник. SMTP.mail.ru как промежуточный сервер просто обязан указать IP сервера-источника, то есть вашего SMTP.
Если вы будете отсылать письма от имени user_name@mail.ru, залогинившись в SMTP.mail.ru как пользователь user_name - тогда да, источником письма будет сам SMPT.mail.ru, и он сам будет обеспечивать SPF-запись для письма, источником которого сам и является. И ваш IP не будет фигурировать.

Худший ответ:
API - если что, юзай gmail, там для простого API точно есть
Вопрос: PHP: как сделать так, чтобы аргумент мог принять только одно из определённых значений?

Лучший ответ:
Мне почему-то кажется, что должно существовать какое-то более грамотное решение.
Возможно, вот такое:if(in_array($arg, ['foo', 'bar', 'baz'])) {
    // ...
}

Худший ответ:
Или такое:if (preg_match('/^(?:foo|bar|baz)$/', $arg) {
  // ...
}
Вопрос: Пускать на поток создание сайтов с помощью конструкторов. Какие подводные?

Лучший ответ:
100500 отцов, матерей, студентов и школьников

Худший ответ:
эта штука уже стала мемом наряду с созданием клона вк.
а по делу - создание конструктора хотя бы соответствующего по функционалу тому же https://ru.wix.com/ обойдется дорого и в плане денег и раскрутки.
причем раскрутка тут стоит в приоритете раньше чем разработка.
Вопрос: Правильный алгоритм разграничения доступа к папкам пользователей в AD?

Лучший ответ:
Папки создаются не по отделам, а по функциям-ролям.
Можно создать отдельную папку на каждый отдел, поскольку пописать все функции-роли внутри отдела весьма затруднительно, но все папки используемые несколькими подразделениями делаются именно по функциональному принципу.
Пример:
Папка отделов
..Папка Отдела продаж
..Папка Бухгалтерии
..Папка Юридической службы
Папка договоров
..Папка договора с поставщиками
..Папка договора с клиентами

Папки собираются и монтируются пользователям с помощью DFS.

Права пользователей делаются по модели AGDLP. На каждый объект доступа( как вариант папку, но это может быть и не папка ) создается access группа, являющаяся локальной доменной группой, для нее прописываются права. На каждую бизнес роль создается глобальная доменная группа. Пользователи включаются в глобальные доменные группы, глобальные доменные группы включаются в локальные доменные группы( access группы ).

Пример:
Папка отдела продаж
Локальная доменная группа saledepread( назначены права доступа к папке отдела продаж на чтение )
Локальная доменная группа saledepwrite( назначены права доступа к папке отдела продаж на запись )
Глобальная группа saledep( включена в локальные группы saledepread и saledepwrite )
Пользователь Василий Пупкин( включен в глобальную группу saledep ).

Худший ответ:
На каждый отдел создать OU и в нем группу пользователей Администраторы и Пользователи
В соответствии с правами добавлять туда пользователей
Кроме этого создать группы Администраторы и Пользователи для всей организации

\\company\fileshare - разрешения Администраторы и Пользователи уровня организации добавлять только нижележащие группы по отделам, не пользователей

\\company\fileshare\Отдел 1\Папка 1 - 
\\company\fileshare\Отдел 1\Папка 2 - сброс разрешений и добавление группы Администраторы Отдел 1 и Пользователи Отдел 1
Вопрос: Какой компьютерный стул порекомендуете?

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

Худший ответ:
Выбор стула, он так же, как выбор мыша - индивидуализован до крайности. То, что одному подходит идеально, другому вовсе не пойдет.
Я искал стул с хорошей опорой на спину, так чтобы спина поддерживалась, а не откидываться в положение полулежа. Я не знаю, как в этом отношении ведут себя сверхдорогие кресла, конечно же, но кресла , которые я смотрел, были двух типов - с жестко фиксированной спинкой и с качающейся. Те, что с жестко фиксированной - у них как правило подлоконтики жестко крепятся к сидушке и к спинке и качается весь этот угол. Это выглядит круто, в такое кресло наверное хорошо секретаршу посадить... сняв с нее с начала все, что снимается :) Но работать в таком кресле невозможно - потому что когда нужно откинуться на спинку - спина устает - опа и ты чуть ли не полулежишь.
Поэтому у меня дома относительно недорогое кресло, марку не помню, но стоило около 5 рублей.
Вопрос: Install centos on MacBook?

Лучший ответ:
Купить внешний Ethernet, вестимо.
Или создать виртуалку, установить туда все нужные драйверы на WiFi и записать полученный образ сразу на диск.

Но зачем это вам? Поизучайте в виртуалке, зачем оскварнять Макпук?

Худший ответ:
Запишите флешку. До кучи скачайте дрова. 
Установите и пользуйтесь. 
https://linuxconfig.org/how-to-install-wireless-dr...
Вопрос: Нужно ли подключать все форматы шрифтов?

Лучший ответ:
Желательно woff и woff2

Худший ответ:
могу ли я подключать только woff
Сейчас при подключенном "полном наборе" большинство браузеров тянет woff2 (легко увидеть в логах).

 или нужен полный набор?
Если у вас есть посетители, использующие Internet Explorer, то вам нужен EOT.
На эту тему есть масса дискуссий, кто-то считает, что безопаснее отдавать EOT всем IE (6-11), кто-то пытается отдавать WOFF пользователям IE, начиная с 9-го.

Одна из предпочитаемых конструкций для CSS выглядит примерно так (но кто-то .eot в начале и local не использует):
@font-face {
		font-family: 'Lobster';
		src: url('fonts/lobster.eot');
		src: local('Lobster'),
			url('fonts/lobster.eot?#iefix') format('embedded-opentype'),
			url('fonts/lobster.woff2') format('woff2'),
			url('fonts/lobster.woff') format('woff'),
			url('fonts/lobster.ttf') format('truetype');
		font-weight: normal;
		font-style: normal;
		}
Вопрос: Почему то strpos работает не правильно?

Лучший ответ:
Коротко - не передавайте в strpos число (int), a передавайте строку (sting) и проблем не будет

Разврёнуто
Читаем документацию https://www.php.net/strpos

needle
Если параметр needle не является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr().

Если прогнать ваш код то видим ошибку
Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /in/2JE4h on line 4


Чтобы код отрабатывал как ожидается, $user_ip должен иметь тип string

так
$user_ip = (string)94301750;
или так
$user_ip = '94301750';

В противном же случае вместо "94301750" в strpos уходит результат chr(94301750) что есть строка "6"
и получается в итоге strpos('1334268210|3322954437', '6') отсюда и результат Yes

Худший ответ:
https://www.php.net/manual/ru/function.strpos.php:
Если параметр needle не является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr().

$user_ip = "94301750";
if ( strpos('1334268210|3322954437', $user_ip) !== false ) {
    echo 'Yes';
}
// ...
Вопрос: Как реализовать поиск по JSON?

Лучший ответ:
тыц

Худший ответ:
в этом вопросе Как найти общие подстроки в нескольких строках на JavaScript? есть несколько ответов, которые вам могут помочь решить вашу задачу.
Так же существует такое понятие как fuzzy search (нечеткий поиск) и множество его реализаций на js
Вопрос: Стоит ли изучать MVC не зная ООП?

Лучший ответ:
Добрый день.или стоит выучить ООП и только потом посмотреть данный плейлист?
Да, ознакомьтесь сначала с документацией по php.
Затем можете приступить к ознакомлению с основами ООП. Так же перечитайте всё, что идёт в дополнении к курсу, ссылку найдёте внизу страницы.
Потом посмотрите вот эти видео.
Изучите парочку frameworko-в.
После всего этого можете приступать к написанию чего-либо.

Худший ответ:
Стоит ли начинать писать его самому не зная ООП
А ты его и не напишешь, если только не будешь дословно с экрана переписывать, но тоже толку мало - ты просто не поймешь что творится в коде. Все эти бесплатные курсы - отстой.
Советую по ООП прочитать сначала простейшие мануалы и инструкции, потом купи хорошую книгу, и самое главное -  Постоянно практиковаться! Заведи хостинг за 200 р. в месяц и кодь там на живом серваке, у Таймвеба например есть простенькая встроенная IDE для этого.
Я сам усиленно осваиваю ООП и уже многое попробовал, в итоге пришел к хорошей книге и постоянной практике, на ютуб практиески больше не смотрю.
Вопрос: Как обойти блокировку автовоспроизведения?

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

Худший ответ:
vimeo и youtube знают волшебное слово "Feature Policy".

1. Если посмотрите API vimeo - увидите там параметр autoplay. Потом сравните вызов API c параметром autoplay и без такового. И увидите, что добавляется ?autoplay=1 в <iframe src=>, чтобы их скрипт показа видео автоматически запустил его воспроизведение (кликнул по кнопке Start).
Но, как вы заметили, браузеры могут блокировать автоматическое воспроизведение медиаконтента. Поэтому см п 2 ниже:

2. Обратите внимание на атрибут allow="autoplay; fullscreen" у ифрейма, присылаемого в API п. 1. Это и есть "Feature Policy" (Политика возможностей), установленная через атрибут тега (её ещё можно издавать через HTTP-заголовок).
autoplay; означает autoplay *; - то есть, браузеры, поддерживающие Feature Policy, разрешат автовопроизведение видео с любых (*) чужих доменов.
Укажете там autoplay https://player.vimeo.com; - автовоспроизведение будет разрешено только для плеера vimeo.
Вопрос: Нужно ли обязательно сдавать физику для программиста?

Лучший ответ:
С только информатикой сильно снижается разнообразие направлений, куда можно поступить. Вот провалил ты информатику, а физику кое-как сдал неплохо - такое бывает... 
У моего сына в этом году именно так было. 
Сидел зубрил информатику 2 года, а физику за 2 месяца до ЕГЭ учебник открыл. Изумился, как мало он в физике знает...
И сдал математику и русский норм, физику на 86, а информатику на 78... и поступил в МГУ на мехмат.математику - это, конечно, не программирование, но ИМХО неплохой старт - если что, в бигдейта найдет себе место...
А если бы только информатику зубрил, а физику не сдавал бы - сейчас бы, наверно, готовился к следующему ЕГЭ (у него еще год есть до армии).

Так что - физику сдавай, не сомневайся.

Худший ответ:
Только с информатикой поступить нельзя. Полюбому будут еще направления.
Но об этом вы узнаете не в интернете а непосредственно на кафедре, куда поступать - там и список экзаменов
Вопрос: Хватит ли Macbook pro 13 8гб озу для Frontend?

Лучший ответ:
То что работа с фронтом на маке лучше - заблуждения! Одни и те же инструменты доступны как для Mac OS так и для Windows. Покупка мака вам не даст никаких преимуществ в этом плане.
Что касается памяти - в вашем случае 8 Гб наверное пока хватит, на пару лет так точно. Как по мне нехватку Ram испытывают только люди с большим опытом, где задержки в доли секунды играют большую роль ибо кажется что машина за вами не поспевает, да и скорее всего зависит еще от скорости работы человека. Сама Mac OS прекрасно работает с любым количеством оперативной памяти, максимальные дискомфорт который это может доставить - это время от времени наблюдать работу swap, но чтобы это начать замечать нужны будут годы, а может вы из тех кого это и не будет напрягать (не попробуешь, не узнаешь). Возможно не будете просто замечать так как не знали лучшего) Все познается в сравнении.

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

Лучший ответ:
Вариантов много. Из простого: 

по User-Agent
по IP адресу через отслеживание количества запросов с одного адреса
по используемым публичным прокси (многие такие сервисы явно сообщают, о себе кто они)
и т.д.

Из сложного:

отслеживают перемещение мыши 
ведут аналитику на о типичных поведениях пользователя и ищуют анамалии 


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

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

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

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

Лучший ответ:
в данной постановке вопроса - любой. 

dm vs ar - вечный холивар. каждый из них по своему хорош и лучше подходит для определенных задач. 

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

кстати, если вы такой ярый противник ar, вам ни что не мешает использовать dm в ларавеле.

я бы рекомендовал ларавел. особенно, если будет пилиться 1-2 человеками.

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

Лучший ответ:
Конечно же решения есть у каждого cloud-провайдера, но:
1) использование сетевого решения от провайдера это vendor-lock, что делать, если он цену вломит неподъемную?
2) Cisco/juniper/Mikrotik имеют богатую историю, практически весь функционал из IEEE/RFC, этого нет и не будет в роутере от непрофильных компаний
3) Cisco/juniper предоставляют платную техническую поддержку такого уровня в части сетевого окружения, до которой остальным пилить и пилить.
4) Алгоритмы лицензирования схожи с железными решениями, что позволяет мигрировать в облака с понятным ценообразованием
5) У Cisco/juniper/Mikrotik есть проприететарные фичи, которые люди используют также на железных маршрутизаторах (та же оркестрация)
6) У профильных производителей сетевых решений уровень документации и поддержки ее в актуальном состоянии на порядок лучше, чем у облачных провайдеров
7) На Цисту/Джун вы сами вольны в выборе версии прошивки, например, вам не нужна самая свежая, лучше стабильная. Или не важна заплатка на баг для неиспользуемого функционала.

Худший ответ:
Облака это общее название. Они бывают различные SAAS PAAS и тд. Одна из разновидностей облаков , это облако как инфраструктура. Грубо говоря вы покупаете не Microsoft office, а такой виртуальный конструктор,  в таком типе облаков вы сами создаете сервера, сами их связываете. Вот когда поднимаете такой сервис, то вам требуется специализрованное оборудование типа фаерволов, балансировщиков. Поэтому вендоры предлагают свою решения в виде виртуализированных образов. Плюс каждый вендор имеет свою идеологию как должно все строиться, свою логику управления. И если вы 20 лет проработали с Cisco , то наверное вам будет эффективнее такое решение использовать в облачном решении.
Вопрос: Можно ли сделать пересылку сообщений из вк в телеграмм?

Лучший ответ:
Может тогда стоит использовать ВК только для чатов? Раз ты всё равно хочешь переписку пересылать?
Я вот почему-то не вижу проблем. Музыкой вк не пользуюсь, слушаю Я.Музыку, Я.Радио. Может всё таки перестать листать ленту? И никакой рекламы не будет.
Вопрос нормальный, а вот что за ним стоит - бред. 
Пересылку сообщений можно сделать путём написания софта (возможно просто скрипта). Тебе будет необходимо немного изучить API ВК и Телеграмм. С телеграмм всё просто, создаешь бота, он тебе отправляет сообщения из чата, с ВК сложнее, тебе нужно получить доступ до чатов, отлавливать события и отправлять всё это боту.

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

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

Худший ответ:
Я применял в Direct Show (обработка видео). Есть сторонний поток, который пропускает через себя кадры. Главная программа может постоянно его опрашивать, не появился ли новый кадр. Но зачем тратить время на опросы, когда они только редко будут возвращать положительный результат? Поэтому главная программа просто передаёт ссылку на свой обработчик (функция обратного вызова), а поток, пропускающий видео будет её вызывать всегда в нужное время (желательно, чтобы обработчик успевал всё сделать быстро).
Вопрос: Как сделать прозрачный фон из jpg?

Лучший ответ:
Держи png. Правой кнопкой нажми и там будет "Открыть картинку в новой вкладке".


Худший ответ:
https://pinetools.com/overlay-images
Сюда вставляете картинку, и он должен кропнуть фон. Возможно обвести нужно будет, отдельные области. Суть вы поняли.
Вопрос: Как спарсить значение нужного td?

Лучший ответ:
parent = soup.find('td', string='Телефон руководителя:')
number = parent.find_next('td').text

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

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

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

Лучший ответ:
Использование атрибута "align" для html-элементов осуждается. Так делать не нужно.
Через классы задаём высоту блока на весь экран и центрируем  (например, через Flexbox) его содержимое (внутренний svg-элемент).center {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}Результат:
Код + демонстрация: https://codepen.io/hisbvdis/pen/qBBMGLp

Худший ответ:
.класс{
display:flex;
align-items:center;
justify-content:center;
}
Вопрос: Php микрофреймворк — это rad фреймворк или enterprise?

Лучший ответ:
Это же подходы к разработке, фреймворки тут вообще не причём.
Что мешает на симфонии разрабатывать по RAD?
Симфония это agile, scrum или kanban? - тоже самое. Бессмысленный вопрос.

Худший ответ:
Микройфреймворки для микро-сервисов, для API: для небольших сервисов
Это могут быть и интерпрайз и rad, вообще вы можете придумать свою классификацию :)
Классификация такая штука  — для нее нужен признак, по которой классифицируют. Микро  — с ограниченным функционалом, тк остальное выбирается под нужные задачи...нам же ничего не мешает подключить доктрину и прочие компоненты и перейти к enterprise
Интерпрайз не зависит от наличия Доктрины. Интерпрайз  — это про долго, давно, сложно и дорого.
Вопрос: Можно ли выделить цветом последнее слово в CSS и как?

Лучший ответ:
да, надо добавлять span. но делать лучше не через split/join а найти позицию посл пробела:
str.lastIndexOf(" ")
и разрезать по нему, добавить спан и склеить.

Худший ответ:
Разве что через js - https://stackoverflow.com/questions/9268386/css-fo...