PHP | Вопросы собесов
Ir al canal en Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv
Mostrar más2 343
Suscriptores
+124 horas
-37 días
-2230 días
Archivo de publicaciones
🤔 Какое отличие у протоколов tcp и udp?
Это два основных транспортных протокола в интернете. Они имеют разные характеристики и используются для различных целей.
🚩Основные отличия
🟠Надежность
TCP: Обеспечивает надежную передачу данных. Он использует механизмы установления соединения, подтверждение получения (ACK), контроль потерь пакетов, повторную передачу потерянных пакетов и контроль потока. Это гарантирует, что данные будут доставлены корректно и в правильном порядке.
UDP: Не обеспечивает надежную передачу данных. Нет подтверждений получения, нет повторной передачи потерянных пакетов и нет контроля потока. Это делает передачу менее надежной, но более быстрой и с меньшими накладными расходами.
🟠Установление соединения
TCP: Перед началом передачи данных устанавливается соединение с помощью процедуры "трехстороннего рукопожатия" (three-way handshake). Это означает, что обе стороны сначала обмениваются сигналами SYN и ACK для установления соединения.
UDP: Не требует установления соединения. Пакеты (датаграммы) просто отправляются к получателю без предварительного установления соединения.
🟠Порядок доставки
TCP: Обеспечивает доставку данных в правильном порядке. Если пакеты приходят в неправильном порядке, TCP собирает их в правильном порядке перед передачей приложению.
UDP: Не гарантирует порядок доставки. Пакеты могут приходить в произвольном порядке, и приложение должно обрабатывать их соответствующим образом, если это необходимо.
🟠Пропускная способность и задержки
TCP: Из-за механизмов контроля потока и подтверждений имеет большие накладные расходы и, следовательно, может быть медленнее. Это особенно заметно на сетях с высокой задержкой или потерей пакетов.
UDP: Из-за отсутствия контроля потока и подтверждений имеет меньшие накладные расходы, что может привести к меньшим задержкам и большей пропускной способности. Подходит для приложений, где важна скорость, а не надежность.
🟠Применение
TCP: Используется для приложений, где важна надежность и порядок передачи данных, таких как веб-браузеры (HTTP/HTTPS), электронная почта (SMTP, IMAP, POP3), файловые передачи (FTP), удаленный доступ (SSH).
UDP: Используется для приложений, где важна скорость и где потеря некоторых пакетов не критична, таких как потоковое видео и аудио (VoIP, IPTV), онлайн-игры, службы доменных имен (DNS).
🚩Примеры использования
TCP
HTTP/HTTPS: Веб-серфинг
SMTP: Отправка электронной почты
IMAP/POP3: Получение электронной почты
FTP: Передача файлов
SSH: Безопасный удаленный доступ
UDP
DNS: Запросы доменных имен
VoIP: Передача голоса через IP
IPTV: Потоковое видео
Онлайн-игры: Быстрая передача данных игровой логики
NTP: Синхронизация времени
Ставь 👍 и забирай 📚 Базу знаний🤔 Зачем нужны паттерны проектирования?
Паттерны проектирования решают типичные задачи разработки, предоставляя проверенные временем решения. Они повышают читаемость, повторное использование и масштабируемость кода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Лицензионные решения Microsoft доступные в России
Доступные решения к продаже на территории России со сроком подписки 12 месяцев:
- Microsoft Office 365 для бизнеса (Basic, Standard, Premium)
- Office E1, E3, E5, Microsoft F1, F3, F5
- Project Plan 5
- Microsoft Power BI
- Microsoft Dynamics 365
Заполните заявку, чтобы подключить продукт Microsoft
Попробовать
#реклама 16+
cloud4y.ru
О рекламодателе
🤔 Что такое метрики?
Это количественные показатели, используемые для оценки, мониторинга и улучшения различных аспектов работы систем, процессов и проектов. Они предоставляют объективные данные, которые помогают принимать обоснованные решения и улучшать эффективность и качество работы.
🚩Зачем нужны метрики
🟠Измерение производительности
Метрики позволяют оценивать, насколько эффективно работают системы или процессы. Например, метрики производительности могут показать, сколько запросов обрабатывается сервером в секунду или как быстро выполняются алгоритмы.
🟠Мониторинг и контроль
Постоянный мониторинг метрик помогает выявлять проблемы на ранних стадиях. Например, мониторинг времени отклика сервера позволяет обнаружить ухудшение производительности до того, как это повлияет на пользователей.
🟠Принятие решений
Объективные данные, предоставляемые метриками, помогают принимать обоснованные решения по улучшению процессов, распределению ресурсов и планированию. Например, данные о загрузке серверов могут помочь определить, когда нужно добавить новые ресурсы.
🟠Улучшение качества
Метрики качества позволяют оценивать, насколько хорошо продукт или процесс соответствует установленным стандартам и требованиям. Например, метрики кода, такие как количество ошибок или покрытие тестами, помогают улучшать качество программного обеспечения.
🟠Управление проектами
В проектном управлении метрики помогают следить за прогрессом, оценивать риски и управлять ресурсами. Например, метрики времени и затрат помогают следить за выполнением проекта в рамках бюджета и сроков.
🚩Примеры метрик
🟠Метрики производительности
Время отклика (Response Time): Время, за которое система обрабатывает запрос.
Пропускная способность (Throughput): Количество запросов, обработанных системой за единицу времени.
Время простоя (Downtime): Время, в течение которого система недоступна.
🟠Метрики качества программного обеспечения
Покрытие тестами (Test Coverage): Процент кода, покрытого автоматизированными тестами.
Количество ошибок (Bug Count): Количество ошибок, обнаруженных в программном обеспечении.
Плотность дефектов (Defect Density): Количество ошибок на единицу кода (например, на 1000 строк кода).
🟠Метрики управления проектами
Завершение задач (Task Completion): Процент выполненных задач от общего количества задач в проекте.
Отклонение от плана (Schedule Variance): Разница между планируемым и фактическим временем выполнения задач.
Затраты (Cost): Фактические затраты по сравнению с запланированными затратами.
🚩Применение метрик
🟠В разработке программного обеспечения
CI/CD: Метрики сборок и развертываний помогают отслеживать стабильность и скорость релизов.
Анализ кода: Метрики сложности кода, дублирования и покрытия тестами помогают улучшать качество и поддерживаемость кода.
🟠В бизнесе и управлении
KPI (Key Performance Indicators): Ключевые показатели эффективности помогают оценивать успехи бизнеса или отдельных процессов.
OKR (Objectives and Key Results): Цели и ключевые результаты помогают ставить и достигать стратегические цели.
🟠В IT-инфраструктуре
Мониторинг серверов: Метрики использования CPU, памяти, дискового пространства помогают поддерживать высокую производительность и доступность серверов.
Безопасность: Метрики инцидентов безопасности, обнаружения уязвимостей и реагирования на угрозы помогают обеспечивать защиту данных и систем.
Ставь 👍 и забирай 📚 Базу знаний
А вы знали что?...
🕵️В Windows есть папка, которая собирает на вас компромат!
Посмотрите видео выше — насколько легко узнать всю информацию о вас
Простых способов узнать о вас практически всё — сотни, и если вы хотите соблюдать хотя бы минимум сетевой гигиены — подпишитесь на IT ВЕДОМСТВО
Они рассказывает о признаках майнеров, как удалить трояны и порно-баннеры за 5 минут
Помимо всего этого, сейчас владелец канала проводит розыгрыш умной колонки, для всех новоприбывших подписчиков
💻 Подписываемся на IT ВЕДОМСТВО — выигрываем призы и соблюдаем цифровую гигиену
🤔 Как браузер понимает, что ему нужно перейти куда-то?
Браузер анализирует ввод пользователя, определяя, является ли это запросом на переход к новому URL. Если это так, он отправляет HTTP-запрос к указанному серверу и отображает полученный ответ (обычно HTML).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Аукцион выделенных серверов от Selectel!
Популярные конфигурации выделенных серверов становятся дешевле в реальном времени.
Успейте арендовать их, пока это не сделал кто-то другой!🏃♂️
Забронировать
#реклама
selectel.ru
О рекламодателе
🤔 Объясни значение Model View Teamplay (MVT)?
Это архитектурный шаблон, используемый в веб-разработке, особенно в рамках Django, популярного веб-фреймворка на языке Python. MVT аналогичен шаблону Model-View-Controller (MVC), но имеет некоторые различия, специфичные для Django.
🚩Компоненты MVT
🟠Model (Модель)
Представляет данные и бизнес-логику. Модели отвечают за определение структуры данных, их хранение в базе данных и управление ими. В Django модель описывается классом, который наследуется от
django.db.models.Model и определяет поля данных.
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
birth_date = models.DateField()
🟠View (Представление)
Обрабатывает запросы от пользователя, взаимодействует с моделью и определяет, какой шаблон использовать для отображения данных. Представления получают данные из модели, обрабатывают их и передают в шаблон. В Django представления обычно определяются функциями или классами, которые наследуются от django.views.View.
from django.shortcuts import render
from .models import Person
def index(request):
people = Person.objects.all()
return render(request, 'index.html', {'people': people})
🟠Template (Шаблон)
Отвечает за отображение данных в удобном для пользователя виде. Шаблоны используют язык шаблонов Django для динамического создания HTML-страниц. В Django шаблоны представляют собой HTML-файлы с вкраплениями тега шаблонов Django для отображения данных и логики отображения.
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>People List</title>
</head>
<body>
<h1>List of People</h1>
<ul>
{% for person in people %}
<li>{{ person.first_name }} {{ person.last_name }} (born {{ person.birth_date }})</li>
{% endfor %}
</ul>
</body>
</html>
🚩Как это работает
🟠Запрос пользователя
Пользователь отправляет запрос к серверу.
🟠Обработка представлением
Представление получает этот запрос и взаимодействует с моделью для получения необходимых данных.
🟠Формирование ответа
Представление передает данные в шаблон, который создает конечную HTML-страницу.
🟠Ответ пользователю
Сформированная HTML-страница отправляется пользователю в виде ответа.
🚩Отличия от MVC
🟠Model (Модель)
в MVT = Model в MVC
🟠View (Представление)
в MVT = Controller в MVC
🟠Template (Шаблон)
в MVT = View в MVC
🚩Плюсы
➕Разделение логики
Четкое разделение бизнес-логики, логики обработки запросов и логики отображения, что упрощает поддержку и развитие приложения.
➕Модульность
Компоненты можно легко заменять или обновлять независимо друг от друга.
➕Упрощенная разработка
Django предоставляет множество встроенных инструментов и библиотек, которые упрощают создание моделей, представлений и шаблонов.
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое инкремент и декремент?
Инкремент — это увеличение значения переменной на единицу, а декремент — уменьшение на единицу. В программировании они часто реализуются с помощью операторов ++ и --. Эти операции упрощают работу с циклами и счетчиками.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Премиальное кросс-купе EXEED RX. От 45 000 ₽ в месяц
Создавайте будущее в новом году вместе с EXEED RX. Система стабилизации курсовой устойчивости, полный пакет систем безопасности и интеллектуальный полный привод позволят чувствовать себя уверенно в любом путешествии. Автомобили отлично подготовлены к условиям российской зимы: максимальный пакет теплых опций и система EXEED Connect - двигатель и салон будут прогреты к началу поездки, Вы сможете выбрать необходимую температуру салона, прогреть сиденья водителя и пассажиров. Открывайте новые места и путешествуйте с удовольствием! Чудеса обитают там, где в них верят - пусть эта зима станет началом счастливого приключения, а EXEED поможет в этом!
Получить предложение
#реклама
exeed.ru
О рекламодателе
🤔 Что такое рекурсия?
Это метод программирования, при котором функция вызывает сама себя для решения подзадачи более сложной задачи. Рекурсия используется для решения задач, которые можно разбить на аналогичные подзадачи меньшего размера.
🚩Основные аспекты рекурсии
🟠Базовый случай (условие выхода)
Каждый рекурсивный алгоритм должен иметь базовый случай, который останавливает рекурсивные вызовы. Это условие, при котором дальнейшие рекурсивные вызовы не нужны.
🟠Рекурсивный случай
Определяет, как задача разбивается на одну или несколько подзадач меньшего размера, и как результат этих подзадач комбинируется для получения решения исходной задачи.
def factorial(n):
if n == 0:
return 1 # Базовый случай
else:
return n * factorial(n-1) # Рекурсивный случай
print(factorial(5)) # Выведет 120
🚩Плюсы и минусы
➕Простота и ясность
Рекурсивные решения могут быть проще и понятнее, чем их итеративные аналоги, особенно для задач, которые естественно определяются рекурсивно (например, обход деревьев, вычисление факториалов, задачи, связанные с последовательностями).
➕Элегантность
Код может быть более элегантным и легко читаемым.
➖Производительность
Рекурсивные решения могут быть менее эффективны по сравнению с итеративными из-за накладных расходов на вызовы функций. Это может привести к большему потреблению памяти и времени выполнения.
➖Риск переполнения стека
При слишком глубокой рекурсии (например, при отсутствии базового случая или при слишком большом числе рекурсивных вызовов) может произойти переполнение стека, что приведет к сбою программы.
🚩Оптимизация рекурсии
🟠Мемоизация
Это техника оптимизации, при которой результаты дорогостоящих вызовов функций запоминаются и повторно используются при последующих вызовах с теми же аргументами. Пример:
def fibonacci(n, memo={}):
if n in memo:
return memo[n]
if n <= 1:
return n
memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo)
return memo[n]
print(fibonacci(10)) # Выведет 55
🟠Хвостовая рекурсия
Это особый вид рекурсии, при котором рекурсивный вызов является последней операцией в функции. Многие компиляторы и интерпретаторы могут оптимизировать хвостовую рекурсию, избегая увеличения стека вызовов. Пример:
def factorial_tail_recursive(n, accumulator=1):
if n == 0:
return accumulator
else:
return factorial_tail_recursive(n-1, n * accumulator)
print(factorial_tail_recursive(5)) # Выведет 120
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое инкапсуляция?
Инкапсуляция — это принцип ООП, при котором детали реализации скрыты от внешнего мира, предоставляя доступ к данным через методы. В PHP это реализуется с помощью модификаторов доступа (private, protected, public). Она обеспечивает безопасность данных и облегчает поддержку кода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Дарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 60 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
🤔 Что такое IP?
Это основной сетевой протокол, который используется для передачи данных между устройствами в интернете и локальных сетях. IP отвечает за маршрутизацию пакетов данных от отправителя к получателю, обеспечивая адресацию и маршрутизацию в сети.
🚩Основные функции IP
🟠Адресация
Каждое устройство в сети получает уникальный IP-адрес, который используется для идентификации и общения с другими устройствами.
🟠Маршрутизация
IP определяет путь, по которому пакеты данных передаются через сеть от отправителя к получателю. Это включает пересылку пакетов через промежуточные маршрутизаторы.
🟠Фрагментация и сборка
Если пакет данных слишком велик для передачи через определенный сетевой сегмент, IP разбивает его на более мелкие части (фрагменты) и обеспечивает их сборку на стороне получателя.
🚩Версии IP
🟠IPv4
Формат адреса: IPv4-адрес состоит из 32 бит и обычно записывается в виде четырех десятичных чисел, разделенных точками (например, 192.168.1.1).
Количество адресов: IPv4 предоставляет примерно 4,3 миллиарда уникальных адресов. Из-за быстрого роста интернета это количество адресов стало недостаточным.
Пример IPv4-адреса: 192.0.2.1
🟠IPv6
Формат адреса: IPv6-адрес состоит из 128 бит и записывается в виде восьми групп шестнадцатеричных чисел, разделенных двоеточиями (например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
Количество адресов: IPv6 предоставляет огромное количество уникальных адресов (2^128), что удовлетворяет потребности в адресации на обозримое будущее.
Пример IPv6-адреса: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
🚩Основные компоненты IP
🟠IP-адрес
Уникальный адрес, назначаемый каждому устройству в сети для его идентификации.
🟠Пакет данных
Базовая единица передачи данных в сети. Пакет включает заголовок IP, содержащий адреса отправителя и получателя, и полезную нагрузку (данные).
🟠Заголовок IP
Содержит информацию, необходимую для маршрутизации пакета, такую как адреса отправителя и получателя, время жизни (TTL), протокол верхнего уровня и другие служебные данные.
🚩Основные протоколы, работающие с IP
🟠TCP (Transmission Control Protocol)
Обеспечивает надежную доставку данных, управляет соединениями и контролирует ошибки.
🟠UDP (User Datagram Protocol)
Обеспечивает быструю, но ненадежную передачу данных, часто используется для потокового видео и аудио.
🟠ICMP (Internet Control Message Protocol)
Используется для передачи сообщений об ошибках и другой служебной информации (например, команды ping).
🚩Пример использования IP
🟠DNS-запрос
Браузер отправляет запрос на DNS-сервер для получения IP-адреса веб-сайта.
🟠Установление соединения
Браузер инициирует соединение с веб-сервером по полученному IP-адресу.
🟠Передача данных
Браузер отправляет HTTP-запросы и получает HTTP-ответы, используя IP для маршрутизации пакетов данных между клиентом и сервером.
🟠Загрузка страницы
Браузер отображает веб-страницу, используя полученные данные.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Что изменилось в приведении типов в PHP 8?
PHP 8 усилил строгую типизацию, добавив поддержку объединённых типов (Union Types). Также введены типы mixed и static, расширяющие возможности определения данных. Улучшена работа с привидением типов, исключая двусмысленности, чтобы снизить вероятность ошибок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое Web Sockets (веб сокет)?
Это технология, которая обеспечивает двунаправленную, полнодуплексную связь между клиентом (обычно веб-браузером) и сервером через одно TCP-соединение. Веб-сокеты предназначены для приложений, которым необходимо поддерживать постоянное соединение и передавать данные в режиме реального времени, таких как чаты, игровые приложения, биржевые котировки и другие.
🚩Основные характеристики
🟠Постоянное соединение
После установки соединения через веб-сокет оно остается открытым, позволяя клиенту и серверу обмениваться данными в реальном времени без необходимости повторного установления соединения.
🟠Двунаправленность
Данные могут передаваться в обоих направлениях (от клиента к серверу и от сервера к клиенту) одновременно, что делает коммуникацию более эффективной.
🟠Меньшая нагрузка
В отличие от традиционных HTTP-запросов, веб-сокеты не требуют заголовков для каждой передачи данных, что снижает нагрузку и повышает производительность.
🚩Как работают
🟠Установление соединения
Соединение через веб-сокет начинается с HTTP-запроса с методом
GET и заголовком Upgrade, который указывает серверу на переключение протокола на WebSocket. Если сервер поддерживает веб-сокеты, он отвечает с кодом 101 Switching Protocols, устанавливая соединение.
🟠Передача данных
После установления соединения клиент и сервер могут обмениваться сообщениями в формате фреймов, которые могут содержать текстовые или бинарные данные.
🟠Закрытие соединения
Любая из сторон (клиент или сервер) может закрыть соединение, отправив фрейм закрытия. После этого соединение закрывается и больше не используется.
🚩Плюсы
➕Реальное время
Подходит для приложений, которым требуется мгновенный обмен данными, таких как чаты, уведомления, спортивные трансляции, игры и т.д.
➕Эффективность
Уменьшение накладных расходов за счет отсутствия необходимости в постоянном повторном установлении соединения и отправке HTTP-заголовков.
➕Меньшая задержка
Меньшие задержки по сравнению с HTTP-запросами, особенно в приложениях, где требуется постоянное обновление данных.
🚩Примеры использования
🟠Чат-приложения
Пользователи могут отправлять и получать сообщения мгновенно без задержек.
🟠Онлайн игры
Игроки могут взаимодействовать в реальном времени, что критически важно для геймплея.
🟠Финансовые приложения
Обновления биржевых котировок и торговых данных в реальном времени.
🟠Спортивные трансляции
Передача обновлений о счете и других событиях матча в режиме реального времени.
🚩Пример сервера
Серверная часть на Node.js с использованием библиотеки ws:
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', function (socket) {
console.log('Client connected');
// Обработка сообщений от клиента
socket.on('message', function (message) {
console.log('Received: ' + message);
// Отправка ответа клиенту
socket.send('Hello from server');
});
// Закрытие соединения
socket.on('close', function () {
console.log('Client disconnected');
});
});
Ставь 👍 и забирай 📚 Базу знаний🤔 Чего ждёшь от PHP 8?
PHP 8 принёс значительные улучшения в производительности благодаря JIT-компиляции. Также ожидаются новые синтаксические возможности, такие как именованные аргументы, объединение null (??=) и улучшенная типизация. Эти изменения упрощают разработку, делают код более читаемым и сокращают количество багов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Расскажи про https?
Это расширение HTTP, которое используется для безопасного обмена информацией между веб-браузером и веб-сервером. HTTPS шифрует данные, обеспечивая их конфиденциальность и целостность при передаче по сети.
🚩Основные аспекты
🟠Шифрование
HTTPS использует протоколы шифрования, такие как SSL (Secure Sockets Layer) и его преемник TLS (Transport Layer Security), для защиты данных. Это предотвращает перехват и чтение данных третьими лицами.
🟠Аутентификация
HTTPS гарантирует, что клиент (обычно веб-браузер) соединяется с подлинным сервером, а не с мошенническим сайтом. Это достигается с помощью цифровых сертификатов, выданных доверенными центрами сертификации (CA).
🟠Целостность данных
HTTPS защищает данные от изменения или повреждения при передаче. Это гарантирует, что информация, отправленная клиентом или сервером, остается неизменной.
🚩Как работает
🟠Установление соединения
Когда пользователь вводит URL, начинающийся с "https://", браузер инициирует соединение с веб-сервером, который поддерживает HTTPS.
🟠Обмен сертификатами
Сервер отправляет свой цифровой сертификат браузеру. Этот сертификат содержит открытый ключ сервера и информацию о центре сертификации, который выдал сертификат.
🟠Проверка сертификата
Браузер проверяет подлинность сертификата, используя корневые сертификаты, которые хранятся в его репозитории доверенных сертификатов. Если сертификат доверен, продолжается установка соединения.
🟠Установка сессионного ключа
Браузер и сервер используют алгоритмы обмена ключами (например, RSA или Diffie-Hellman) для создания симметричного сессионного ключа. Этот ключ будет использоваться для шифрования данных в течение сессии.
🟠Шифрование данных
Все данные, передаваемые между браузером и сервером, шифруются с использованием сессионного ключа. Это обеспечивает конфиденциальность и целостность данных.
🚩Плюсы
➕Безопасность
Шифрование данных защищает информацию от перехвата и чтения злоумышленниками, что особенно важно для передачи конфиденциальной информации, такой как пароли, номера кредитных карт и личные данные.
➕Доверие пользователей
Наличие HTTPS повышает доверие пользователей к веб-сайту, поскольку большинство современных браузеров отображают предупреждения при посещении сайтов без HTTPS.
➕SEO
Поисковые системы, такие как Google, отдают предпочтение сайтам с HTTPS, что может улучшить ранжирование сайта в результатах поиска.
➕Защита от атак
HTTPS защищает от некоторых типов атак, таких как атаки типа "man-in-the-middle" (MITM), где злоумышленник перехватывает и изменяет данные, передаваемые между клиентом и сервером.
🚩Установка и использование
1⃣Получение сертификата
Веб-сайт должен получить цифровой сертификат от доверенного центра сертификации (CA). Это может быть платный сертификат от коммерческих CA или бесплатный сертификат от организаций, таких как Let's Encrypt.
2⃣Настройка веб-сервера
Сертификат должен быть установлен и настроен на веб-сервере. Это включает в себя настройку файлов конфигурации сервера для использования сертификата и ключей.
3⃣Перенаправление трафика
Для обеспечения безопасности весь HTTP-трафик должен перенаправляться на HTTPS. Это можно сделать с помощью перенаправлений на уровне сервера или веб-приложения.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Разница между pull и fetch?
git pull выполняет fetch (загружает изменения из удалённого репозитория) и автоматически сливает их с локальной веткой. git fetch только загружает изменения, не изменяя локальные файлы, что позволяет вручную контролировать слияние.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
