Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Виртуальное существо(червяк) на чём делать, чтоб двигалось, имело смысл жизни, питалось?

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

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

Лучший ответ:
Использовать условную валидацию.
через WhenClient повесить на ваш чекбокс или инпут, ну или что у вас. 
У вас реализовано, но втыкается модель, попробуйте использовать переменную из вашего чекбокса как в примере по ссылке. типа такого.$model->checkBox == true;

Худший ответ:
Как вариант:
Можно использовать ajax валидацию и в экшене валидации делать эту проверку. Можно например сделать разные сценарии для модели.
Вопрос: Нарушу ли я права?

Лучший ответ:
1. Да, если видео защищено соответствующей лицензией
2. Да, если видео защищено соответствующей лицензией
Выбирайте видео с лицензией Creative Commons. Лицензия написана в описании к видео:

Худший ответ:
1. Если я скачаю данное видео с youtube и установлю себе на сайт, нарушаю ли я права автора видео?
Если видео принадлежит автору, не распространяется под CC (подходящей вашему сайту версии) и вами не получено разрешение от автора, то да, нарушаете.2. Если я зайду на youtube, включу видео и запишу данное видео себе на пк с помощью записи с экрана, а потом выложу на сайт. Этим я нарушу права?
См. выше.
Вопрос: Почему выдает undefined?

Лучший ответ:
Потому что обработчик промиса выполнится только после того как завершится выполнение основного потока программы. Это вам не php.

Худший ответ:
А с чего ему знать значение coord1  в этой строке? Оно действительно не определено, так как считается внутри локальной функции, в параметре другой функции, т.е. существует только в момент вызова mygeocoder. Как исправить, а кто же его знает чего вы пишите-то.
Вопрос: Добавить и удалить элемент на JS/jQuery?

Лучший ответ:
id - уникальный идентификатор элемента, больше одного на странице быть не должно, используйте класс элемента - <span class="delete_me">Удалить</span> и соответствующий селектор $('.delete_me'). 
Далее, новосозданные элементы не существовали на момент создания листенеров, соответственно не будут откликаться на вызов по клику, привязывать надо на document, и затем отслеживать нажатие на нужный класс: 
$document.on('click', '.delete_me', function(){
    doStuff();
})
И обращаться надо не к div, а к $(this), элементу сработавшему на листенер(читайте про контекст событий).
https://jsfiddle.net/Luaoq64v/
И не надо использовать такую смесь чистого жс и жк, и в голове каша и в коде.

Худший ответ:
Аттрибут id у элемента должен быть уникальным на всей странице, используйте class. Чтобы удалить тот элемент, на который вы кликаете нужно использовать this.
Вопрос: Почему style.css считается опасным?

Лучший ответ:
Он ругается не на CSS. Он ругается, что часть контента загружается по HTTP, в то время, как сам сайт открывается по HTTPS.

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

Лучший ответ:
Если работник на рабочем месте валяет дурака то это проблема его непосредственного руководителя.
Ведь то что он смотрит чтото левое в интернете или читает анекдоты это следствие того что:
а) у него нет работы и он бездельничает
б) у него есть работа но он на нее забил (тк как видно за результат не спрашивают)
Пункты выше вобще не проблемы сисадмина.
З.Ы. Если ваше руководство не понимает вещи изложенные выше - бегите с такой работы.

Худший ответ:
Подбирайте: https://startpack.ru/category/time-tracking
Вопрос: Поломался логотип?

Лучший ответ:
А в кривые перевести не?

Худший ответ:
Ломается логотип из-за того что в SVG идет не патч а надпись "Имидж" и указан фонт-фемели.
Перевод в кривые решит на 100%. Но можно еще и подключить гугловский лобстер, что тоже поможет. И переводить не понадобится
Вопрос: На чем сделана анимация?

Лучший ответ:
Анимая сделана на three.js. Но ведь кроме анимации, надо еще графику нарисовать, отсюда, я думаю, и такие суммы.

Худший ответ:
Стоимость для авторской анимации весьма вменяема. Индивидуально, без шаблонов. И именно от...
Вопрос: Есть ли «Белый список » php функций?

Лучший ответ:
чтобы были исключены такие функции как popen,pclose,exec,system,include
в php.ini disable_functions = тут через запятую перечесляйте запрещённые функции.
Так же можно не глобально а для юзера сделать отдельный php.ini и там перечислить запрещённые функции.

Худший ответ:
Когда то игрался с такой штукой:  evileval.sourceforge.net
Вопрос: Какую рабочую станцию для Data Science можете посоветовать?

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

Худший ответ:
попробуйте собрать самостоятельно
по-моему мнению такие характеристики
Features:
-(4) NVIDIA GeForce GTX 1080
-(1) Core i7-5930K 6-Core 3.5GHz 15M Processor
-(4) 16GB DDR4 RAM
-(2) 256GB SSD in RAID 1
-(3) 4TB HDD in RAID 5
-NVIDIA Digits, Caffe, Torch, Theano, BIDMach, CuDNNv2, OpenCV v.3.0, and NVIDIA® CUDA® Toolkit 6.5 or 7.0
за 6 000$ 
дороговато
Вопрос: Как правильно вынести методы и классы проекта в отдельный API?

Лучший ответ:
Является ли плохой практикой организовывать работу api и работу сайта с одной и той же базой? Или лучше вынести данные по валютам в отдельную базу и работать с ней только посредством api, а данные пользователей и тд - в базу, с которой работает сам сайт? 
Нет смысла разделять БД, да и зачем? Это актуально только для микросервисов.Если в будущем потребуется брать данные по валютам при рендере страницы сервером, как быть? Получать данные с api или копировать метод из апи в ядро сайта, чтобы получать данные сразу (возможно логика работы и нагрузка будут идентичными в этом случае, но это недостаток теории), это если в случае использования одной базы для api и сайта? 
Вариантов решений масса, но самый простой - делать универсальные MVC модули и контрполлеры, которые бы поддерживали отдачу как по API, так и просто рендер.Что бы вы посоветовали почитать, дабы более углубленно разобраться в этом вопросе (и в вопросах этой области), скорее всего это вопросы из области проектирования, ибо учу все это сам и очень не хватает теоретических знаний?
Про MVC и HMVC в частности.
Ну и реализация на примерах, например Laravel.

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

Лучший ответ:
Бинарный алгоритм вычисления наибольшего общего делителя (НОД)function nod(m, n) {
  var mult = 0;
  while (true) {
    if (0 == m) {
      return n << mult;
    }
    if (0 == n) {
      return m << mult;
    }
    if (1 == m || 1 == n) {
      return 1 << mult;
    }
    if (m == n) {
      return m << mult;
    }
    if (0 == (m & 1) && 0 == (n & 1)) {
      mult++;
      m >>= 1;
      n >>= 1;
    } else if (0 == (m & 1)) {
      m >>= 1;
    } else if (0 == (n & 1)) {
      n >>= 1;
    } else if (m > n) {
      m = (m-n) >> 1;
    } else {
      n = (n-m) >> 1;
    }
  }
}

function reduceFrac(numerator, denomerator) {
  var divider = nod(numerator, denomerator);
  return {n: numerator/divider, d: denomerator/divider};
}

Худший ответ:
Классическое решение -- поиск НОД алгоритмом Евклида.
Вопрос: Как лучше всего сделать поиск по сайту?

Лучший ответ:
я бы посоветовал поисковик от гугла: https://cse.google.ru/cse

Худший ответ:
postgresql
sphinx
в общем-то и в Мускуле есть Full text search
Вопрос: Как низкоуровневые операции распределяются по потокам?

Лучший ответ:
Вот есть неплохая статья по этой теме.
И вот здесь и здесь более детально.

Худший ответ:
Вот есть неплохая статья по этой теме.
И вот здесь и здесь более детально.
Вопрос: Как создать чат-канал, как в WarCraft III?

Лучший ответ:
ЕслиС++ \ WinAPI
Глейзер Дж., Мадхав С. - Многопользовательские игры. 
Разработка сетевых приложений.  - 2017Глава 2 - Интернет
Глава 3 - Сокеты Беркли
остальное по желанию.
Плюсы: 
Объяснение на пальцах без лишней мути.
Нет устаревших функций. С++, ООП (обертки из классов).
В третей главе есть упражнения как раз по Вашей теме.spoiler
Вопросы для повторения
1. Назовите некоторые отличия POSIX-совместимых библиотек сокетов от ре-
ализации в Windows.
2. Какие два уровня TCP/IP отвечают за адресацию сокетов?
3. Объясните, как и почему сервер TCP создает уникальный сокет для соединения
с каждым клиентом.
4. Объясните, как связать сокет с портом и что это означает.
5. Добавьте поддержку адресов IPv6 в SocketAddress и SocketAddressFactory .
6. Добавьте возможность создания сокетов TCP в SocketUtils .7. Реализуйте чат-сервер, использующий протокол TCP для соединения с един-
ственным узлом и передачи сообщений в обе стороны.8. Добавьте поддержку нескольких клиентов в чат-сервер. Используйте неблоки-
рующие сокеты на стороне клиента и select на стороне сервера.
9. Объясните, как изменить максимальный размер окна приема TCP.
ссылки на актуальную литературу и исходники на гитхабе в самой книге
по исходникам, что бы не искать - то что нужно Вам лежит здесь https://github.com/MultiplayerBook/MultiplayerBook...

Худший ответ:
Сокеты.
Есть книжка Йона Снейдера. Называется "Эффективное программирование TCP/IP". Там многие аспекты описаны. Но это при условии, что вы хорошо владеете C++. Так как примеры там, если мне не изменяет память на С.
Врятли это станет преградой. Вам главное понять, что и как.
Вопрос: Есть ли бесплатные альтернативы BILLmanager?

Лучший ответ:
Для своих, но платный? Так нафига тебе Билл?
Бери бабло, продлевай акк вручную.
Если для своих, то масштаб не промышленный.
Не обломаешься.

Худший ответ:
Вы можете использовать бесплатную версию BILLmanager. Она не имеет какого-либо ограничения по функциям и времени действия, единственное ограничение - можно создать не более 50 клиентских аккаунтов. 
Вполне подходящее решение для начинающей компании. Можно использовать простую версию, где функционала меньше, без ISPmanager он также может работать.
Бесплатную версию не нужно заказывать, она просто активируется в момент установки
Вопрос: Стоит ли создавать дополнительные переменные для лучшей читаемости кода?

Лучший ответ:
Зависит от ситуации. В вашем примере - второй. Но, в случае с кодом ниже - первый.foreach($houses as $house) {
    $current_floor = $house[$floor];
    $rooms_count = count($current_floor['flats']['1-room']); // например, только 1-комнатные

    $total_rooms += $rooms_count;

    /* вышенаписанное гораздо лучше, чем
    $total_rooms += count($house[$current_floor]['flats']['1-room']);
    */
}
В целом, когда чувствуете, что код становится нечитабельным, некрасивым и просто неудобным для сопровождения, предпринимайте адекватные действия для исправления ситуации, в том числе и создавая промежуточные переменные, чтобы визуально разделить код.

Худший ответ:
А проще так:$total = array_column($prices, $type);
$total = array_sum($total);
Вопрос: Как заставить работать прокси socket.io через nginx на Ubuntu?

Лучший ответ:
Короче, я тут поковырялся. И у меня получилось за Нгинксом его заставить работать, но только - создавая "пространство имён" принудительно.
На клиенте запрос на подключение выглядит такvar socket = io('http://localhost/sock');
на сервере такvar io = require('socket.io')(3001); // спицально ему другой порт прикрутил, для "чистоты эксперимента"
var chat = io.of('/sock');
chat.on('connection', socket => { ...
и дальше везде, где был io в коде - заменить на переменную chat - типа chat.to(socket.id).emit... и т.д. (хотя, видимо, можно было и просто - io переопределить: io = io.of('/sock');).
И наконец, Nginx его перенаправляет такlocation /sock {
						proxy_set_header Upgrade $http_upgrade;
						proxy_set_header Connection "upgrade";
						proxy_http_version 1.1;
						proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
						proxy_set_header Host $host;
						proxy_pass http://127.0.0.1:3001/sock;
				}
Так всё зафурычило.

Худший ответ:
Короче, я тут поковырялся. И у меня получилось за Нгинксом его заставить работать, но только - создавая "пространство имён" принудительно.
На клиенте запрос на подключение выглядит такvar socket = io('http://localhost/sock');
на сервере такvar io = require('socket.io')(3001); // спицально ему другой порт прикрутил, для "чистоты эксперимента"
var chat = io.of('/sock');
chat.on('connection', socket => { ...
и дальше везде, где был io в коде - заменить на переменную chat - типа chat.to(socket.id).emit... и т.д. (хотя, видимо, можно было и просто - io переопределить: io = io.of('/sock');).
И наконец, Nginx его перенаправляет такlocation /sock {
						proxy_set_header Upgrade $http_upgrade;
						proxy_set_header Connection "upgrade";
						proxy_http_version 1.1;
						proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
						proxy_set_header Host $host;
						proxy_pass http://127.0.0.1:3001/sock;
				}
Так всё зафурычило.
Вопрос: Как поместить данные из input в ссылку?

Лучший ответ:
<form method="get" action="/send/">
  <input type="text" name="to">
  <input type="text" name="text">
  <input type="submit" value="послать">
</form>
Скрипты не нужны. Чистый HTML, method="get"

Худший ответ:
Если поля задать так<label>Телефон <input id="tel"></label><br>
<label>Текст <input id="text"></label><br>
<button id="send">Послать</button>
То послать гет запрос можно так:$("#send").click(function(){
    $.get("http://site.ru/send/",{to:$("#tel").val(),text:$("#text").val(),password:"12345",user:"user",from:"GOD"});
});
Вопрос: Как правильно запускать telegram бота на ssh сервере?

Лучший ответ:
Напишите службу для запуска бота:cat > /etc/systemd/system/foobar.service << EOF

[Service]
WorkingDirectory=/home/user/foobar
User=user
ExecStart=/usr/bin/python3 main.py

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable foobar
systemctl start foobar
systemctl status foobar

Худший ответ:
попробуйте python3 main.py &.
Вопрос: Имею ли я право продажи заказанной на стороне верстки по своему PSD макету?

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

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

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

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

Лучший ответ:
Пустой return в конце функции не имеет смысла. Он и так там есть, скрытый.
Прямое указание return нужно в 3 случаях:
1. Если вы хотите вернуть значение. В вашем случае вы должны написать return arg1 + arg2;
2. Если вы хотите прервать выполнение функции как указал lemme .
3. Либо вы хотите сделать первое и второе одновременно:function test (arg) {
    if (typeof arg === "number") {
        return +arg.toFixed(5);
    }

    if (typeof arg === "string") {
        return test_obj[arg];
    }

    return false;
}

Худший ответ:
проверка с пустым return проще, сравни
if (!elem-1) return;
// code
if (!elem-2) return;
// code
if (!elem-3) return;

if (elem-1) {
  // code
  if (elem-2) {
    //code
    if (elem-3) {
      //code
    }
  }
}
Вопрос: Как получить оплату фрилансеру при оказании услуги юрлицу по продвижению сайта?

Лучший ответ:
Фрилансер ИП, ООО или физ. лицо?
ИП и ООО спокойно заключают договор, обмениваются ими по почте, работают. В конце работ точно также обмениваются актами выполненных работ. Чаще всего отправляют сканы подписанных документов, но они не имеют юр силы, поэтому оригиналами нужно обязательно обменяться.
Если вы физ лицо, то можно работать по договору подряда. В договоре обязательно указать, какая из сторон отвечает за выплату налогов. Есть мнение, что такой вариант договора не является законным. 
Ещё физлицо можно просто устроить на работу, в таком случае юрлицо само оплатит налоги.

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

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

Худший ответ:
15.03.06 (221000) – «Мехатроника и робототехника»
Вопрос: Длина строки при разном регистре букв?

Лучший ответ:
Регистр не влияет на количество символов или количество байт.
P.S. Количество байт зависит от типа кодировки (например, кириллица в win-1251 - 1 байт, в utf-8 - 2 байта). Подсчитывать байты бывает нужно достаточно редко. Обычно считают количество символов - используйте mb_strlen.

Худший ответ:
Смотря с каким набором символов вы работаете.
Хорошая статья: https://habrahabr.ru/post/147387/
Вопрос: Люди с какими навыками нужны для запуска стартапа?

Лучший ответ:
Руководитель (идеолог, менеджер). Доступно объясняет, зачем все собрались и что делать.Разраб (кодер, верстальщик, back end, front end). Без него вообще ничего не будет работать.Дизайнер (ux/ui). Делает красивый интерфейс, чтобы пользователи забыли про здравый смысл и купились на картинку.Коммуникатор (маркетолог, продажник). Первым скажет, если продукт никому не нужное говно и почему оно так.Копирайтер. Исправляет грамматические ляпы в безграмотных текстах того, кто это написал. -тся и ться, в течение(ии) и т.п.
Если это венчурный стартап, то желателен наставник. Подскажет, кому втюхнуть бизнес, если не зайдёт (планы Б, В и т.д.)
Без бухгалтера, юриста, переводчика, SEO-шника, СММ-щика и секретарш на первых порах можно обойтись. Все кто не особо нужен, тех на частичную занятость.

Худший ответ:
Для начала нужен ОДИН человек - тот, кто ТОЧНО знает что будет делать стартап и УМЕЕТ это описывать.
Вопрос: Есть ли разница где менять громкость, в ОС или на колонке?

Лучший ответ:
Технически - разница есть. Практически - где вам удобнее там и меняйте.

Худший ответ:
Чем выше программный уровень НЧ, оконечные выходные линейные каскады предусиления, один леший аналоговые, тем больше предыскажений идет на линейный вход УНЧ, таким образом логичней дать номинальный уровень выходного предусилителя с минимальными шумами, дабы не усиливать их через УНЧ.
Однозначно уровень регулировать аппартно через УНЧ. И вообще, если Вы аудиофил, плюньте и разотрите все эти коммутации, а ежели нет, делайте как хотите, все равно PCшная акустика не особо как услышит Ваши mp3 рипы ;)
Вопрос: Формула случайных чисел js?

Лучший ответ:
// Возвращает случайное число между 0 (включительно) и 1 (не включая 1)
function getRandom() {
  return Math.random();
}

// Возвращает случайное число между min (включительно) и max (не включая max)
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

// Возвращает случайное целое число между min (включительно) и max (не включая max)
// Использование метода Math.round() даст вам неравномерное распределение!
function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}
https://developer.mozilla.org/ru/docs/Web/JavaScri...

Худший ответ:
В твоем примере, если Math.random выдаст число 400, то Math.floor выдаст так же 400 (посмотри пример здесь: https://developer.mozilla.org/en-US/docs/Web/JavaS... ).
Первое что приходит на ум, задействуй if statement. Напиши функцию, которая определяет случайное число из диапазона и добавь проверку: if( number === 400) {return 399};
Но, думаю, должны быть более элегантные решения.
Вопрос: Почему пингуется другой адрес?

Лучший ответ:
Потому что адрес 192.168.0.43 не пингуется и ваш хост (192.168.0.30) отвечает вам что он недоступен

Худший ответ:
Необходимо разрешить брандмауэру Windows отвечать на входящие эхо-сообщения ICMP.
Вопрос: Почему блок дергается?

Лучший ответ:
Потому что когда.b-popup появляется, он закрывает собой .b-block, возникает событие mouseleave, и его надо скрывать. А как он скрылся - его надо снова показывать, потому что на .b-block возникает событие mouseenter. Ну вот так оно по кругу и происходит.
Добавьте pointer-events: none для .b-popup. Или поместите .b-popup внутрь .b-block.

Худший ответ:
Потому что присутствует mousemove, оставьте только mouseover
Вопрос: Какую книгу или видеокурс посмотреть по php oop, pdo, шаблоны проектирования?

Лучший ответ:
Вот советую, т.к. реализация MVC идёт с нуля, научишься основам.

Худший ответ:
Хочу написать route чтобы распарсить адресную строку, сделать чпу и в случае если такого адреса нет записывалось в логи и выдавало 404 ошибку.
Вот тут банальный ЧПУ с автоматическим роутером, без ООП и прочих сложностей https://github.com/iCoderXXI/feedback-form-admin-panel
Вопрос: Как соотнести имена файлов с одинаковыми датами?

Лучший ответ:
Я бы решал грубо и в лоб.
Даты привести к типу даты и отформатировать дату к виду "yyyy_MM_dd__HH_mm".
А затем искать подстроку в названии файла

Худший ответ:
static void Main(string[] args)
        {
            string[] arrDate = { "09.08.2018  13:04:07"
                                , "11.05.2018  11:03:00"
                                , "16.07.2018  13:28:12" };

            string[] arrFileName = { "nameFile_1301_1602__2018_08_09__13_04_07_990"
                                    , "nameFile_1302_1602__2018_05_11__11_03_40_910"
                                    , "nameFile_1302_1602__2018_07_16__13_28_12_950" };

            foreach (var strDate in arrDate)
            {
                var pattern = GetSearchPattern(strDate);
                if (pattern!=null)
                {
                    var fileName = arrFileName.FirstOrDefault(f=>f.Contains(pattern));

                    if (fileName == null) continue;

                    string otvet = "Дата: " + strDate + "Файл с этой датой: " + fileName;

                    Console.WriteLine(otvet);
                }
            }
        }

        static string GetSearchPattern(string strDate)
        {
            DateTime date = new DateTime();

            if (!DateTime.TryParse(strDate, out date)) return null;

            return date.ToString("__yyyy_MM_dd__HH_mm_ss_");
        }