METANIT.COM – Telegram
METANIT.COM
5.98K subscribers
1.69K photos
81 videos
9 files
1.08K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Эволюция протокола HTTP
👍3👏2🔥1🎅1
4 основных формы механизмов аутентификации

1. SSH-ключи:
Криптографические ключи используются для безопасного доступа к удаленным системам и серверам

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

3. SSL-сертификаты:
Цифровые сертификаты обеспечивают безопасную и зашифрованную связь между серверами и клиентами

4. Логин/пароль:
Информация об аутентификации пользователя используется для проверки и предоставления доступа к различным системам и службам.
5❤‍🔥1🔥1🥰1
30 распростраенных коротких выражений на Python #python
❤‍🔥143👏2
брейкпойнты media в css для различных типов экранов
7🔥1👏1
5 распространенных атак в кибербезопасности

🔷 MITM (Man-in-the-Middle Attack или атака «человек посередине»)

▪️ Злоумышленник перехватывает и изменяет связь между двумя сторонами
▪️ Используется для кражи конфиденциальной информации, такой как учетные данные и личные данные.
▪️ Распространено в незащищенных сетях, таких как общедоступный Wi-Fi.
▪️ Использует слабые протоколы шифрования или незащищенные каналы связи.

🔷 DDOS (Distributed Denial of Service Attack/отказ в обслуживании)

▪️ Перегружает серверы огромным трафиком из нескольких распределенных источников
▪️ Вызывает простой системы и нарушение обслуживания обычных пользователей
▪️ Часто реализуется через ботнеты для усиления интенсивности атак
▪️ Нацелено на веб-сайты, веб-серверы, облачные сервисы и онлайн-платформы

🔷 Ботнеты

▪️ Сеть взломанных устройств, контролируемая киберпреступниками
▪️ Используется для крупномасштабных кибератак, таких как DDOS и кража данных
▪️ Действует скрытно, пользователи не подозревают о взломе своего устройства
▪️ К устройствам относятся ПК, серверы, IoT-устройства и интеллектуальные приборы

🔷 DNS-спуфинг

▪️ Манипулирует записями DNS для перенаправления трафика на мошеннические веб-сайты
▪️ Часто используется для фишинговых атак, распространения вредоносного ПО или кражи личных данных
▪️ Пользователи неосознанно посещают вредоносные веб-сайты
▪️ Может скомпрометировать DNS-серверы посредством отравления кэша или уязвимостей системы

🔷 Руткиты

▪️ Вредоносное программное обеспечение, предоставляющее несанкционированный доступ к системе
▪️ Действует скрытно, обходя антивирусы и средства безопасности
▪️ Изменяет системные файлы и процессы, чтобы оставаться незамеченным
▪️ Обычно используется для длительной кражи данных, наблюдения или контроля
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация к предыдущему посту
👍7❤‍🔥2👏2
Команды для работы с логами и мониторинга в Linux #linux
1🔥1🥰1
Бьёрн Страуструп, создатель C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения перехода на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже предоставляет все возможности, необходимые для безопасной работы с памятью.
Как считает Страуструп, осталось немного времени, так как к 1 января 2026 года, в соответствии с рекомендациями правительства США (агентство CISA), производители должны иметь дорожную карту безопасности памяти для продуктов, использующих небезопасные для памяти языки, которая приведет к устранению уязвимостей безопасности памяти, или должны принять безопасное для памяти программирование язык, Страуструп заметил: «Я считаю это реальной угрозой».
Чтобы сделать С++ более безопасным, Страуструп предлагает стандартизировать систему профилей C++, которые вводят дополнительные требования к коду. Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики.
https://www.theregister.com/2025/03/02/c_creator_calls_for_action/
#save_c++
🤣14👍9🔥1👏1
Скалярные значения vs Векторы vs Матрицы vs Тензоры
👍21🤔6👏1
Системные команды systemctl и journalctl в Linux #linux
🔥5💯4👏2
12 Рекомендаций для уменьшения задержки при передачи данных по сети

1. Используйте индекс базы данных для уменьшения времени доступа
2. Сжимайте передаваемые данные для сокращения времени передачи данных
3. Группируйте запросы для уменьшения сетевого трафика
4. Используйте HTTP 2 для отправки запросов параллельно через мультиплексирование
5. Используйте CDN для хранения данных ближе к пользователям и уменьшайте время запроса
6. Сократите внешние зависимости для минимизации ненужных сетевых вызовов
7. Добавьте балансировщик нагрузки для равномерного распределения трафика и уменьшите нагрузку на серверы
8. Используйте вертикальное масштабирование приложения - применяйте оперативную память и жесткие диски/SSD с более лучшими показателями для более быстрого времени обработки
9. Используйте очередь сообщений для выполнения интенсивных вычислительных задач в фоновом режиме
10. Используйте кеш в памяти для обслуживания популярных данных вместо опроса базы данных
11. Используйте пул соединений для баз данных и сетей, чтобы избежать перегруза при подключении к базе данных
12. Используйте эффективный формат сериализации данных, например, protobuf, чтобы уменьшить время обработки
👍11🥰1👏1
Шпаргалка по хукам в React
5🥰1👏1
Бекэнд-бургер
😁20👍5👏1
Как работают большие модели LLM. Общий процесс:

Шаг 1) Изучение больших объемов текстовых данных
LLM тренируются на огромных наборах данных (книги, веб-сайты и код), чтобы распознавать закономерности и связи между словами. Этот текст очищается и разбивается на токены — небольшие фрагменты, которые может обработать машина.

Шаг 2) Обучение модели
Используя технику глубокого обучения - трансформеры (transformer), LLM анализируют контекстные связи между словами. Они совершенствуются со временем, корректируя свои внутренние настройки (веса) с помощью градиентного спуска — процесса проб и ошибок, который минимизирует ошибки.

Шаг 3) Тонкая настройка для специальных задач
После обучения LLM настраиваются под конкретные приложения, такие как кодинг или поддержка клиентов. Это делается с помощью контролируемого обучения (supervised learning), обучения с подкреплением (Reinforcement Learning) на основе обратной связи с человеком (RLHF) или адаптации с низким рангом (LoRA) для повышения точности.

Шаг 4) Формирование ответов
При вводе запроса LLM обрабатывает ввод, предсказывает наиболее вероятные следующие токены и генерирует ответ. Для повышения точности и релевантности некоторые модели перед генерацией ответа используют RAG-генерацию (Retrieval-Augmented Generation) с поиском внешних источников информации (например, базы данных или документы), чтобы предоставить более фактические ответы. Затем для уточнения окончательного вывода LLM применяет стратегии декодирования, такие как лучевой поиск (beam search) и выборка ядра (nucleus sampling).

Шаг 5) Фильтрация и оптимизация
Перед развертыванием LLM проходят через фильтры безопасности для удаления предвзятостого и вредоносного контента. Они также оптимизируются с использованием таких методов, как квантизация и обрезка, что делает их эффективными для облачного и локальных ИИ.

Какие существуют проблемы?
LLM сталкиваются с такими проблемами, как галлюцинации (ложные результаты), предвзятость и высокие вычислительные затраты. Инженеры оптимизируют их с помощью RAG, спекулятивного декодирования, гибридного развертывания в облаке и других решений.
👍14🥰1👏1
Большая шпаргалка по всем основным типам деревьев
9🔥1👏1
Алгоритмическая сложность алгоритмов машинного обучения
👍6🔥2👏1