fa
Feedback
Computer Science

Computer Science

رفتن به کانال در Telegram

По всем вопросам: @altmainf Уважаемый менеджер: @altaiface

نمایش بیشتر
7 931
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-57 روز
-2630 روز
آرشیو پست ها
4. NOT (~) — Побитовое НЕ (инверсия) • Правило: Инвертирует каждый бит (0 становится 1, 1 становится 0). • Важно: Результат зависит от разрядности числа (количества бит). • Пример (8-битное): ~5 5 = 00000101 ~5 = 11111010 (что равно -6 в дополнительном коде для знаковых чисел) • Применение: Часто используется в комбинации с другими операциями для создания масок. 5. Сдвиги влево (<<) и вправо (>>) x << n — Сдвигает биты числа x на n позиций влево. Освободившиеся справа биты заполняются нулями. - Эффект: Умножение на 2^n. 5 << 1 = 10 (52), 5 << 3 = 40 (58). - Применение: Быстрое умножение на степень двойки, установка битов. x >> n — Сдвигает биты числа x на n позиций вправо. - Логический сдвиг (>>>): Освободившиеся слева биты всегда заполняются нулями. Для беззнаковых чисел. - Арифметический сдвиг (>> для знаковых): Освободившиеся слева биты заполняются значением старшего (знакового) бита. Сохраняет знак для отрицательных чисел. - Эффект: Целочисленное деление на 2^n (с округлением в меньшую сторону). 13 >> 1 = 6 (13/2=6.5 -> 6), -8 >> 2 = -2. - Применение: Быстрое деление на степень двойки. Практические примеры и трюки • Проверка чётности: if ((x & 1) == 0) — чётное. • Умножение/деление на 2: x << 1 (умножить на 2), x >> 1 (разделить на 2). • Включение n-го бита: x |= (1 << n) • Выключение n-го бита: x &= ~(1 << n) • Переключение n-го бита (0→1, 1→0): x ^= (1 << n) • Проверка, включён ли n-й бит: if (x & (1 << n)) • Извлечение младших k бит: x & ((1 << k) - 1) • Округление до степени двойки (для положительных): 1 << (int)(log2(x) + 1) • Быстрая проверка, является ли число степенью двойки: (x & (x - 1)) == 0x > 0). • Подсчёт количества единичных битов (вес Хэмминга): Есть эффективные алгоритмы с использованием битовых операций.

Основные битовые операции 1. AND (&) — Побитовое И • Правило: Результат равен 1, только если оба соответствующих бита равны 1. • Таблица истинности: 0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1. • Пример: 5 & 3 5 = 00000101 3 = 00000011 Результат: 00000001 (что равно 1) • Применение: - Маскирование: Выделение конкретных битов. Например, x & 1 проверяет чётность (младший бит). - Очистка битов: x & ~(1 << n) сбрасывает бит в позиции n в 0. 2. OR (|) — Побитовое ИЛИ • Правило: Результат равен 1, если хотя бы один из соответствующих битов равен 1. • Таблица истинности: 0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1. • Пример: 5 | 3 5 = 00000101 3 = 00000011 • Результат: 00000111 (что равно 7) • Применение: - Установка битов: x | (1 << n) устанавливает бит в позиции n в 1. 3. XOR (^) — Побитовое исключающее ИЛИ • Правило: Результат равен 1, если соответствующие биты разные. • Таблица истинности: 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0. • Пример: 5 ^ 3 5 = 00000101 3 = 00000011 • Результат: 00000110 (что равно 6) • Ключевые свойства: x ^ x = 0 x ^ 0 = x x ^ y = y ^ x (коммутативность) (x ^ y) ^ z = x ^ (y ^ z) (ассоциативность) • Применение: - Обмен значений без временной переменной: a ^= b; b ^= a; a ^= b; - Шифрование: Базовый шифр, так как дважды применённый XOR с одним ключом возвращает исходное число. - Поиск уникального элемента: В массиве, где все элементы парные, кроме одного, XOR всех чисел найдёт уникальный.

Как восстановить базу PostgreSQL на конкретный момент времени Можно ли вернуть базу данных к жизни после сбоя или случайного
Как восстановить базу PostgreSQL на конкретный момент времени Можно ли вернуть базу данных к жизни после сбоя или случайного удаления данных? На открытом вебинаре курса OTUS PostgreSQL. Advanced Виктор Коробков покажет, как работает восстановление PostgreSQL до конкретного момента времени (Point-in-Time Recovery, PITR) и как правильно настраивать систему бэкапов, чтобы не потерять ни байта данных. → 23 декабря, 20:00 Как восстановить базу PostgreSQL на конкретный момент времени — роль WAL-журналов и как их использовать для архивации — настройка файлового резервного копирования PostgreSQL — пошаговое восстановление базы данных до нужного времени — принципы PITR и применение в облачных инфраструктурах — типичные ошибки при восстановлении и способы их избежать Вебинар будет полезен администраторам баз данных, DevOps- и Cloud-инженерам, а также всем, кто хочет уверенно управлять бэкапами и защитой данных PostgreSQL. → Зарегистрируйтесь: https://otus.pw/Jf30/ Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576

Декларативное программирование: когда важен результат, а не путь к нему Декларативное программирование — это общий подход, в котором программист описывает, что нужно получить, а не как именно. Фактически логическое, функциональное и SQL — это разновидности декларативного подхода. Главная идея: Программа описывает правила и свойства результата, а не последовательность шагов. Особенности декларативной парадигмы: • минимум изменяемого состояния, • код ближе к описанию задачи, чем к алгоритму, • возможность оптимизаций со стороны интерпретатора/движка, • часто используются выражения, а не команды. Примеры декларативных подходов: 1) SQL (чисто декларативный язык) В SQL мы описываем, какие данные хотим получить. SELECT name FROM users WHERE age > 18; Это что нам нужно. Но мы не указываем: • как искать, • по какому индексу, • какой алгоритм сравнения использовать. База данных сама выбирает оптимальный путь. 2) HTML — описание структуры, а не алгоритма <p class="text">Привет!</p> Мы описываем структуру документа, но не "рисуем" текст по пикселям. 3) Функциональное программирование (частный случай декларативного, Python) result = sum([x * x for x in range(1, 6)]) Мы описываем что: сумму квадратов. А не как: перебрать список, вести счётчики и т. д. 4) Конфигурационные языки (Terraform) resource "aws_s3_bucket" "my_bucket" { bucket = "example" } Мы описываем желаемое состояние: «должен быть bucket с именем example». Terraform сам вычисляет шаги: создать, удалить, обновить. Где применяется декларативное программирование: • запросы к данным (SQL, GraphQL), • инфраструктура (Terraform, Ansible), • UI-разработка (React — декларативный), • аналитические и научные вычисления, • шаблонизация, конфигурация.

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

Логическое программирование: когда программа — это набор фактов и правил Логическое программирование основано на идее, что программа — это знание, а выполнение — это логический вывод. То есть вместо того, чтобы объяснять компьютеру как найти ответ, вы описываете что является истинным, а система сама выводит результат. Главный представитель — язык Prolog. Основные концепции: • Факты — утверждения об объекте или отношении. • Правила — логические зависимости между фактами. • Запросы (queries) — вопросы к программе. • Унификация — сопоставление шаблонов. • Поиск решения — Prolog сам перебирает варианты и находит подходящие. Пример: семейные отношения (Prolog) Факты: parent(anna, ivan). parent(sergey, ivan). parent(ivan, dima). Это означает: Анна — родитель Ивана Сергей — родитель Ивана Иван — родитель Димы Правило: grandparent(X, Y) :- parent(X, Z), parent(Z, Y). Значение: X — дед/бабушка Y, если X — родитель Z, а Z — родитель Y. Запрос: ?- grandparent(X, dima). Ответ Prolog: X = anna ; X = sergey ; false. Компьютер сам делает логический вывод. Нам не нужно описывать алгоритм — только знания. Где применяется логическое программирование: • экспертные системы, • поиск решений в сложных логических задачах, • искусственный интеллект (классические подходы), • автоматические доказатели теорем, • анализ и трансформация программ.

Бесплатный доступ к доскам от МТС Линк 📅 В прошлом году Miro перестал обслуживать корпоративные аккаунты из России. Для комп
Бесплатный доступ к доскам от МТС Линк 📅 В прошлом году Miro перестал обслуживать корпоративные аккаунты из России. Для компаний, которые успели оплатить годовой тариф, лицензии подходят к концу. Что грозит ИТ-директорам и CTO при продолжении работы с Miro? • риск несоответствия требованиям ФЗ-152 и РКН при хранении данных за рубежом; • потеря корпоративных наработок; • утечки коммерческих тайн и персональных данных. 💻 Замените Miro на российское решение МТС Линк Доски это: - Соответствие требованиям 149-ФЗ, 152-ФЗ и РКН; - Быстрая адаптация к сервису без остановки работы; - Стабильные и безопасные коммуникации в компании; - Полный перенос бордов, таблиц, CJM и майнд-карт без сбоев и потерь данных. ✅ 2 недели бесплатного доступа ко всем функциям Попробовать #реклама 16+ mts-link.ru О рекламодателе

Объектно-ориентированное программирование: когда всё — это объекты Объектно-ориентированное программирование (ООП) моделирует программу как набор объектов, которые представляют сущности мира и взаимодействуют между собой. Основные принципы ООП: • Инкапсуляция — скрываем внутреннее устройство объекта. • Наследование — один класс может расширять другой. • Полиморфизм — общий интерфейс, разные реализации. • Абстракция — выделение значимых свойств сущности. Пример на Python Создадим простую иерархию животных. class Animal: def speak(self): pass class Dog(Animal): def speak(self): return "Гав!" class Cat(Animal): def speak(self): return "Мяу!" animals = [Dog(), Cat()] for a in animals: print(a.speak()) Вывод: Гав! Мяу! Здесь работает полиморфизм: метод speak() вызывается одинаково, но ведёт себя по-разному. Примеры языков: • Java • C# • Python (полностью поддерживает ООП) • C++ • Swift Когда применять: • Когда нужно моделировать сложные сущности и отношения. • Для больших проектов. • В бизнес-логике, где есть объекты: пользователи, документы, счета.

Функциональное программирование: когда программа — это математика Функциональная парадигма основана на идее, что вычисления — это применение функций, которые не изменяют состояние. Главное правило: Функция при одинаковых входных данных всегда возвращает один и тот же результат и не имеет побочных эффектов. Основные признаки: • отсутствие изменяемых переменных; • функции как «граждане первого класса»; • рекурсия вместо циклов; • map, filter, reduce; • композиция функций. Пример (Python, функциональный стиль): Посчитаем сумму чисел от 1 до n без циклов и изменяемых переменных. from functools import reduce n = 5 result = reduce(lambda a, b: a + b, range(1, n + 1)) print(result) # 15 Или ещё более функционально — через встроенную функцию: sum(range(1, n + 1)) Никакого изменения состояния — просто применяем функции к данным. Примеры языков: • Haskell • F# • Lisp, Clojure • JavaScript (частично) • Python (частично) Когда применять: • Много параллельных вычислений — отсутствие модификации состояния делает код потокобезопасным. • Нужна ясная математическая логика. • Хотите писать компактный и легко тестируемый код.

Императивное программирование: когда программа — это последовательность шагов Императивное программирование — это самый «естественный» для человека способ описывать алгоритмы: делай раз, делай два, делай три. Программа в этой парадигме состоит из команд, которые изменяют состояние — значения переменных, память, содержимое файлов и т. д. Основные признаки: • есть переменные, которые можно менять; • есть инструкции (assignments, циклы, условия); • программа — это последовательность действий. Простой пример (Python) # Находим сумму чисел от 1 до n n = 5 s = 0 for i in range(1, n + 1): s += i print(s) # 15 Здесь мы явно изменяем состояние: • создаём переменную s, • увеличиваем её в цикле. Примеры языков: • C, C++, Java • Python (когда используем циклы и изменяемые переменные) • JavaScript (в императивном стиле) Когда применять: • Нужна высокая производительность. • Логика естественна как последовательность операций. • Важен контроль над состоянием: работа с памятью, сетевыми протоколами, системами реального времени.

Распределение Пуассона для моделирования сетевых пакетов Распределение Пуассона — простой способ описать, сколько случайных событий может произойти за определенное время. Оно подходит, когда события редкие, независимые друг от друга и происходят с постоянной средней скоростью. В компьютерных сетях это идеально для моделирования прибытия пакетов данных — маленьких порций информации, которые передаются между устройствами. Зачем оно нужно в сетях? • Моделирование трафика: Представьте, что пакеты приходят на сервер, как посетители в магазин. Если в среднем приходит 5 пакетов в минуту, Пуассоновское распределение помогает предсказать, сколько их может быть в следующий раз — 3, 7 или ни одного. • Оценка нагрузки: Оно используется в моделях очередей, чтобы понять, не "затормозится" ли сеть. Например, если пакетов слишком много, сервер может не справиться, и данные потеряются. • Анализ проблем: В реальных сетях (как интернет или локальная сеть) пакеты прибывают случайно. Если трафик не соответствует этому распределению, это может сигнализировать о проблеме, как хакерская атака. Простой пример Допустим, в минуту в среднем прибывает 5 пакетов. Распределение Пуассона говорит: • Вероятность, что прибудет ровно 3 пакета, около 14% (довольно часто). • Вероятность, что ни одного — очень маленькая, около 0.7% (редко, потому что сеть активна). • Среднее число пакетов всегда равно 5, а разброс тоже около 5. Это помогает инженерам планировать сети: добавлять больше мощности, если среднее растет. Пример кода на Python (простая симуляция) Генерирует случайные числа пакетов и показывает среднее: import numpy as np # Среднее: 5 пакетов в минуту lambda_rate = 5 # Симуляция 1000 минут packets = np.random.poisson(lambda_rate, 1000) # Среднее из симуляции print(f"Среднее количество пакетов: {np.mean(packets):.2f}") Запустите его (нужен Python с numpy: pip install numpy), и увидите, что среднее близко к 5.

PostgreSQL и DevOps: управление базой данных через CI/CD и Kubernetes Как автоматизировать развёртывание, обслуживание и мони
PostgreSQL и DevOps: управление базой данных через CI/CD и Kubernetes Как автоматизировать развёртывание, обслуживание и мониторинг PostgreSQL в продакшн-среде? На открытом вебинаре курса OTUS PostgreSQL. Advanced Антон Герасименко покажет, как объединить DevOps-практики и PostgreSQL 17, чтобы упростить работу с базой данных и повысить её отказоустойчивость. → 8 декабря, 18:00 PostgreSQL и DevOps — управляем базой данных через CI/CD и Kubernetes — создание Docker-контейнера для PostgreSQL и его правильная настройка — использование Kubernetes-операторов для автоматического развертывания — мониторинг и алертинг через Prometheus и Grafana — настройка репликации и standby-реплик в PostgreSQL 17 — интеграция миграций и бэкапов в CI/CD-процессы Вебинар будет полезен DevOps-инженерам, администраторам баз данных и разработчикам, которые хотят упростить управление PostgreSQL и сделать инфраструктуру более гибкой и надёжной. → Зарегистрируйтесь: https://otus.pw/46ia/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Машинное обучение — область ИИ, где модели обучаются на данных для выполнения задач, таких как предсказание, классификация или кластеризация. Алгоритмы ML делятся на категории: обучение с учителем, без учителя и с подкреплением. Алгоритмы обучения с учителем: Здесь модель обучается на размеченных данных (с входами и правильными выходами). • Линейная регрессия: Предсказывает непрерывные значения, минимизируя ошибку между предсказанием и реальностью. Пример: прогноз цен на недвижимость на основе площади и расположения. Преимущества: простота и интерпретируемость. • Логистическая регрессия: Классифицирует данные в бинарные категории (да/нет). Пример: определение, одобрить ли кредит по финансовым данным. Преимущества: эффективность для больших наборов данных. • Деревья решений: Строит дерево правил на основе признаков. Пример: диагностика заболеваний по симптомам. Преимущества: легко визуализировать и интерпретировать. • Случайный лес: Ансамбль деревьев решений для улучшения точности. Пример: классификация спама в email. Преимущества: устойчив к переобучению. • Метод опорных векторов: Находит гиперплоскость для разделения классов. Пример: распознавание рукописных цифр. Преимущества: хорош для высокомерных данных. • Нейронные сети (включая глубокое обучение): Многослойные модели, имитирующие мозг. Пример: распознавание изображений в компьютерном зрении. Преимущества: мощны для сложных задач, но требуют много данных. Алгоритмы обучения без учителя: Здесь модель находит паттерны в неразмеченных данных. • K-средних: Группирует данные в кластеры по сходству. Пример: сегментация клиентов по покупкам. Преимущества: простота и скорость. • Иерархическая кластеризация: Строит дерево кластеров. Пример: анализ генетических данных. Преимущества: не требует задания числа кластеров заранее. • Метод главных компонент: Снижает размерность данных, сохраняя ключевую информацию. Пример: сжатие изображений. Преимущества: уменьшает шум и ускоряет вычисления. Алгоритмы обучения с подкреплением: Модель учится через взаимодействие с окружением, получая награды. • Q-обучение: Агент учится оптимальной стратегии. Пример: обучение агента играть в шахматы или управлять роботом. Преимущества: подходит для динамических задач, как игры или автономное вождение.

В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн Но где их находить? Как узнавать о них ран
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн Но где их находить? Как узнавать о них раньше, чем когда все начнут выкладывать фотографии оттуда? Переходите на канал IT-Мероприятия России. В нём каждый день анонсируются мероприятия со всех городов России 📆 в канале размещаются как онлайн, так и оффлайн мероприятия; 👩‍💻 можно найти ивенты по любому стеку: программирование, frontend-backend разработка, кибербезопасность, дата-аналитика, osint, devops и другие; 🎙 разнообразные форматы мероприятий: митапы с коллегами по цеху, конференции и вебинары с известными опытными специалистами, форумы и олимпиады от важных представителей индустрии и многое другое А чтобы не искать по разным форумам и чатам новости о предстоящих ивентах: 🚀 IT-мероприятия Россииподписывайся и будь в курсе всех предстоящих мероприятий!

LLM расшифровывается как Large Language Model (Большая языковая модель).
Это тип ИИ, основанный на машинном обучении, который обучен на огромных объемах текстовых данных для понимания, генерации и обработки человеческого языка. Такие модели способны выполнять задачи, связанные с текстом, такие как ответы на вопросы, перевод, написание статей, генерация кода или даже творческие задачи (например, сочинение стихов).
Как работают LLM? • Обучение: Модели обучаются на миллиардах слов из книг, статей, веб-сайтов и других источников. Они используют нейронные сети (часто трансформеры, как в архитектуре Transformer) для предсказания следующего слова в предложении на основе контекста. • Размер: "Large" указывает на огромные параметры — миллиарды или триллионы весов в модели, что требует мощных компьютеров для обучения и запуска. • Примеры технологий: Они основаны на алгоритмах вроде GPT (Generative Pre-trained Transformer), BERT (Bidirectional Encoder Representations from Transformers) или LaMDA от Google. Ограничения LLM могут "галлюцинировать" (генерировать неправдивую информацию), быть предвзятыми (из-за данных обучения) или требовать много ресурсов. Они не "понимают" мир как люди — это статистическое предсказание на основе паттернов.

AI-Ops для PostgreSQL: нейросети против узких мест и деградации производительности Как заставить PostgreSQL не только работат
AI-Ops для PostgreSQL: нейросети против узких мест и деградации производительности Как заставить PostgreSQL не только работать быстрее, но и самостоятельно объяснять, где и почему всё тормозит? На открытом вебинаре курса OTUS PostgreSQL. Advanced Дмитрий Золотов покажет, как применять AI и LLM-модели для анализа производительности, поиска узких мест и предотвращения деградации ещё до того, как она станет проблемой. → 2 декабря, 20:00 AI-Ops для PostgreSQL: нейросети против узких мест и деградации производительности — применение AIOps-подхода для анализа метрик, логов и планов выполнения запросов — автоматическая интерпретация EXPLAIN ANALYZE и рекомендации по оптимизации — использование ML-моделей для прогнозирования деградации и роста нагрузки — примеры внедрения AI-мониторинга в продакшн Вебинар будет полезен DBA, DevOps-инженерам, архитекторам высоких нагрузок и разработчикам, которые ищут новые способы автоматизации и анализа систем. → Зарегистрируйтесь: https://otus.pw/7zq4/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Видеокарта (или GPU — Graphics Processing Unit) устройство, которое обрабатывает графические данные для отображения изображений на экране. Она ускоряет задачи, связанные с графикой, такими как игры, видеоредактирование, 3D-моделирование и машинное обучение. Основная задача — преобразовывать данные в визуальные пиксели, которые монитор может показать. Основные компоненты видеокарты Видеокарта состоит из нескольких ключевых частей, работающих вместе: • GPU (графический процессор): Основной "мозг". Это множество ядер (сотни или тысячи), оптимизированных для параллельных вычислений. В отличие от CPU (центрального процессора), GPU лучше справляется с повторяющимися задачами, как обработка пикселей. • Видеопамять (VRAM): Специальная память (например, GDDR6 или HBM) для хранения текстур, моделей и промежуточных данных. Она быстрая и работает независимо от оперативной памяти компьютера. • Шина данных (PCIe): Связь с материнской платой и CPU. Через неё передаются команды и данные. • Контроллеры и интерфейсы: Включают HDMI/DisplayPort для вывода на экран, кулеры для охлаждения и питание (через разъёмы на карте). Как работает видеокарта: пошаговый процесс Работа видеокарты можно описать как конвейер обработки данных. Вот упрощённая схема: 1. Получение данных: CPU отправляет задачу (например, рендеринг сцены в игре) через PCIe. Данные включают 3D-модели, текстуры и инструкции. 2. Обработка на GPU: • Вершинный шейдер: Преобразует координаты объектов (вершин) в 3D-пространстве, применяя трансформации (вращение, масштабирование). • Растеризация: Преобразует 3D-данные в 2D-изображение, разбивая на пиксели. • Пиксельный (фрагментный) шейдер: Вычисляет цвет каждого пикселя, учитывая освещение, текстуры и эффекты (тени, отражения). Здесь используется параллельная обработка на множестве ядер. • Дополнительные этапы: Могут включать постобработку (антиалиасинг, bloom) и вычисления для AI (например, в RTX-картах NVIDIA с DLSS). 3. Хранение и вывод: Результаты хранятся в VRAM, затем передаются на монитор через интерфейсы. Видеокарта может обрабатывать несколько кадров в секунду (FPS), обеспечивая плавность. Примеры и аналогии • Аналогия: Представьте GPU как конвейер на фабрике. CPU — менеджер, который даёт задания, а GPU — рабочие, которые быстро собирают детали (пиксели) параллельно. • Производительность: Современные карты вроде NVIDIA RTX 40-series или AMD RX 7000-series могут обрабатывать миллиарды операций в секунду. Для сравнения, в играх видеокарта может рендерить 4K-изображение при 60 FPS, используя тысячи ядер.

⁉️Машинное обучение кажется чем-то сложным и недосягаемым? Всё проще, чем вы думаете! Первый шаг — разобраться, как устроен M
⁉️Машинное обучение кажется чем-то сложным и недосягаемым? Всё проще, чем вы думаете! Первый шаг — разобраться, как устроен ML-процесс и научиться работать в Jupyter Notebook — инструменте, с которого начинают все специалисты в Data Science. На открытом уроке вы шаг за шагом поймёте, как строится путь от данных до модели. Научитесь запускать эксперименты в Jupyter Notebook и Google Colab, работать с виртуальными окружениями и не бояться “сломать” систему. Всё — в формате простых и наглядных примеров. После урока вы сможете уверенно начать свой первый ML-проект и поймёте, какие инструменты нужны, чтобы перейти от теории к практике. ➡️ 13 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «Machine Learning. Basic». Регистрируйтесь и сделайте первый шаг в машинное обучение без страха и путаницы: https://otus.pw/KGVQ/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Web scraping Скрапинг — стандартная процедура для сбора необходимой информации. Для этих целей применяется специализированное программное обеспечение.  С помощью веб-скрейпинга информация собирается в автоматическом режиме по заданным параметрам, структурируется и записывается в файл для дальнейшего анализа.  Такой метод подходит для сбора статистики, стоимости различных офферов, получения данных о товарах в каталогах.
Законно ли это? Если боитесь собирать данные с сайтов, то лучше не стоит, но все, что находится в открытом доступе, можно собирать.

Сигналы прерывания в зависимости от источника возникновения делятся на два основных типа: 1. Внутренние (или программные, синхронные) прерывания — возникают внутри процессора в результате выполнения инструкций программы. Примеры: • Деление на ноль; • Ошибка страницы (page fault); • Выполнение специальной инструкции программного прерывания (например, INT в x86); • Переполнение арифметической операции. 2. Внешние (или аппаратные, асинхронные) прерывания — возникают вне процессора, от внешних устройств или по внешним сигналам. Примеры: • Сигнал от таймера; • Сигнал от клавиатуры, мыши, сетевого адаптера и других периферийных устройств; • Аппаратный сброс. Иногда внешние прерывания дополнительно подразделяют на: • Маскируемые — могут быть временно запрещены программно (например, с помощью флага разрешения прерываний). • Немаскируемые (NMI — Non-Maskable Interrupts) — всегда обрабатываются, даже если остальные прерывания запрещены (обычно для сигналов аварийных состояний).