برنامه نویسی

از صفر تا Fastapi Hero: ماجراجویی HNG12 مرحله 0 من

از صفر تا Fastapi Hero: مرحله پس زمینه من 0 ماجراجویی

سلام ، جادوگران پس زمینه دیگر و صلیبیان کد!

به سفر پشت صحنه من به تکالیف HNG12 Stage 0 خوش آمدید. امروز ، من شما را از طریق ایجاد یک برنامه FastAPI براق که سه چیز جالب را انجام می دهد ، شما را سوار بر روی یک چرخ دستی می کنم:

  • ایمیل HNG ثبت شده من را برمی گرداند
  • DateTime فعلی UTC را با فرمت ISO 8601 نشان می دهد
  • URL GitHub این پروژه عالی را به اشتراک می گذارد

نوشیدنی مورد علاقه خود را بگیرید و بیایید شیرجه بزنیم!

مأموریت: از من خواسته شد چه کاری انجام دهم؟

چالش Crystal Clear بود: یک API عمومی بسازید که یک بسته نرم افزاری JSON شسته و رفته حاوی:

  • ایمیل: (بله ، ایمیل HNG ثبت شده من!)
  • DateTime فعلی: درست در UTC ، درست وقتی می پرسید.
  • URL GitHub: پیوندی به جایی که همه جادوها اتفاق می افتد (یعنی Repo پروژه).

من تصمیم گرفتم پیتون وت فریپی از آنجا که آنها ایجاد و استقرار API ها را مانند پیاده روی در پارک احساس می کنند-با چند حلقه حلقه غیر منتظره برای تفریح.

آستین های من را بچرخانید: تنظیم API

من با ایجاد یک محیط مجازی شروع کردم (زیرا چه کسی عاشق یک جعبه ماسه ای خوب برای بازی در آن نیست؟) ، سپس Fastapi و Uvicorn را نصب کردم. با کلاه برنامه نویسی خود و قهوه در دست ، شاهکار زیر را ساختم:

from fastapi import FastAPI  # Import our trusty web framework
from fastapi.middleware.cors import CORSMiddleware  # For smooth cross-origin magic
from datetime import datetime, timezone  # To grab the current time in UTC

app = FastAPI()  # Creating our FastAPI app instance

# Adding CORS middleware to handle all those cross-origin requests
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],          # Open to all domains (tweak for production if needed)
    allow_credentials=True,       # Cookies and authorization headers? Yes, please!
    allow_methods=["GET"],        # We only need GET since we're all about simple retrieval
    allow_headers=["*"],          # Let every header join the party
)

@app.get("/")  # The root endpoint of our API
def get_info():
    return {
        "email": "joseph.adamu.it@gmail.com",  # My registered HNG email
        "current_datetime": datetime.now(timezone.utc).isoformat(),  # Fresh UTC datetime
        "github_url": "https://github.com/Joe-encodes/fastapi-project"  # Link to my GitHub repo
    }

if __name__ == "__main__":  # Only run this if the script is executed directly
    import uvicorn  # Uvicorn: the lightweight Python web server that brings our API to life
    uvicorn.run(app, host="0.0.0.0", port=8000)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اینجا چه اتفاقی می افتد؟

  • فریپی گره جادویی ما است که کد را به یک API زنده تبدیل می کند.
  • ظروف وسط تضمین می کند که API ما از هر دامنه ای دوستانه و در دسترس است (زیرا اشتراک گذاری مراقب است).
  • در get_info نقطه پایانی آیا تمام وزنه برداری سنگین را با بسته بندی ایمیل من ، زمان فعلی UTC و پیوند GitHub به یک هدیه JSON شسته و رفته انجام می دهد.

آزمایش آبها

بعد از برنامه نویسی ، من API را به صورت محلی با UVicorn شلیک کردم و آن را روی مرورگر و با فرفری آزمایش کردم. تماشای پاسخ JSON ظاهر می شود مانند دیدن یک غذای خوب پخته شده از فر بیرون می آید-رضایت بخش و اوه و بسیار معتبر!

uvicorn main:app --reload
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مرورگر خود را به http://127.0.0.1:8000 باز کنید و چشمان خود را به جادو جشن دهید.

استقرار: آن را به صورت زنده در رندر انجام دهید

هنگامی که تأیید کردم همه چیز کاملاً روی دستگاه محلی خود کار می کند ، کد را به GitHub فشار دادم و مخزن را به ارائه وصل کردم. با یک زن و شوهر تنظیمات:

  • فرمان ساخت: pip install -r requirements.txt
  • فرمان شروع: uvicorn main:app --host 0.0.0.0 --port 10000

… و voilà! API مستقر و در دسترس جهان بود.

دروس ، خنده و یادگیری

این چیزی است که من در این سواری وحشی آموخته ام:

  • Fastapi یک انفجار است: این برای توسعه دهندگان سریع ، سرگرم کننده و بسیار دوستانه است.
  • cors بسیار مهم است: رسیدگی به درخواست های متقاطع ، تضمین می کند که API شما به همان اندازه که قصد دارید باز و در دسترس باشد.
  • استقرار می تواند هیجان انگیز باشد: دیدن کد شما به صورت زنده مانند تماشای بچه خود برای اولین بار است که دوچرخه سواری می کند-همه چیز را به طور یکباره و عصبی و عصبی می کند.

پیچیدن

این تکلیف HNG12 Stage 0 فقط مربوط به نوشتن کد نبوده است-این یک ماجراجویی در حل مسئله ، استقرار و جشن گرفتن هر پیروزی کوچک در طول راه بود. امیدوارم سفر من به شما الهام بخش باشد تا سرگرمی را در توسعه پس زمینه در آغوش بگیرید و محدودیت های خود را تحت فشار قرار دهید.

تا دفعه بعد ، برنامه نویسی را نگه دارید ، کنجکاو باشید و ممکن است API شما همیشه 200 خوشحال برگردد!

با من ارتباط برقرار کنید

برنامه نویسی مبارک ، همه!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا