جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
perm_identity
سبد خرید 0
  • درباره ما
  • تماس با ما
0
آموزش جاوا اسکریپت(javascript)-کتابخانه ها و فریمورک ها
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام
ورود و ثبت نام

آموزش GraphQl

خانهدوره هادوره های آموزشیآموزش GraphQl
graphql
قیمت :

129,000 تومان

امتیاز
4.43 از 7 رأی
129,000 تومان
ویژگی های دوره
تعداد خرید / دانلود : 268
نوع دوره: غیر حضوری
سطح دوره: مقدماتی تا پیشرفته
پیش نیاز: دوره جاوااسکریپت ، دوره جاوااسکریپت 2015(ES6)
6 ساعت و 46 دقیقه
37 درس
914 مگابایت
روش دریافت: دانلودی
روش پشتیبانی: ارتباط مستقیم با مدرس در بخش کامنت ها و تالارگفتمان
درصد پیشرفت دوره: %100
7.29k بازدید 59 دیدگاه
حالت مطالعه

آموزش graphql دوره ای است که در آن نحوه نوشتن یک API با یکی از بهترین ابزارهای موجود یعنی GraphQl آموزش داده می شود. همچنین در این دوره کاملا با معماری هایی که برای توسعه API وجود دارند آشنا می شوید

graphql چیست؟

GraphQl یک زبان کوئری نویسی (query language)  است که  به شما این امکان را می دهد تا بتوانید یک API را توسعه دهید و جایگزینی است برای APIهایی که با REST توسعه داده شده اند و البته توسعه داده خواهند شد.ازطرفی با ساختار خاصی که در اختیار توسعه دهنده قرار می دهد این امکان را فراهم می کند تا client دقیقا آن چیزی را که نیاز دارد از server درخواست کند و از طرفی server در پاسخ به query کلاینت پاسخ مناسب را به صورت JSON ارسال می کند. نکته مهمی که وجود دارد این است که client دقیقا همان چیزی را که نیاز دارد درخواست می کند و فقط همان را در پاسخ دریافت می کند.

Rest یا graphql

graphql یک ابزار و Rest یک الگوی طراحی  است. این شاید اشتباه باشد که GraphQL را جایگزین REST بدانیم در حالی که می توانیم هر دو را به یک اندازه مورد استفاده قرار دهیم.

سرویس های GraphQL عملکرد و کاراریی را مورد هدف قرار می دهند درحالی که سرویس های REST برنامه را قابل اطمینان نگه می دارند.

ویژگی های graphql

  • تنها از طریق یک EndPoint یا اصطلاحا route با دیتا سورس ها تبادل دیتا انجام دهید.
  • کلاینت جریان داده ای که دریافت و ارسال می شود را از طریق query کنترل می کند.
  • نیازی به توسعه ورژن های مختلف از یک API ندارید.

و موارد دیگری که تنها برخی از خصوصیات ویژه این زبان کوئری نویسی می باشد.

پیش نیازهای دوره آموزش GraphQl

لازم نیست که شما برای یادگیری graphql  نگران پیش نیازها باشید چون ما تمامی این پیش نیاز ها رو به صورت رایگان داریم و میتونید از این دوره ها استفاده کنید.

  • آموزش جاوا اسکریپت
  • آموزش ES6

سوالات متداول

چرا graphql

GraphQL توسط فیسبوک برای رفع کاستی های Rest معرفی شد.

دلایل زیر میتونه یک مشوق عالی برای استفاده از GraphQl باشه

  • سرویس GraphQL ساختاری را در اختیارتان قرار می دهد تا بتوانید تنها با استفاده از یک end-point داده ای که نیاز دارید را از طریق یک query درخواست کنی
  • GraphQL به دلیل ساختاری که دارد از انواع مختلف داده ای پشتیبانی می کند چه آنهایی که در ساختار آن وجود دارد و چه آنهایی که کاربر آنها را مشخص می کند
  • Syntax در GraphQL به گونه ای است که این امکان را به کاربر می دهد تا خودش مشخص کند که چه داده و با چه نوع داده ای را می خواهد به عنوان response دریافت کند.این ویژگی باعث می شود تا ارسال و دریافت داده هایی که مورد نیاز کاربر نیست به حداقل برسد.
  • گراف کیوال مطابق با schema که برای آن مشخص شده است داده مورد نیاز کاربر را response می کند درنتیجه به راحتی می توانید فیلدی را کم و یا زیاد کنید و البته در این ساختار ویژگی به نام
  • یکی از اصلی ترین ویژگی های GraphQL که باعث تمایز آن از REST می شود این است که از پروتکل های انتقال دیتای مختلفی را پشتیبانی می کند اگر وب سرور API به جهت پورتکل انتقال دیتا تغییراتی داشته باشد (http, https, WebSocket, TCP, UDP) GraphQL می تواند داده را با توجه به پورتکل انتقال بین client و server جا­به­جا کند.

معایب graphql

با توجه به ویژگی هایی که از این ساختار مطرح شد کاملا متوجه شده اید که ساختار آن چگونه است و چه API ها پیشرفته ای را می توان با کمک آن توسعه داد ولی همانطور که می دانید هر ساختاری مشکلات و معایب خاص خود را دارد پس اجازه دهید به چند مورد اشاره کنیم

  • graphql برخلاف REST که از سیستم کش HTTP استفاده می کندT از cach پشتیبانی نمی کند. البته ابزارهایی مانند relay وجود دارند که این امکان را برای پیاده سازی cach می دهند ولی مانند ساختار REST کارآمد نیست.
  • سیستم REST از status های HTTP برای مدیریت انواع خطاها استفاده می کند.این مقوله باعث می شود تا بتوان بحث مانیتورینگ را بر روی API به راحتی پیاده سازی نمود.ولی API که توسط ساختار GraphQL پیاده سازی شده است همه responseها را با status 200 ارسال می کند.و این کار مانیتوریگ API را با مشکل مواجه می کند.
  • مشکلی که در APIهایی که با GraphQL توسعه داده می شود در حال حاضر در بین جامعه GraphQL وجود دارد این است که چگونه باید مقوله امنیت را پیاده سازی کرد. این درحالی است که هنوز استانداردی برای ادغام  authentication and authorization وجود ندارد.البته معمولا برای سطح تجاری از احراز هویت استفاده می کنیم اما آیا باید به کاربری که لاگین نکرده است و احراز هویت نکرده نشده است اجازه استفاده از Query ها را بدهیم ؟
  • GraphQL ابزاری نو ظهور در حوزه توسعه APIها محسوب می شود و شاید در اولین تجربه کاربری خود با این ساختار با مشکلات زیادی روبه رو شوید که شاید ساعت ها وقت شما را برای حل آن مشکل به خود بگیرد. ولی همواره در حال بروزرسانی و رفع باگ هایی است که ممکن است هر شخصی که از آن استفاده می کند با آن برخورد داشته باشد.

آیا graphql ارزش یادگیری دارد؟

با توجه به اینکه از زمان معرفی GraphQl توسط فیسبوک مدت زمان زیادی نمی گذرد ولی خیلی از شرکت ها و غول های تکنولوژی از این query language برای توسعه API های مورد نیاز خود استفاده می کنند که نشان از محبوب بودن و پرکاربرد بودن این زبان است.

بنابراین یادگیری graphql به طور حتم به ما می تواند خیلی کمک کند

آیا آموزش graphql وب سایت reactapp.ir کافی است.؟

ما سعی کرده ایم در دوره آموزش GraphQl   گام به گام و با مثال های مختلف روش توسعه API با استفاده ار GraphQl   را آموزش دهیم .
بنابراین بعد از مشاهده این دوره نیاز به مورد خاصی دیگری ندارید و می توانید با خیال راحت از GraphQl برای توسعه API های مورد نیاز خود استفاده کنید

آموزش GraphQl

0. معرفی دوره

پیش نمایش
در این دوره آموزشی قصد داریم شما را با نحوه API نویسی با استفاده از زبان کوئری نویسی GraphQl آشنا کنیم و در این جلسه با کاری که در این دوره انجام خواهیم داد کاملا آشنا می شوید.

1. آشنایی با API

پیش نمایش
API چیه و چه کاربردی میتونه برامون داشته باشه؟ سوالاتی هستند که در این جلسه به آن خواهیم پرداخت تا آماده فراگیری مفاهیم اصلی مربوط به API نویسی شویم.

2. REST یا GraphQl

پیش نمایش
برای توسعه API معماری های مختلفی وجود دارند. هر کدام ویژگی هایی حاص خود را دارند و در جایگاه مناسب می توانند بهترین عملکرد را داشته باشند در این جلسه به بررسی دو معماری REST و GraphQl می پردازیم.

3. نصب NodeJS

GraphQl ساختاری برای API نویسی که می توانید آن را با هر ساختار دیگری ترکیب کنید و در کنار هم مورد استفاده قرار دهید و در این دوره می خواهیم با استفاده از NodeJS و GraphQl یک API را توسعه دهیم. که البته دوره جامع و پروژه محور NodeJS می تواند به شما کمک کند تا در NodeJS حرفه ای شوید.

4. شروع کار با GraphQl

این جلسه شروع کار با زبان کوئری نویسی GraphQl است.با GraphQl آشنا شده و وارد مباحث اصلی در این زبان می شویم.

5. آشنایی با Schema

یکی از اصلی ترین بخش های توسعه API با GraphQl تعریف schema و نحوه استفاده از آن است که در این جلسه به خوبی با آن آشنا خواهید شد.

6. آشنایی با Query : Operation Type

یکی از بخش های مهم در هر schema کار با type های مختلف است که در این جلسه با یکی از operation type ها یعنی query کار خواهید کرد و با کاربر آن آشنا خواهید شد.

7. شروع کار با type و object type

در این جلسه نحوه استفاده از type های مختلف برای field ها را یاد خواهید گرفت همچنین با نحوه تعریف یک object type و کاربرد آن آشنا خواهید شد.

8. آشنایی با resolver

یکی دیگر از بخش های اصلی توسعه API برای اجرای query ها با توجه به schema، تعریف resolver و متودهای مربوط به schema داخل resolver است که کاملا در این جلسه یاد خواهید گرفت.

9. تست schema و resolver

در این جلسه پس از تعریف schema و resolver این دو را به صورت همزمان تست می کنیم تا با کاربرد این دو و نحوه اجرای فرآیندهای مرتبط آشنا شوید.

10. شروع کار با Database

یکی از مهمترین بخش های این دوره اتصال API و Database و نحوه کار با data می باشد در این جلسه نحوه config دیتابیس mongodb را یاد خواهید گرفت هرچند که در دوره جامع و پروژه محور NodeJS این موضوع را کامل بررسی کرده ایم.

11. تعریف Model

بعد از نصب mongodb و کانفیگ آن نیاز است تا schema هایی را برای ذخیره data روی دیتابیس و در collection های مجزا ایجاد کنیم.

12. ماژول faker

با تعریف model های مربوطه نیاز هست برای کار با data مربوط به هر مدل اطلاعات fake را داخل هر collection ایجاد کنیم که این کار را با استفاده از ماژول faker انجام می دهیم.

13. آشنایی با Argument

در این جلسه با argument و یا اصطلاحا ارسال پارامتر در بستر GraphQl آشنا خواهید شد.

14. آشنایی با non-null (!)

در این جلسه یاد خواهید گرفت که چکونه با استفاده از ! حالت require را به field ها اضافه کنید.

15. paginate - بخش اول

یکی از مهمترین مراحل کار با data صفحع بندی کردن و اصطلاحا paginate می باشد با استفاده از دو راه حل متفاوت این کار را انجام خواهیم داد که در این جلسه با یکی از اینها آشنا خواهید شد.

16. paginate - بخش دوم

همیشه ساده ترین راه حل بهترین نیست و در این جلسه با استفاده از روشی بهینه تر Data را صفحه بندی می کنیم.

17. آشنایی با operation name

شاید کار کردن با query ها گیج کننده باشد برا اینکه بتوانید این موضوع را به حداقل برسانید باید از operation namr استفاده کنید.

18. آشنایی با aliases

چندین متود یکسان با خروجی های متفاوت را در قالب یک query و با استفاده از aliases ارسال کنید. در این جلسه کاملا با آن آشنا خواهید شد.

19. آشنایی با fragment

شاید استفاده از aliases میزان تکرار در query را افزایش دهد که fragment این مسئله را برطرف کرده و این تکرارها را به حداقل می رساند.

20. روابط بین جداول

شاید برای اینکه بتوانید در قالب یک درخواست و در سری ترین زمان ممکن اطلاعات مورد نیاز را از دیتابیس دریافت کنید باید به روابط بین جداول مختلف در دیتابیس اهمیت دهید و این روابط را ایجاد نمایید که در این جلسه کاملا آشنا خواهید شد.

21. تعریف variable

تعریف متغییر می تواند به شما کمک کند تا query خود را برای دریافت اطلاعات مورد نیازتان بهینه تر کنید.

22. directive - بخش اول

ابزار دیگری که به شما در بهینه سازی query در سمت client و البته کد در سمت server کمک خواهد کرد directive می باشد.

23. directive - بخش دوم

24. کار با graphql-tools

پیش نمایش
همیشه راه حل هایی برای تمیز نوشتن و جلوگیری از افزونگی کد وجود دارد. یکی از این راه حل ها استفاده از graphql-tools است. هرچند کربردهای دیگری مانند ایجاد directive های کاستو شده هم جزعی از وظایف این ابزار می باشد که در این جلسه کاملا با آن آشنا خواهید شد.

25. آشنایی با Mutation: Operation Type

با Query آشنا شدید، operation type که تنها امکان ارسال و دریافت دیتا را میدهد اما برای اعمال تغییرات روی دیتا نیاز است تا از mutation استفاده کنید. در این جلسه با کاربردهای آن بیشتر آشنا خواهید شد.

26. ماژول bcrypt

برای افزایش امنیت و هش کردن پسوردهای مرتبط با user و یا چیز دیگری می توانید با استفاده از این ماژول این کار را انجام دهید.

27. نصب apollo server

به روشی کاملا متفاوت برای بهبود کد GraphQl از Apollo server استفاده می کنیم. ابزاری که روند پیاده سازی بسیاری از بخش های API را راحتر می کند.

28. روابط بین جداول در Apollo server

29. اعتبارسنجی input types

در این جلسه با نحوه validation کردن input type ها آشنا خواهید شد و در نهایت می توانید ارورهای مختلف را به آن شکلی که مدنطرتان است customize کنید.

30. مدیریت خطاها (error handling)

پیش نمایش
از آنجایی که با نحوه validation تا به این لحظه آشنا شده اید نیاز است تا ارورهایی که ممکن است به واسطه اجرای فرآیندها رخ دهد را مدیریت کنید.

31. ارسال request از طریق client

تا این جلسه از دوره GraphQl به خوبی با نحوه اجرای کوئری ها البته در حالت گرافیکی و ابزاری که Apollo server در اختیارتان قرار می دهد آشنا شده اید آنچه مهم است نحوه ارسال query از طرف client می باشد.

32. login

نحوه ایجاد حساب کاربری (register) را در جلسات گذشته بررسی کرده ایم و در این جلسه می خواهیم نحوه login از طریق API و حساب کاربری که ایجاد شده است را یادبگیریم.

33. ایجاد token با استفاده از JWT

در این جلسه یاد خواهید گرفت که چگونه یک token را ایجاد کرده و از آن برای authenticate کاربران استفاده کنید.

34. authenticate

در این جلسه با نحوه اعتبار سنجی کاربران و مشخص کردن سطح دسترسی آنها به هریک از بخش های API را مورد بررسی قرار می دهیم.

35. تمرین : ایجاد Article

در این جلسه به منظور مرور مطالب گذشته نحوه ایجاد مقاله و ارسال پارامترهای مورد نیاز را بررسی میکنیم.

36. upload file - بخش اول

در این جلسه یاد خواهید گرفت که چگونه با استفاده از API توسعه داده شده فایل های مورد نیاز یک بخش از برنامه را آپلود کنید.

37. upload file - بخش دوم

برچسب: آموزش GraphQl آموزش گراف کیوال گراف کیوال

moreدوره های مرتبط

آموزش Git و Github

آموزش Git و Github

آموزش گیت (git) و گیت هاب(github) دوره ای است که  آن به صورت کامل و قدم به قدم کار با ابزار…
1,997
رایگان!

آموزش react navigation 3

با توجه به این که آخرین نسخه منتشر شده پکیج React Navigation نسخه 5 می باشد و نسبت به نسخه…
660
رایگان!

انیمیشن در react native

در این سری از آموزش های رایگان react native نحوه کار و پیاده سازی انیمیشن های(animations) مختلف در قالب مثال…
600
رایگان!

chat_bubble_outlineنظرات

  • Smo2020 Ssmmoo
    می 12, 2022
    پاسخ

    درمورد کشینگ صحبت نشده؟

    • مهدی حسن زاده(مدیریت)
      می 16, 2022
      پاسخ

      سلام.خیر صحبت نشده

  • muhammadbhnm
    دسامبر 30, 2021
    پاسخ

    apollo-server-express نسخه جدید کار نمیکنه
    سلام خسته نباشید داخل داکیومنتش نوشته بود منسوخ شده و دیگه نسخه جدیدتری از apollo-server-express نمیاد
    همچنین شما از نسخه ۲ اپولوسرور استفاده کردین که الان نسخه ۳ در دسترس هست
    ایا نسخه جایگزینی وجود داره
    و ممنون میشم یک راه حل بگید

    • علی(مدیریت)
      دسامبر 30, 2021
      پاسخ

      سلام وقت بخیر
      آخرین بروزرسانی این ماژول برای دوماه پیش هست و الان دقیقا کجای doc نوشته بروزرسانی نمیشه !! لینک داکیومنت
      موقع ضبط ویدیو، این نسخه release شده بوده و زیادی تفاوت اساسی وجود نداره و میتونید از doc کمک بگیرین

  • mamalli
    دسامبر 7, 2021
    پاسخ

    سلام
    آیا این دوره بروزرسانی میشه ؟؟؟

    • علیرضا(مدیریت)
      دسامبر 8, 2021
      پاسخ

      سلام محتوای دوره به روز و قابل استفاده هست اما هر زمان که نیاز به اپدیت باشه بله بروزرسانی میشه و دانشجویانی که قبلا دوره هارو تهیه کردند، اپدیت های جدید به صورت رایگان در اختیارشون قرار میگیره

  • yasna rajabi
    می 17, 2021
    پاسخ

    دوره هاتون عالی هستند ممنونم

    • علیرضا(مدیریت)
      می 17, 2021
      پاسخ

      مرسی از انرژی مثبتت

  • افشین
    ژانویه 12, 2021
    پاسخ

    درود… بفرمایید روی کدوم نسخه ی Graph QL تدریس شده ؟ ممنون

    • علی(مدیریت)
      ژانویه 13, 2021
      پاسخ

      سلام. نسخه پکیج graphql استفاده شده در این دوره 14.5 هست.

  • mohammadardehe
    ژانویه 6, 2021
    پاسخ

    سلام وقت بخیر
    این آموزش برای منی که با جنگو کار میکنم میتونه مفید باشه؟؟؟

    • علی(مدیریت)
      ژانویه 7, 2021
      پاسخ

      درود بله میتونید از این ساختار در Nodejsو PHPو یا python استفاده کنید با این تفاوت که در هر کدام از این زبان ها برای پیاده سازی API با Graphql باید از پکیج ها و کتابخانه های مرتبط کار کنید

  • علی(مدیریت)
    اکتبر 13, 2020
    پاسخ

    سلام وقت بخیر
    با عرض پوزش بابت مشکل به وجود آمده. در حال برطرف کردن این مشکل هستیم.

  • majidpourafshar
    اکتبر 13, 2020
    پاسخ

    این خطا رو میده:

    وردپرس، خطا
    Can not Connect to Download Hosting , Please try again or Contact with Us. Go to homepage

    • مهدی(مدیریت)
      اکتبر 13, 2020
      پاسخ

      سلام وقت بخیر
      با عرض پوزش بابت مشکل به وجود آمده. در حال برطرف کردن این مشکل هستیم.

  • →
  • 1
  • 2
  • 3

قوانین ثبت دیدگاه

لغو پاسخ

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

قیمت :

129,000 تومان

امتیاز
4.43 از 7 رأی
129,000 تومان
تعداد خرید / دانلود : 268
نوع دوره: غیر حضوری
سطح دوره: مقدماتی تا پیشرفته
پیش نیاز: دوره جاوااسکریپت ، دوره جاوااسکریپت 2015(ES6)
6 ساعت و 46 دقیقه
37 درس
914 مگابایت
روش دریافت: دانلودی
روش پشتیبانی: ارتباط مستقیم با مدرس در بخش کامنت ها و تالارگفتمان
درصد پیشرفت دوره: %100
7.29k بازدید 59 دیدگاه
علی
علی
توسعه دهنده سمت سرور

عاشق جاوااسکریپت و توسعه سمت سرور و توسعه اپلیکیشن اونم با React Native:)

دسته: دوره های آموزشی، دوره های ویژه
منتظرتون هستیم
  • phone_android
    09150274110
  • email
    reactapp.ir@gmail.com
  • بلاگ
  • ویدیو کست
  • قوانین

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

کلیه حقوق این سایت محفوظ و متعلق به reactapp.ir میباشد.
keyboard_arrow_up