FastAPI — فریمورک وب سریع برای Python
FastAPI برای ساخت APIهای سریع، تایپایمن و قابل مقیاس طراحی شده. مشکل ولیدیشن دستی، مستندسازی و کار با async را با Pydantic و طراحی مبتنی بر نوع حل میکند.
ویژگیها:
- پشتیبانی async/await
- اعتبارسنجی و تبدیل داده با Pydantic
- مستندات خودکار OpenAPI/Swagger
- عملکرد بالا و کمکد
نمونه نصب و استفاده:
موارد کاربرد: میکروسرویسها، APIهای REST، پروتوتایپ سریع و بکاند سرویسهای تحت ترافیک بالا. مستندات و سورس:
Docs — GitHub
نظرتون و تجربههاتون با FastAPI رو بنویسید؛ استقبال میکنیم.
🔖 #Programming #برنامه_نویسی #python #fastapi #api #web #pydantic
👤 Developix
💎 Channel: @DevelopixChannel
FastAPI برای ساخت APIهای سریع، تایپایمن و قابل مقیاس طراحی شده. مشکل ولیدیشن دستی، مستندسازی و کار با async را با Pydantic و طراحی مبتنی بر نوع حل میکند.
ویژگیها:
- پشتیبانی async/await
- اعتبارسنجی و تبدیل داده با Pydantic
- مستندات خودکار OpenAPI/Swagger
- عملکرد بالا و کمکد
نمونه نصب و استفاده:
pip install fastapi uvicorn
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"hello": "world"}
# اجرا: uvicorn main:app --reload
موارد کاربرد: میکروسرویسها، APIهای REST، پروتوتایپ سریع و بکاند سرویسهای تحت ترافیک بالا. مستندات و سورس:
Docs — GitHub
نظرتون و تجربههاتون با FastAPI رو بنویسید؛ استقبال میکنیم.
🔖 #Programming #برنامه_نویسی #python #fastapi #api #web #pydantic
👤 Developix
💎 Channel: @DevelopixChannel
👍6
استفاده از print برای دیباگ ساده و وسوسهبرانگیز است، اما در پروژههای واقعی مشکلات متعددی ایجاد میکند: خروجیهای نامنظم، فقدان سطحبندی (info/debug/error)، و مشکل در خاموش/روشن کردن لاگها. استفاده از ماژول استاندارد logging در پایتون یک تغییر کوچک ولی بسیار اثربخش است. ✅
توضیح کوتاه و کاربردی:
- در هر ماژول یک logger با نام ماژول بسازید و لاگینگ را در نقطه ورود برنامه (مثلاً main) پیکربندی کنید.
- از
نمونهٔ کوچک و عملی:
چرا مفید است و نکات عملی:
- میتوانید سطح لاگ (DEBUG/INFO/ERROR) را بدون تغییر کد تغییر دهید. ⚙️
- لاگها قابل هدایت به فایل، کنسول یا سرویسهای خارجی هستند. 📁
- در except از
- اجتناب از فراخوانی
پایانی کوتاه: این تغییر ساده کیفیت دیباگ و نگهداری کد را سریعاً بالا میبرد — چند دقیقه وقت بذارید و لاگینگ را در پروژههایتان جایگزین print کنید. 🔧
منبع معتبر: Python logging — official docs
#python #logging #دیباگ
🔖 #Programming #برنامه_نویسی #python #logging #debug #دیباگ #best_practices
👤 Developix
💎 Channel: @DevelopixChannel
توضیح کوتاه و کاربردی:
- در هر ماژول یک logger با نام ماژول بسازید و لاگینگ را در نقطه ورود برنامه (مثلاً main) پیکربندی کنید.
- از
logger.debug/info/warning/error/exception استفاده کنید تا سطح و فرمت را کنترل کنید.نمونهٔ کوچک و عملی:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s %(levelname)s [%(name)s] %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
def divide(a, b):
try:
return a / b
except Exception:
logger.exception("error dividing %s by %s", a, b)
return None
if __name__ == "__main__":
logger.info("start")
print(divide(10, 0))
چرا مفید است و نکات عملی:
- میتوانید سطح لاگ (DEBUG/INFO/ERROR) را بدون تغییر کد تغییر دهید. ⚙️
- لاگها قابل هدایت به فایل، کنسول یا سرویسهای خارجی هستند. 📁
- در except از
logger.exception() استفاده کنید تا استکتریس ثبت شود. 🧾- اجتناب از فراخوانی
basicConfig در کتابخانهها؛ فقط در برنامهٔ اصلی پیکربندی کنید.پایانی کوتاه: این تغییر ساده کیفیت دیباگ و نگهداری کد را سریعاً بالا میبرد — چند دقیقه وقت بذارید و لاگینگ را در پروژههایتان جایگزین print کنید. 🔧
منبع معتبر: Python logging — official docs
#python #logging #دیباگ
🔖 #Programming #برنامه_نویسی #python #logging #debug #دیباگ #best_practices
👤 Developix
💎 Channel: @DevelopixChannel
👍4🔥1