22 puan yazan rumbarum 2023-08-21 | Henüz yorum yok. | WhatsApp'ta paylaş
  1. Pycham ile stack trace'i takip etmeyi denemek bir kez olsun yapmaya değer.
    1. Kullanılan değişkenlerin hangi değerlere sahip olduğunu, instance ise hangi attr'lara sahip olduğunu kontrol edebilirsiniz.
  2. FastAPI'nin Starlette olmadan var olamayacağı görülüyor.
    1. Temel sınıfı da Starlette'ten miras alınarak oluşturulmuş; Request, Response, Router, Middleware gibi bileşenlerin tamamı da Starlette tabanlı hazırlanmış.
    2. FastAPI kodundan çok Starlette kodunu görüyorsunuz.
    3. FastAPI'yi çıkarıp doğrudan Starlette ile de bir uygulama yapılabileceği düşüncesi doğuyor.
  3. Uvicorn ↔ Starlette ↔ FastAPI rollerini daha net hissettiriyor.
    1. Uvicorn: dış iletişim arayüzü
    2. Starlette: sunucu içi çalışma arayüzü
    3. FastAPI: Starlette üzerine endpoint fonksiyonlarını yazma kolaylığı (Depends(), Pydantic ile parametre doğrulama vb.) ekleyip Uvicorn ile etkileşime giriyor
  4. Middleware hakkında biraz daha fazla anlayış kazandırıyor.
    1. Request işlemenin ServerErrorMiddleware → özel middleware'ler → ExceptionMiddleware şeklinde ilerlediği görülebiliyor.
    2. @app.exception_handler(Exception) ile eklenen handler, ExceptionMiddleware içinde işleniyor; diğer sunucu hataları ise ServerErrorMiddleware içinde ele alınıyor.
    3. Middleware'lerin blocking olmasını önlemek için ayrıca bir thread grubu daha çalıştırılıyor.

Henüz yorum yok.

Henüz yorum yok.