Python_BE1
9 subscribers
746 photos
251 videos
7 files
672 links
Канал по Python, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Асинхронная обработка HTTP-запросов в Python с asyncio и aiohttp

В этом видео мы погрузимся в мир асинхронного программирования на Python, изучая, как улучшить производительность ваших приложений с помощью библиотеки asyncio и aiohttp. Узнайте, как выполнять несколько HTTP-запросов одновременно, чтобы эффективно получать данные с разных API. Это знание полезно для разработчиков, стремящихся оптимизировать свои приложения и сделать их более отзывчивыми.

Мы также разберем простой код, который демонстрирует, как можно использовать асинхронные функции для выполнения запросов. Вы увидите, как благодаря асинхронному подходу ваше приложение может обрабатывать данные быстрее и эффективнее, что особенно важно для веб-разработчиков. Подписывайтесь на канал, чтобы не пропустить новые фишки и советы по программированию каждый день!

@python_be1
🖥 Как уменьшить Docker-образ в 10+ раз - понятный и практичный разбор.

Размер Docker-образа - это не косметика.
Он напрямую влияет на:
- скорость CI/CD
- время деплоя
- cold start контейнеров
- расходы на storage и трафик

В примере ниже образ удалось сократить с 588 MB до 47.7 MB - почти на 92%.
Вот какие приёмы реально дают эффект.

1) Выбор базового образа - самое важное решение

Полный python:3.9 тянет за собой:
- лишние системные утилиты
- документацию
- dev-пакеты

Переход на python:3.9-alpine:
- в разы меньше размер
- быстрее скачивание
- меньше attack surface

Это первый и самый крупный выигрыш.

2) Оптимизация слоёв Docker

Каждый RUN, COPY, ADD - это новый слой.
Много мелких инструкций = раздув образа.

Правило:
- объединяй связанные команды
- удаляй временные файлы в том же RUN

Меньше слоёв - меньше вес - быстрее сборка.

3) .dockerignore - бесплатная оптимизация, которую часто забывают

Без .dockerignore в build context улетает всё:
- .venv
- .cache
- .git
- временные файлы

Это:
- увеличивает размер контекста
- замедляет сборку
- иногда ломает кеширование

.dockerignore должен быть всегда. Без исключений.

4) Multi-stage build - must-have для продакшена

Одна из самых мощных техник.

Идея простая:
- stage 1 - сборка, компиляция, зависимости
- stage 2 - только то, что нужно для запуска

В финальном образе:
- нет build-инструментов
- нет лишних библиотек
- только runtime

Результат:
- меньше размер
- меньше уязвимостей
- быстрее старт

Итоговый эффект:
- 588 MB -> 47.7 MB
- −91.89% размера
- быстрее CI
- быстрее деплой
- дешевле инфраструктура

Главный вывод:
маленькие оптимизации накапливаются.

Каждый сэкономленный мегабайт:
- ускоряет каждый pull
- ускоряет каждый deploy
- масштабируется вместе с вашей системой

Оптимизация Docker - это не микрооптимизация.
Это инженерная гигиена.

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Эффективная фильтрация данных в Python с Pandas: Применяем .query() и .loc()!

В этом видео мы погружаемся в мир эффективной фильтрации данных с помощью библиотеки Pandas в Python! Узнайте, как использовать методы `.query()` и `.loc()` для быстрого и удобного доступа к необходимой информации из больших наборов данных. Мы покажем вам, как сделать код более читаемым и оптимизированным, что особенно важно для аналитиков и разработчиков.

Мы разберем простой пример с фильтрацией данных, используя DataFrame, чтобы вы могли быстро применить полученные знания на практике. Эти навыки помогут вам обрабатывать данные более эффективно и сократят время, затрачиваемое на анализ. Не забудьте подписаться на канал, чтобы не пропустить новые полезные фишки каждый день!

@python_be1
📌 Подробная шпаргалка по командам Docker

Удобный и практичный референс для повседневной работы с Docker: образы, контейнеры, сети, тома и Docker Compose.

🐋 Общие команды Docker

- `docker —version` — версия Docker
- `docker info` — информация о системе Docker
- `docker help` — список доступных команд
- `docker <command> —help` — помощь по конкретной команде

📦 Работа с образами

- `docker pull <image>` — скачать образ из реестра
- `docker images` — список локальных образов
- `docker build -t name:tag .` — собрать образ из Dockerfile
- `docker tag <image> <repo>:<tag>` — назначить тег образу
- `docker rmi <image>` — удалить образ
- `docker image prune` — удалить неиспользуемые образы
- `docker image prune -a` — удалить все неиспользуемые, включая невисячие

🚀 Контейнеры: запуск и управление

- `docker run <image>` — запустить контейнер
- `docker run -d <image>` — запуск в фоне
- `docker run -it <image> bash` — интерактивный режим
- `docker ps` — активные контейнеры
- `docker ps -a` — все контейнеры
- `docker stop <container>` — остановить контейнер
- `docker start <container>` — запустить остановленный
- `docker restart <container>` — перезапуск
- `docker rm <container>` — удалить контейнер
- `docker rm -f <container>` — принудительно удалить
- `docker logs <container>` — логи контейнера
- `docker exec -it <container> bash` — войти внутрь контейнера
- `docker inspect <container>` — подробная информация (JSON)

🧹 Очистка и обслуживание

- `docker container prune` — удалить все остановленные контейнеры
- `docker image prune` — удалить неиспользуемые образы
- `docker volume prune` — удалить неиспользуемые тома
- `docker network prune` — удалить неиспользуемые сети
- `docker system prune` — очистить всё неиспользуемое
- `docker system prune -a` — максимально агрессивная очистка
- `docker system df` — использование диска Docker’ом

📊 Мониторинг и отладка

- `docker stats` — использование CPU и памяти контейнерами
- `docker top <container>` — процессы внутри контейнера
- `docker diff <container>` — изменения файловой системы контейнера

🌐 Сети Docker

- `docker network ls` — список сетей
- `docker network inspect <network>` — информация о сети
- `docker network create <name>` — создать сеть
- `docker network rm <name>` — удалить сеть

💾 Docker Volumes

- `docker volume ls` — список томов
- `docker volume inspect <volume>` — информация о томе
- `docker volume create <name>` — создать том
- `docker volume rm <name>` — удалить том

⚙️ Docker Compose

- `docker compose up` — запустить сервисы
- `docker compose up -d` — запуск в фоне
- `docker compose down` — остановить и удалить всё
- `docker compose build` — пересобрать образы
- `docker compose pull` — скачать образы
- `docker compose logs` — логи всех сервисов
- `docker compose ps` — статус сервисов
- `docker compose restart` — перезапуск

🧠 Полезные советы

- Используй `--rm`, чтобы контейнер удалялся после выполнения
- Проверяй размер Docker-данных через `docker system df`
- Для отладки всегда полезен `docker inspect`
- Регулярно чисти систему, чтобы Docker не съел весь диск

Эта шпаргалка закрывает 90% повседневных задач при работе с Docker - от локальной разработки до продакшена.

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Оптимизация Python кода: Использование декораторов для кэширования вычислений

В этом видео мы рассмотрим, как декораторы в Python могут существенно улучшить производительность вашего кода с помощью кэширования результатов. Мы познакомим вас с библиотекой `functools` и продемонстрируем, как легко использовать декоратор `lru_cache` для эффективного хранения результатов тяжёлых вычислений.

На примере функции вычисления чисел Фибоначчи вы узнаете, как кэширование может сократить время выполнения и облегчить работу с рекурсивными функциями. Если вы хотите научиться писать более оптимизированный и производительный код на Python, это видео — идеальное начало! Подписывайтесь на наш канал, чтобы не пропустить новые фишки и советы по программированию!

@python_be1
Делаем резюме по красоте: принесли RenderCV — опенсорс-инструмент, который помогает собрать аккуратный PDF.

Просто описываете всю информацию в YAML, а инструмент собирает PDF с нормальной типографикой и стабильной версткой. Все легко и быстро можно править под разные вакансии и при этом не бояться, что макет поплывёт. Плюс есть гибкая настройка дизайна.

Эйчары точно оценят (https://github.com/rendercv/rendercv) 👍

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Контекстные менеджеры в Python: Удобная работа с временными файлами с tempfile

В этом видео мы изучим, как контекстные менеджеры в Python помогают эффективно управлять ресурсами, такими как временные файлы. Вы узнаете, как использовать модуль `tempfile` для создания временных файлов, которые автоматически удаляются после завершения работы. Это идеальное решение для хранения временных данных без лишних хлопот и необходимости ручного удаления!

В данном примере кода мы создаем временный файл, записываем в него данные и затем читаем их. Используйте контекстные менеджеры, чтобы гарантировать, что ресурсы освобождаются, когда они больше не нужны. Не забудьте подписаться на канал, чтобы быть в курсе новых фишек по Python каждый день!

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Использование Enums в Python: Повышаем Читаемость Кода и Упрощаем Поддержку

В этом видео мы рассмотрим, как использовать Enums в Python для создания более читаемого и поддерживаемого кода. Замените обычные строки и числа на перечисления, чтобы сделать ваш код понятнее. Мы подробно объясним, как создать Enum для статусов задачи и как его применять в функции обновления статуса.

Вы узнаете, как определить перечисления с помощью класса Enum и какие преимущества они дают при работе с состояниями в вашем проекте. Не забудьте подписаться на канал, чтобы не пропустить другие полезные советы по Python и программированию!

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Упрощаем код на Python с помощью `dataclasses`: Пошаговый урок

В этом видео мы погрузимся в мир Python и изучим, как использовать `dataclasses` для упрощения создания классов. Вы узнаете, как быстро и эффективно работать с простыми структурами данных, что значительно ускорит процесс разработки ваших приложений.

Мы рассмотрим практический пример, где создадим класс `Student`, который будет хранить информацию о студентах, включая имя, возраст и список предметов. Вы увидите, как `dataclasses` позволяют минимизировать код и избежать повторяющихся шаблонов. Подписывайтесь на наш канал, чтобы не пропустить еще больше полезных фишек по Python каждый день!

@python_be1
Новая работа MIT: LLM, который видит и меняет состояние Python

В MIT предложили подход, при котором языковая модель работает не только с текстом, а напрямую с живым состоянием Python-кода - переменными, объектами в памяти и текущей точкой выполнения.

Подход называется NIGHTJAR.
Главный результат
В экспериментах NIGHTJAR сократил объем кода в среднем на 39.6% без потери корректности.

В чем была проблема
Обычная LLM:
- читает текст
- генерирует текст
- не видит реальные данные программы

Поэтому типичный пайплайн выглядит так:
- данные сериализуются в текст
- отправляются модели
- ответ парсится
- программа вручную обновляется

Много glue-кода, много мест для ошибок.

Что меняет совместное состояние
Shared state полностью меняет модель взаимодействия:
- LLM может читать и писать переменные
- изменять объекты прямо в памяти
- останавливать и пропускать циклы
- работать с текущим состоянием выполнения

Модель не «рассуждает о коде», она с ним взаимодействует.

Как это реализовано
LLM не получает прямой доступ к памяти.
Она отправляет небольшие команды:
- прочитать переменную
- записать значение
- обновить объект
- выйти из цикла

Python-обработчик выполняет эти команды.
Такой контракт авторы называют natural function interface.

Результаты
На бенчмарке SPSBench с 25 программами:
- корректность осталась на уровне ручной интеграции или выше
- код стал заметно короче
- но время выполнения иногда росло до 4.3 раза

Причина проста - каждое обращение к состоянию может требовать отдельного вызова модели.

Почему это важно
- меньше шаблонного glue-кода
- проще писать сложную логику с участием LLM
- шаг к более тесной интеграции AI и runtime
- фундамент для новых агентных и интерактивных систем

Это не про ускорение.
Это про изменение архитектуры взаимодействия между программой и моделью.

📌 Статья: arxiv.org/abs/2512.14805

#AI #LLM #Python

@python_be1
Hugging Face выкатили (https://huggingface.co/learn) новогодний подарок для всех нейродвинутых — 12 (!) бесплатных курсов по самым топовым направлениям ИИ 😮😮😮

Ребята собрали в одном месте базу, за которую <s>инфоцыгане</s> другие попросили бы сотни тысяч.
Тут всё: от создания своих агентов до обучения роботов:

— AI Agents: (https://huggingface.co/learn/agents-course/unit0/introduction) база по самой горячей теме года — учимся делать автономных агентов.
— LLM Course: (https://huggingface.co/learn/llm-course/chapter1/1) как работают «мозги» современных чат-ботов и библиотек типа Transformers.
— Smol-course: (https://huggingface.co/learn/smol-course/unit0/1)если мало времени, это самый быстрый способ разобраться в тонкой настройке (fine-tuning) моделей.
—MCP Course: (https://huggingface.co/learn/mcp-course/unit0/introduction)свежак, созданный вместе с Anthropic — учимся подключать ИИ к любым данным.
—Deep RL: (https://huggingface.co/learn/deep-rl-course/unit0/introduction) всё про обучение с подкреплением (то, на чем гоняют роботы и OpenAI o1).
— ML для игр: (https://huggingface.co/learn/ml-games-course/unit0/introduction) как встроить нейронки прямо в геймдев.
— Robotics: (https://huggingface.co/learn/robotics-course/unit0/1)путь от классических железяк до роботов на нейронках.
— Deep RL: (https://huggingface.co/learn/deep-rl-course/unit0/introduction)всё про глубокое обучение с подкреплением (привет, OpenAI o1).
— Computer Vision: (https://huggingface.co/learn/computer-vision-course/unit0/welcome/welcome) учим ИИ видеть и понимать изображения.
— Audio Course: (https://huggingface.co/learn/audio-course/chapter0/introduction)работа со звуком и голосом через Transformers.
— Diffusion Course: (https://huggingface.co/learn/diffusion-course/unit0/1)полный гайд по генерации картинок и работе с библиотекой Diffusers.
— Open-Source AI Cookbook (https://huggingface.co/learn/cookbook/index): отдельная имба — сборник готовых рецептов и кода для решения любых ИИ-задач.

Забираем всю годноту — здесь (https://huggingface.co/learn). 😊

@python_be1
⚙️ Context-async-sqlalchemy: простой способ подружить ASGI и async SQLAlchemy

Эта библиотека упрощает интеграцию асинхронного SQLAlchemy в любые ASGI-приложения.

Что она делает:
• управляет жизненным циклом engine и сессий
• даёт удобные утилиты для работы с БД
• ускоряет разработку — без лишней магии и ограничений

Идея простая: меньше шаблонного кода, больше внимания логике приложения.

https://github.com/krylosov-aa/context-async-sqlalchemy

@python_be1
Эту неделю мы все немного сеньоры.

@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Исторический момент: Google наконец позволит сменить адрес Gmail 🔥

Google тестирует функцию, которая даст пользователям возможность изменить свой
gmail, то есть можно будет избавиться от ника SuperBigPenis6666, который использовался годами.

Как это будет работать

— ваш почтовый ящик остаётся тем же
— письма продолжат приходить и на старый, и на новый адрес
— ничего не потеряется

Ограничения

Вы сможете переименовать ящик до трёх раз
и не чаще одного раза в год.

@python_be1
❄️ В VS Code завезли визуальный редактор интерфейсов с поддержкой любых (!) кодинг-агентов — Claude Code, GitHub Copilot, Codex, Cursor и многих других.

Это победа — править UI теперь можно легко, быстро и удобно через drag-and-drop прямо внутри популярнейшей IDE. Достаточно кликнуть на любой элемент интерфейса и внести изменения.

Сохраняем плагин — тут. (https://marketplace.visualstudio.com/items?itemName=WuunuAI.wuunu-ai-extension)

@python_be1
*после январских 2027 😁

@python_be1