Isoqjanov Ilyos | Python
512 subscribers
34 photos
13 videos
2 files
60 links
🐍 Python bo'yicha o'zbek tilidagi sifatli materiallarni ko'paytirishda o'zing madadkor bo'lgin Allohim.

Shaxsiy blogim:
https://t.me/coldboot_blog

Admin:
@JurabekAbdusattarov,
@pythonwithcoldboot
Download Telegram
🚀 FASTAPI: KELAJAK PYTHON FREYMVORKI 🚀
⚡️ Nima uchun har bir Python dasturchisi 2025 yilda FastAPI'ni o'rganishi kerak ⚡️

🔥 FastAPI nima?
FastAPI oddiy veb freymvork emas – bu Python backend ishlanmalarida haqiqiy inqilob! Tezlik, soddalik va zamonaviy Python xususiyatlari uchun yaratilgan, u API ishlanmalarida tez orada asosiy tanlovga aylanmoqda.


FastAPI'ni nima alohida qiladi?
🏎 JUDA YUQORI TEZLIK


Starlette va Pydantic asosida qurilgan
Go va NodeJS bilan tezlikda raqobatlashadi
Flask yoki Django'dan 300% gacha tezroq

💎 ZAMONAVIY PYTHON XUSUSIYATLARI

Python 3.8+ tip ko'rsatmalaridan foydalanadi
Asl async/await qo'llab-quvvatlashi
Callback hell muammosidan xalos!

📝 AVTOMATIK HUJJATLASHTIRISH

O'rnatilgan Swagger UI va ReDoc
Brauzerda interaktiv API testlash
Qo'shimcha sozlashlar talab qilinmaydi

🔒 O'RNATILGAN MA'LUMOTLARNI TEKSHIRISH

Avtomatik so'rovni tekshirish
Aniq xato xabarlari
Xavfsizlik va autentifikatsiya tayyor


💻 Tez boshlash kodi:
pythonfrom fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"message": "Salom Dunyo"}

@app.get("/items/{item_id}")
def read_item(item_id: int, query: str = None):
return {"item_id": item_id, "query": query}


Shunchaki pip install fastapi uvicorn orqali o'rnating va uvicorn main:app --reload bilan ishga tushiring!

🔮 FastAPI'dan kimlar foydalanmoqda?

Netflix
Microsoft
Uber
Facebook'ning Meta AI tizimi

📣 Bizning FastAPI o'rganish sayohatimizga qo'shiling!
Keyingi hafta biz amaliy misollar va haqiqiy loyihalar bilan FastAPI'ni chuqurroq o'rganamiz. Agar biror maxsus mavzu ko'rishni istasangiz, izoh qoldiring!
#PythonDevelopment #FastAPI #WebDevelopment #APIDevelopment #ZamonaviyPython
2🔥1
#lifespan #fastapi
🚀 lifespan – FastAPI ilovasining hayot aylanishi

FastAPI'da lifespan bu — ilova ishga tushganda va to‘xtaganda avtomatik bajarilishi kerak bo‘lgan kodlar to‘plami.


🔧 Misol
Quyidagi misolda ilova ishga tushganda fayl ochiladi, to‘xtaganda esa yopiladi:

from fastapi import FastAPI
from contextlib import asynccontextmanager

log_file = None

@asynccontextmanager
async def lifespan(app: FastAPI):
global log_file
log_file = open("server.log", "a")
log_file.write("🔵 Server started\n")
log_file.flush()

yield # Ilova shu yerda ishlaydi

log_file.write("🔴 Server stopped\n")
log_file.close()

app = FastAPI(lifespan=lifespan)

@app.get("/")
def read_root():
return {"message": "Hello from FastAPI!"}


🔍 Nima bo‘ladi bu yerda?

• lifespan funktsiyasi app = FastAPI(lifespan=lifespan) ga uzatiladi
• yielddan oldingi kodlar startup paytida bajariladi
• yielddan keyingi kodlar shutdown vaqtida bajariladi

Batafsil: komentda tushuntiriladi!👇
#rateLimit #fastapi
📌 FastAPI ilovasida API'ga rate limit qo‘yish (slowapi bilan)

Agar sizning API'ingizda haddan tashqari ko‘p so‘rov bo‘lishini oldini olish va qanchadir vaqtdagi so'rov soniga cheklov qo'ymoqchi bo'lsangiz, slowapi kutubxonasi aynan shuning uchun kerak. 😎

⚙️ FastAPI bilan ishlatish


from fastapi import FastAPI, Request
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address
from slowapi.errors import RateLimitExceeded

app = FastAPI()

# Limiter IP manzilga qarab ishlaydi
limiter = Limiter(key_func=get_remote_address)
app.state.limiter = limiter
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)

@app.get("/ping")
@limiter.limit("5/minute") # Har IP dan daqiqasiga 5 ta so‘rovgacha
async def ping(request: Request):
return {"message": "pong"}


Foydali bo'lgan postlarda reaksiya qoldirish va ularni do'stlarga ulashishni unutmang😁!
Batafsil: komentda tushuntiriladi!👇