آموزش GraphQL با مثال

GraphQL by Example

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: GraphQL را با نوشتن برنامه های جاوا اسکریپت تمام پشته با Node.js، Express، Apollo Server، React، Apollo Client بیاموزید. ساخت سرور GraphQL بر اساس NodeJS، Express و Apollo Server فراخوانی APIهای GraphQL از برنامه های مشتری جاوا اسکریپت با استفاده از درخواست های HTTP معمولی یا تأیید اعتبار/مجوز کلاینت Apollo، ذخیره سازی، و موارد دیگر. Express و React ارجح است اما به شدت مورد نیاز نیست

تیم های بیشتر و بیشتری GraphQL را به جای (یا همراه با) REST برای API های وب خود انتخاب می کنند. جستارهای GraphQL به کلاینت‌ها انعطاف‌پذیری زیادی در نحوه درخواست داده‌ها از سرور می‌دهند، از مسائلی مانند واکشی بیش از حد یا کم‌واکشی داده‌ها جلوگیری می‌کند و اجازه می‌دهد چندین منبع در یک درخواست بازیابی شوند.

در این دوره آموزشی یاد خواهید گرفت که چگونه از GraphQL هم در سمت سرور و هم در برنامه های کلاینت از طریق مثال های عملی در قالب برنامه های جاوا اسکریپت فول استک استفاده کنید. شما با تمام مفاهیم اصلی GraphQL مانند تعریف طرحواره، پرس و جوها، جهش‌ها، و اشتراک‌ها و همچنین راه‌حل‌هایی برای الزامات رایج مانند رسیدگی به احراز هویت/مجوز و ذخیره‌سازی در سمت مشتری آشنا خواهید شد.

نمونه‌ها از Apollo Server با Node.js و Express در باطن و React در فرانت‌اند، با GraphQL-Request ابتدا و سپس Apollo Client به عنوان کلاینت‌های GraphQL استفاده می‌کنند. GraphQL-WS برای اشتراک ها استفاده می شود.

اما هدف فقط پوشش دادن کتابخانه های خاص GraphQL نیست، بلکه ارائه درک کلی تری از مفاهیم اساسی به شما است. به عنوان مثال، کتابخانه های سرویس گیرنده GraphQL تنها پس از یادگیری نحوه نوشتن یک کلاینت ساده "با دست" معرفی می شوند تا مطمئن شوید که GraphQL را در قالب HTTP درک می کنید.

این دوره مستلزم دانش خوب جاوا اسکریپت مدرن و در حالت ایده آل آشنایی با Node.js/Express و React است.


سرفصل ها و درس ها

معرفی Introduction

  • GraphQL چیست؟ What is GraphQL

  • پیش نیازها Pre-Requisites

مبانی Fundamentals

  • زبان تعریف طرحواره Schema Definition Language

  • توابع Resolver Resolver Functions

  • زبان پرس و جو Query Language

  • GraphQL از طریق HTTP GraphQL over HTTP

  • مشتری GraphQL GraphQL Client

  • کد منبع Source Code

پرس و جوها Queries

  • پروژه هیئت شغلی Job Board Project

  • سرور آپولو برای اکسپرس Apollo Server for Express

  • کد منبع Source Code

  • تعریف نوع سفارشی Custom Type Definition

  • حل کننده پایگاه داده Database Resolver

  • انتخاب فیلد Field Selection

  • انجمن کاریابی Job-Company Association

  • GraphQL-Request Client GraphQL-Request Client

  • React Data Fetching React Data Fetching

  • پرس و جو آرگومان ها Query Arguments

  • متغیرهای پرس و جو Query Variables

  • تمرین: پرس و جو شرکت Exercise: Company Query

  • شرکت-انجمن مشاغل Company-Jobs Association

  • ناوبری نمودار شی Object Graph Navigation

  • رسیدگی به خطا Error Handling

جهش ها Mutations

  • تعریف جهش Mutation Definition

  • انواع ورودی Input Types

  • درخواست جهش Mutation Request

  • تمرین: deleteJob Mutation Exercise: deleteJob Mutation

  • تمرین: updateJob Mutation Exercise: updateJob Mutation

احراز هویت Authentication

  • جریان احراز هویت Authentication Flow

  • زمینه حل‌کننده Resolver Context

  • انجمن کاربر-شرکت User-Company Association

  • درخواست احراز هویت Request Authentication

  • تمرین: به روز رسانی/حذف امن Exercise: Secure Update/Delete

مشتری آپولو Apollo Client

  • ویژگی های کلاینت آپولو Apollo Client Features

  • نصب کلاینت آپولو Apollo Client Installation

  • روش پرس و جو Query Method

  • متغیرهای روش پرس و جو Query Method Variables

  • روش جهش Mutate Method

  • حافظه پنهان کلاینت آپولو Apollo Client Cache

  • سیاست واکشی Fetch Policy

  • دستکاری کش Cache Manipulation

  • قطعات Fragments

آپولو واکنش قلاب Apollo React Hooks

  • useQuery Hook useQuery Hook

  • قلاب های سفارشی Custom Hooks

  • useQuery با متغیرها useQuery with Variables

  • تمرین: useCompany Exercise: useCompany

  • استفاده از قلاب جهش useMutation Hook

  • استفاده از نتیجه جهش useMutation Result

  • تمرین: useCreateJob Exercise: useCreateJob

بارگذارهای داده Data Loaders

  • پایگاه داده SQL SQL Database

  • مشکل پرس و جو N+1 N+1 Query Problem

  • DataLoader DataLoader

  • کش هر درخواست Per-Request Cache

اشتراک ها Subscriptions

  • پروژه چت Chat Project

  • کد منبع Source Code

  • Cache updateQuery Cache updateQuery

  • تعریف اشتراک Subscription Definition

  • سرور GraphQL-WS GraphQL-WS Server

  • حل کننده اشتراک Subscription Resolver

  • مشتری GraphQL-WS GraphQL-WS Client

  • استفاده از قلاب اشتراک useSubscription Hook

  • پروتکل WebSocket WebSocket Protocol

  • پارامترهای اتصال Connection Params

  • WebSocket Server Auth WebSocket Server Auth

به روز رسانی: آپولو سرور 4 Update: Apollo Server 4

  • بررسی اجمالی آپولو سرور 4 Apollo Server 4 Overview

  • ارتقاء پروژه اکسپرس Express Project Upgrade

نتیجه Conclusion

  • تبریک و پاداش Congratulations and Bonus

نمایش نظرات

Udemy (یودمی)

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

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

آموزش GraphQL با مثال
جزییات دوره
5.5 hours
67
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
19,603
4.7 از 5
دارد
دارد
دارد
Mirko Nasato
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mirko Nasato Mirko Nasato

توسعه دهنده و مربی نرم افزار