🖥 Как уменьшить 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
Размер 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
В этом видео мы погружаемся в мир эффективной фильтрации данных с помощью библиотеки 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
Удобный и практичный референс для повседневной работы с 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
В этом видео мы рассмотрим, как декораторы в Python могут существенно улучшить производительность вашего кода с помощью кэширования результатов. Мы познакомим вас с библиотекой `functools` и продемонстрируем, как легко использовать декоратор `lru_cache` для эффективного хранения результатов тяжёлых вычислений.
На примере функции вычисления чисел Фибоначчи вы узнаете, как кэширование может сократить время выполнения и облегчить работу с рекурсивными функциями. Если вы хотите научиться писать более оптимизированный и производительный код на Python, это видео — идеальное начало! Подписывайтесь на наш канал, чтобы не пропустить новые фишки и советы по программированию!
@python_be1
Делаем резюме по красоте: принесли RenderCV — опенсорс-инструмент, который помогает собрать аккуратный PDF.
Просто описываете всю информацию в YAML, а инструмент собирает PDF с нормальной типографикой и стабильной версткой. Все легко и быстро можно править под разные вакансии и при этом не бояться, что макет поплывёт. Плюс есть гибкая настройка дизайна.
Эйчары точно оценят (https://github.com/rendercv/rendercv) 👍
@python_be1
Просто описываете всю информацию в 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
В этом видео мы изучим, как контекстные менеджеры в 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
В этом видео мы рассмотрим, как использовать 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
В этом видео мы погрузимся в мир 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
В 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
Ребята собрали в одном месте базу, за которую <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
Эта библиотека упрощает интеграцию асинхронного SQLAlchemy в любые ASGI-приложения.
Что она делает:
• управляет жизненным циклом engine и сессий
• даёт удобные утилиты для работы с БД
• ускоряет разработку — без лишней магии и ограничений
Идея простая: меньше шаблонного кода, больше внимания логике приложения.
https://github.com/krylosov-aa/context-async-sqlalchemy
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Исторический момент: Google наконец позволит сменить адрес Gmail 🔥
Google тестирует функцию, которая даст пользователям возможность изменить свой
gmail, то есть можно будет избавиться от ника SuperBigPenis6666, который использовался годами.
Как это будет работать
— ваш почтовый ящик остаётся тем же
— письма продолжат приходить и на старый, и на новый адрес
— ничего не потеряется
Ограничения
Вы сможете переименовать ящик до трёх раз
и не чаще одного раза в год.
@python_be1
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
Это победа — править UI теперь можно легко, быстро и удобно через drag-and-drop прямо внутри популярнейшей IDE. Достаточно кликнуть на любой элемент интерфейса и внести изменения.
Сохраняем плагин — тут. (https://marketplace.visualstudio.com/items?itemName=WuunuAI.wuunu-ai-extension)
@python_be1