FastAPI + Redis + Celery: Создание системы временного хранения файлов с автоудалением и удобным веб-интерфейсом

В этой статье мы создадим учебный проект, демонстрирующий мощную связку FastAPI, Redis и Celery на примере системы временного хранения файлов. Наше приложение будет обладать функцией автоудаления файлов и удобным веб-интерфейсом, что позволит наглядно продемонстрировать возможности этого современного стека технологий.
Мы пошагово разберем процесс разработки, начиная с настройки FastAPI для обработки HTTP-запросов, интеграции Redis для эффективного хранения метаданных файлов, и заканчивая использованием Celery для асинхронного выполнения задач по удалению устаревших файлов.
Статья будет полезна разработчикам, желающим углубить свои знания в области современной веб-разработки на Python и получить опыт работы с передовыми инструментами и фреймворками.
Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo

Это первая статья из цикла, посвященного разработке телеграм-бота с MiniApp для случайных чатов. В этой части мы сосредоточимся на создании бэкенда, используя современные технологии: FastAPI для разработки API, Redis для хранения данных в реальном времени и Centrifugo для обеспечения мгновенного взаимодействия между пользователями. Сегодня мы подробно разберем архитектуру проекта, настройку серверов и реализацию логики бота.
В следующей статье мы переключимся на фронтенд и займемся разработкой MiniApp с использованием фреймворка Vue.js. Это позволит создать интуитивно понятный интерфейс для пользователей, где они смогут настраивать параметры поиска собеседника и общаться в режиме реального времени (Real time).
Как я проверяю архитектурное мышление на собеседованиях одной задачей

Всем привет!
Недавно мне нужно было нанять людей в команду по созданию системы на Python, Java, Go. Для меня крайне важны соблюдения принципов SOLID, Чистой архитектуры, Чистого кода.
Я придумал задачу, которую спрашиваю на собеседованиях в свою команду. И мне хочется поделится ею с вами.
Надеюсь, она будет вам полезна!
GIL в Python для senior interview

GIL — самая известная «фича» Python, о которой большинство разработчиков знают ровно одну фразу: «мешает многопоточности». Этого хватает для джуна, но не для сеньора.
Статья построена так, чтобы после её прочтения вы могли не только ответить на вопросы по GIL на senior-интервью, но и объяснить коллеге-стажеру, что происходит внутри интерпретатора, когда два потока пытаются одновременно изменить один список.
Python и Twisted — Заметки о параллельной обработке данных (мультипроцессности)
Twisted — это фреймворк на Python для разработки сетевых приложений, который среди многих других применений, может быть использован и для параллельной обработки данных — мультипроцессности. Это замечательно, но мне пришлось попотеть для того, чтобы найти то, что мне нужно. Как устроены память и Garbage Collector в CPython: разбор для Python backend interview

В Python памятью управляет не только Garbage Collector.
На самом деле основа всего — reference counting, а GC лишь помогает собирать циклические ссылки.
В этой статье разберём, как на самом деле устроено управление памятью в CPython:
• что находится внутри PyObject
• как работает ob_refcnt
• почему одного reference counting недостаточно
• как GC ищет циклический мусор
• какие объекты вообще участвуют в сборке
• и как всё это помогает искать memory leak в production
Если ты готовишься к senior Python интервью или просто хочешь понимать, как Python работает под капотом, — добро пожаловать под капот CPython.
Асинхронность в Python для senior interview: от asyncio до выбора правильной реализации под задачу

Асинхронность в Python — одна из тех тем где на собеседовании начинают плыть.
Почему await не делает код параллельным?
Как на самом деле работает event loop?
Когда asyncio — правильный выбор, а когда лучше использовать потоки или процессы?
В этой статье разберём асинхронность с прицелом на senior Python интервью: не с точки зрения API, а с точки зрения того, как всё устроено под капотом и как об этом правильно рассуждать.
Материал рассчитан на тех, кто хочет не просто отвечать по документации, а уверенно объяснять поведение системы и принимать инженерные решения.
Разбор заданий по аналитике или как Яндекс отнял почти 6 часов моей жизни

Привет, Хабр! В попытках отчаянно найти подработку, которую можно было бы совмещать с учебой, листал я агрегатор стажировок, где и наткнулся на набор от Яндекса. Решив, что терять мне всё равно нечего, я быстро кликнул по ссылке, заполнил анкету, и буквально через минуту мне на почту пришло письмо с приглашением решить тестовое задание. Я подумал, что вечер наконец-то обещает быть интересным, заварил чаёк и уже собрался спокойно чилить следующие несколько часов, аристократически посёрбывая и иногда тыкая пальцем по клавиатуре.
Боже, как я ошибался.
Инкапсуляция в Python: property, name mangling и никаких кофемашин

Когда разработчики приходят в Python из Java или C++, у них часто случается культурный шок. Они безуспешно ищут модификаторы private или protected и задают логичный вопрос: «А как здесь вообще прятать данные?»
Добро пожаловать в мир, где язык вам доверяет, а Гвидо ван Россум говорит: «Мы здесь все взрослые люди». В новой статье разбираем архитектурный дзен Python:
🔹 Почему двойное подчеркивание (__) — это не аналог private (и как его взломать в одну строчку).
🔹 Почему классические геттеры и сеттеры в Python — это антипаттерн.
🔹 Как элегантно защитить данные с помощью @property, дескрипторов и slots.
Никаких заезженных метафор про пульты от телевизора. Только суровая (и красивая) реальность Python-way.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность