Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как на Python перевести string в timedelta?

Лучший ответ:
Существующих методов нет (а может и есть),  делайте свой парсер, исходя из нужного формата. Что-то вроде:

def parse_timedelta(timedelta_str):

    pattern = re.compile(r'((?P<days>\d+) days, )?(?P<hours>\d+):(?P<minutes>\d+):(?P<seconds>\d+)')
    m = pattern.match(timedelta_str)

    params = {key: float(val) for key, val in m.groupdict(0).items()}

    return timedelta(**params)

print(parse_timedelta('1 days, 0:00:25'))
print(parse_timedelta('0:00:25'))

Худший ответ:
А я бы сделал так, в две строки:

from datetime import timedelta
timedelta_str = '1 days, 0:00:00'

days,hours,minutes,seconds = map(float, timedelta_str.replace('days,', ":").split(':'))
t_delta = timedelta(days=days,hours=hours, minutes=minutes, seconds=seconds)

print(t_delta,type(t_delta))

Результат:
1 day, 0:00:00 <class 'datetime.timedelta'>
Вопрос: Почему в Биос не запускаются 32-bit файлы, и как это исправить?

Лучший ответ:
Способы:

Не запускать 32-битные ОС. На кой оно в 2021?
Включить в BIOS Legacy Option Rom (CSM), тем самым отключив UEFI


Худший ответ:
Ну видимо не поддерживается, логично.
Попробуй выключить fastboot и прочее
Вопрос: Почему память в стеке для auto переменной не резервируется с помощью rsp?

Лучший ответ:
А почему память не резервируется с помощью rsp? А если произойдет прерывание? Или тут какая-то хитрость?

Тут какая-то хитрость под названием red zone.

Худший ответ:
Не уверен, что понял правильно вопрос. Видимо, вам непонятно, почему в первом примере нет аналога subq    $16, %rsp?
Потому что не надо. rsp все равно никак функцией main не используется, была бы просто лишняя пара инструкций.
Во втором примере rsp нужно настраивать, т.к. есть вызов f(), и нельзя, чтобы она лезла в стек main().
Вопрос: В phpstorm можно сделать так, чтоб открытые файлы с разных проектов не открывались все в одном окне, а как то в зависимости от открытого проекта?

Лучший ответ:
Открывай каждый проект в новом окне.

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

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

Худший ответ:
За 50к купите обычный телевизор. То что вы хотите за пределами массового производства.
Вопрос: Как определить реальную емкость Li-Ion 18V аккумулятора?

Лучший ответ:
есть такая универсальная штука. imax b6 называется (https://aliexpress.ru/item/32814573731.html)
она и заряжать умеет все и разряжать. через нее разряжаешь, а потом заряжаешь и смотришь сколько mA часов смог забрать акум

Худший ответ:
Нужна универсальная зарядка с опцией разряда и контроля ёмкости, imax b6 уже упомянули, но их на самом деле много разных.
Вопрос: Есть ли сервисы для приблизительного анализа дохода сайта?

Лучший ответ:
Выясняем площадку которой пользуется сайт, который мы хотим анализировать. Это можно узнать открыв исходный код страницы. Далее переходим на площадку, открываем калькулятор (в моем случае google adsense) и заполняем форму, где указываем страну, категорию и посещаемость за 1мес. Узнать эти данные можно из открытых источников, например из PR-CY. ВСЕ!

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

Лучший ответ:
Любая книга по джаве.

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

Лучший ответ:
https://www.php.net/manual/en/types.comparisons.php

0 = empty

https://onlinephp.io/c/c75a6



isset проверяет наличие ключа в массиве, но он может быть null, 0 и т.п.
empty проверяет значение на "пустоту"

Худший ответ:
empty($var) - это "синтаксический сахар", т.е. это краткая запись следующей конструкции:
!isset($var) || $var == false
т.е. кроме того же самого isset, там еще и сравнение с false, причем с преобразованием типов
Вопрос: Почему привод ZenDrive не видит BD-R диски?

Лучший ответ:
В спецификации ZenDrive SDRW-08U9M-U нет поддержки blu-ray дисков.
https://www.asus.com/ru/Motherboards-Components/Op...
PS: M-DISC маркировка говорит лишь о технологии материала диска, а не о его формате записи. Он может быть как DVD, так и blu-ray (они же BD). Вы пытаетесь использовать формат диска в приводе, который его не поддерживает.

Худший ответ:
в общем есть вероятность что его надо для чтения M-DISC подключить к двум портам usb чтоб хватало питания.
Но это не точно.  Хотя может сработать
Вопрос: Как открыть в Windows 10 одновременно локальный и удаленный сеансы?

Лучший ответ:
Никак. Для такой работы нужен Windows Server.
А все патчи подобного рода - нарушение лицензии.

Худший ответ:
Как открыть в Windows 10 одновременно локальный и удаленный сеансы?RDP Shadow
Вопрос: Как возвести в квадрат каждый элемент в массиве?

Лучший ответ:
Минутка лишних усложнений и новых концепций.

В JavaScript примитивные значения (числа, например) копируются/передаются «значением», не сохраняя никакой связи с оригиналом. А объекты (например, массив) передаются «ссылкой» на оригинал.

Судя по неудачной попытке, был расчёт, что изменив elem, изменится и его «оригинал» – элемент массива. Но нет. Число возвели в квадрат, но в массиве всё осталось по-прежнему.

Будь elem не числом, а объектом, трюк сработал бы. примерlet arr = [ {x: 1},  {x: 2},  {x: 3},  {x: 4},  {x: 5} ];

for (let elem of arr) {
  elem.x = elem.x ** 2;
}
// [ {"x": 1}, {"x": 4}, {"x": 9}, {"x": 16}, {"x": 25} ]

А в случае с примитивами (числом, строкой) надо как-то вложить квадратное значение обратно в массив в нужную ячейку. Этого-то и не хватает в коде.

Худший ответ:
Когда ты пытаешься поменять внутри цикла каждое значение элемента, типа:
elem = elem ** 2
ты по факту меняешь само число. Это все равно, что сказать 2 является 4. Невозможно изменить числовой тип данных в JS, так как они иммутабельны (то бишь неизменяемые). Нужно менять значения по ключу (в случае массивов - по индексу), так как тогда ты не пытаешься изменить само число, а меняешь значения в массиве, которое просто располагается под определенным индексом. По этому и возникает ошибка. Обращайся к значениям по индексу типа:
const collection = [1, 2, 3, 4, 5];
for (let i in collection) {
  collection[i] = collection[i] ** 2;
}
console.log(collection); // [1, 4, 9, 16, 25]
Вопрос: Как в миграция Laravel указать дефолтное значения поля, но уже для существующих значений записать другое?

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

Худший ответ:
В разных миграциях
$table->boolean('active')->default(true);
$table->boolean('active')->default(false)->change();
Вопрос: Что осваивать после CSE?

Лучший ответ:
Начал изучение computer science
план изучения основ программирования
Хочу научиться читать и писать, взялся за изучение высокого слога в сочинении эпических поэм.

Худший ответ:
C#
Алгоритмы кнута
SQL 92
Паттерны 
Багтрккеры
Гит
Вопрос: Есть ли утилита для просмотра списка файлов в ZIP на S3 бакете?

Лучший ответ:
пример:
https://stackoverflow.com/questions/41789176/how-t...
Если кратко алгоритм:
1. выясняем размер размер zip файла
2. читаем несколько байт из zip файла по известному адресу для того чтобы выяснить расположение и размер листинга файлов в zip файле
3. читаем несколько байт из zip файла с листингом файлов
4. создаем свой пустой zip файл вставляя туда полученные байты по нужным адресам.
функциями работы с zip выдаем список файлов

P.S. скрипт писал не я, но пару лет назад тоже решал подобную задачу.
"Спасение" тут - это чтение части файла, которое позволяет S3 и знание формата zip
В комментариях к ответу на SO написано про ограничения в размере zip в 4Гб - я не сталкивался и задачу по обходу проблемы не решал.

Худший ответ:
Есть некая тулзовина, remotezip. Подходит для получения списка и частичного извлечения файлов по HTTP. Насчет утилиты для S3 не знаю, вроде можно доработать, если нужно для приватного доступа к bucket.
Вопрос: Python. Какие курсы стоит посмотреть, если ты совсем чайник?

Лучший ответ:
Какие курсы стоит посмотреть, если ты совсем чайник?
Никакие. Читайте книги. Лутца, например.

Худший ответ:
Никаких курсов. Только книги и практика
Вопрос: Как можно с парсить что либо из вк?

Лучший ответ:
Можно авторизоваться, можно передать готовые cookies, можно использовать api...
Вариантов много.

Худший ответ:
клик
Вопрос: Задание из егэ по информатике.Что не так в моём коде?

Лучший ответ:
отрезок [5, 9] 
то есть, от пяти до девяти НО НЕ ВКЛЮЧАЯ ДЕВЯТКУ
ТО ЕСТЬ, НАШ ОТРЕЗОК ЭТО = LEN([5, 6, 7, 8])

Худший ответ:
[5;10) - это интервал, включающий 5, но не включающий 10.
Поскольку числовая прямая включает вещественные числа, то задавая интервал [5, 9] вы теряете числа большие 9, но меньшие 10.
А вообще, такие задачи решаются без программ.
Перепишем выражение так, чтобы остались только условия, соединённые через ИЛИ.
((x∈A)∨(x∈P))∨((x∈Q)→(x∈R)) ≡ (x∈A)∨(x∈P)∨(x∉Q)∨(x∈R)
Нам нужно найти отрезок, на котором не выполняются условия x∈P, x∉Q и x∈R.
Он вычисляется по формуле
(−∞, +∞) − P − ((−∞, +∞) − Q) − R =  (−∞, +∞) − [10, 40] − ((−∞, +∞) − [5, 15]) − [35, 50] = 
= (−∞, +∞) − [10, 40] − (−∞, 5) − (15, +∞) − [35, 50] = [5, 10).
Вопрос: Можно ли разместить тег div внутри table?

Лучший ответ:
Можно. Но только внутри td.
https://caninclude.glitch.me/caninclude?child=div&...

Худший ответ:
Вы можете самостоятельно проверить валидность такой разметки в валидаторе (валидно)
<!DOCTYPE html>
<html lang="ru">
  <head>
    <title>test</title>
  </head>
  <body>
    <table>
      <tr>
        <td>
          <div>content</div>
        </td>
      </tr>
    </table>
  </body>
</html>
Вопрос: Что нужно изучить чтобы писать красивые приложения под Android?

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

Худший ответ:
Красивый интерфейс - это дизайн (+ mobile UX trend)
Удобный интерфейс - это юзабилити дизайн (все на это почему то забивают)
Красивый код - это... code style и может быть это (первое что гугл выдал)
Вопрос: Как взаимодействовать с headless CMS?

Лучший ответ:
поставил Strapi и теперь не могу понять, как мне связать ее с фронтом? 
Где он хранится, как вывести его на PHP сайт?
Момент номер 1: А с каких пор PHP стал фронтом? Тот факт, что вы вставили в [filename].php кусок html-разметки, не делает язык фронтэндом.
Момент номер 2: Допустим, вы все-таки понимаете разницу между серверной частью сайта и клиентской и действительно хотите передавать данные сперва в PHP. В таком случае возникает вопрос - а нафига? Вся логика (ну или как минимум - основная), связанная с обработкой данных уже реализована в Strapi, с "той стороны" нужно "тупо" отправлять и принимать данные (очень упрощенно, но в текущий момент это не важно). И в 2022-м году для этого достаточно JS, крутящегося в браузере.
(Нет, безусловно, существуют сложные сервисы, передающие данные между разными "независимыми" серверами (см. микросервисы), но что-то мне подсказывает, что это не ваш случай)
Какие-то rest api, фреймворки 
Ну так почитайте про эти "какие-то". Как минимум, rest api - вещь максимально конкретная.
Если говорить максимально просто то выглядит это так:

Клиентская часть (js в браузере/полноценное приложение на пк/смартфоне,  либо другой сервер, как уже писал выше) посылает get/post/...-запрос по определенному адресу.
Серверная часть принимает этот запрос, выделяет данные пришедшие в теле запроса (которые есть не всегда)
Серверная часть делает какую-то магию (выборку данных из бд, в т.ч. и на основе полученных от клиента данных, или как-то обрабатывает их).
Серверная часть отправляет готовые данные в одном из форматов (зачастую json, но иногда могут быть и другие, по типу xml).
Клиентская часть получает их и отображает их (с применением какой-то логики или без)

Это если рассматривать максимально примитивный вариант. На деле в этом процессе задействовано больше слоев по типу авторизации.

Худший ответ:
Хабр
Вопрос: Где найти книги или курсы по PHP, где даётся проектирование приложений с учётом ООП?

Лучший ответ:
Мне в свое время помогла проработка всех шаблонов проектирования из трех источников: "Head First Design Patterns"+refactoring.guru+designpatternsphp.readthedocs.io. Каждый шаблон разбирала и пыталась понять, почему здесь нужен паттерн, а не процедурный код, обернутый в один класс. Еще помогла книга по чистой архитектуре, но она зашла уже после паттернов. Просто важно полностью для себя понять, почему эти подходы до сих пор существуют и находить для себя два-три примера, потому что один-единственный пример для изучения может быть однобоким и даже неправильным. 
Также эти книги и темы помогают вылечиться от трудностей решения задач на фреймворках, потому что наконец-то начинаешь видеть всю структуру и взаимодействия модулей и классов, а не просто примеры из документации натягиваешь на бизнес-требования)

Худший ответ:
Их не нужно сравнивать. Эти подходы дополняют друг друга. Внутри методов класса ты как ни крути пишешь процедурный код.
Вопрос: Как подменить IP при раздаче с роутера?

Лучший ответ:
Поднимаешь в РФ VPN (или арендуешь VPS в РФ) и подключаешься к нему на роутере. Заворачиваешь только необходимый трафик на роутере/пк в этот VPN.

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

Худший ответ:
Есть программа AdvOR. Есть браузер Tor. Есть русские proxy. Есть VPN-ы, но это уже за денюжку.
Вопрос: Джуны в андроид не нужны?

Лучший ответ:
Периодически мониторю вакансии на позицию Junior Android Developerне туда смотришь, смотри просто Android Developer. Обычно нужно человек 20-30 разрабов и просто делают одно два объявления и потом уже смотрят куда направить человека

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

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

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

Лучший ответ:
Хотел Абеля порекомендовать, но случайно наткнулся - кто-то для Вас уже целую подборку приготовил https://vk.com/devmath/assembler

Худший ответ:
ассемблер совсем разный для разных платформ, да общие подходы имеются, но и отличия огромны.
Нужно понимать под какую задачу Вы собираетесь изучать.
Например есть микроконтроллеры AVR, в инетах много информации по ассемблеру AVR. Так же есть микроконтроллеры ti msp430 (16бит), SRM32 (32бит), но это уже другой уровень погружения особенно STM32.
Так же есть ассемблер для ПК -  masm, tasm, fasm, nasm. Но некоторые уже не поддерживаются.
Посмотрите статьи для начинающих/чайников и видео на YouTube, чтобы ознакомиться и создать представление.
Если совсем не разбираетесь в программировании, то лучше начать с языка С. Например С для микроконтроллеров AVR, да есть Ардуино, но Вы там нахватаетесь поверхностных/ошибочных представлений - это будет тупик...
Вопрос: Где найти полное руководство пользователя по Линуксу?

Лучший ответ:
да нигде его нет.

есть команда man )

Худший ответ:
Последнее что есть, это Linux Mint 18.0. Пойдёт
Вопрос: Как запретить доступ к сайту, но так чтобы не угробить его в топе поисковиков для тестирования?

Лучший ответ:
Здесь всё расписано https://developers.google.com/search/docs/advanced... и есть пример, как полностью запретить индексацию

Худший ответ:
Здесь всё расписано https://developers.google.com/search/docs/advanced... и есть пример, как полностью запретить индексацию
Вопрос: В чем принципиальная разница Proxmax и Kubernetes?

Лучший ответ:
Proxmox управляет виртуальными машинами KVM и контейнерами LXC
Kubernetes работает с Docker.
Информацию про разницу между KVM, LXC и Docker думаю сами найдете.

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

Лучший ответ:
Нужно, разумеется. 
Это как в одном пошлом анекдоте про поручика Ржевского, 
- Запрос есть? Значит нужно.

Если кажется, что защита слишком сложная, то либо вариант предложенный Сергей delphinpro в комментариях,
$stmt = mysqli_prepare($connect, "INSERT INTO `bd` (`id`, `name`, `tel`) VALUES (NULL, ?, ?)");
mysqli_stmt_execute($stmt, [$_POST['name'],  $_POST['tel']]);
Либо, поскольку это ещё не везде работает, пишется маленькая функция на 5 строк, и кладётся в файл, где прописано соединение с БД
function prepared_query($mysqli, $sql, $params, $types = "")
{
    $types = $types ?: str_repeat("s", count($params));
    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param($types, ...$params);
    $stmt->execute();
    return $stmt;
}
И дальше просто 
$sql = "INSERT INTO `bd` (`name`, `tel`) VALUES (?,?)";
prepared_query($connect, $sql, [$_POST['name'], $_POST['tel']]);
Просто, быстро, аккуратно, безопасно

Худший ответ:
Я считаю, если ПОЛЬЗОВАТЕЛЬ ОТПРАВЛЯЕТ КАКИЕ ТО ДАННЫЕ на сервер, и какие то данные нужно сохранить в базе данных, то ОБЯЗАТЕЛЬНО нужна защита от инъекции. ЕСЛИ данные НЕ ЗАВИСЯТ ОТ ОТПРАВЛЕННЫХ ДАННЫХ пользователем, защита от иньекции необязательна.
Вопрос: Как сделать голосовой ответ в голосовом помощнике на python?

Лучший ответ:
Окей, гугл, python text to speech.

Худший ответ:
Можно через JSON, пишете:
Например body.json
{
    "привет": ["здравствуй", "привет", "и тебе привет"],
    "как дела": ["нормально", "просто класс"]
}
сохраняете все это дело в формате JSON, потом в Python открываете:
answer = open("body.json", "r")
answering = json.load(answer)

randanwers = random.choice(answering["привет"]
print(randanswers)
и все ок))
Вопрос: Количество фреймворков для фронта и бэка?

Лучший ответ:
Пару строк занудства, если позволите:
Друзья программисты мне говорят не соваться во фронт, так как там постоянно выходят новые фреймворки
:-D
React Vue или Angular
Ну и в скором времени к ним может присоединиться Svelte

Теперь непосредственно к вопросу. И мой имхо ответ: нигде.

А вообще совет откровенно говоря странный и попахивает предвзятостью))

Моё мнение - если ты только встаёшь на стезю IT специалиста spoilerтыщу раз подумай надо ли тебе это нужно отталкиваться не от того, что много или мало либ и фреймворков выходят на какой-либо технологии, а от того, что нравится, от того, от чего горят глаза и потеют ладошки (и нет, это не то о чём кто-то мог подумать :-D ). Пусть у этой технологии хоть каждые полгода выходят либы. Неважно. Будь то web, mobile или desktop разработка.

Банально. Согласен, но так и есть.

Худший ответ:
Да, десяток и учатся годами, но резких перемен не бывает, все изменения эволюционные, знания полученные в 2000-м году всё ещё актуальны, код написанный для Java 1.4 работает на Java 17. А код приложения на React может потребоваться переписать на две трети, чтобы перейти с 15-й версии на 16-ю, хотя версии разделяет всего один год.
Вопрос: Как в питоне выбрать в проводнике файл,с которым необходимо работать?

Лучший ответ:
По какой причине вы задали вопрос сюда, а не в Google?

Худший ответ:
import os 
os.chdir('c:/folder') #меняем директорию
f=open('file.txt', 'r') #открываем файл
Вопрос: Удалённый доступ к файлам с предварительным фильтром?

Лучший ответ:
есть Nextcloud
можно там делать теги для файлов

если прям форму - видимо придется её прикручивать как то

Худший ответ:
тут ток самому чтото делать, на томже php
Вопрос: Меня взломали и всё равно продолжают ломать??!! что делать?

Лучший ответ:
Я понял. Тут ничего не поможет. Это банальное расщепление личности. Одна личность пишет на Тостер «как взломать роутер», потом ее замещает другая и пишет «какая-то сволочь взломала мой роутер!». И так по кругу. 

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

Худший ответ:
Всё переустановить с 0, т. к.  вы может открываете браузер например, а в свойствах ещё прописан путь к скрипту и всё начинается по новой.  Wps  дыра.
Вопрос: Идти ли в ВУЗ на электронщика?

Лучший ответ:
Так а зачем тебе в армию то? Или очень хочется? иди сразу в вуз на любую специальность

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

Лучший ответ:
в данном конкретном случае switch явно не нужен.
switch Нужен когда у вас есть переменная, которую вы хотите сравнить с разными значениями и в зависимости от этого делать разные действия. А вы в качестве условия switch вообще true пишете, и case без завершения - это с точки зрения читабельности, очень неявный OR.

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

Лучший ответ:
сначала надо проанализировать эту тему
если не можешь - значит еще не аналитик

Худший ответ:
Я бы сказал что... <<Недавно случайно прочитал, что есть такая профессия - бизнес-аналитик, и, как я понял, это человек, который переводит с языка заказчика от бизнеса на язык ТЗ для программиста>> вам лучше попробовать продакт овнера или продакт менеджера - сорри за англицизм. 

ИМХО - Для ИТ продуктов больше подходят две вышеперечисленные, аналитик более узкое !
Вопрос: Есть ли смысл в 2023 году учиться вёрстке?

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

Худший ответ:
вообщем я учёл все ваши комментарии + погуглил,посмотрел ютуб, и сделал вывод , что буду продолжать в том же направлении что и двигался , немного его скорректируя . Буду идти в сторону фронтед девелопера (js условно) , но для начала очень подробно изучив вёрстку ( условно html css и немного js ) . всем спасибо , ваши ответы сыграли решающую роль и очень мне помогли, гугл гуглом , а лично людей очень полезно послушать , то что нужно было ! спасибо каждому .
Вопрос: Как выучить математику с уровня 8 класса?

Лучший ответ:
Шаг 1: Открыть книгу.
Шаг 2: Читать до тех пор, пока не встретится не понятное определение.
Шаг 3: Ввести определение в гугл
Шаг 4: просмотреть несколько пунктов в поисковой выдаче. Как текстовые версии, так и видео-объяснения на ютубе, благо каналов по математике достаточно.
Шаг 4.1(опциональный) подписаться на несколько ютуб каналов по математике, периодчески чекать видео.
Шаг 5: Усвоить материал (прогуляться по кухне, посмотреть в потолок, отжаться 10 раз)
Шаг 6: Вернуться к шагу 1.

К сожалению, всё именно так, как вами описано - либо книги совсем для дураков пишут, либо открываешь книгу и там сразу бомбардировка непонятными терминами "для своих". Крепись, казак, атаманом будешь!

Дополнительно, перед тем как приступать к математике вообще, советую более-менее полноценно освоить теорию множеств, ютуб/статьи в помощь.

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