Ответ
В моей текущей работе основным стеком является Python для бэкенда и анализа данных. Я активно использую:
- Бэкенд-фреймворки: FastAPI для высоконагруженных API и Django для монолитных приложений.
- Базы данных: PostgreSQL для реляционных данных, Redis для кэширования и Celery для фоновых задач.
- Инфраструктура: Docker для контейнеризации, Git для контроля версий, и CI/CD пайплайны на основе GitHub Actions.
- Тестирование: pytest для модульного и интеграционного тестирования.
Пример настройки простого эндпоинта на FastAPI:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
async def create_item(item: Item):
# Логика сохранения в БД
return {"item_name": item.name, "message": "Item created"}
Также имею опыт работы с облачными платформами, в частности с развертыванием сервисов на AWS (EC2, RDS, S3).
Ответ 18+ 🔞
А, ну вот, значит, чем я дышу на работе-то. Основной мой конёк — это Python, на нём всё и крутится: и бэкенд, и всякие аналитические штуки с данными. В общем, универсальный такой солдат, ёпта.
Чем конкретно балуюсь:
- По бэкенду: Если нужно что-то быстрое и злое, как реактивный пони — беру FastAPI для API, которые должны не тупить. А если проект здоровый, монолитный, где всё должно быть по полочкам — тогда Django, классика жанра.
- С базами данных: Нормальные, человеческие отношения с PostgreSQL. Для всякой быстрой движухи, типа кэша, — Redis. А если какие-то задачи фоновые, долгие, чтобы не заставлять пользователя ждать — связка Celery + Redis, волшебная палочка, бля.
- Вокруг да около: Без Docker сейчас никуда, всё в контейнерах таскаю. Git — святое, а все эти автоматические развертывания через GitHub Actions настраиваю, чтобы не тыкать всё руками, как в каменном веке.
- Чтобы не обосраться: Пишу тесты на pytest, и модульные, и интеграционные. Доверия ебать ноль ко всему, что не покрыто, поэтому проверяю.
Вот, смотри, как на FastAPI элементарный эндпоинт делается, буквально пять строк кода:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
async def create_item(item: Item):
# Логика сохранения в БД
return {"item_name": item.name, "message": "Item created"}
Ну и, конечно, всё это безобразие нужно куда-то выкатывать. Имел дело с облаками, в основном AWS. Поднимал сервисы на EC2, базы на RDS, файлы пихал в S3. В общем, не просто код пишу, а довожу дело до того, чтобы это хоть где-то работало, а не только у меня на компе.