Przejdź do głównej zawartości

Wzorce backendu Python

Przyspiesz rozwój backendu Python z Cursor i Claude Code. Te wzorce obejmują frameworki webowe, przetwarzanie danych, integrację machine learning, programowanie asynchroniczne i strategie wdrażania dostosowane do programowania Python wspomaganego przez AI.

  1. Otwórz Cursor w swoim workspace
  2. Uruchom tryb Agent (Cmd/Ctrl + I)
  3. Prompt: “Stwórz projekt Python z:
    • Framework FastAPI lub Django
    • Poetry do zarządzania zależnościami
    • SQLAlchemy ORM
    • Pytest do testowania
    • Pre-commit hooks
    • Konfiguracja Docker”
  4. Agent skonfiguruje kompletne środowisko
# Prompt Cursor dla konfiguracji FastAPI:
"Stwórz aplikację FastAPI z:
- Wsparciem async/await
- Modelami Pydantic do walidacji
- Autentyfikacją JWT
- Integracją z bazą danych z async SQLAlchemy
- Dokumentacją OpenAPI
- Zadaniami w tle z Celery"
# Wygenerowana struktura:
app/
api/
v1/
endpoints/
dependencies/
core/
config.py
security.py
models/
schemas/
services/
db/
# Prompt Django REST Framework:
"Skonfiguruj Django REST API z:
- ViewSets i serializers
- Autentyfikacją token
- Paginacją i filtrowaniem
- Niestandardowymi uprawnieniami
- Wersjonowaniem API
- Dokumentacją Swagger"
# Prompt konfiguracji bazy danych:
"Skonfiguruj SQLAlchemy z:
- Modelami declarative
- Migracjami Alembic
- Poolingiem połączeń
- Zarządzaniem sesjami
- Mapowaniem relacji
- Optymalizacją zapytań"

Wzorzec repository

# Prompt: "Zaimplementuj wzorzec repository:
# - Abstrakcyjne repozytorium bazowe
# - Konkretne implementacje
# - Wzorzec unit of work
# - Zarządzanie transakcjami"

Sharding bazy danych

# Prompt: "Dodaj sharding bazy danych:
# - Partycjonowanie poziome
# - Routing shardów
# - Zapytania cross-shard
# - Strategia rebalansowania"
# Prompt implementacji async:
"Stwórz async usługę Python z:
- aiohttp dla klienta HTTP
- asyncpg dla PostgreSQL
- Redis z aioredis
- Zarządzaniem współbieżnymi zadaniami
- Obsługą błędów dla async
- Monitorowaniem wydajności"
  1. Zarządzanie zadaniami: “Zaimplementuj async kolejkę zadań z priorytetem”
  2. Pooling połączeń: “Skonfiguruj async pool połączeń”
  3. Ograniczanie częstotliwości: “Dodaj async rate limiter”
  4. Testowanie: “Napisz testy async z pytest-asyncio”
# Prompt pipeline ETL:
"Zbuduj pipeline ETL z:
- Ekstracją danych z wielu źródeł
- Transformacją z pandas
- Walidacją i czyszczeniem
- Ładowaniem do hurtowni danych
- Obsługą błędów i ponawianiem
- Monitorowaniem postępu"
# Przetwarzanie Kafka:
"Zaimplementuj consumer Kafka z:
- Deserializacją wiadomości
- Logiką przetwarzania
- Obsługą błędów
- Zarządzaniem offsetami
- Monitorowaniem"
# Prompt serwowania ML:
"Stwórz API serwowania modeli ML z:
- Ładowaniem i cache'owaniem modeli
- Pipeline preprocessingu
- Wsparciem predykcji wsadowych
- Framework A/B testing
- Wersjonowaniem modeli
- Metrykami wydajności"

ML Ops wspomagane AI

Cursor/Claude może pomóc z:

  • Pipeline feature engineering
  • Strategiami wdrażania modeli
  • Monitorowaniem i alertami
  • Detekcją drift danych
  • Automatyzacją ponownego trenowania modeli
# Prompt zestawu testów:
"Stwórz kompleksowe testy z:
- Testami jednostkowymi z pytest
- Testami integracyjnymi
- Testami kontraktów API
- Testami wydajności z locust
- Fixture i fabryki testowe
- Raportowanie pokrycia"

Strategie mockowania

# Prompt: "Zaimplementuj mockowanie dla:
# - Wywołań zewnętrznych API
# - Zapytań do bazy danych
# - Kodu zależnego od czasu
# - Operacji na systemie plików"

Testowanie właściwości

# Prompt: "Dodaj testy właściwości z:
# - Strategiami Hypothesis
# - Generowaniem przypadków brzegowych
# - Testowaniem stanowym
# - Przykładami shrinking"
# Implementacja bezpieczeństwa:
"Zaimplementuj warstwę bezpieczeństwa z:
- OAuth2 z tokenami JWT
- Kontrolą dostępu opartą na rolach
- Zarządzaniem kluczami API
- Ograniczaniem częstotliwości na użytkownika
- Podpisywaniem żądań
- Logowaniem audytu"
# Implementacja cache'owania:
"Dodaj warstwę cache'owania z:
- Redis dla gorących danych
- Memcached dla sesji
- Lokalny cache LRU
- Strategiami rozgrzewania cache
- Wzorcami unieważniania
- Cache rozproszonym"
  1. Profilowanie: “Dodaj profilowanie kodu z cProfile”
  2. Konfiguracja APM: “Skonfiguruj New Relic lub DataDog”
  3. Metryki: “Zaimplementuj niestandardowe metryki z Prometheus”
  4. Optymalizacja: “Zoptymalizuj hot paths zidentyfikowane przez profilowanie”
# Prompt wdrażania Kubernetes:
"Stwórz manifesty Kubernetes dla:
- Deploymentu z replikami
- Service i ingress
- ConfigMaps i secrets
- Horizontal pod autoscaling
- Health checks
- Limitów zasobów"
# Prompt Python CI/CD:
"Stwórz GitHub Actions dla:
- Lintingu z black/flake8
- Sprawdzania typów z mypy
- Wykonywania testów
# - Budowania obrazu Docker
- Wdrażania na K8s"
# Prompt mikrousług:
"Zaimplementuj komunikację mikrousług z:
- gRPC dla usług wewnętrznych
- REST dla zewnętrznych API
- Service discovery
- Circuit breakers
- Distributed tracing
- Event sourcing"

Wzorce kolejek

Zaimplementuj z pomocą AI:

  • Celery dla kolejek zadań
  • RabbitMQ dla messaging
  • Architektura sterowana zdarzeniami
  • Wzorzec Saga dla transakcji
  • Kolejki martwych listów
# Strukturyzuj prompty jak:
"Stwórz [funkcjonalność] w Python z:
- Type hints wszędzie
- Docstrings (styl Google)
- Obsługą błędów
- Konfiguracją logowania
- Testami jednostkowymi
- Zgodnie z PEP 8"

Code review

Użyj AI do sprawdzenia:

  • Zgodności z PEP 8
  • Pokrycia type hints
  • Luk w zabezpieczeniach
  • Problemów z wydajnością

Refaktoryzacja

AI może pomóc z:

  • Wyciągnięciem metody/klasy
  • Usunięciem duplikacji
  • Optymalizacją algorytmów
  • Modernizacją składni
# Implementacja DDD:
"Zaimplementuj wzorce DDD z:
- Agregatami i encjami
- Obiektami wartości
- Usługami domeny
- Repozytoriami
- Zdarzeniami domeny
- Ograniczonymi kontekstami"
# Prompt systemu zdarzeń:
"Stwórz system sterowany zdarzeniami z:
- Implementacją event bus
- Przechowywaniem zdarzeń
- Replay zdarzeń
- Orkiestracją Saga
- Aktualizacjami eventually consistent"