METANIT.COM – Telegram
METANIT.COM
5.77K subscribers
1.64K photos
80 videos
9 files
979 links
Канал о программировании и разработке сайта metanit.com
Download Telegram
8 наиболее распространённых типов кибератак
(описание в следующем посте)
❤‍🔥9🔥1👏1
8 наиболее распространённых типов кибератак
(описание предыдущего поста)

1. Phishing Attack (Фишинговая атака)
* Суть: обманные письма, сообщения или сайты для получения конфиденциальной информации.
* Механизм: злоумышленник отправляет фишинговую ссылку → пользователь открывает её → хакер собирает учётные данные → использует их.

2. Ransomware (Программа-вымогатель)
* Суть: ПО, шифрующее файлы с требованием выкупа за их разблокировку.
* Механизм: заражение через инфицированный носитель → пользователь заражается → данные блокируются → требование выкупа.

3. Denial-of-Service (DoS) (Отказ в обслуживании)
* Суть: перегрузка системы или сети для нарушения их работы.
* Механизм: хакер использует бот для отправки ложного трафика на сервер → целевая система перегружается.

4. Man-in-the-Middle (MitM) (Человек посередине)
* Суть: перехват и изменение коммуникации между двумя сторонами без их ведома.
* Механизм: злоумышленник перехватывает оригинальное соединение между пользователем и веб-приложением.

5. SQL Injection (Внедрение SQL-кода)
* Суть: эксплуатация уязвимостей в запросах к базе данных для получения несанкционированного доступа.
* Механизм: хакер внедряет вредоносный SQL-запрос → сервер возвращает данные всех пользователей атакующему.

6. Cross-Site Scripting (XSS) (Межсайтовый скриптинг)
* Суть: внедрение вредоносных скриптов на веб-сайты, просматриваемые другими пользователями.
* Механизм: злоумышленник внедряет скрипт в базу данных → сервер отправляет заражённый код пользователям.

7. Zero-Day Exploits (Эксплойты нулевого дня)
* Суть: атаки, использующие неизвестные уязвимости до того, как разработчики успеют их устранить.
* Механизм: существует уязвимость → хакер её обнаруживает → запускает атаку → разработчики обнаруживают атаку, но не имеют времени на устранение.

8. DNS Spoofing (Подмена DNS)
* Суть: перенаправление DNS-запросов на вредоносные сайты для несанкционированного доступа.
* Механизм: злоумышленник внедряет поддельную DNS-запись → пользователь запрашивает реальный сайт → запрос перенаправляется на поддельный сайт.
❤‍🔥112🔥2
Вещь, которая многих бесит в Go
🔥33😁24😭7🤝73🤷‍♂2
3 типа шардирования базы данных:

* На основе диапазонов (range‑based)
* На основе хеширования (hash‑based)
* На основе арендаторов (tenant‑based)

Шардирование на основе диапазонов разделяет данные исходя из диапазонов значений ключа.

Шардирование на основе хеширования применяет хеш‑функцию к ключу шардирования, чтобы определить, в каком шарде хранятся данные.

Шардирование на основе арендаторов предоставляет каждому арендатору собственную базу данных.
🥴53👏3🔥2
Иллюстрированная история C# и .NET с учетом последнего релиза #csharp #dotnet
24🔥2👏1
7+ основных форматов точности, используемых в ИИ:
▪️ FP32
▪️ FP16
▪️ BF16
▪️ FP8 (E4M3 / E5M2)
▪️ FP4
▪️ INT8/INT4
▪️ 2-bit (ternary/binary quantizatio / троичное/двоичное квантование)

Общая тенденция: более высокая точность для обучения, более низкая точность для вывода.
👍75🔥3🤮1🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают B-tree наглядно
👍28🔥5👏2
Как работает сборщик мусора (Garbage Collector) в Java #java
(продолжение в следующем посте)
5🔥2👏1💩1
Как работает сборщик мусора (Garbage Collector) в Java #java
(продолжение предыдущего поста)

Java использует систему автоматического управления памятью, которая называется сборщиком мусора (Garbage Collector, GC). Она освобождает память, занятую объектами, которые больше не нужны. Это помогает предотвратить утечки памяти и обеспечивает эффективную работу приложений.

Во время выполнения программы:

→ Виртуальная машина Java (JVM) постоянно отслеживает ссылки на объекты, чтобы определить, какие из них всё ещё доступны из активных потоков и исполняемого кода.
→ Объекты, к которым больше нет доступа, помечаются как подходящие для сборки мусора.
→ Сборщик мусора использует такие алгоритмы, как «Маркировка и очистка» (Mark‑and‑Sweep), «Копирование» (Copying) и «Поколение» (Generational Collection), чтобы выявить неиспользованные объекты и освободить занятую ими память.
→ Молодое поколение (Young Generation) часто обрабатывается с помощью быстрых и эффективных циклов малой сборки мусора (minor GC).
→ Объекты, пережившие несколько циклов, перемещаются в старое поколение (Old Generation), где с долгоживущими объектами работают циклы основной сборки мусора (major GC).
→ После очистки сборщик мусора уплотняет память, чтобы уменьшить фрагментацию и повысить производительность при выделении памяти.
→ Весь процесс выполняется автоматически, позволяя разработчикам на Java сосредоточиться на написании кода без ручного освобождения памяти.

Результат: Java обеспечивает стабильное и эффективное использование памяти, автоматически обнаруживая неиспользованные объекты и освобождая занятое ими пространство посредством оптимизированных циклов сборки мусора.
11🔥2🥰1
RAG - это генерация с дополнением посредством поиска (Retrieval Augmented Generation)

Вот как это работает на практике:

Knowledge Sources (Источники знаний) → PDF‑файлы, документы, базы данных
Embeddings (Векторные представления) → ваши данные разбиваются на фрагменты и преобразуются в векторы
Vector Database (Векторная база данных) → хранит всё для быстрого поиска
Retrieval (Поиск) → находит наиболее релевантный контекст (топ‑k результатов)
Augmentation (Дополнение) → запрос + контекст = более эффективный промпт
Generation (Генерация) → выдаёт точные ответы, основанные на контексте
4👍2👏1
Шпаргалка по перенаправлениям в Linux #linux
6🥰2👎1👏1
Что такое ACID
(продолжение в следующем посте)
4🫡3❤‍🔥2
Что такое ACID
(продолжение предыдущего поста)

ACID - набор свойств, которые обеспечивают надежность и целостность данных при обработке транзакций в системах управления базами данных (СУБД). ACID расшифровывается как Atomicity (атомарность), Consistency (согласованность), Isolation (изолированность), Durability (долговечность)

1. Atomicity (Атомарность) — «Всё или ничего» (верхний левый угол):
* Гарантирует, что транзакция либо выполняется полностью, либо не выполняется вовсе.
* Если транзакция не может быть завершена, СУБД откатывает все изменения (возвращает базу данных к предыдущему состоянию).
* На схеме показан пример транзакции с операциями write 1, write 2, write 3, write 4, которые либо все фиксируются (commit all), либо отменяются (or nothing).

2. Consistency (Согласованность) — «Сохранение инвариантов базы данных» (верхний правый угол):
* Обеспечивает, что каждая транзакция переводит базу данных из одного согласованного состояния в другое.
* Транзакции не нарушают правила целостности данных.
* На схеме показано, как база данных переходит из consistent state A (согласованное состояние A) в consistent state B (согласованное состояние B) через выполнение транзакций.

3. Isolation (Изолированность) — «Параллельные транзакции изолированы друг от друга» (нижний левый угол):
* Гарантирует, что каждая транзакция выполняется независимо от других, без видимости промежуточных изменений.
* Это предотвращает конфликты между транзакциями.
* На схеме изображены две транзакции (Transaction A и Transaction B), которые выполняются изолированно, не влияя друг на друга.

4. Durability (Долговечность) — «Данные сохраняются после фиксации транзакции даже при сбое системы» (нижний правый угол):
* Гарантирует, что изменения, внесённые транзакцией, сохраняются и становятся постоянными.
* Даже если система выйдет из строя после фиксации транзакции, данные останутся доступными.
* На схеме показан процесс:
1. Фиксация транзакции (commit).
2. Репликация данных на копии базы (replica a, replica b), что обеспечивает сохранность информации.

#database #sql
6🔥4❤‍🔥3
Цикл хайпа применяемых архитектур приложений
22🔥5👏2😭2
Формулы переносов по оси X и Y (Трансляции/переносы или Translations):
- g(x) = f(x) + a — сдвиг графика функции f(x) вверх вдоль оси Oy на величину a.
- g(x) = f(x) – a — сдвиг графика функции f(x) вниз вдоль оси Oy на величину a.
- g(x) = f(x – a) — сдвиг графика функции f(x) вправо вдоль оси Ox на величину a.
- g(x) = f(x + a) — сдвиг графика функции f(x) влево вдоль оси Ox на величину a.
🥱12🔥11👍5🤓4🖕1
Как работает Firewall (межсетевой экран)
(подробное описание в следующем посте)
🔥133💯2
Как работает Firewall (межсетевой экран)
(продолжение предыдущего поста)

Firewall фильтрует входящий и исходящий сетевой трафик, защищая устройства и сеть от угроз: неавторизованного доступа, вирусов, фишинга и других атак. Работает по заданным правилам, разрешая или блокируя соединения.

Два основных типа Firewall:

- Network Firewall (сетевой межсетевой экран):
- располагается между Интернетом и локальной сетью (перед роутером);
- работает на уровнях 3–4 модели OSI (сетевой и транспортный уровни);
- защищает всю сеть целиком, фильтруя трафик, поступающий извне;
- может быть аппаратным, виртуальным или облачным решением.

- Host-based Firewall (межсетевой экран на уровне хоста):
- устанавливается непосредственно на отдельные устройства (например, Desktop — рабочая станция, Server — сервер);
- работает на уровнях 3–7 модели OSI;
- защищает только конкретное устройство, на котором установлен;
- контролирует трафик, направленный к устройству и от него.

Критерии фильтрации трафика

Firewall анализирует трафик по следующим параметрам (указаны слева на схеме):
- IP-адреса — проверяет, разрешены ли соединения с определённых IP-адресов;
- доменные имена — блокирует или разрешает доступ к конкретным доменам;
- протоколы (например, TCP, UDP) — фильтрует трафик по используемым сетевым протоколам;
- программы — контролирует, какие приложения могут выходить в сеть;
- порты — разрешает или запрещает соединения на определённых портах (например, порт 80 для HTTP);
- ключевые слова — фильтрует трафик по содержимому (например, блокирует запросы с подозрительными словами).

Пример работы правил (Example Rules)

На схеме приведён пример правил фильтрации:
- ALLOW TCP ANY:80 — разрешает TCP-трафик на порт 80 (обычно используется для HTTP-трафика);
- ALLOW TCP ANY:25 — разрешает TCP-трафик на порт 25 (используется для SMTP — отправки почты);
- DENY UDP ANY:23 — запрещает UDP-трафик на порт 23 (часто используется для небезопасного протокола Telnet);
- ALLOW TCP ANY:2389 — разрешает TCP-трафик на порт 2389 (может использоваться для специфических сервисов).

Последовательность работы

1. Трафик поступает из Интернета → сначала проходит через Network Firewall.
2. Network Firewall анализирует пакеты данных по заданным правилам: проверяет IP-адреса, порты, протоколы и другие параметры.
3. Если трафик разрешён — он пропускается дальше, к роутеру и устройствам в локальной сети. Если запрещён — блокируется.
4. Роутер распределяет разрешённый трафик между устройствами в локальной сети.
5. На каждом устройстве (Desktop, Server) работает Host-based Firewall, который дополнительно фильтрует трафик, поступающий непосредственно на это устройство.
6. Устройства взаимодействуют с сетью, пропуская только разрешённые соединения и блокируя потенциально опасные.

В итоге Firewall создаёт многоуровневую защиту:
- на сетевом уровне (Network Firewall) — защищает всю инфраструктуру от внешних угроз;
- на уровне отдельных устройств (Host-based Firewall) — предотвращает несанкционированный доступ к конкретным хостам.
🔥10👍65