Надежно поднимаем PostgreSQL 1 командой 🚀
Хотите быстро и надежно поднять PostgreSQL в Docker? Вот команда, которая сделает всё за вас:
Разбор команды:
- Имя контейнера:
- Данные для подключения: задаём имя базы (
- Порт:
- Сохранение данных:
После запуска база данных будет доступна по порту
Хотите быстро и надежно поднять PostgreSQL в Docker? Вот команда, которая сделает всё за вас:
docker run --name container_postgres \
-e POSTGRES_DB=my_db \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=super_password \
-p 5432:5432 \
-v $(pwd)/postgres_data:/var/lib/postgresql/data \
-d postgres
Разбор команды:
- Имя контейнера:
--name container_postgres. Удобно для управления контейнером. - Данные для подключения: задаём имя базы (
my_db), пользователя (admin) и пароль (super_password). - Порт:
-p 5432:5432. Сопоставляем порт на хосте и контейнере. - Сохранение данных:
-v $(pwd)/postgres_data:/var/lib/postgresql/data. Пробрасываем локальную папку, чтобы данные базы не пропали при перезапуске контейнера. После запуска база данных будет доступна по порту
5432, а данные сохранятся в папке postgres_data. Просто и надёжно!👍25🔥9❤6
Ещё решил поделиться универсальным скриптом bash. Основная суть скрипта в том, чтоб:
1. Создать виртуальное окружение под Python если оно не существует
2. Активировать виртуальное окружение
3. Установить зависимости с файла requirements.txt
4. Запустить проект
Полезно будет для быстрого разворачивания проекта или для запуска в комплексе с systemd.
Вот полный код скрипта:
Сохранить код нужно в файл с расширением .sh и положить его в корень проекта (рядом с файлом requirements.txt)
Пару важных уточнений.
1. Убедитесь что у вас на сервере установлен Python и Python venv
2. Для того чтоб появилась возможность сделать файл исполняемым, нужно выполнить команду:
Эта команда добавляет право на выполнение файла для текущего пользователя.
3. После этого вы можете запустить скрипт, используя команду:
4. Если вы хотите использовать этот скрипт с systemd, убедитесь, что в файле сервиса указан полный путь к скрипту в параметре ExecStart.
5. Не забудьте заменить 'main.py' в скрипте на имя вашего основного Python файла, который нужно запустить или на команду для запуска скрипта.
Этот скрипт значительно упрощает процесс настройки и запуска Python проектов, особенно при развертывании на новых системах или при автоматизации запуска через systemd.
1. Создать виртуальное окружение под Python если оно не существует
2. Активировать виртуальное окружение
3. Установить зависимости с файла requirements.txt
4. Запустить проект
Полезно будет для быстрого разворачивания проекта или для запуска в комплексе с systemd.
Вот полный код скрипта:
#!/bin/bash
# Название виртуального окружения
VENV_NAME="venv"
# Проверяем, существует ли уже виртуальное окружение
if [ ! -d "$VENV_NAME" ]; then
echo "Создаем виртуальное окружение..."
python3 -m venv $VENV_NAME
else
echo "Виртуальное окружение уже существует. Пропускаем создание."
fi
# Активируем виртуальное окружение
echo "Активируем виртуальное окружение..."
source $VENV_NAME/bin/activate
# Устанавливаем зависимости
echo "Устанавливаем зависимости из requirements.txt..."
if [ -f "requirements.txt" ]; then
pip install -r requirements.txt
else
echo "Файл requirements.txt не найден! Пожалуйста, проверьте наличие файла."
deactivate
exit 1
fi
# Команда для запуска скрипта
echo "Запускаем скрипт..."
python3 main.py
# Деактивация виртуального окружения (опционально, если нужно после выполнения)
echo "Завершаем работу..."
deactivate
Сохранить код нужно в файл с расширением .sh и положить его в корень проекта (рядом с файлом requirements.txt)
Пару важных уточнений.
1. Убедитесь что у вас на сервере установлен Python и Python venv
2. Для того чтоб появилась возможность сделать файл исполняемым, нужно выполнить команду:
chmod +x имя_файла.sh
Эта команда добавляет право на выполнение файла для текущего пользователя.
3. После этого вы можете запустить скрипт, используя команду:
./имя_файла.sh
4. Если вы хотите использовать этот скрипт с systemd, убедитесь, что в файле сервиса указан полный путь к скрипту в параметре ExecStart.
5. Не забудьте заменить 'main.py' в скрипте на имя вашего основного Python файла, который нужно запустить или на команду для запуска скрипта.
Этот скрипт значительно упрощает процесс настройки и запуска Python проектов, особенно при развертывании на новых системах или при автоматизации запуска через systemd.
👍28🔥10❤4🎉1
Друзья, приветствую!
Решил поделиться с вами ещё одним стартовым шаблоном для быстрого начала разработки, но на этот раз не из мира Python, а из мира JavaScript.
Я подготовил для вас мощный стартовый шаблон для разработки современных веб-приложений с использованием:
🚀 Vue 3
⚡️ Vite
🔷 TypeScript
🛣 Vue Router
🎨 Tailwind CSS
🛠 VueUse
Этот шаблон предоставляет оптимизированную структуру и передовые настройки для быстрого старта высокопроизводительных приложений.
Особенности шаблона:
- Composition API и <script setup lang="ts"> синтаксис
- Молниеносная сборка с Vite
- Надежная типизация с TypeScript
- Эффективная навигация с Vue Router
- Гибкая стилизация с Tailwind CSS
- Более 200 полезных утилит с VueUse
Шаблон доступен на GitHub: [ссылка на репозиторий]
В проекте реализовал подробный README, так что вопросов по запуску быть не должно. Там, буквально, достаточно будет ввести 4 команды в терминале и проект будет запущен.
Не забудьте поставить звездочку проекту, если он вам понравился! Ваша поддержка мотивирует меня создавать больше полезных инструментов для разработчиков.
Буду рад вашим отзывам и предложениям по улучшению шаблона. Давайте вместе сделаем разработку на Vue ещё удобнее и эффективнее! 💪
Решил поделиться с вами ещё одним стартовым шаблоном для быстрого начала разработки, но на этот раз не из мира Python, а из мира JavaScript.
Я подготовил для вас мощный стартовый шаблон для разработки современных веб-приложений с использованием:
🚀 Vue 3
⚡️ Vite
🔷 TypeScript
🛣 Vue Router
🎨 Tailwind CSS
🛠 VueUse
Этот шаблон предоставляет оптимизированную структуру и передовые настройки для быстрого старта высокопроизводительных приложений.
Особенности шаблона:
- Composition API и <script setup lang="ts"> синтаксис
- Молниеносная сборка с Vite
- Надежная типизация с TypeScript
- Эффективная навигация с Vue Router
- Гибкая стилизация с Tailwind CSS
- Более 200 полезных утилит с VueUse
Шаблон доступен на GitHub: [ссылка на репозиторий]
В проекте реализовал подробный README, так что вопросов по запуску быть не должно. Там, буквально, достаточно будет ввести 4 команды в терминале и проект будет запущен.
Не забудьте поставить звездочку проекту, если он вам понравился! Ваша поддержка мотивирует меня создавать больше полезных инструментов для разработчиков.
Буду рад вашим отзывам и предложениям по улучшению шаблона. Давайте вместе сделаем разработку на Vue ещё удобнее и эффективнее! 💪
GitHub
GitHub - Yakvenalex/vue-typescript-tailwind-starter: Vue 3 + Vite + TypeScript + Vue Router + Tailwind CSS Starter Template.
Vue 3 + Vite + TypeScript + Vue Router + Tailwind CSS Starter Template. - Yakvenalex/vue-typescript-tailwind-starter
🔥25❤🔥7👍7❤4
📢Внимание. Важный анонс!📢
Запустил второй телеграм-канал, который будет посвящен JavaScript-технологиям.
В новом канале вы найдете материалы по современным JavaScript-технологиям: Vue 3, Nuxt, Tailwind и другим фреймворкам JS🚀.
Анонсы больших гайдов и публикаций, как и описание технологий, где фронтенд и бэкенд будут перекликаться, планирую дублировать в оба канала.
Посты из нового канала и относительно небольшие гайды, опубликованные на моем сайте по теме JavaScript, тут анонсировать и дублировать не буду, чтобы не забивать эфир.
Так что приглашаю всех заинтересованных в теме современных фронтенд-технологий😉
Запустил второй телеграм-канал, который будет посвящен JavaScript-технологиям.
В новом канале вы найдете материалы по современным JavaScript-технологиям: Vue 3, Nuxt, Tailwind и другим фреймворкам JS🚀.
Анонсы больших гайдов и публикаций, как и описание технологий, где фронтенд и бэкенд будут перекликаться, планирую дублировать в оба канала.
Посты из нового канала и относительно небольшие гайды, опубликованные на моем сайте по теме JavaScript, тут анонсировать и дублировать не буду, чтобы не забивать эфир.
Так что приглашаю всех заинтересованных в теме современных фронтенд-технологий😉
🔥14❤12🎉7👎2👏1
Легкий путь в Python pinned «📢Внимание. Важный анонс!📢 Запустил второй телеграм-канал, который будет посвящен JavaScript-технологиям. В новом канале вы найдете материалы по современным JavaScript-технологиям: Vue 3, Nuxt, Tailwind и другим фреймворкам JS🚀. Анонсы больших гайдов и публикаций…»
Друзья, я решил рассказать о способе, который позволит вам создавать мощные современные веб-приложения, объединяя Vue.js 3 и FastAPI. Суть в том, что на этапе разработки мы будем писать 2 независимых приложения: фронтенд на Vue.js 3 (JavaScript-фреймворк) и бэкенд на FastAPI (Python-фреймворк).
В статье я показываю, как построить полноценное веб-приложение, где Vue.js будет отвечать за пользовательский интерфейс, а FastAPI возьмет на себя серверную логику. На примере простого секундомера мы пройдем весь путь от настройки окружения до связывания компонентов в единое приложение.
Вы узнаете:
- как правильно настроить сборку проекта
- как организовать структуру файлов
- как эффективно связать фронтенд с бэкендом
Статья доступна по ссылке: https://yakvenalex.ru/ru/all_technology/zapuskaem-vue-js-3-c-fastapi-v-odnom-prilozhenii
В статье я показываю, как построить полноценное веб-приложение, где Vue.js будет отвечать за пользовательский интерфейс, а FastAPI возьмет на себя серверную логику. На примере простого секундомера мы пройдем весь путь от настройки окружения до связывания компонентов в единое приложение.
Вы узнаете:
- как правильно настроить сборку проекта
- как организовать структуру файлов
- как эффективно связать фронтенд с бэкендом
Статья доступна по ссылке: https://yakvenalex.ru/ru/all_technology/zapuskaem-vue-js-3-c-fastapi-v-odnom-prilozhenii
База знаний Алексея Яковенко
Запускаем Vue.js 3 c FastAPI в одном приложении
Статья о том, как объединить фронтенд на Vue.js 3 с бэкендом на FastAPI в одном приложении. Мы разберем процесс настройки окружения, создания простого секундомера на Vue.js и его интеграции с Python-бэкендом через шаблонизатор Jinja2.
👍22🔥14❤5👏3
Ребята, есть тут фронтендеры, которым нужна работа? Желательно поближе к Краснодару. Если что, стучитесь в личку за подробностями: @yakvenalexx
🔥3❤2
🚀 Лайфхак для SQLAlchemy 2: Автоматическое создание таблиц при запуске приложения
Привет, разработчики! Сегодня я хочу поделиться с вами полезным приемом для работы с SQLAlchemy 2, который сэкономит вам время и упростит процесс разработки.
Этот метод позволяет автоматически создавать отсутствующие таблицы в базе данных при запуске вашего приложения, будь то бот, FastAPI или парсер. SQLAlchemy будет сравнивать модели таблиц с реальными таблицами в базе и создавать те, которых не хватает.
Вот как это работает:
1. Настройте базовые параметры SQLAlchemy:
2. Опишите ваши модели:
3. Создайте функцию для генерации таблиц:
4. В файле приложения импортируйте все модели и вызовите функцию:
Этот подход особенно полезен, когда вы не хотите использовать сложные инструменты для миграций, такие как Alembic. Он прост в реализации и отлично подходит для небольших проектов или быстрого прототипирования.
Попробуйте этот метод в своем следующем проекте и дайте знать, как он вам помог! 👨💻👩💻
Привет, разработчики! Сегодня я хочу поделиться с вами полезным приемом для работы с SQLAlchemy 2, который сэкономит вам время и упростит процесс разработки.
Этот метод позволяет автоматически создавать отсутствующие таблицы в базе данных при запуске вашего приложения, будь то бот, FastAPI или парсер. SQLAlchemy будет сравнивать модели таблиц с реальными таблицами в базе и создавать те, которых не хватает.
Вот как это работает:
1. Настройте базовые параметры SQLAlchemy:
DATABASE_URL = get_db_url()
engine = create_async_engine(DATABASE_URL, echo=False)
async_session_maker = async_sessionmaker(engine, expire_on_commit=False)
class Base(AsyncAttrs, DeclarativeBase):
abstract = True
2. Опишите ваши модели:
class User(Base):
tablename = "user"
user_id: Mapped[int] = mapped_column(BIGINT, primary_key=True)
user_name: Mapped[str] = mapped_column(String(100))
username: Mapped[Optional[str]] = mapped_column(String(50))
3. Создайте функцию для генерации таблиц:
async def create_tables():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
4. В файле приложения импортируйте все модели и вызовите функцию:
from dao.models import User
from dao.database import create_tables
await create_tables()
Этот подход особенно полезен, когда вы не хотите использовать сложные инструменты для миграций, такие как Alembic. Он прост в реализации и отлично подходит для небольших проектов или быстрого прототипирования.
Попробуйте этот метод в своем следующем проекте и дайте знать, как он вам помог! 👨💻👩💻
👍23🔥16❤2
🎉 Управление жизненным циклом бота на Pyrogram
Друзья, привет! 👋 Набросал небольшую, но полезную заметку о том, как грамотно управлять жизненным циклом User-бота через библиотеку Pyrogram. Вы узнаете, как настроить запуск, завершение и добавление хендлеров для вашего бота.
🔗 Читать статью: Управление жизненным циклом User-бота на Pyrogram
Буду рад вашим отзывам и вопросам! 🚀
Друзья, привет! 👋 Набросал небольшую, но полезную заметку о том, как грамотно управлять жизненным циклом User-бота через библиотеку Pyrogram. Вы узнаете, как настроить запуск, завершение и добавление хендлеров для вашего бота.
🔗 Читать статью: Управление жизненным циклом User-бота на Pyrogram
Буду рад вашим отзывам и вопросам! 🚀
🔥25👍12❤8
В планах есть статья, в которой я снова расскажу про авторизацию и аутентификацию с использованием FastAPI. В этом материале, помимо входа через смс и почту, я планирую описать работу с JWT токенами через Bearer, а не через куки.
Если вам интересно почитать уже сейчас про авторизацию и аутентификацию с JWT через куки, рекомендую заглянуть в мою статью на Хабре: Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей.
P.S. На скрине внешний вид Swagger-документации в котором уже используется данный подход.
Если вам интересно почитать уже сейчас про авторизацию и аутентификацию с JWT через куки, рекомендую заглянуть в мою статью на Хабре: Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей.
P.S. На скрине внешний вид Swagger-документации в котором уже используется данный подход.
3🔥46👍17❤8
Вторая часть проекта, посвященная разработке FullStack приложения для выдуманной клиники "Здоровье Плюс" уже оформлено в черновик.
Если успею за сегодня все вычитать, то завтра публикация.
В статье подробно описал процесс создания фронтенда для Telegram MiniApp, написанного на чистом Vue.JS 3.
Будете ждать выхода?
Если успею за сегодня все вычитать, то завтра публикация.
В статье подробно описал процесс создания фронтенда для Telegram MiniApp, написанного на чистом Vue.JS 3.
Будете ждать выхода?
2🔥74👍18🎉7❤1
Друзья, привет!
Рад поделиться с вами второй частью из мини-серии статей по созданию телеграм-бота с Mini App для вымышленной клиники «Здоровье плюс».
Новая статья уже опубликована на Хабре и получила название:
«FastAPI и Vue.js 3: телеграм-бот с Mini App для записи и автоматических уведомлений. Пишем фронтенд».
На этот раз я сосредоточился исключительно на разработке фронтенда — без кода на Python.
В статье детально разобрал процесс создания полноценного Single Page Application с использованием современного фреймворка Vue.js 3. Для стилизации проекта применял Tailwind CSS.
Я постарался сделать материал доступным даже для тех, кто только начинает знакомство с фронтендом или Vue.js 3. Вы найдете пошаговые инструкции, которые помогут создать Mini App для нашего бота.
🔗 Cсылки👇
Рад поделиться с вами второй частью из мини-серии статей по созданию телеграм-бота с Mini App для вымышленной клиники «Здоровье плюс».
Новая статья уже опубликована на Хабре и получила название:
«FastAPI и Vue.js 3: телеграм-бот с Mini App для записи и автоматических уведомлений. Пишем фронтенд».
На этот раз я сосредоточился исключительно на разработке фронтенда — без кода на Python.
В статье детально разобрал процесс создания полноценного Single Page Application с использованием современного фреймворка Vue.js 3. Для стилизации проекта применял Tailwind CSS.
Я постарался сделать материал доступным даже для тех, кто только начинает знакомство с фронтендом или Vue.js 3. Вы найдете пошаговые инструкции, которые помогут создать Mini App для нашего бота.
🔗 Cсылки👇
Хабр
FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем фронтенд
Друзья, приветствую! Наконец-то дошли руки до описания второй части нашего большого проекта по работе с выдуманной клиникой «Здоровье Плюс». Я напоминаю, что в рамках этой небольшой серии мы создаем...
7👍26🔥15❤10
Легкий путь в Python
Друзья, привет! Рад поделиться с вами второй частью из мини-серии статей по созданию телеграм-бота с Mini App для вымышленной клиники «Здоровье плюс». Новая статья уже опубликована на Хабре и получила название: «FastAPI и Vue.js 3: телеграм-бот с Mini…
Вопросы, предложения и комментарии 👇
Друзья, привет всем! 👋
У меня появилась идея для новой статьи, в которой я хочу разобрать Aiogram Dialog и заодно рассмотреть FastStream в связке с RabbitMQ - это современная альтернатива Celery для работы с очередями сообщений.
Планирую создать бота для ресторана с функцией бронирования столиков. FastStream будет использоваться для настройки системы уведомлений. Однако функциональность бота может измениться.
Если вам интересна эта тема, напишите в комментариях, какие функции вы хотели бы видеть в боте, построенном на Aiogram Dialog 👇 Ваши идеи помогут сделать статью более полезной и интересной!
У меня появилась идея для новой статьи, в которой я хочу разобрать Aiogram Dialog и заодно рассмотреть FastStream в связке с RabbitMQ - это современная альтернатива Celery для работы с очередями сообщений.
Планирую создать бота для ресторана с функцией бронирования столиков. FastStream будет использоваться для настройки системы уведомлений. Однако функциональность бота может измениться.
Если вам интересна эта тема, напишите в комментариях, какие функции вы хотели бы видеть в боте, построенном на Aiogram Dialog 👇 Ваши идеи помогут сделать статью более полезной и интересной!
2🔥71👍26❤10
🚀 Полезный трюк для SQLAlchemy: как быстро преобразовать модель в словарь без использования Pydantic
Друзья, добрый день! 👋
Сегодня хочу поделиться с вами простой наработкой для работы с SQLAlchemy. Если вам часто нужно получать питоновский словарь из результатов запросов, но тянуть Pydantic для этого не хочется, то этот метод как раз для вас! 😎
📌 Решение:
Мы добавляем метод
🛠 Пример реализации:
📦 Пример использования:
Теперь вы можете легко использовать этот метод для преобразования данных, полученных из базы:
Это решение подходит для быстрого и удобного получения данных в формате словаря без лишних зависимостей. Очень полезно для работы с API или при отправке данных в frontend! 💻✨
Друзья, добрый день! 👋
Сегодня хочу поделиться с вами простой наработкой для работы с SQLAlchemy. Если вам часто нужно получать питоновский словарь из результатов запросов, но тянуть Pydantic для этого не хочется, то этот метод как раз для вас! 😎
📌 Решение:
Мы добавляем метод
to_dict в базовый класс, от которого будут наследоваться все модели. Этот метод будет преобразовывать модель SQLAlchemy в стандартный Python-словарь, исключая необходимость в Pydantic. Очень удобно, если вы хотите работать с данными без лишних зависимостей.🛠 Пример реализации:
class Base(AsyncAttrs, DeclarativeBase):
__abstract__ = True
def to_dict(self, exclude_none: bool = False):
"""
Преобразует объект модели в словарь.
Args:
exclude_none (bool): Исключать ли None значения из результата
Returns:
dict: Словарь с данными объекта
"""
result = {}
for column in inspect(self.__class__).columns:
value = getattr(self, column.key)
# Преобразование специальных типов данных
if isinstance(value, datetime):
value = value.isoformat()
elif isinstance(value, Decimal):
value = float(value)
elif isinstance(value, uuid.UUID):
value = str(value)
# Добавляем значение в результат
if not exclude_none or value is not None:
result[column.key] = value
return result
📦 Пример использования:
Теперь вы можете легко использовать этот метод для преобразования данных, полученных из базы:
product_data = await ProductDAO.find_one_or_none_by_id(session=session, data_id=product_id)
product = product_data.to_dict()
Это решение подходит для быстрого и удобного получения данных в формате словаря без лишних зависимостей. Очень полезно для работы с API или при отправке данных в frontend! 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍16❤9🙏1
🔥 Друзья, всем привет!
Наконец-то записал и опубликовал первое большое видео на Rutube и YouTube! 🎥
В нём я подробно разобрал шаблон FastAPI с JWT-аутентификацией, который интегрирован с асинхронной SQLAlchemy.
📌 Почему решил сделать обзор?
На днях я выкатил крупное обновление шаблона, и теперь он стал ещё удобнее и мощнее. Вот ключевые изменения:
- 🔄 Полностью переработал класс `BaseDao`.
Теперь сессия передаётся через конструктор, а не проваливается в каждый метод. Это делает работу с базой данных чище и проще.
- 🛠 Обновил зависимости проекта.
Сделал их более читабельными. Больше никакого сложного класса для генерации сессий — всё максимально понятно.
🎯 В видео я не просто показываю код, но и объясняю, как всё работает.
Там есть:
- 💡 Большой блок о принципах зависимостей в FastAPI.
- 🔐 Подробный разбор защищённой куки-сессии.
Видео получилось объёмным, но очень информативным, так что буду рад вашей обратной связи! 🙏
Смотреть на YouTube: https://www.youtube.com/watch?v=ZSqhCyotcnw
📂 Исходник проекта:
https://github.com/Yakvenalex/FastApiWithAuthSample
Ссылка на видео на Rutube:
https://rutube.ru/video/4b7c69c55c3eaddee7800355c82e55df/
Делитесь впечатлениями и вопросами в комментариях — обсудим! 😉
Наконец-то записал и опубликовал первое большое видео на Rutube и YouTube! 🎥
В нём я подробно разобрал шаблон FastAPI с JWT-аутентификацией, который интегрирован с асинхронной SQLAlchemy.
📌 Почему решил сделать обзор?
На днях я выкатил крупное обновление шаблона, и теперь он стал ещё удобнее и мощнее. Вот ключевые изменения:
- 🔄 Полностью переработал класс `BaseDao`.
Теперь сессия передаётся через конструктор, а не проваливается в каждый метод. Это делает работу с базой данных чище и проще.
- 🛠 Обновил зависимости проекта.
Сделал их более читабельными. Больше никакого сложного класса для генерации сессий — всё максимально понятно.
🎯 В видео я не просто показываю код, но и объясняю, как всё работает.
Там есть:
- 💡 Большой блок о принципах зависимостей в FastAPI.
- 🔐 Подробный разбор защищённой куки-сессии.
Видео получилось объёмным, но очень информативным, так что буду рад вашей обратной связи! 🙏
Смотреть на YouTube: https://www.youtube.com/watch?v=ZSqhCyotcnw
📂 Исходник проекта:
https://github.com/Yakvenalex/FastApiWithAuthSample
Ссылка на видео на Rutube:
https://rutube.ru/video/4b7c69c55c3eaddee7800355c82e55df/
Делитесь впечатлениями и вопросами в комментариях — обсудим! 😉
YouTube
FastAPI + SQLAlchemy: Шаблон приложения с JWT-аутентификацией
В этом видео я представляю готовый шаблон приложения на FastAPI с поддержкой JWT-аутентификации, авторизации, модульной архитектурой и взаимодействием с базой данных через SQLAlchemy. Этот шаблон идеально подходит для создания масштабируемых и надёжных веб…
30👍49🔥29❤10🎉3🥴1
Друзья, сейчас у меня плотная загрузка по своим проектам, но я приложу все усилия, чтобы к понедельнику подготовить для вас большую и интересную статью о связке Aiogram Dialog с FastStream. Всё под контролем, я помню обо всём! 😉
👍40🔥20❤9❤🔥2
🎥 Друзья, у меня появилась идея для видео, и я хочу с вами ею поделиться.
Я планирую рассказать о том, что такое веб-хуки и как они работают. В видео будет немного теории, чтобы вы могли понять основные концепции. Затем я проведу демонстрацию на простом примере, чтобы закрепить знания. А в конце можно будет рассмотреть более сложный пример, чтобы вы могли увидеть веб-хуки в действии.
Для демонстрации планирую использовать чистый FastAPI, а после показать, как это работает в связке с aiogram.
Вам была бы интересна эта тема в формате видео?
Я планирую рассказать о том, что такое веб-хуки и как они работают. В видео будет немного теории, чтобы вы могли понять основные концепции. Затем я проведу демонстрацию на простом примере, чтобы закрепить знания. А в конце можно будет рассмотреть более сложный пример, чтобы вы могли увидеть веб-хуки в действии.
Для демонстрации планирую использовать чистый FastAPI, а после показать, как это работает в связке с aiogram.
Вам была бы интересна эта тема в формате видео?
4❤80🔥65👍46💯3🙏2👌1🏆1