کتاب FastAPI و طراحی APIهای RESTful با HATEOAS با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: FastAPI و طراحی APIهای RESTful با HATEOAS
موضوع کلی: برنامه نویسی
موضوع میانی: فست ایپیآی (FastAPI)
📋 سرفصلهای دوره (100 موضوع)
- 1. مقدمهای بر APIها و وب سرویسها
- 2. مفهوم HTTP و متدهای آن (GET, POST, PUT, DELETE)
- 3. آشنایی با معماری REST و اصول آن
- 4. معرفی FastAPI: ویژگیها و مزایا
- 5. مقایسه FastAPI با فریمورکهای دیگر (Flask, Django)
- 6. راهاندازی محیط توسعه: پایتون، virtualenv و pip
- 7. نصب FastAPI و Uvicorn
- 8. ساخت اولین برنامه "Hello World" با FastAPI
- 9. اجرای برنامه با Uvicorn و بررسی عملکرد
- 10. آشنایی با مستندات خودکار: Swagger UI
- 11. آشنایی با مستندات خودکار: ReDoc
- 12. مفهوم Path Operation و Decorator ها
- 13. تعریف مسیرها (Path) و پارامترهای مسیر (Path Parameters)
- 14. اعتبارسنجی نوع داده در پارامترهای مسیر
- 15. پارامترهای جستجو (Query Parameters)
- 16. مقادیر پیشفرض برای Query Parameters
- 17. اعتبارسنجیهای پیشرفته برای Query Parameters با Query
- 18. مفهوم Request Body و اهمیت آن در متدهای POST و PUT
- 19. آشنایی با Pydantic و نقش آن در اعتبارسنجی داده
- 20. ساخت اولین Pydantic Model
- 21. دریافت داده از Request Body با استفاده از Pydantic Model
- 22. اعتبارسنجی فیلدها در Pydantic با استفاده از Field
- 23. ترکیب Path, Query و Request Body در یک Endpoint
- 24. مدلهای تو در تو (Nested Models)
- 25. کار با لیستها در Request Body و Pydantic
- 26. تعریف فیلدهای اختیاری (Optional) با Union و Optional
- 27. کنترل خروجی API با Response Model
- 28. پیکربندی Response Model: include, exclude, exclude_unset
- 29. مدیریت فرمهای HTML با Form
- 30. آپلود فایل با File و UploadFile
- 31. آپلود چندین فایل به صورت همزمان
- 32. کار با هدرهای درخواست (Request Headers)
- 33. کار با کوکیها (Cookies)
- 34. پیکربندی Path Operation: tags, summary, description
- 35. مدیریت کدهای وضعیت HTTP (Status Codes)
- 36. برگرداندن خطاهای استاندارد با HTTPException
- 37. مدیریت خطاهای سفارشی با Exception Handlers
- 38. مفهوم تزریق وابستگی (Dependency Injection)
- 39. ساخت اولین وابستگی (Dependency) ساده
- 40. کلاسها به عنوان وابستگی
- 41. وابستگیهای تو در تو (Sub-dependencies)
- 42. استفاده از yield در وابستگیها برای setup و teardown
- 43. وابستگیهای سراسری (Global Dependencies) در سطح اپلیکیشن
- 44. ساختاردهی پروژههای بزرگ با APIRouter
- 45. ایجاد و اتصال یک APIRouter
- 46. استفاده از prefix, tags و dependencies در APIRouter
- 47. مفهوم میانافزار (Middleware)
- 48. ساخت یک میانافزار سفارشی
- 49. استفاده از CORS (Cross-Origin Resource Sharing) Middleware
- 50. سرو کردن فایلهای استاتیک (Static Files)
- 51. استفاده از تمپلیتهای Jinja2 برای رندر HTML
- 52. ارسال پاسخهای سفارشی (HTMLResponse, JSONResponse, RedirectResponse)
- 53. پاسخهای جریانی (StreamingResponse)
- 54. مفهوم وظایف پسزمینه (Background Tasks)
- 55. مبانی امنیت API و انواع روشهای احراز هویت
- 56. آشنایی با OAuth2 و Password Flow
- 57. پیادهسازی فرم لاگین با OAuth2PasswordRequestForm
- 58. هش کردن و بررسی پسوردها با Passlib
- 59. آشنایی با توکنهای وب JSON (JWT)
- 60. ساخت و انکود کردن توکن JWT
- 61. دیکد کردن و اعتبارسنجی توکن JWT
- 62. ساخت وابستگی برای دریافت کاربر فعلی (get_current_user)
- 63. محافظت از Endpoints با استفاده از وابستگیهای امنیتی
- 64. مفهوم Scope و کنترل دسترسی مبتنی بر نقش (Role-Based Access)
- 65. پیادهسازی HTTP Basic Authentication
- 66. پیادهسازی احراز هویت با کلید API (API Key) در هدر
- 67. پیادهسازی احراز هویت با کلید API در کوکی و Query
- 68. آشنایی با برنامهنویسی غیرهمزمان (Asynchronous) در پایتون
- 69. تفاوت async/await با برنامهنویسی سنکرون
- 70. استفاده از async def در Path Operations
- 71. ادغام با پایگاه داده: مفاهیم و چالشها
- 72. معرفی SQLAlchemy ORM
- 73. پیکربندی SQLAlchemy برای کار با FastAPI
- 74. مدیریت Session پایگاه داده با استفاده از وابستگی
- 75. تعریف مدلهای SQLAlchemy (Declarative Models)
- 76. تبدیل مدلهای SQLAlchemy به مدلهای Pydantic (orm_mode)
- 77. عملیات CRUD: ایجاد رکورد جدید (Create)
- 78. عملیات CRUD: خواندن رکوردها (Read)
- 79. عملیات CRUD: بروزرسانی رکوردها (Update)
- 80. عملیات CRUD: حذف رکوردها (Delete)
- 81. کار با روابط (Relationships) در SQLAlchemy
- 82. مقدمهای بر Alembic برای مدیریت مهاجرت (Migration) پایگاه داده
- 83. مقدمهای بر HATEOAS (Hypermedia as the Engine of Application State)
- 84. چرا HATEOAS مهم است و چه مزایایی دارد؟
- 85. طراحی مدلهای پاسخ برای پشتیبانی از HATEOAS (افزودن لینکها)
- 86. تولید URLهای داینامیک با استفاده از request.url_for
- 87. پیادهسازی HATEOAS برای یک منبع (Single Resource)
- 88. پیادهسازی HATEOAS برای یک مجموعه (Collection)
- 89. ارائه لینکهای شرطی بر اساس وضعیت یا دسترسی کاربر
- 90. طراحی نقطه ورود (Root Endpoint) برای کشف API
- 91. یکپارچهسازی کامل HATEOAS در یک پروژه نمونه
- 92. مقدمهای بر تستنویسی برای APIها
- 93. استفاده از TestClient برای تست FastAPI
- 94. نوشتن تست برای Path Operations
- 95. تست کردن وابستگیها و Mock کردن آنها
- 96. تست کردن امنیت و احراز هویت
- 97. مقدمهای بر Docker و کانتینرسازی
- 98. نوشتن Dockerfile برای یک برنامه FastAPI
- 99. استفاده از Docker Compose برای محیط توسعه
- 100. استراتژیهای استقرار (Deployment)
FastAPI و طراحی APIهای RESTful با HATEOAS: حرفهایترین مسیر برای توسعه بکاند!
معرفی دوره
آیا به دنبال راهی برای ارتقای مهارتهای برنامهنویسی بکاند خود و ساخت APIهای قدرتمند، سریع و قابل اعتماد هستید؟ آیا میخواهید از فریمورک مدرن و محبوب FastAPI برای طراحی APIهای RESTful با استفاده از HATEOAS بهره ببرید؟ دوره جامع FastAPI ما، دقیقا همان چیزی است که به آن نیاز دارید!
این دوره، یک سفر کامل و عملی به دنیای FastAPI است. از نصب و راهاندازی اولیه گرفته تا مفاهیم پیشرفته طراحی API و پیادهسازی HATEOAS، همه چیز را به زبانی ساده و قابل فهم خواهید آموخت. با گذراندن این دوره، نه تنها با FastAPI آشنا میشوید، بلکه توانایی طراحی و پیادهسازی APIهای حرفهای و مقیاسپذیر را نیز کسب خواهید کرد.
دیگر نیازی نیست نگران پیچیدگیهای توسعه بکاند باشید. با FastAPI و راهنماییهای تخصصی ما، میتوانید به یک توسعهدهنده بکاند حرفهای تبدیل شوید و در پروژههای بزرگ و چالشبرانگیز مشارکت کنید. همین امروز قدم در این مسیر بگذارید و آینده خود را متحول کنید!
درباره دوره
در این دوره جامع، شما با فریمورک FastAPI، یک ابزار قدرتمند و مدرن برای ساخت APIهای با کارایی بالا آشنا میشوید. یاد میگیرید چگونه APIهای RESTful را با رعایت اصول HATEOAS طراحی کنید، که منجر به APIهایی با قابلیت کشف بهتر، سازگاری بیشتر و انعطافپذیری بالاتر میشود. این دوره شامل تمرینات عملی و پروژههای واقعی است که به شما کمک میکند مفاهیم را به طور کامل درک کرده و مهارتهای خود را تقویت کنید.
موضوعات کلیدی
- آشنایی با FastAPI و مزایای آن
- نصب و راهاندازی FastAPI
- تعریف مسیرها (Routes) و درخواستها (Requests)
- کار با مدلهای داده و اعتبارسنجی اطلاعات
- پیادهسازی HATEOAS برای ایجاد APIهای قابل کشف
- احراز هویت و مجوز دسترسی (Authentication & Authorization)
- مدیریت خطاها و پاسخهای API
- تست APIها با استفاده از ابزارهای مختلف
- بهینهسازی عملکرد API
- استقرار API در محیطهای مختلف (Production)
مخاطبان دوره
این دوره برای افراد زیر مناسب است:
- توسعهدهندگان بکاند که به دنبال یادگیری یک فریمورک مدرن و سریع هستند.
- توسعهدهندگان فرانتاند که میخواهند درک بهتری از نحوه کار APIها داشته باشند.
- دانشجویان و فارغالتحصیلان رشتههای کامپیوتر و فناوری اطلاعات.
- افرادی که به دنبال تغییر شغل و ورود به دنیای توسعه نرمافزار هستند.
- هر کسی که علاقهمند به یادگیری ساخت APIهای RESTful با استفاده از FastAPI و HATEOAS است.
چرا این دوره را بگذرانیم؟
دلایل زیادی وجود دارد که چرا باید در این دوره شرکت کنید:
- یادگیری یک فریمورک مدرن و پرطرفدار: FastAPI به دلیل سرعت بالا، سهولت استفاده و پشتیبانی قوی از Type Hints، به سرعت در حال محبوب شدن است.
- افزایش مهارتهای توسعه بکاند: با یادگیری FastAPI و HATEOAS، مهارتهای خود را در توسعه بکاند به طور قابل توجهی ارتقا میدهید.
- طراحی APIهای حرفهای و مقیاسپذیر: این دوره به شما کمک میکند تا APIهایی را طراحی کنید که به راحتی قابل گسترش و نگهداری باشند.
- افزایش فرصتهای شغلی: با داشتن مهارت در FastAPI، میتوانید فرصتهای شغلی بیشتری را در زمینه توسعه بکاند به دست آورید.
- پشتیبانی و راهنمایی تخصصی: در طول دوره، از پشتیبانی و راهنمایی مدرسان مجرب بهرهمند خواهید شد.
- یادگیری عملی و پروژهمحور: این دوره شامل تمرینات عملی و پروژههای واقعی است که به شما کمک میکند مفاهیم را به طور کامل درک کنید.
- به روز رسانی مداوم: محتوای دوره به طور مداوم به روز رسانی میشود تا با آخرین تغییرات و بهترین شیوهها هماهنگ باشد.
- دسترسی مادام العمر به محتوای دوره: پس از ثبت نام، به طور مادام العمر به تمام محتوای دوره دسترسی خواهید داشت.
- ارائه مدرک پایان دوره: پس از اتمام موفقیتآمیز دوره، مدرک معتبری دریافت خواهید کرد که میتواند در رزومه شما درج شود.
- شبکهسازی با سایر توسعهدهندگان: در طول دوره، فرصت خواهید داشت تا با سایر توسعهدهندگان ارتباط برقرار کرده و دانش خود را به اشتراک بگذارید.
سرفصلهای دوره
این دوره شامل 100 سرفصل جامع است که به شما کمک میکند تا به یک متخصص FastAPI تبدیل شوید. در اینجا به برخی از مهمترین سرفصلها اشاره میکنیم:
- بخش 1: مقدمه ای بر FastAPI
- معرفی FastAPI و مقایسه آن با سایر فریمورکها
- نصب و راه اندازی FastAPI
- ایجاد اولین برنامه FastAPI
- بررسی ساختار پروژه FastAPI
- بخش 2: مسیرها (Routes) و درخواستها (Requests)
- تعریف مسیرها با استفاده از توابع decorated
- دریافت پارامترها از مسیر
- دریافت پارامترها از کوئری استرینگ
- دریافت داده از بدنه درخواست (Request Body)
- روشهای مختلف HTTP (GET, POST, PUT, DELETE)
- بخش 3: مدلهای داده و اعتبارسنجی اطلاعات
- استفاده از Pydantic برای تعریف مدلهای داده
- اعتبارسنجی اطلاعات ورودی
- استفاده از Type Hints برای بهبود خوانایی کد
- تعریف فیلدهای اختیاری و اجباری
- بخش 4: پیادهسازی HATEOAS
- معرفی HATEOAS و مزایای آن
- ایجاد لینکها به منابع مرتبط
- استفاده از hypermedia controls
- پیادهسازی HATEOAS با استفاده از Pydantic
- بخش 5: احراز هویت و مجوز دسترسی (Authentication & Authorization)
- معرفی مفاهیم احراز هویت و مجوز دسترسی
- پیادهسازی احراز هویت با استفاده از JWT
- پیادهسازی مجوز دسترسی مبتنی بر نقش (Role-Based Access Control)
- استفاده از OAuth2
- بخش 6: مدیریت خطاها و پاسخهای API
- مدیریت خطاها با استفاده از exceptions
- تعریف پاسخهای سفارشی API
- استفاده از HTTP status codes
- ایجاد مستندات API با استفاده از OpenAPI
- بخش 7: تست APIها
- نوشتن تستهای واحد (Unit Tests)
- نوشتن تستهای یکپارچگی (Integration Tests)
- استفاده از ابزارهای تست مانند pytest
- تست APIها با استفاده از Postman
- بخش 8: بهینهسازی عملکرد API
- استفاده از Caching
- بهینهسازی کوئریهای پایگاه داده
- استفاده از concurrency و parallelism
- مانیتورینگ عملکرد API
- بخش 9: استقرار API در محیطهای مختلف (Production)
- استقرار API در Docker
- استقرار API در Kubernetes
- استقرار API در سرویسهای ابری مانند AWS و Azure
- پیکربندی Nginx به عنوان Reverse Proxy
- بخش 10: موضوعات پیشرفته
- WebSocketها در FastAPI
- GraphQL با FastAPI
- Background Tasks
- Dependency Injection
- ... (90 سرفصل دیگر با جزئیات بیشتر و تمرینهای عملی) ...
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.