FastAPI در رشت؛ اولین کلاس FastAPI گیلان در کادوس شروع شد

اولین کلاس FastAPI در رشت و گیلان، دوره‌ی FastAPI در کادوس

یک خبر خوب از دپارتمان کامپیوتر کادوس: برای اولین بار، کلاس FastAPI در رشت و کل استان گیلان راه افتاد. از وقتی مسئولیت دپارتمان کامپیوتر و فناوری اطلاعات کادوس رشت را به عهده گرفتم، یکی از برنامه‌هایم این بود که دوره‌هایی بیاوریم که دقیقاً همان چیزی را آموزش بدهند که امروز در بازار کار واقعی استفاده می‌شود، نه فقط چیزهایی که سال‌ها پیش مد بوده. FastAPI یکی از اولین قدم‌های همین مسیر است و دوشنبهٔ گذشته جلسهٔ اولش را برگزار کردیم.

در این نوشته می‌خواهم کمی دربارهٔ این‌که FastAPI چیست، چرا آن را انتخاب کردیم، توی این دوره چه چیزهایی یاد می‌گیریم و این کلاس به درد چه کسی می‌خورد بنویسم.

FastAPI چیست و چرا این‌قدر سر زبان‌هاست؟

فست‌ای‌پی‌آی (FastAPI) یک فریم‌ورک مدرن و بسیار سریع پایتون برای ساختن Web API است. اگر تا حالا با پایتون کار کرده باشید، می‌دانید که نوشتن کد در آن چقدر تمیز و خواناست؛ FastAPI همین حس را به دنیای بک‌اند (Backend) می‌آورد. چند خط کد می‌نویسید و یک API واقعی دارید که ورودی‌هایش خودکار بررسی می‌شوند و مستنداتش هم خودش ساخته می‌شود.

این فریم‌ورک روی دو پایهٔ محکم ساخته شده: Starlette برای بخش وب و Pydantic برای اعتبارسنجی داده. نتیجه این است که هم سرعت اجرای بالایی دارد و هم سرعت توسعه‌اش برای برنامه‌نویس عالی است. مستندات رسمی FastAPI هم از بهترین مستندات فریم‌ورک‌هایی است که دیده‌ام؛ اگر خواستید یک نگاهی بیندازید، می‌بینید منظورم چیست.

FastAPI در رشت؛ اولین کلاس FastAPI گیلان در کادوس شروع شد نمونه کد FastAPI در پایتون؛ ساخت یک API ساده در کلاس FastAPI در رشت
یک API کامل با چند خط پایتون

همین چند خط بالا یک API واقعی است. اگر آن را با uvicorn main:app --reload اجرا کنید و به آدرس /docs بروید، یک صفحهٔ Swagger آماده می‌بینید که می‌توانید همان‌جا API را تست کنید. نوع پارامتر name هم از روی Type Hint پایتون فهمیده می‌شود و اگر ورودی اشتباه باشد، FastAPI خودش خطای مناسب برمی‌گرداند.

چرا FastAPI و نه چیز دیگر؟

  • سریع است: هم در اجرا (به لطف async/await) و هم در نوشتن.
  • ولیدیشن خودکار: با Pydantic، دادهٔ ورودی قبل از رسیدن به کد شما بررسی می‌شود.
  • مستندات رایگان: Swagger و ReDoc بدون یک خط کد اضافه ساخته می‌شوند.
  • پایتونی است: اگر پایتون را خوب بلد باشید، منحنی یادگیری‌اش واقعاً ملایم است.
  • بازار کار: خیلی از تیم‌ها، مخصوصاً در پروژه‌های هوش مصنوعی و میکروسرویس‌ها، برای سرو کردن مدل‌ها و سرویس‌هایشان سراغ FastAPI می‌روند.

چرا کلاس FastAPI در رشت مهم است؟

قبلاً در نوشتهٔ چرا باید در گیلان و به‌ویژه رشت به‌دنبال یادگیری برنامه‌نویسی باشیم؟ گفته بودم که برنامه‌نویسی یکی از معدود مهارت‌هایی است که به محل زندگی وابسته نیست. ولی یک مشکل همیشگی داشتیم: خیلی از دوره‌های تخصصی و به‌روز فقط در تهران یا به‌صورت آنلاین پیدا می‌شدند. هر کسی که در رشت می‌خواست بک‌اند پایتون را جدی یاد بگیرد، یا باید خودآموز جلو می‌رفت یا مسیرش را با دوره‌های پراکندهٔ اینترنتی سر هم می‌کرد.

تا جایی که من می‌دانم، این اولین بار است که یک دورهٔ کامل و اختصاصی FastAPI در رشت و گیلان برگزار می‌شود. برای من این فقط یک کلاس جدید نیست؛ نشانهٔ این است که برنامه‌نویس‌های گیلانی هم می‌توانند همان تکنولوژی‌هایی را که تیم‌های بزرگ استفاده می‌کنند، همین‌جا و حضوری، کنار هم یاد بگیرند. همان حسی که سال‌ها پیش با روز برنامه‌نویسان گیلک داشتم، حالا شکل یک کلاس واقعی به خودش گرفته.

سرفصل‌های دورهٔ FastAPI در کادوس

دوره در ۳۲ جلسهٔ یک‌ونیم ساعته طراحی شده و هم حضوری و هم آنلاین برگزار می‌شود. سطحش پیشرفته است، چون فرض می‌کنیم پایتون را خوب بلدید و حالا می‌خواهید از آن یک بک‌اند واقعی بسازید. خلاصهٔ سرفصل‌ها:

FastAPI در رشت؛ اولین کلاس FastAPI گیلان در کادوس شروع شد سرفصل‌های دوره FastAPI در رشت: Pydantic، SQLAlchemy، JWT، async و Swagger
نقشهٔ راه دوره، از مفاهیم پایه تا API واقعی
  • مفاهیم بک‌اند، پروتکل HTTP، درخواست و پاسخ (Request / Response) و متدهای GET، POST، PUT، PATCH و DELETE
  • مسیریابی (Routing) ، پارامترهای مسیر و کوئری (Path و Query Parameters) و بدنهٔ درخواست
  • مدل‌های داده و اعتبارسنجی با Pydantic
  • اتصال به پایگاه داده با SQLAlchemy و عملیات CRUD
  • احراز هویت با توکن JWT
  • تزریق وابستگی (Dependency Injection)
  • مدیریت خطا و استثناها (Error Handling)
  • کار با فایل و آپلود
  • برنامه‌نویسی ناهمگام با async و await
  • مستندسازی خودکار با Swagger و ReDoc و اصول طراحی RESTful API

جزئیات کامل، شرایط ثبت‌نام و زمان‌بندی را می‌توانید در صفحهٔ دورهٔ FastAPI در سایت کادوس ببینید.

این دوره برای چه کسی است؟

کلاس FastAPI برای برنامه‌نویس‌های پایتون، دانشجوهای رشته‌های کامپیوتر و هر کسی است که به توسعهٔ وب علاقه دارد و می‌خواهد بک‌اند را جدی شروع کند. پیش‌نیازها را هم صادقانه بگویم:

  • تسلط خوب به پایتون: متغیرها، شرط‌ها، حلقه‌ها، توابع، لیست و دیکشنری و مخصوصاً کلاس‌ها
  • آشنایی با Type Hint در پایتون (FastAPI به‌شدت به آن تکیه دارد)
  • آشنایی مقدماتی با HTML، CSS و مفاهیم پایهٔ وب

یک نکتهٔ دیگر: این دوره پیش‌زمینهٔ خیلی خوبی برای جنگو (Django) هم هست. کسی که مفاهیم API، ولیدیشن، دیتابیس و احراز هویت را با FastAPI به‌شکل شفاف یاد گرفته باشد، وقتی سراغ جنگو برود خیلی راحت‌تر می‌فهمد پشت پرده چه اتفاقی می‌افتد.

جلسهٔ اول؛ شروع یک مسیر

دوشنبهٔ گذشته اولین جلسه را برگزار کردیم. دیدن یک کلاس پر از برنامه‌نویس پایتونی که با انگیزه آمده بودند تا بک‌اند را یاد بگیرند، برای من یکی از لحظه‌های شیرین این چند ماه در کادوس بود. وقتی یک ایده از روی کاغذ به یک کلاس واقعی تبدیل می‌شود، تازه می‌فهمی چقدر ارزش داشت.

جمع‌بندی

FastAPI در رشت دیگر فقط یک آرزو نیست؛ دوره‌اش شروع شده و جلسهٔ اولش را پشت سر گذاشته‌ایم. اگر پایتون بلدید و دنبال قدم بعدی هستید، یا دوستی دارید که دنبال یادگیری بک‌اند در گیلان است، این نوشته را برایش بفرستید. اگر هم سؤالی دربارهٔ FastAPI، مسیر یادگیری بک‌اند یا این دوره دارید، در بخش نظرات بپرسید یا از صفحهٔ تماس با من در ارتباط باشید.

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

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