کتاب GraphQL: ایجاد Schema و Type با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
GraphQL: ایجاد Schema و Type - جامعترین دوره آموزشی GraphQL: ایجاد Schema و Type - دروازهای به سوی APIهای نسل جدید آیا از محدودیتهای APIهای سنتی خسته شدهاید؟ آیا به دنبال راهی مدرن، کارآمد و انعطا...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره GraphQL: ایجاد Schema و Type
موضوع کلی: برنامه نویسی
موضوع میانی: GraphQL
📋 سرفصلهای دوره
- 1. مقدمهای بر GraphQL و تاریخچه آن
- 2. چرا GraphQL؟ مقایسه با REST
- 3. مشکلات N+1 و Over/Under-fetching در REST
- 4. معماری GraphQL: کلاینت، سرور و Schema
- 5. سه رکن اصلی: Query, Mutation, Subscription
- 6. آشنایی با Schema Definition Language (SDL)
- 7. آمادهسازی محیط توسعه (Node.js و ابزارهای لازم)
- 8. ساخت اولین "Hello, World!" با یک Schema ساده
- 9. آشنایی با ابزار GraphiQL/Playground
- 10. ساختار یک Schema: Root Types
- 11. نقش Type System در GraphQL
- 12. مفهوم Strongly Typed بودن در GraphQL
- 13. بررسی یک Schema واقعی (مثال GitHub API)
- 14. مفهوم Introspection و کاربردهای آن
- 15. انواع داده در GraphQL: Scalar و Object
- 16. انواع Scalar پیشفرض: Int, Float, String, Boolean, ID
- 17. کاربرد نوع ID و تفاوت آن با String
- 18. تعریف اولین Object Type
- 19. فیلدها (Fields) در Object Types
- 20. تودرتو کردن Object Types (Nested Types)
- 21. افزودن توضیحات (Descriptions) به Types و Fields
- 22. اصلاحکنندههای لیست: [Type]
- 23. اصلاحکنندههای Non-Null: Type!
- 24. ترکیب اصلاحکنندهها: [Type!]!
- 25. اهمیت و کاربرد Non-Null در تضمین داده
- 26. انواع شمارشی (Enum Types)
- 27. تعریف و استفاده از Enum در Schema
- 28. ایجاد Scalar Type سفارشی (Custom Scalar Types)
- 29. مثال عملی: ساخت Scalar برای تاریخ (Date)
- 30. اعتبارسنجی و سریالایز کردن در Custom Scalars
- 31. مقدمهای بر انواع انتزاعی: Interface و Union
- 32. تعریف و پیادهسازی Interface
- 33. چه زمانی از Interface استفاده کنیم؟
- 34. تعریف و استفاده از Union Type
- 35. چه زمانی از Union استفاده کنیم؟
- 36. مقایسه Interface و Union: تفاوتها و شباهتها
- 37. استفاده از Type Conditions در کوئریها (... on Type)
- 38. مفهوم Input Object Types
- 39. چرا به Input Types نیاز داریم؟
- 40. تعریف یک Input Type برای Mutation
- 41. تفاوت کلیدی بین Object Type و Input Type
- 42. تعریف Root Type: Query
- 43. ساخت اولین کوئری ساده (Fetching a single item)
- 44. ساخت کوئری برای لیستها (Fetching lists)
- 45. آرگومانها (Arguments) برای فیلدها
- 46. استفاده از آرگومانهای اجباری (Non-Null) و اختیاری (Nullable)
- 47. استفاده از مقدار پیشفرض برای آرگومانها
- 48. ارتباط بین Types: طراحی روابط یک-به-یک
- 49. طراحی روابط یک-به-چند
- 50. طراحی روابط چند-به-چند
- 51. مفهوم Resolver (بدون پیادهسازی، فقط تئوری)
- 52. تعریف Root Type: Mutation
- 53. طراحی اولین Mutation: ایجاد داده (Create)
- 54. استفاده از Input Types در آرگومانهای Mutation
- 55. طراحی Mutation برای بهروزرسانی داده (Update)
- 56. طراحی Mutation برای حذف داده (Delete)
- 57. الگوی طراحی Payload برای Mutation
- 58. چرا بازگرداندن دادهی تغییریافته در Mutation مهم است؟
- 59. مدیریت خطا در سطح Schema (طراحی انواع خطا)
- 60. مقدمهای بر صفحهبندی (Pagination)
- 61. صفحهبندی مبتنی بر Offset/Limit
- 62. معایب Offset-based Pagination
- 63. صفحهبندی مبتنی بر Cursor (Cursor-based Pagination)
- 64. پیادهسازی الگوی Cursor-based Pagination در Schema
- 65. آشنایی با مشخصات Relay
- 66. مفهوم Node Interface و Global Object Identification
- 67. الگوی Connection برای لیستها
- 68. مفاهیم Edge, Node, و PageInfo
- 69. ساخت یک Connection Type در Schema
- 70. مقدمهای بر Directives
- 71. بررسی Directives پیشفرض: @include و @skip
- 72. بررسی Directive پیشفرض: @deprecated
- 73. تعریف یک Directive سفارشی
- 74. محلهای استفاده از Directive (Directive Locations)
- 75. مثال عملی: ساخت Directive برای احراز هویت (@auth)
- 76. مثال عملی: ساخت Directive برای قالببندی رشته (@upper)
- 77. تعریف Root Type: Subscription
- 78. طراحی Schema برای رویدادهای بلادرنگ (Real-time)
- 79. استراتژیهای نسخهبندی (Versioning) Schema
- 80. استفاده از فیلدهای Deprecated برای تکامل Schema
- 81. مدیریت شکستهای آبشاری با Nullability
- 82. الگوهای پیشرفته Union و Interface
- 83. مفهوم Schema Stitching
- 84. مقدمهای بر Apollo Federation
- 85. تفاوت Schema Stitching و Federation
- 86. Schema-First vs. Code-First: مزایا و معایب
- 87. سازماندهی فایلهای Schema: تقسیمبندی و ماژولارسازی
- 88. استفاده از ابزارهای Linting برای Schema
- 89. قواعد نامگذاری (Naming Conventions) برای Types و Fields
- 90. مستندسازی Schema با استفاده از Descriptions
- 91. تولید خودکار مستندات از Schema
- 92. امنیت Schema: محدود کردن عمق کوئری (Query Depth Limiting)
- 93. امنیت Schema: محدود کردن پیچیدگی کوئری (Query Complexity Limiting)
- 94. غیرفعال کردن Introspection در محیط Production
- 95. طراحی Schema با در نظر گرفتن Caching
- 96. بررسی ابزارهای آنلاین برای طراحی و تست Schema
- 97. مرور کلی بر بهترین شیوهها (Best Practices) در طراحی Schema
- 98. پروژه پایانی: طراحی Schema برای یک فروشگاه آنلاین
- 99. جمعبندی دوره و مراحل بعدی یادگیری
- 100. **پیادهسازی Directiveهای سفارشی در GraphQL برای اعتبارسنجی و دسترسی محدود شده**
تگها:
API Development
API GraphQL
Backend Development
GraphQL
GraphQL Schema
GraphQL Types
GraphQL فارسی
Query Language
Schema Design
Type System
Web Development
آموزش GraphQL
برنامه نویسی GraphQL
برنامه نویسی وب
توسعه GraphQL
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.