Найти в Дзене
Course system design

Course system design

Материалы
подборка · 29 материалов
4 недели назад
Rate Limiting алгоритмы ограничения частоты запросов с примерами кода
Алгоритмы ограничения частоты запросов (Rate Limiting) с примерами кода #20 Алгоритмов ограничения частоты запросов Эшиш Пратап Сингх 17 июля 2024 г. Ограничение частоты запросов помогает защитить сервисы от перегрузки, вызванной слишком большим количеством запросов от одного пользователя или клиента. В этой статье мы подробно разберём 5 самых распространённых алгоритмов ограничения частоты запросов, их преимущества и недостатки, а также научимся реализовывать их в коде. Если вам нравится эта рассылка и вы хотите получать ещё больше пользы, подумайте о том, чтобы стать платным подписчиком...
4 недели назад
15 типов баз данных и когда их использовать
Базы данных являются фундаментальными строительными блоками системного дизайна. Они используются для эффективного хранения, управления и извлечения данных. В этой статье мы рассмотрим 15 распространенных типов баз данных, обсудим, когда их использовать, и приведем конкретные примеры. Реляционные базы данных структурируют данные в виде одной или нескольких таблиц, состоящих из строк и столбцов. Каждая строка идентифицируется уникальным ключом. Строки в одной таблице могут быть связаны со строками в других таблицах через внешние ключи, устанавливая тем самым взаимосвязи между ними...
4 недели назад
Как безопасно хранить пароли в базе данных
Пароль по определению должен быть секретом. Если кто-то его украдет, он получит доступ не только к одной учетной записи, но зачастую и ко всем остальным сервисам, где пользователь использовал этот же пароль. Именно поэтому безопасное хранение паролей — это не опция, а обязанность. Как разработчики, мы обязаны хранить пароли в таком виде, который останется безопасным, даже если база данных будет похищена. В этой статье мы с нуля разберем, как делать это правильно. Мы начнем с того, чего категорически нельзя делать, а затем перейдем к правильным техникам и обоснованию каждого шага...
4 недели назад
Секретная архитектура, стоящая за сообщением «Имя пользователя уже занято»
Когда вы пытаетесь зарегистрироваться на платформе вроде Instagram и вводите желаемое имя пользователя, система практически мгновенно сообщает вам, свободно оно или нет. Если имя занято, она тут же предлагает альтернативные варианты. Для небольшого стартапа с несколькими тысячами пользователей такая проверка проста — достаточно быстрого запроса к базе данных. Но для платформ вроде Instagram, Google или X (ранее Twitter), где счета идут на миллиарды пользователей, задача становится куда более сложной...
4 недели назад
Как на самом деле работает DNS
Когда вы вводите адрес веб-сайта в браузер, происходит нечто почти волшебное. Всего за несколько секунд ваш экран заполняется контентом с серверов, которые могут находиться за тысячи километров от вас. За этим бесшовным взаимодействием стоит критически важная система — DNS (Domain Name System). Её часто называют «телефонной книгой интернета», но это описание едва ли отражает всю глубину процесса. Давайте разберёмся, как на самом деле работает DNS. В интернете компьютеры общаются друг с другом, используя IP-адреса, например 104...
4 недели назад
Client-Server Architecture Explained
Клиент-серверная архитектура: простое объяснение Каждый раз, когда вы просматриваете любимый веб-сайт, смотрите фильм в онлайн-кинотеатре или отправляете электронное письмо, вы взаимодействуете с системой, построенной на клиент-серверной модели. Эта модель является фундаментом современных вычислений. Она определяет, как наши устройства (клиенты) общаются с мощными машинами (серверами) через интернет для получения данных, предоставления сервисов и обеспечения бесперебойной работы, зачастую за доли миллисекунды...