Всем привет! 👋
Длительное время канал лежал мертвым грузом, но я решил его реанимировать. Попробую делиться полезной информацией на собственном примере. Сейчас я пишу небольшой проект с интересным стеком и подумал, что будет круто поэтапно разбирать весь процесс: от выбора инструментов до решения проблем в ходе разработки🧑💻
Что я пишу? Решил попробовать реализовать дейтинг-бота с ии плюшками, мини-апкой и оптимальными алгоритмами. Получается полный набор джентльмена: бот, фронт, бек, общие сервисы, CI/CD, контейнеризация и еще море интереснейших технологий🎩
Начнем с основы бота - фреймворка. Первые проекты я писал на TeleBot - в целом, функционала "из коробки" вполне хватало для небольших линейных ботов, но когда я решил написать что-то серьезное, я выбрал инструмент на голову выше - Aiogram. Он асинхронный (в целом, это уже железобетонный аргумент в его пользу), имеет крайне гибкую систему фильтров, встроенные роутеры (как в FastApi), менеджер состояний, мидлверы - в общем, буквально младенец против ядерной бомбы🤯
Как вам такой формат? Делитесь мыслями💻
🐍 PyCode
Длительное время канал лежал мертвым грузом, но я решил его реанимировать. Попробую делиться полезной информацией на собственном примере. Сейчас я пишу небольшой проект с интересным стеком и подумал, что будет круто поэтапно разбирать весь процесс: от выбора инструментов до решения проблем в ходе разработки
Что я пишу? Решил попробовать реализовать дейтинг-бота с ии плюшками, мини-апкой и оптимальными алгоритмами. Получается полный набор джентльмена: бот, фронт, бек, общие сервисы, CI/CD, контейнеризация и еще море интереснейших технологий
Начнем с основы бота - фреймворка. Первые проекты я писал на TeleBot - в целом, функционала "из коробки" вполне хватало для небольших линейных ботов, но когда я решил написать что-то серьезное, я выбрал инструмент на голову выше - Aiogram. Он асинхронный (в целом, это уже железобетонный аргумент в его пользу), имеет крайне гибкую систему фильтров, встроенные роутеры (как в FastApi), менеджер состояний, мидлверы - в общем, буквально младенец против ядерной бомбы
Как вам такой формат? Делитесь мыслями
Please open Telegram to view this post
VIEW IN TELEGRAM
Изоляция зависимостей
Что это и зачем нужно?📖
Допустим, вы только скачали Python и решили написать проект на джанго. Пишете в терминале💡
Раньше для меня стандартом была дефолтная утилита в питоне venv, простой командой
Так что же не так? В принципе, для маленьких проектов этого функционала вполне хватало, но все изменилось, когда я познакомился с poetry😍
Poetry - мегаудобный инструмент для управления зависимостями, и вот почему
1. С Poetry больше не надо при добавлении новой либы вручную вписывать её название и версию в requirement.txt
2. poetry позволяет разделить либы по группам - настоящая имба
3. При инициализации проекта на новом устройстве или сервере достаточно просто написать в консоли
Poetry полностью автоматизирует рутинные процессы настройки венвы и избавляет от головной боли с версиями. Для модульных проектов это мастхэв🍒
🐍 PyCode
Что это и зачем нужно?
Допустим, вы только скачали Python и решили написать проект на джанго. Пишете в терминале
pip install django. Затем захотели создать бота - докинули aiogram, для базы данных накатили sqlalchemy. В итоге ваш глобальный питон забивается солянкой из самых разных библиотек, именно для того, чтобы проекты не мешали друг другу, придумали виртуальное окружение Раньше для меня стандартом была дефолтная утилита в питоне venv, простой командой
python -m venv venv она создает в корне проекта изолированную версию питона.Так что же не так? В принципе, для маленьких проектов этого функционала вполне хватало, но все изменилось, когда я познакомился с poetry
Poetry - мегаудобный инструмент для управления зависимостями, и вот почему
1. С Poetry больше не надо при добавлении новой либы вручную вписывать её название и версию в requirement.txt
2. poetry позволяет разделить либы по группам - настоящая имба
3. При инициализации проекта на новом устройстве или сервере достаточно просто написать в консоли
poetry installPoetry полностью автоматизирует рутинные процессы настройки венвы и избавляет от головной боли с версиями. Для модульных проектов это мастхэв
Please open Telegram to view this post
VIEW IN TELEGRAM