Найти в Дзене
Поддержите автораПеревод на любую сумму
Закреплено автором
Просто о программировании
Список статей для изучения Python
5 месяцев назад
Потоки и группы в Redis: руководство для Python-разработчиков
Redis Streams — это тип данных, появившийся в Redis 5.0, который представляет собой лог-ориентированную структуру данных, идеально подходящую для обработки потоков событий, сообщений и данных временных рядов. В отличие от традиционных брокеров сообщений, Redis Streams сочетает в себе простоту использования с высокой производительностью и надежностью. Поток Redis — это упорядоченная последовательность записей, где каждая запись состоит из: - Уникального идентификатора (обычно основанного на времени)...
1 неделю назад
FastStream: Мощный фреймворк для асинхронных микросервисов в Python
В современной разработке программного обеспечения все большую популярность набирают микросервисные архитектуры и асинхронное программирование. Они позволяют создавать высокопроизводительные, масштабируемые и отзывчивые приложения. Если вы работаете с сообщениями и брокерами вроде Kafka, RabbitMQ или NATS, вам необходим инструмент, который упростит создание асинхронных потребителей и продюсеров. Именно таким инструментом является FastStream — молодой, но очень перспективный фреймворк, вдохновленный известными FastAPI и Hydra...
3 недели назад
Чистая архитектура в Python: подробное руководство с примерами
Чистая архитектура (Clean Architecture) — это концепция проектирования программного обеспечения, предложенная Робертом Мартином (дядя Боб). Её основная цель — создание систем, которые легко поддерживать, тестировать и модифицировать. В этой статье мы подробно разберём принципы чистой архитектуры и покажем, как применять их в Python-проектах. Самый важный принцип чистой архитектуры — правило зависимостей: зависимости в коде должны быть направлены внутрь, к центру системы, где находится бизнес-логика...
1 месяц назад
Разработка CRM-системы в Telegram на Python: Полное руководство с примерами
В современном бизнесе важно быть там, где есть клиенты. А клиенты все чаще — в мессенджерах. Telegram, с его мощным API, кросс-платформенностью и популярностью, представляет собой идеальную площадку для развертывания легкой, эффективной и доступной CRM-системы. Такая CRM не требует от ваших менеджеров по продажам или сотрудников поддержки постоянно сидеть в веб-интерфейсе. Уведомления, задачи и сообщения от клиентов приходят прямо в привычный мессенджер. Это значительно ускоряет реакцию и повышает удобство работы...
1 месяц назад
Разработка игр в Godot с использованием Python-подобного GDScript
Godot — это мощный открытый игровой движок, который предлагает гибкую систему разработки и простой в изучении язык сценариев GDScript. Хотя GDScript синтаксически похож на Python, это отдельный язык, созданный специально для Godot. В этой статье мы подробно разберем основы работы с Godot и GDScript с практическими примерами. Прежде чем начать, скачайте Godot с официального сайта (https://godotengine.org/). Версия 4.x предоставляет самые современные функции. После запуска Godot создайте новый проект: 1...
1 месяц назад
Asyncio ensure_future в Python: Подробное руководство с примерами
Asyncio — это мощная библиотека Python для написания параллельного кода с использованием синтаксиса async/await. Одной из ключевых возможностей asyncio является запуск корутин в качестве задач (Task), которые выполняются конкурентно в цикле событий. В этой статье мы глубоко погрузимся в функцию `ensure_future`, изучим её назначение, особенности и практическое применение. `asyncio.ensure_future` — это функция, которая преобразует объект корутины в объект Task, планируя его выполнение в цикле событий...
1 месяц назад
Asyncio to_thread в Python: Подробное руководство с примерами
Asyncio стало неотъемлемой частью современного Python-программирования, позволяя создавать высокопроизводительные асинхронные приложения. Однако даже в асинхронном мире иногда приходится сталкиваться с блокирующими операциями, которые могут нарушить весь event loop. Именно для таких случаев в Python 3.9+ появилась полезная функция `asyncio.to_thread()`. `asyncio.to_thread()` — это функция, которая позволяет выполнять блокирующие синхронные функции в отдельном потоке, не блокируя основной event loop asyncio...
1 месяц назад
Создание многокомпонентного веб-приложения на aiohttp: подробное руководство
aiohttp — это мощная библиотека Python для асинхронной работы с HTTP, которая позволяет создавать высокопроизводительные веб-серверы и клиенты. В отличие от традиционных синхронных фреймворков, aiohttp использует возможности async/await для обработки тысяч одновременных соединений с минимальными затратами ресурсов. В этой статье мы подробно разберем, как создать многокомпонентное веб-приложение на aiohttp, где различные компоненты работают вместе, обеспечивая полноценную функциональность. Перед тем как перейти к коду, давайте рассмотрим типичную архитектуру aiohttp-приложения: 1...
1 месяц назад
Полное руководство по созданию Telegram-бота на Python с aiogram
Aiogram — это современный асинхронный фреймворк для создания Telegram-ботов на Python. В отличие от синхронных библиотек, aiogram построен на основе asyncio, что позволяет обрабатывать множество запросов одновременно без блокировок. Это делает ботов более отзывчивыми и производительными. Основные преимущества aiogram - Полная асинхронность - Простота использования - Поддержка всех возможностей Telegram Bot API - Гибкая система middleware - Регулярные обновления Для начала работы установите aiogram через pip pip install aiogram Создайте нового бота через [BotFather](httpst...
1 месяц назад
Python как «Язык-Клей»: универсальный связующий элемент в мире программирования (УСЭМП)
В огромном и разнообразном мире технологий редко какая-то задача решается с помощью одного-единственного инструмента. Часто приходится комбинировать лучшее из разных экосистем: высокопроизводительные библиотеки на C++, legacy-код на Fortran, специализированные приложения на Java, веб-сервисы на Go или данные в реляционных базах данных. Возникает вопрос: как заставить все эти гетерогенные компоненты работать вместе, как единое целое? Ответ для миллионов разработчиков звучит просто: Python. Python...
2 месяца назад
Примеры aiohttp: асинхронные HTTP-запросы в Python
В современной разработке веб-приложений и API часто возникает необходимость выполнять множество HTTP-запросов одновременно. Традиционные синхронные подходы с использованием библиотек типа `requests` могут стать узким местом производительности, особенно когда приложению нужно обрабатывать множество одновременных соединений. aiohttp — это мощная библиотека для Python, которая предоставляет асинхронный HTTP-клиент и сервер, построенный на основе `asyncio`. Она позволяет эффективно обрабатывать тысячи...
2 месяца назад
Ruff: Сверхбыстрый линтер и форматтер для Python с примерами
В мире Python-разработки поддержка чистоты кода критически важна. Традиционно для этого используются: - Линтеры (flake8, pylint) — анализ ошибок и стиля - Форматтеры (black, autopep8) — автоматическое форматирование - Инструменты сортировки импортов (isort) Проблема: Множество инструментов = сложная настройка + медленная работа. Решение: Ruff — инструмент на Rust, объединяющий функциональность линтера, форматтера и сортировщика импортов с фокусом на скорости и удобстве. 1. Невероятная скорость (в 10-100 раз быстрее аналогов) 2...
2 месяца назад