Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Могут ли поиск Google и Youtube отслеживать разговоры для показа рекламы?

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

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

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

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

Помните, львиная доля выручки гугла - это реклама! А когда ты главный поисковик мира, более половины мира ходит с телефонами, где твоя OС, а если не твоя, то много где стоит хром, много ума не нужно, что бы начать действовать))) Гугл кстати не просто так платит эплу много миллиардов, что бы быть поисковиком по умолчанию в iOS)))

P.S. Лично мне по большому счёту всё равно. Зла эта штука не делает(пока), жить не мешает(пока), а иногда, действительно может попасться что нибудь интересное. Поживём, увидим)

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

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

ЗЫ. Я бы подумал, надо ли использовать коммутаторы микротик....

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

Засуньте его в закрывающийся ящик
Вопрос: Имеет ли данный способ использования класса, подводные камни?

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

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

Лучший ответ:
Никак. Переменная - это просто именованная ссылка на объект.
И одна переменная не знает про остальные. Можно узнать число ссылок на объект, но их имена в общем случае узнать нельзя. Есть частный случай, показанный EugeneKh, который работает, если ты знаешь пространство имён, где могут лежать искомые ссылки. Но тут вообще впору задаться вопросом "а зачем тебе это?".

Также есть такая вещь как предварительное выделение (interning) типовых объектов.
Иными словами:
>>> a = -100
>>> b = -100
>>> a is b
False
>>> a = 100
>>> b = 100
>>> a is b
True
Потому что объекты int для некоторых часто встречающихся чисел выделяются уже при старте питона, и все упоминания этих чисел просто ссылаются на них. И да - это зависит от интерпретатора.
Так что для примитивных типов такой подход не сработает.

Худший ответ:
Тебе это скорее всего не надо делать. Чтоб из элемента массива что-то извлечь - надо просто больше туда добавлять.  Например вместо атома добавить tuple.

>>> a = (-12345, 'a')
>>> p = [a]
>>> print(p[0][1])
a
Вопрос: Две IP-видеокамеры с PoE питанием на 250 м по одному кабелю?

Лучший ответ:
Современные PoE-коммутаторы с режимом Ae/Af позволяют запитать от  одной восьмижильной витой пары две камеры - делал так несколько объектов, правда на такую большую длину никогда не рискую.
Просто расчехляешь витую пару на две по 4 жилы, обжимаешь и должно работать всё., но я так делал исключительно, когда у клиента в коттеджах уже были проброшены провода и вести новые не было возможности..
Я всё же советую не экономить и кинуть цельный 8-ми жильный провод на каждую камеру, ибо, если в случае выхода из строя хоть одной из жил, камера сразу "отпадёт" и это ненадёжный вариант..
Да и то, что пишется, что  будет работать под 250 м, советую всё же проверить перед монтажем на такой длине..я бы не рисковал..
На всякий случай, есть такие штуки - MikroTik GPeR..
https://mikrotik.ru/katalog/katalog/components/int...


Худший ответ:
Не городите нипойми что.
Тяните один провод, ставите на том конце Mikrotik RouterBoard 260GSP запитываете его по POE и он это же POE передает на следующие устройства.
Это дешевле, проще, а главное надежнее, чем ваш пучек витух особенно по 2 камеры.
И кстати: если одна камера у Вас, какими-то молитвами, и выдерживает 250м, то 2 уже врятли, т.к. помех и наводок будет гораздо больше и экранировать их уже нечем
Вопрос: Как использовать нескольких блокирующих команд в docker-compose?

Лучший ответ:
docker-compose не знапускает команды
он инструмент запуска докер-контейнеров. 
ваша задача - научится упаковывать свои приложения в контейнер (в данном случае три разных контейнера) , а после уже написать сценарий запуска этих трех контейнеров + постгрес + редис и что там еще надо..

вот отличный мануал на офф сайте докер как заворачивать приложение на питоне в контейнер
https://docs.docker.com/language/python/build-images/

Худший ответ:
Надо написать скрипт, который будет играть роль ENTRYPOINT. Такой скрипт может обладать очень богатым функционалом, но для решения задачи хватит: docker-entrypoint.sh#!/bin/sh
set -e

if [ "x$DJANGO_MANAGEPY_MIGRATE" = 'xenable' ]; then
    python manage.py migrate --noinput
fi

if [ "x$DJANGO_MANAGEPY_COLLECTSTATIC" = 'xenable' ]; then
    python manage.py collectstatic --noinput
fi

if [ "x$DJANGO_MANAGEPY_LOADDATA" = 'xenable' ]; then
    python manage.py loaddata fixtures/initial_data.json
fi

if [ "x$DJANGO_MANAGEPY_PARALLELRUN" = 'xenable' ]; then
    python manage.py rqworker &
    python manage.py rqscheduler &
    python manage.py runserver &
fi

exec "$@"
Написать Dockerfile на базе которого будет запускаться контейнер и добавить в него ENTRYPOINT ["./docker-entrypoint.sh"]

Среди прочего в Dockerfile следует добавить инструкции по установке gunicorn и прочих зависимостей.

Запускать всё это можно из docker-compose.ymlversion: "3.9"
   
services:
  db:
    container_name: mysql
    image: mysql:8.0.22
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - /data:/var/lib/mysql
    restart: always
    networks:
      - net

  django:
    container_name: django
    build:
        context: .
        args:
          USER_ID: ${USER_ID}
          GROUP_ID: ${GROUP_ID}
          USER_NAME: ${USER_NAME}
          GROUP_NAME: ${GROUP_NAME}
          DOMAIN_NAME: ${DOMAIN_NAME}
          RUN_DEPS: ${RUN_DEPS}
          BUILD_DEPS: ${BUILD_DEPS} 
    environment:
      DJANGO_MANAGEPY_MIGRATE: ${DJANGO_MANAGEPY_MIGRATE}
      DJANGO_MANAGEPY_COLLECTSTATIC: ${DJANGO_MANAGEPY_COLLECTSTATIC}
      DJANGO_MANAGEPY_COLLECTSTATIC: ${DJANGO_MANAGEPY_COLLECTSTATIC}
      DJANGO_MANAGEPY_LOADDATA: ${DJANGO_MANAGEPY_LOADDATA}
      DJANGO_MANAGEPY_PARALLELRUN: ${DJANGO_MANAGEPY_PARALLELRUN}
    command: gunicorn ${WSGI}.wsgi:application --user ${USER_NAME} --group ${GROUP_NAME} --name ${APP_NAME} --workers ${WORKERS} --max-requests ${MAX_REQ} --timeout ${TIMEOUT} --preload --bind=unix:/var/www/${USER_NAME}/data/tmp/${APP_NAME}.sock
    volumes:
      - /blabla:/blabla
    depends_on:
      - db
    restart: always
    networks:
      - net

networks:
  net:
    name: net
В command вписать команду запуска gunicorn, сначала отработает скрипт docker-entrypoint.sh, затем запуститься gunicorn.

Прочие сервисы добавляются в docker-compose.yml аналогично тому, как я описал добавление MySQL.
Вопрос: Какие книги стоит прочесть новичку по ИБ?

Лучший ответ:
Олифер и Олифер. Компьютерные сети
Эви Немет сотоварищи. Руководство по UNIX и Linux

Ну, а единственной "книгой" по ИБ является Уголовный Кодекс РФ :)
А также богатый набор отраслевых стандартов

Худший ответ:
Помимо вышеперечисленного:
Jason Garbis, Jerry W. Chapman "Zero Trust Securit...
Вопрос: Будет ли использоваться индекс в запросе вида WHERE `field1` LIKE '_aa_a_'?

Лучший ответ:
Вместо сотни вопросов один ответ: попробуйте и узнаете online sql editor

Худший ответ:
Нет разницы, один или 10. 
Для простоты индекс можно рассматривать как отсортированный список. 
Если список учеников в классном журнале отсортирован по алфавиту, то вы довольно быстро найдёте нужного.
А теперь представьте, что вы по тому же самому списку ищете фамилию, на зная первой буквы.  И тут уже без разницы, сколько букв мы не знаем. И одной достаточно, чтобы полностью поломать поиск. 

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

Полнотекстовый индекс также не является чем-то особенным в этом плане. Он устроен по совершенно тупому принципу: грубо говоря, БД берёт текст из колонки, и разбивает его на слова. И строит по этим словам снова точно такой же отсортированный список, с указанием, в каких строках это слово используется. То есть когда мы делаем запрос с match, то mysql находит искомое слово в индексе, и возвращает из него все строки.

И точно так же полнотекстовый индекс не работает, если поставить звёздочку спереди. Мануал так и говорит:
Words match if they begin with the word preceding the * operator
То есть звездочка работает только если поставить её в конце слова. 
match against ('класс*') найдёт слово "классный", а '*accный' его уже не найдёт. 
То есть БД тебе сразу говорит, что для такого поиска полнотекстовый индекс будет бесполезен.
Вопрос: Безопасность данных на жестком диске при использовании двух ОС?

Лучший ответ:
1) В Linux отключаем монтирование раздела с Windows.
2) Тадамм, в Windows ничего не нужно делать, так как Windows из коробки умеет не монтировать ext-X

Далее самое интересное: хочу чтоб ОС (обе) не могла прочитать/изменить(отформатировать)Это не ОС делает, а пользователь. Если у пользователя кривые руки, то софтом не защитить разделы, так как юзер может отвёртку воткнуть в диск...

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

Лучший ответ:
У Unity один из самых низких порогов вхождения. Поэтому писать скрипты для Unity может и школьник. И если ты два года интересуешься программированием и играми, то уже должен уметь многое, то есть знать Unity хотя бы на 70%.

Советую идти в тот ВУЗ, к которому просто лежит душа, который восполнит какие-то пробелы. Если пробелы (почему-то) именно в программировании, и при этом ты не умеешь (не хочешь) в самообразование, то да, это будет техническая специальность.

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

Программист, который знает лишь программирование и умеет только кодить, - это далеко не самый хороший программист. У хорошего (в будущем) программиста при выпуске из школы должны быть хорошие оценки не только по информатике, алгебре и геометрии. Если предметная область (игра) на историческую тему, то пригодится история. Если там будет стратегическая карта Земли, то - география. Если там будет механика здоровья, частей тела, крови, то - биология. Я уж молчу про физику, которая будучи в игре очень поспособствует тому, чтобы игра стала хитом. А что касается ВУЗа, то (помимо общих знаний) совмещение программирования и глубоких знаний в другом направлении, сделает из тебя довольно редкого специалиста.

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

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

Лучший ответ:
К мобильному хрому можно подключиться удалённо.
https://developers.google.com/web/tools/chrome-dev...

Худший ответ:
А бэкенд на локалке? Если да, то указывай в качестве адреса IP и порт компа в локальной сети, где крутится API. Например 192.168.0.2:4000.

Фронт на телефоне отрабатывает как должно, пытается отправить запрос к API на адрес 127.0.0.1 и получает фигу, так как на самом телефоне никаких серверов же не запущено, для обслуживания запросов.
Вопрос: Android или Unity?

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

Итого - хотите андроид приложения? Котлин, джава, флаттер (или как его там) и прочие кросплатформы. Хотите игры? Сишарп, куча геометрии, алгебры.

Худший ответ:
А почему Вы думаете, что в мобильной разработке меньше конкуренция? Да и порог вхождения повыше, чем для веба.
Но если есть желание попробовать свои силы, то ставьте Android Studio, осваивайте Java (после C++, мне кажется, будет легче, чем Kotlin), Android SDK и пробуйте делать приложения. 
Unity, как верно заметили - игровой движок с таким обширным функционалом, включая даже фактически разработку без программирования, что в паре слов о нем не расскажешь.
Вопрос: Где можно брать примеры консольных приложений?

Лучший ответ:
Github:
https://github.com/quozd/awesome-dotnet
Или сразу через nuget:
https://www.nuget.org/packages?packagetype=dotnettool - у многих можно посмотреть исходники.

Худший ответ:
лишь как дополнение:
https://rsdn.org/summary/1691.xml (увы, все устаревшее, но фишки можно и найти..
https://metanit.com/sharp/tutorial/
https://docs.microsoft.com/ru-ru/dotnet/csharp/
Вопрос: Есть альтернатива jQuery Form Plugin без jQuery?

Лучший ответ:
Это делается в один абзац кода на чистом JavaScript:
<script>
	
	// Обрабочик для отслеживания готовности страницы:
	
	document.addEventListener('DOMContentLoaded', function() {
		
		// Ставим на форму обработчик срабатывающий при отправке формы:
		
		document.querySelector('form').addEventListener('submit', async function() {
		
			var this_form = this; // Получаем ссылку на форму
			event.preventDefault(); // Отменяем обычную отправку
			
			// Блокируем нажатия по форме:
			
			this_form.style.opacity = '0.5';
			this_form.style.pointerEvents = 'none';
			
			// Блок кода для отправки формы:
			
			try {
				
				// Отправляем форму без перезагрузки страницы и выводим ответ сервера на месте формы, как обычный текст:
				
				this_form.outerHTML = await (await fetch(this_form.action, { method: 'POST', body: new FormData(this_form) })).text();
				
			}
			
			// Блок кода для обработки ошибок:
			
			catch(err) {
				
				// Вывод ошибки, если вдруг отправка неудачная:
				console.error(err); this_form.outerHTML = err.toString();
				
				// Разблокируем форму:
				
				this_form.style.opacity = '';
				this_form.style.pointerEvents = '';
				
			}
			
		});
		
	});
	
</script>

Худший ответ:
да, собсно 10 строчек яваскрипта с успехом заменяют это мегаплагин.
Вопрос: Как отключить setInterval, если он помещён в функцию?

Лучший ответ:
// Выносим за пределы функции, чтобы иметь доступ из любой функции
let timeForQuestion;

function timer() {
    const checkTimer = document.querySelector("#checkTimer");
    function restOfTime() {
        if (Number(checkTimer.innerHTML == 0)) {
            checkTimer.parentElement.innerHTML = `<span style="color: #a8323e">Время закончилось</span>`
            clearTimeout(timeForQuestion)
            resultFalse(state);
        } else {
            checkTimer.innerHTML = checkTimer.innerHTML - 1;
        }
    }
    
    timeForQuestion = setInterval(restOfTime, 1000)
}

function resultFalse(elem) {
    clearInterval(timeForQuestion); // останавливаем интервал
    const falseAnswerCount = document.querySelector("#falseAnswerCount");
    falseAnswerCount.innerHTML = Number(falseAnswerCount.innerHTML) + 1;
    questionWindow.innerHTML = `<span style="color: #C30052">Ты совершил ошибку</span> <br> ${elem.currentAnswer.currentAnswerQuestion}`;
    createQuestionBtn.innerHTML = "Учту. Создать новый вопрос";
    fullDisableElem(answerButton);
    fullEnable(createQuestionBtn);
    changeInput("false");
}

Худший ответ:
Функции у вас перегруженны конечно. но вернёмся к интервалам.
В вашей функции timer() вы можете написать в конце:
function timer(delay = 1000) {
    //---    
    return setInterval(restOfTime, delay)
}
Далее, тогда при вызове timer() вы получаете идентификатор по которому таймер можно остановить в любой момент.
const questTimer = timer();
// ----
clearInterval(questTimer);
Функция resultFalse тоже так себе (в timer тоже нужно вынести лишнее), но там мы видим штуку changeInput, а значит можно повесить слушалку событий addEventListener на что-то что меняется и слушать в основной потоке/функции гдле вы создаете вопрос, таймер и тп. По срабатыванию события сбрасываете счётчик
Вопрос: Мониторинг состояния жестких дисков raid массива, на Ubuntu. Как?

Лучший ответ:
1. Выясняете модель рейд-контроллера (lspci, lshw и т. п.)
2. Устанавливаете утилиту от производителя (полезный ресурс hwraid.le-vert.net)
3. Мониторите

Худший ответ:
Всем спасибо,  разобрался.
Оказывается файл сервер крутиться на Hyper-V.
Raid 10 на lsi megaraid 9271.  из четырх 3тб дисков. Состояние смартов  хорошее. 
Груз упал с плеч.
Вопрос: Как реализовать модель данных для формирования размерной сетки?

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

Кроме того, готового решения и нет, тут надо экспериментировать.  Общее направление конечно понятно -  машинное обучение, классификация и кластеризация. А вот окончательный выбор метода (или - скорее всего - последовательности методов) и "модели" -   требует достаточно глубокого анализа. 

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

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

Худший ответ:
По-моему, все просто. Нужно найти специалиста, который составлял такие размерные сетки для людей. Пусть он сделает то же самое для собак.

Бизнес решил, что программист, да еще с "машинным обучением" справится с этим лучше? Или обойдется дешевле? По-моему, это серьезная ошибка.
Вопрос: В чем преимущества TS?

Лучший ответ:
Во-первых, откуда вдруг на клиенте должны появиться огромные объёмы данных, которые будут генерировать эти ошибки и затруднять их поиск? Вы собрались логику на клиенте считать? Тогда у нас уже тут принципиальное несовпадение по вопросам "соответствующих инструментов". Клиент в вебе нужен только для представления. Ну ещё какой-то интерактив - формы, события... Всё. 
Как там в 2010?

как мартышка ковыряешься с проставлением типов (а иногда это и не особо очевидно), а потом оказывается что какой-нибудь популярный плагин (условный слайдер) в твоей экосистеме - не типизирован. Ручками писать? Потрошить внутренности плагина? Искать аналог?
Это уж как вам удобно. Вам в большинстве случаев понадобится типизировать от стороннего плагина несколько, а то и один метод и пару аргументов. Не хотите ручками? Идём на https://www.typescriptlang.org/dt/search/ и ищем готовое. А в большинстве случаев достаточно создать файлик типа modules.d.ts и там прописать строчку declare module 'ldapjs-type-parsers';, где подставить имя пакета, для которого нет типов.

Вопрос звучит как "уговорите меня использовать TypeScript". В общем вас никто не заставляет. Если лично вам неудобно, то пишите на JS.
P.S. Я уже молчу про удобство рефакторинга ))

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

Лучший ответ:
на фронте - классика: html/css/js.
на бэке - всё что угодно.

Худший ответ:
Битрикс24 на PHP например. На чем угодно могут создаваться. От компетенций разработчика зависит.
Вопрос: Проблема с RDP, как сделать чтобы не закрывались приложения, после закрытия сесии?

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

Худший ответ:
1) Нагугли что сделать с реестром чтобы RDP был многопользовательский
2) Выставь флаги в политиках, чтобы сеанс не заканчивался. 
-- Скорее всего у тебя какия то хитронастроеная система, иначе чем дефолтная
Вопрос: Как быстро будет работать Windows и программы на сменном носителе?

Лучший ответ:
вариант с установкой SSD в коробочку с интерфейсом передачи данных USB - скорость обмена данными ПК с SSD будет ограничена пропускной способностью USB.

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

Лучший ответ:
Навык общения с клиентами и перевода с "клиентского" языка на технический —  это одно из конкурентных преимуществ во фрилансе. Так же как и навыки презентации и продажи своих услуг.

Либо нужно их развивать, либо работать в команде с тем, кто ими обладает. И тот и другой путь вполне эффективен.

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

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

Лучший ответ:
Обычно в папке пользователя весьма много файлов и вложенных папок (вот у вас более 30 гигов - это возможно более сотни тысяч файлов). Поэтому весьма вероятно, что Вы успели нажать отмену пока ещё шло сканирование всей этой кучи файлов, а не удаление. Но в общем случае при таких действиях часть файлов конечно могут быть удалены.

Худший ответ:
Речь о каком то корпоративном (толстом клиенте) ПК с несколькими УЗ или домашний ПК?