Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему батник генерирует ошибку если во всех источниках команда из него работает?

Лучший ответ:
Джаву надо установить. И в PATH прописать

Худший ответ:
Ну как бы кириллицу не читает
Конвертируйте батник в oem 866 и сохрани поправив текст
Вопрос: Как определить, что мне подойдёт в программировании?

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

Худший ответ:
Определить это можно только лет пять поработав и попробовав разное. Специализацию обычно выбирают уже после достижения мидлового грейда. На старте надо выбирать либо те технологии, с которыми легче устроиться в вашем регионе, либо те, которые используются в области, к которой есть есть устойчивый интерес.
Вопрос: Почему в разных версиях PHP разный уровень ошибок trim()?

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

Худший ответ:
Эволюция .....
Вопрос: Где нужно указать chat_id?

Лучший ответ:
вы создали переменную

chat_id = ''

Я так понимаю, что вместо пустой строки там указан реальный ID.
но где вы его используете?

Здесь вы явно пересылаете сообщение самому себе, указав в "получателе" чат из которого пришло сообщение.
bot.forward_message(chat_id=message.chat.id ...

Попробуйте вместо этого так:
bot.forward_message(chat_id=chat_id ...

Или прям в этой функции указать чат куда надо переслать сообщение. Тогда переменная chat_id, объявленная вначале вообще не нужна.
bot.forward_message(chat_id='1234567890' ...

Худший ответ:
Добрый день! Я, конечно, ни разу не сталкивался с написанием ботов, но зачем ты вообще определяешь переменную chat_id, если ты её не используешь?
Вопрос: Какой курс java выбрать?

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

Худший ответ:
It-Academy (https://www.it-academy.by/)
2-3 месяца Java Fundamentals
3-4 месяца Java Enterprise
+ помогают с трудоустройством.
Но скажу заранее, знаний полученных на любых курсах недостаточно, чтобы стать крепким джуном. В любом случае вам нужно прочитать определенный минимум книг, иметь багаж теоретических знаний и притом не только Java, но и sql, xml, regex, json. Владеть английским (на уровне чтения тех. документации). Изучить алгоритмы и структуры данных и т.д. 
А вообще поищите аналогичные вопросы на этом сайте. Уже не первый раз всплывают подобные вопросы и было дано много развернутых ответов
Вопрос: Почему php разработчики используют .htaccess как часть системы?

Лучший ответ:
Незачем пытаться охватить все веб-серверы. Для урока авторы, видимо, решили, что «сойдёт и так» – на примере одного из популярных, Apache.

Вы уже переросли песочницу тех уроков и знаете другие варианты. Значит, сумеете понять и перенести правила из .htaccess в конфиг NGINX. С помощью Google, SO и Habr.QnA )

Популярен паттерн "front controller" — когда веб-сервер конфигурят, чтобы все запросы падали только на корневой /index.php, а там уже логика внутри PHP узнавала запрошенный URL /section1/page2 и отдавала соответствующий ответ. Такие решения универсальны относительно веб-сервера.

Файл .htaccess иногда кладут в проект, потому, что это легкий невидимый файл, который не помешает. Но поможет понять ожидаемое поведение веб-сервера. Конфиги NGINX лежат отдельно от проекта, поэтому их не прилагают. Хотя иногда приводят пример в документации.

Худший ответ:
В видеоуроках, в статьях, я часто вижу, как PHP разработчики используют файл .htaccess как часть системы, часть сайта.На то они и уроки/примеры. Рабочие конфигурации для любого сервера обычно тоже есть в туториалах чуть сложнее чем "давайте напишем хеллоу ворлд".

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

Почему разработчики не пишут код, который был бы универсальным для всех веб серверов и не делегировал часть функций безопасности конфигурационному файлу конкретного веб сервера?по тому что единая точка входа не реализовывается программными средствами?
Вопрос: Как решить задачку по перебору неизвестных переменных при известном ответе в Python?

Лучший ответ:
Coздайте копию входного списка прежде чем его подавать на вход program_solver(), ибо эта функция модифицирует входной список и ошибку "index out of range" немудрено будет получить на втором и последующих прогонах program_solver().

> inputlist[0] = source_code

в первом задании непонятно, зачем вы восстанавливаете старое значение первого элемента списка

Худший ответ:
Решение, которое удалось получить:

def program_solver(inputlist: list):
    """
    Solves mathematical issue.
    :param inputlist:list, a list of integers
    :return: int, the first number of the modified list
    """
    chunk_of_numbers = []
    temp_list = inputlist[:]
    for a in temp_list:
        chunk_of_numbers.append(int(a))
        if len(chunk_of_numbers) == 4:
            if chunk_of_numbers[0] == 1:
                sum_of_the_chunk = temp_list[chunk_of_numbers[1]] + temp_list[chunk_of_numbers[2]]
                temp_list[chunk_of_numbers[3]] = sum_of_the_chunk
                chunk_of_numbers.clear()
            elif chunk_of_numbers[0] == 2:
                mult_of_the_chunk = temp_list[chunk_of_numbers[1]] * temp_list[chunk_of_numbers[2]]
                temp_list[chunk_of_numbers[3]] = mult_of_the_chunk
                chunk_of_numbers.clear()
            elif chunk_of_numbers[0] == 99:
                result = temp_list[0]
                return result


inputlist = [
             1, 15, 30, 3, 1, 1, 2, 3, 1, 3, 4, 3, 1, 5, 0, 3, 2, 6, 1, 19, 2, 19, 9, 23, 1, 23, 5, 27, 2, 6, 27, 31, 1,
             31, 5, 35, 1, 35, 5, 39, 2, 39, 6, 43, 2, 43, 10, 47, 1, 47, 6, 51, 1, 51, 6, 55, 2, 55, 6, 59, 1, 10, 59,
             63, 1, 5, 63, 67, 2, 10, 67, 71, 1, 6, 71, 75, 1, 5, 75, 79, 1, 10, 79, 83, 2, 83, 10, 87, 1, 87, 9, 91, 1,
             91, 10, 95, 2, 6, 95, 99, 1, 5, 99, 103, 1, 103, 13, 107, 1, 107, 10, 111, 2, 9, 111, 115, 1, 115, 6, 119,
             2, 13, 119, 123, 1, 123, 6, 127, 1, 5, 127, 131, 2, 6, 131, 135, 2, 6, 135, 139, 1, 139, 5, 143, 1, 143,
             10, 147, 1, 147, 2, 151, 1, 151, 13, 0, 99, 2, 0, 14, 0
             ]


desire_result = 7156875
number_range = range(1, 100)
n = 0
program_check = 0

for x in number_range:
    inputlist[1] = x
    for y in number_range:
        inputlist[2] = y
        program_check = program_solver(inputlist)
        print(program_check)
        if program_check == desire_result:
            print(f"x = {x}, y = {y}")
            break
    if program_check == desire_result:
        break
Вопрос: Есть ли сервис, который показывает тревоги гражданской обороны?

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

в начале 10х годов весь этот проект отдали помоему ростелекому на глобальную модернизацию (кинув всех местных подрядчиков и закрыв уже наполовину исполненные договора)...и чёто я не сильно вижу какихто глобальных подвижек в этой сфере

был вот такой проект https://www.mchs.gov.ru/ministerstvo/uchrezhdeniya... с очень похожим функционалом, но он был в полумертвом состоянии еще лет 10 назад, а сейчас помоему так вообще пропал

Худший ответ:
Мне кажется, что нет, тк это слишком специфичный API будет.

Сигнал тревоги предназначен для людей, и его вполне можно передать через мобильные сети, сирены,  и телевидение. Что сейчас и делается.

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

Если вы считаете, что это перспективное направление, то вот вам идея для стартапа.
Вопрос: Можно ли из компьютера сделать шлюз, подключённый к sshuttle (или openVPN)?

Лучший ответ:
Ну логичный вариант - подключить ВПН на микротике...

Либо - на pc2 разрешаете NAT трафф
В настройках DHCP мирокта указываете клиентам шлюзом IP этого PC2... по идее всё

Худший ответ:
Настройте маршрутизацию и/или NAT на PC2, пропишите его IP-адрес шлюзом на PC1.
Если хотите, чтобы клиенты автоматически использовали этот шлюз, измените настройки DHCP в Mikrotik, указав IP-адрес шлюза PC2.
Вопрос: Как настроить статический IP в виртуальной машине?

Лучший ответ:
Эмм.... воспользуйтесь вариантом сети "мост". Тогда все настройки ВМ получает от Вашего роутера...
Далее уже или делаете статический на самих ВМ или привязываете по маку в Длинк

Худший ответ:
Соглашусь с ответом Drno  я бы наверное так и поступил, но можно еще организовать виртуальную сеть в которую добавить обе ВМ. Обе машины останутся за NAT и никаких действий на роуторе не потребуются.
1. Обе машины будут "видеть" друг друга
2. У обоих будет выход в инет.

Ну и минус (а может это и плюс) они не доступны будут из вне если не прописывать специальные правила на роуторе.
Вопрос: Как организовать подстраницы во vue?

Лучший ответ:
Дочерние страницы? А может правильней страница и ее компоненты? И тогда сразу вопросы отпадут:
1. страница Register и Home - во /views
2. компоненты SignIn и SignUp (только видимо изменить их название на SignInForm и SignUpForm) - в /components/register

Худший ответ:
По смыслу Register = SignUp. Следовательно, Register - это должен быть Auth, или подобное более общее название - так было бы понятнее, семантичнее.
Далее, если Register у вас не несет сам по себе какой-то функциональной и смысловой нагрузки и применяется только как "обертка", то лучше его не упоминать в маршрутизации и использовать только как "обертку".
SignIn / SignUp:
<template>
  <component :is="'auth-layout'">
    <!-- ... Vue-разметка для SignIn или SignUp ... -->
  </component>
</template>
<script>
  import AuthLayout from "@/layouts/AuthLayout";
  export default {
   components: {
     AuthLayout
   }
    //... код для SignIn или SignUp
  }
</script>
AuthLayout:
<template>
  <div class="auth">
    <slot><!-- здесь отобразятся странички SignIn и SignUp --></slot>
  </div>
</template>
Т. е. целесообразно будет создать папку layouts, куда будут помещаться подобные глобальные шаблоны.
Сами SignIn и SignUp размещайте исходя из размеров проекта и карты маршрутов: если маршрут идет через общий префикс, (/auth/sign-up, /auth/sign-in), то можно их поместить в папку auth, а можно и не помещать, если планируется, скажем, не более десятка страниц.
Вопрос: Восстановить root на сервере?

Лучший ответ:
У хетзнера же огромная вики... там всё есть. И про это тоже. 
А вообще Вам уже правильно написали про режим Rescue. 
А подключаться как обычно... по ssh
Фтп уже потом сами поднимите. Или будете заходить по sFtp

Худший ответ:

Загрузить сервер в режиме Rescue
Смонтировать диск в режиме чтение/запись mount -o remount,rw
Положить пользователю root ключ ssh
Вопрос: Как можно оптимизировать этот код?

Лучший ответ:
Здесь только выкинуть и написать с 0. Боже упаси такой код в продакшен пускать.
Но раз у вас нашёл такой кусок кода, то значит весь проект нужно выкидывать и брать нормальный фреймворк где нельзя так страшно гавнокодить.

А чисто по этому коду, вам для начала надо начать с этого https://www.php.net/manual/ru/pdo.prepared-stateme...

Худший ответ:
Самый простой вариант воспользоваться оберткой. Поможет не слишком сильно накосячить и цепочки смотреться будут аккуратно и читаемо.
Например такой https://github.com/ThingEngineer/PHP-MySQLi-Databa....
Вопрос: Как быстро и качественно устройства выбирают сети 2,4 ГГц, 5 ГГц или 6 ГГц?

Лучший ответ:
Кто Вам сказал что 5Ггц оптимальнее?

Что за "роуминговая сеть" ?

Называйте одинаково, мак сам разберется

Худший ответ:
> Не будет такого что ноутбук в 5-ти метрах от Wi-Fi роутера какую сеть первую увидит на той и останется?
Ноутбук переводит wifi в режим мониторинга и смотрит кто есть в округе, потом высчитывает SNR для каждой из точек, потом смотрит какая точка у него в приоритете в настройках системы и подключается к ней.

> У меня сейчас разные имена у 2,4 ГГц и5 ГГц. И оно не переключается на оптимальные 5 ГГц.
И не будет переключаться, роуминг между диапазонами и точками возможет в рамках одного SSID.

> Может с одним названием оно лучше начнет оценивать качество интернета, считая сеть роуминговой?
Роуминг должен так же поддерживать роутер.

> Apple рекомендует: Не присваивайте разные имена диапазонам 2,4 ГГц, 5 ГГц или 6 ГГц. Все диапазоны должны иметь одинаковое имя.
Надо исходить из рекомендаций производителя роутера.
Вопрос: Как дать FTP доступ пользователю к определенной папке?

Лучший ответ:
Чаще всего авторизация через PAM, поэтому пользователь FTP = пользователь операционной системы. Меняете домашнюю папку пользователя и готово.

Изменение домашней папки существующего юзера может иметь последствия если какое-то ПО уже завязалось на этих путях. Поэтому рекомендую сделать нового юзера для FTP.

Худший ответ:
Создайте нового пользователя с домашней папкой в /www/sitename/

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

Лучший ответ:
Для того чтобы идти на собеседование нужны только ноги

Худший ответ:
Веб-приложение для 2FA авторизации типа https://github.com/Bubka/2FAuth
Вопрос: Как отсеять сгенерированные email?

Лучший ответ:
2yiwuei3827ryifg2i28ftiwegfi@yandex.ru или такие vladimir_saveliev_98@mail.ru, natalia_blohina_93@list.ruА с чего вдруг их не принимать? Они валидны и соответствуют RFC. Какой смысл их удалять? Или точнее, какой смысл удалять работающие емайлы? Вам не пофиг как выглядит емайл, если он рабочий? Или есть какой-то особый смысл в красивых емайлах?

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

2. Жизнь была бы светлой и пушистой если бы не майл.ру (и прочие не хорошие люди) - а он у нас так называемый catch all домен. Какое дерьмо туда ему не запихаешь - он будет говорить жду письмо. Был лайфхак как это обойти который мы использовали (для почт на mail.ru) - но он ОЧЕНЬ муторный.

3. По факту для россии мы отсеивали где 98% дерьма.

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

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

Худший ответ:
Договор - есть?
Не блабла на словах - а бумажка с печатью организации? Нету? Тогда, как это ни грустно, но Вы - лох... :(

Если договор есть - то тогда в зависимости от его типа - трудовой или ГПХ - будет и реакция, Василий Банников хорошо расписал.

Можно пойти в трудовую инспекцию - если окончательно решили, что работать там не будете (потому что независимо от того, выиграете Вы или нет данный процесс, работать там уже не сможете - загрызут). Но можно попробовать хотя бы денег стрясти.
Вопрос: Mysql connect error [localhost]: (2002) No such file or directory (400)?

Лучший ответ:
Когда mysqli подключается к MySQL через localhost, он использует не сеть, а сокет юникс. Для этого должен быть правильно задан путь к файлу сокета - параметр mysqli.default_socket в php.ini. Он должен указывать на тот же файл, что и параметр socket в настройках MySQL.
Альтернатива - подключение через 127.0.0.1. В этом случае соединение будет установлено через сетевую подсистему.

Худший ответ:
Решил проблему поменяв localhost на 127.0.0.1. и создав нового пользователя, для 127.0.0.1.
Вопрос: Есть песненные синтезаторы речи?

Лучший ответ:
Конечно есть.
Гугли по слову Vocaloids.

Только там задать ритм, интонацию, подобрать строки песни будет не две кнопки нажать, а конкретно заморочиться на пару месяцев.

Худший ответ:
Берем это самое видео, извлекаем звуковую дорожку, загоняем в какой-нибудь популярный секвенсор (FL Studio, Ableton Live), там нарезаем на слова и тюним нотки автотюном. Некто Энджойкин на таком нехило хайпанул лет 10-15 назад.
Вопрос: Почему у домашнего прова пингуется большое количество адресов bogon сетей?

Лучший ответ:
На их усмотрение. Резать их никто не обязывает. Более того, я знаю случай, когда несколько городских провов обьединились и раздавали желающим такие вот "полосатые" адреса, по форме RFC1918, но маршрутизируемые в рамках города :) Было это очень давно, но я до сих пор помню бодание за то, чтобы к нам трафик приходил без этого полосатого уродства.

Худший ответ:
Чтобы они пинговались не провайдерские - нужно их маршрутизировать не через провайдера. Это полностью в ваших руках.
Вопрос: Рациональность замены кабеля CAT5e на CAT7?

Лучший ответ:
А зачем? 
Роутер у тебя всё равно максимум гигабит тянет.
Интернет тоже максимум 1 гигабит
CAT5e гигабит поддерживает - если у тебя скорость внутри сети будет ниже, тогда только и имеет смысл разбираться.
Но даже тогда ставить CAT 7 смысла нет, ибо десятикратная переплата.

Худший ответ:
Сколько от оборудования провайдера до вашего? Вроде если меньше 10 метров то и кат 5е потянет и 10g, если не прав просьба к знатокам поправить или даже уточнить дистанцию
Вопрос: Как обучить глупых студентов функциональному программированию?

Лучший ответ:
Не совсем понимаю проблемы. First class functions, lambda, closure реализованы и активно применяются в большинстве современных mainstream языков. Многие алгоритмы гораздо удобнее выражать рекурсивно, например quicksort классически выражают рекурсивно. То есть отдельные приёмы ФП вполне укладываются в обычную ментальную модель, без подрыва мозга)) Не обязательно ведь учить кодить на Scheme или Haskell.

Худший ответ:
Я бы попробовал дать им очень простой язык с быстрым циклом разработки, такой как Elm.
Вопрос: Исполнитель удалил проект с сервера заказчика?

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

Худший ответ:
Если договоров не было, то ничего. В теории можно ст. 272 ук рф притянуть... но это сложно.. если вообще возможно, и никто этим заниматься не будет.
Вопрос: Какую версию windows server выбрать?

Лучший ответ:
получается что в версии стандарт можно создать только 2 виртуальные машины в Hyper V? - технически будет работать любое количество ВМ, лицензионно чистыми будут 2ВМ (есть хост используется только для Hyper-V).

Я хочу поднять 100 виртуальных машин. Общее правило такое: лицензируются все физические ядра сервера, минимальный заказ - 16 ядер (даже если в вашем сервере 4 ядра - покупаете 16).
Предположим, что у вас 2-процессорный сервер, каждый CPU содержит 32 ядра (64 потока) - итого 64 физических ядра. Теперь считаем:
- Standard: 16-ядерная лицензия Х 4шт = примерно 320К-350К р; 100 ВМ = это 50 лицензий. Соответственно, Вам надо 200 штук 16-ядерных лицензий, каждая стоит примерно 80К-85К. Итого = 16М руб.
- Datacenter: 16-ядерная лицензия Х 4шт = примерно 2М р; количество ВМ = неограниченно. Итого = 2М руб.

Было сравнение, что редакция Standard становится невыгодной уже при 12-14-16 ВМ...Плюс в Standard отсутствуют либо урезаны некоторые фичи (Storage Spaces Direct, например)

Худший ответ:
Windows server лицензируется на физической хост, по ядрам( минимум 16 ядер ).
Кол-во виртуальных машин на физическим хосте лицензия не ограничивает.
Но каждая виртуальная машина должна быть лицензирована.
Если у вас виртуалки windows server они должны иметь советующую лицензию. 
Лицензия standart позволяет вам запускать две виртуальные машины windows server в пределах одного хоста.
Лицензия datacenter позволяет вам запускать любое кол-во виртуальных машин windows server в переделах одного хоста.
Запуск виртуальных машин других операционных систем лицензируется согласно политике лицензирования данных операционных систем.

Важный нюанс, учитывая указанное вами кол-во виртуальных машин, вероятно вы хотите их запускать для других организации, вы не можете передавать другим организация обычную лицензия windows server ни стандарт, ни datacenter. Т.е. ваша лицензия не будет покрывать виртуальные машины используемые не вами, даже если физический хост ваш и у вас datacenter.
Вопрос: Умножение и деление используя сдвиги, как это работает?

Лучший ответ:
не надо всё смешивать в одну кучу mul и shr. рассмотрим сдвиги:
представим например число 1 в двоичном исчислении 8 бит: 00000001.
что будет если сдвинуть биты влево?  - что в десятичной системе будет 2.
ещё сдвинем влево - получится  00000100 - в десятичной это 4.
вот получается и умножение при сдвиге влево. а при сдвиге вправо - деление

Худший ответ:
4 * 10 = 40. Переводим в шестнадцатиричную систему, получаем 0x28.
40 / 2 = 20. Переводим в шестнадцатиричную систему, получаем 0x14.
Вопрос: Поможет ли запись информации на весь возможный объем памяти после удаления — избежать восстановления информации?

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

На жёстких дисках (HDD) у вас есть возможность записать новые данные поверх именно в те сектора, где хранился стираемый файл. Благодаря этому вы можете взять программу наподобие Eraser и стирать информацию "таргетированно".

Сейчас эта ситуация начинает изменяться - у самых новых жёстких дисков начали появляться трансляторы, похожие на те, которые используются в SSD. 
Кроме того, часть моделей использует технологию Shingled Magnetic Recording (SMR), из-за которой возникает вопрос о том, что происходит с лентой, которая сначала записывается в медиакэш. Под капотом эта технология далеко не так проста, как кажется, но говоря кратко, даже формально будучи временным, дублирование информации в разных областях диска оставляет поводы для сомнений.

На твердотельных накопителях (SSD), флешках, и картах памяти записать информацию в нужный сектор не получится из-за механизма wear leveling, равномерно "размазывающего" данные по всему объёму флэш-памяти. 

Однако, у ССД есть TRIM, на который отчасти можно положиться, и который часто становится причиной безвозвратной потери информации после случайного удаления. 
Но в связи с тем, что наша цель - гарантированное удаление, безопаснее будет действительно заполнить свободное место какими-либо неважными данными.

И HDD и SSD можно затереть целиком, запустив тест записи "по всей поляне", любым софтом, который такое умеет. Например, Р.тестером. В качестве бонуса к затиранию бесплатно получите отчёт о состоянии поверхности/памяти.

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

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

Но если вы удаляете какую-то серьёзную корпоративную информацию, или секреты государственной важности, о последнем абзаце стоит помнить и рассмотреть идею физического уничтожения диска (либо его размагничивания специальными устройствами). Это наиболее безопасный способ, который поможет всем участникам процесса (в т.ч. и диску - ba-dum-tss!) спать спокойно.

Худший ответ:
да.
Но есть способы проще и быстрее.
Просто перезаписать файл другими данными, для этого есть море утилит.