Ключевые события и тренды
● Принцип инкапсуляции в ООП: скрытие внутренней реализации и контролируемый доступ Инкапсуляция, один из основных принципов объектно-ориентированного программирования, подразумевает скрытие внутренней реализации объекта и предоставление доступа к ней только через строго определенные методы. Это помогает защитить данные от некорректного использования и обеспечивает контроль над изменением состояния объекта. Основные аспекты включают сокрытие внутреннего состояния объекта, предоставление публичных методов (геттеров и сеттеров) для взаимодействия с ним, а также контроль над корректностью изменяемых данных. Приведен пример инкапсуляции на языке Python. (источник)
● Безопасное хранение паролей в продакшене
В продакшене пароли никогда не должны храниться в открытом виде или расшифровываться. Процесс безопасной обработки паролей включает их отправку по HTTPS, немедленное хеширование на бэкенде с помощью алгоритмов типа Argon2, bcrypt или PBKDF2, добавление уникальной соли и сохранение только хеша и соли в базе данных. При входе пользователя пароль хешируется повторно, а результат сравнивается с сохраненным хешем. Современные системы безопасности также включают ограничение частоты запросов, использование многофакторной аутентификации (MFA), дополнительного секрета (pepper), обнаружение утечек и безопасное управление сессиями.
(источник)
● Сравнение протоколов HTTP/1.1, HTTP/2 и HTTP/3 и их отличий в производительности Каждое поколение протокола HTTP устраняло существенные ограничения производительности.
- HTTP/1.1 обрабатывает один запрос за раз на соединение, использует текстовый протокол и подвержен блокировке начала очереди (head-of-line blocking) на уровне приложения, что замедляет работу современных сайтов.
- HTTP/2 решает эту проблему, позволяя использовать несколько запросов на одном TCP-соединении благодаря мультиплексированию. Он является бинарным протоколом, использует сжатие заголовков HPACK, что уменьшает количество соединений и повышает производительность.
- HTTP/3 работает поверх QUIC на базе UDP, что снижает задержки и полностью устраняет блокировку начала очереди на транспортном уровне, присущую TCP в HTTP/2. Это обеспечивает более быстрое установление соединения, лучшую производительность в нестабильных и мобильных сетях, а также повышенную устойчивость к потере пакетов.
(источник)
Итоговая аналитика
26 сентября в сообществе Backend_ru преобладал информационный контент, сфокусированный на фундаментальных аспектах серверной разработки. Основные публикации касались базовых принципов объектно-ориентированного программирования (инкапсуляция), критически важных аспектов безопасности (безопасное хранение паролей) и развития сетевых протоколов (сравнение HTTP/1.1, HTTP/2, HTTP/3). Отсутствие активных дискуссий в чатах по данным темам указывает на то, что представленная информация, вероятно, воспринимается как устоявшиеся знания или справочные материалы, не вызывающие острых споров или вопросов среди участников. Эмоциональный тон дня нейтральный, акцент сделан на образовательных и разъяснительных материалах. В течение дня не было зафиксировано ни одной релевантной вакансии, соответствующей критериям бэкенд-разработки, а также отсутствовали живые обсуждения, не привязанные к новостным публикациям. Это говорит о том, что день был относительно спокойным в плане взаимодействия и значимых событий в сообществе.