آموزش برنامه کد GraphQL: Java Spring Boot 3 و Netflix DGS

Code GraphQL Application : Java Spring Boot 3 & Netflix DGS

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید چگونه از Java Spring Boot 3 + Netflix DGS برای ساخت GraphQL Backend استفاده کنید: خواندن، تغییر و اشتراک برای تغییر داده ها GraphQL چیست و چگونه با REST API است. ) Framework Build GraphQL Backend با استفاده از Java Spring Boot + PostgreSQL Build GraphQL Resolver: پرس و جو، جهش، اشتراک (به روز رسانی بلادرنگ) با استفاده از سرویس گیرنده GraphQL (Altair، Rest، Netflix، Apollo) برای پرس و جو، جهش، و اشتراک همه کدهای منبع موجود برای دانلود پیش نیازها:برنامه نویسی پایه جاوا ضروری است دانش پایه در REST API دانش بهار جاوا پیشنهاد شده است اما اجباری نیست

آخرین به روز رسانی

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


  • مدل های GraphQL را مانند یک رئیس تعریف کنید

  • طرحواره های پایگاه داده را با دقت سامورایی بسازید

  • چندین سرویس GraphQL را با تکان دادن مچ کنترل کنید

  • مهاجرت پایگاه داده را با Flyway مانند یک اسب نر وحشی رام کنید

  • پرس و جوها و جهش هایی ایجاد کنید که لینوس توروالدز را به نشانه تایید سر تکان دهد

  • مشکل N+1 را مانند یک ابرقهرمان حل کنید

  • از فیلتر کردن، مرتب‌سازی و صفحه‌بندی پویا در جستارهای GraphQL مانند یک شعبده باز استفاده کنید

  • پیچیدگی ها را با ابزار دقیق GraphQL مانند یک کارآگاه ردیابی و محدود کنید

  • ورودی‌ها را با اعتبارسنجی‌های سفارشی برای قوانین تجاری مانند یک قاضی تأیید کنید

  • فایل‌ها را مانند یک حرفه‌ای آپلود کنید

  • داده های موجود را با جهش هایی مانند نینجا به روز کنید

  • چند سرویس GraphQL را مانند یک تیم ابرقهرمانی ترکیب کنید

  • بارگیری داده‌ها از سایر سرویس‌های GraphQL و غیر GraphQL مانند جادوگر

  • مشکل GraphQL N+1 را با بارگذارهای داده مانند یک کارآگاه حل کنید

  • پیاده سازی فدراسیون آپولو برای ترکیب چندین سرویس GraphQL مانند یک پادشاه

فرصت را از دست ندهید تا مهارت‌های خود را ارتقا دهید، همکاران خود را تحت تأثیر قرار دهید و به استاد GraphQL دفتر تبدیل شوید. اکنون ثبت نام کنید و برای سفر یک عمر آماده شوید!


نمودار چیست؟

من گراف هستم، می روم روی گراف کار کنم. واقعا همه جا هست من یک خواهر دارم. هر دوی ما والدین یکسانی داریم. مادر ما پدر و مادری دارد که پدربزرگ و مادربزرگ ما از طرف مامان هستند. و بنابراین پدر ما، یعنی ما پدربزرگ و مادربزرگ را از طرف پدر داریم. و با هم، این نمودار "خودم" است. چیزی در توییتر توییت کنید، و آن یک نمودار است. ببینید: 8 نفر توییت را دوست دارند و 3 نفر توییت اصلی من را بازتوییت می کنند، بنابراین نمودار این است.


QL چیست؟

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


پس GraphQL چیست؟

GraphQL یک زبان پرس و جو است که از مفهوم گراف استفاده می کند. GraphQL همچنین یک Runtime است که باید در Backend پیاده سازی شود، بنابراین برنامه frontend می تواند از آن به عنوان زبان پرس و جو استفاده کند.

برای پیاده سازی graphql، به چارچوب های زمان اجرا نیاز داریم که هر زبان برنامه نویسی پیاده سازی خاص خود را دارد. GraphQL خود یک مشخصات است، یعنی چارچوب هر چه که باشد، باید با مشخصات graphql مطابقت داشته باشد، بنابراین کاربر می‌تواند بدون نیاز به دانستن زبان Backend GraphQL از GraphQL استفاده کند.

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

برخی می‌گویند GraphQL "قاتل REST API"، "REST API بعدی" و غیره است.

اما GraphQL چیست و چرا فیس‌بوک، نتفلیکس، github و برخی از نام‌های بزرگ فناوری خود را به GraphQL تغییر می‌دهند؟ آیا این درست است که GraphQL "قاتل REST API" است؟ یا برعکس، "REST API Friend" است؟

در این دوره، اصول GraphQL، از جمله انواع داده، طرحواره ها و عملیات graphql را یاد خواهیم گرفت. ما استفاده از Java Spring Boot و Netflix DGS Framework را برای ساختن آسان برنامه جاوا GraphQL یاد خواهیم گرفت. در این دوره، ما نه تنها تئوری ها را یاد می گیریم، بلکه با استفاده از PostgreSQL به عنوان پایگاه داده، کدنویسی عملی انجام می دهیم.

کد منبع کاملی برای دوره ارائه شده است، بنابراین شما همیشه به روز خواهید بود و در صورت مشکل، مرجع خواهید داشت (باور کنید GraphQL آنقدرها هم سخت نخواهد بود). اگر با GraphQL تازه کار هستید، یا اگر سعی کرده اید نحوه پیاده سازی سرور GraphQL خود را بیابید (مخصوصاً با استفاده از جاوا)، اما گاهی اوقات احساس می کنید هنوز کاملاً متوجه نمی شوید، این دوره آموزشی GraphQL کاملاً مناسب است. شما!

در این دوره آموزشی یاد خواهیم گرفت:

  • GraphQL چیست

  • شما، انواع داده و روابط GraphQL

  • انواع داده سفارشی GraphQL

  • ایجاد Backend GraphQL خود با استفاده از Java Spring Boot و پایگاه داده PostgreSQL

  • ما استفاده از چارچوب Netflix GraphQL (Netflix DGS) را یاد خواهیم گرفت

  • ایمن سازی نقطه پایانی GraphQL

  • و بسیاری دیگر

اگر قبلاً REST API را نوشته‌اید، این دوره دانش شما را گسترش می‌دهد و می‌بیند که چقدر ساده می‌توانید GraphQL اساسی را پیاده‌سازی کنید. با اجرای REST API تفاوت چندانی ندارد، اما در برخی جنبه‌ها، قدرتمندتر است.


در دوره شرکت کنید و خودتان تجربه کنید!


نسخه بوت بهار

این دوره از Spring Boot نسخه 3.x استفاده می کند. بیشتر کدها همچنان با Spring Boot نسخه 2.x کار می کنند، اما برای بهترین تجربه یادگیری، توصیه می شود از آخرین نسخه Spring Boot 3.x

استفاده کنید.

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

معرفی Introduction

  • به این دوره خوش آمدید Welcome to This Course

  • ساختار و پوشش دوره Course Structure & Coverage

  • چگونه از این دوره حداکثر ارزش را بدست آوریم How To Get Maximum Value From This Course

اولین برخورد با GraphQL First Encounter with GraphQL

  • گراف چیست؟ What is Graph?

  • QL چیست؟ What is QL?

  • معرفی GraphQL Introducing GraphQL

  • چرا GraphQL - REST API "مشکلات" Why GraphQL - REST API "Problems"

  • GraphQL vs REST API GraphQL vs REST API

  • GraphQL "مشکلات" GraphQL "Problems"

  • مشتری GraphQL GraphQL Client

نظریه پایه GraphQL Basic GraphQL Theory

  • طرحواره GraphQL - Quick Peek GraphQL Schema - Quick Peek

  • GraphQL Query - Quick Peek GraphQL Query - Quick Peek

  • صفحه بندی GraphQL - Quick Peek GraphQL Pagination - Quick Peek

  • GraphQL Query - The Basic GraphQL Query - The Basic

  • طرحواره GraphQL - The Basic GraphQL Schema - The Basic

دست های اولیه با GraphQL و Java Spring Basic Hands On with GraphQL & Java Spring

  • به روز رسانی ویدیویی برای Spring Boot 3 Video Update for Spring Boot 3

  • جاوا Spring & GraphQL را راه اندازی کنید Setup Java Spring & GraphQL

  • سلام GraphQL Hello GraphQL

  • سلام تست واحد Hello Unit Testing

  • داده های تودرتو را جستجو کنید Query Nested Data

  • Resolver Data From Gradle Plugin Data Resolver From Gradle Plugin

  • کتاب - تست واحد Book - Unit Testing

  • GraphQL "Overloading" GraphQL "Overloading"

  • نوع داده شناسه ID Data Type

  • کتابخانه پیشرفته جاوا اسکالر Extended Java Scalar Library

  • شمارش Enumeration

  • رابط Interface

  • مستندات طرحواره Schema Documentation

  • اتحاد. اتصال Union

  • جهش Mutation

  • HttpHeaders HttpHeaders

  • اشتراک، ابونمان Subscription

  • خلاصه این بخش Summary for This Section

ایجاد GraphQL Backend با پایگاه داده - طرحواره Create GraphQL Backend with Database - The Schema

  • آنچه ما ایجاد خواهیم کرد What We Will Create

  • انواع اصلی اشیاء Core Object Types

  • رابطه و پرس و جو Relationship & Query

  • جهش Mutation

  • اشتراک، ابونمان Subscription

ایجاد GraphQL Backend با پایگاه داده - کد جاوا Create GraphQL Backend with Database - The Java Code

  • آماده سازی کدنویسی Coding Preparation

  • داده های اساسی (JPA بهار) Underlying Data (Spring JPA)

  • نقشه برداری باقلا Bean Mapping

  • اجزای GraphQL - اسکلت GraphQL Components - Skeleton

  • حل پرس و جو - مشکل Query Resolver - Problem

  • Query Resolver - جستجوی مورد Query Resolver - Item Search

  • Data Resolver - ورود کاربر Data Resolver - User Login

  • رسیدگی به استثنا - نظریه Exception Handling - Theory

  • رسیدگی به استثنا - کد Exception Handling - Code

  • حل کننده جهش - مشکل Mutation Resolver - Problem

  • حل کننده جهش - راه حل Mutation Resolver - Solution

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

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

ایمن سازی عملیات GraphQL Securing GraphQL Operations

  • Motation Resolver - مدیریت کاربر Mutation Resolver - User Administration

  • ایمن سازی مدیریت کاربر 1 Securing User Administration 1

  • ایمن سازی مدیریت کاربر 2 Securing User Administration 2

GraphQL Java Client GraphQL Java Client

  • آماده سازی کلاینت جاوا Java Client Preparation

  • کلاینت جاوا 1 Java Client 1

  • Java Client 2 Java Client 2

  • کلاینت جاوا با استفاده از آپولو Java Client Using Apollo

  • آپولو - پرس و جو Apollo - Query

  • آپولو - جهش Apollo - Mutation

  • آپولو - اشتراک Apollo - Subscription

پروژه عملی GraphQL GraphQL Practical Project

  • چه (و چگونه) خواهیم آموخت What (and How) We Will Learn

مدل گراف را تعریف کنید Define Graph Model

  • تئوری: مدل نمودار را تعریف کنید Theory : Define Graph Model

  • وظیفه: مدل نمودار را تعریف کنید Task : Define Graph Model

  • چالش هدایت شده: مدل نمودار را تعریف کنید Guided Challenge : Define Graph Model

  • راه حل کامل: مدل نمودار را تعریف کنید Full Solution : Define Graph Model

پروژه های GraphQL ایجاد کنید Create GraphQL Projects

  • تئوری: پروژه های GraphQL ایجاد کنید Theory : Create GraphQL Projects

  • وظیفه: پروژه های GraphQL ایجاد کنید Task : Create GraphQL Projects

  • چالش هدایت شده: پروژه های GraphQL ایجاد کنید Guided Challenge : Create GraphQL Projects

  • راه حل کامل: پروژه های GraphQL ایجاد کنید Full Solution : Create GraphQL Projects

طرحواره GraphQL ایجاد کنید Create GraphQL Schema

  • تئوری: ایجاد طرحواره GraphQL Theory : Create GraphQL Schema

  • وظیفه: ایجاد طرحواره GraphQL Task : Create GraphQL Schema

  • چالش هدایت شده: طرحواره GraphQL ایجاد کنید Guided Challenge : Create GraphQL Schema

  • راه حل کامل: طرحواره GraphQL ایجاد کنید Full Solution: Create GraphQL Schema

ایجاد طرحواره پایگاه داده Create Database Schema

  • تئوری: ایجاد طرحواره پایگاه داده Theory : Create Database Schema

  • وظیفه: ایجاد طرحواره پایگاه داده Task : Create Database Schema

  • چالش هدایت شده: ایجاد طرحواره پایگاه داده Guided Challenge : Create Database Schema

  • راه حل کامل: ایجاد طرحواره پایگاه داده Full Solution : Create Database Schema

داده های اولیه را تزریق کنید Inject Initial Data

  • تئوری: داده های اولیه را تزریق کنید Theory : Inject Initial Data

  • وظیفه: داده های اولیه را تزریق کنید Task : Inject Initial Data

  • چالش هدایت شده: داده های اولیه را تزریق کنید Guided Challenge : Inject Initial Data

  • راه حل کامل: داده های اولیه را تزریق کنید Full Solution : Inject Initial Data

پرس و جو GraphQL - محصول GraphQL Query - Product

  • تئوری: GraphQL Query - Product Theory : GraphQL Query - Product

  • وظیفه: GraphQL Query - Product Task : GraphQL Query - Product

  • چالش هدایت شده: پرس و جو GraphQL - محصول Guided Challenge : GraphQL Query - Product

  • راه حل کامل: GraphQL Query - Product Full Solution : GraphQL Query - Product

پایگاه داده N+1 Database N+1

  • تئوری: پایگاه داده N+1 Theory : Database N+1

  • وظیفه: پایگاه داده N+1 Task : Database N+1

  • چالش هدایت شده: پایگاه داده N+1 Guided Challenge : Database N+1

  • راه حل کامل: پایگاه داده N+1 Full Solution : Database N+1

پرس و جو GraphQL - ورودی بیشتر GraphQL Query - More Input

  • تئوری: پرس و جو GraphQL - ورودی بیشتر Theory : GraphQL Query - More Input

  • وظیفه: پرس و جو GraphQL - ورودی بیشتر Task : GraphQL Query - More Input

  • چالش هدایت شده: پرس و جو GraphQL - ورودی بیشتر Guided Challenge : GraphQL Query - More Input

  • راه حل کامل: پرس و جو GraphQL - ورودی بیشتر Full Solution : GraphQL Query - More Input

مرتب سازی Sorting

  • تئوری: مرتب سازی Theory : Sorting

  • وظیفه: مرتب سازی Task : Sorting

  • چالش هدایت شده: مرتب سازی Guided Challenge : Sorting

  • راه حل کامل: مرتب سازی Full Solution : Sorting

صفحه بندی (مشخصات رله) Pagination (Relay Spec)

  • تئوری: صفحه بندی (مشخصات رله) Theory : Pagination (Relay Spec)

  • وظیفه: صفحه بندی (مشخصات رله) Task : Pagination (Relay Spec)

  • چالش هدایت شده: صفحه بندی (مشخصات رله) Guided Challenge : Pagination (Relay Spec)

  • راه حل کامل: صفحه بندی (مشخصات رله) Full Solution : Pagination (Relay Spec)

صفحه بندی (صفحه و اندازه) Pagination (Page & Size)

  • تئوری: صفحه بندی (صفحه و اندازه) Theory : Pagination (Page & Size)

  • وظیفه: صفحه بندی (صفحه و اندازه) Task : Pagination (Page & Size)

  • چالش هدایت شده: صفحه بندی (صفحه و اندازه) Guided Challenge : Pagination (Page & Size)

  • راه حل کامل: صفحه بندی (صفحه و اندازه) Full Solution : Pagination (Page & Size)

  • نکات: صفحه بندی Tips : Pagination

محصول - ابزار دقیق Product - Instrumentation

  • تئوری: محصول - ابزار دقیق Theory : Product - Instrumentation

  • وظیفه: محصول - ابزار دقیق Task : Product - Instrumentation

  • چالش هدایت شده: محصول - ابزار دقیق Guided Challenge : Product - Instrumentation

مشتری و آدرس Customer & Address

  • تئوری: مشتری و آدرس Theory : Customer & Address

  • وظیفه: مشتری و آدرس Task : Customer & Address

  • چالش هدایت شده: مشتری و آدرس Guided Challenge : Customer & Address

  • راه حل کامل: مشتری و آدرس Full Solution : Customer & Address

اعتبار سنجی ورودی Input Validation

  • تئوری: اعتبار سنجی ورودی Theory : Input Validation

  • وظیفه: اعتبار سنجی ورودی Task : Input Validation

  • چالش هدایت شده: اعتبار سنجی ورودی Guided Challenge : Input Validation

  • راه حل کامل: اعتبار سنجی ورودی Full Solution : Input Validation

اعتبار سنجی از طریق ابزار دقیق Validation via Instrumentation

  • نظریه: اعتبارسنجی از طریق ابزار دقیق Theory : Validation via Instrumentation

  • وظیفه: اعتبارسنجی از طریق ابزار دقیق Task : Validation via Instrumentation

  • چالش هدایت شده: اعتبارسنجی از طریق ابزار دقیق Guided Challenge : Validation via Instrumentation

  • راه حل کامل: اعتبارسنجی از طریق ابزار دقیق Full Solution : Validation via Instrumentation

آپلود فایل - سند مشتری File Upload - Customer Document

  • تئوری: آپلود فایل - سند مشتری Theory : File Upload - Customer Document

  • وظیفه: آپلود فایل - سند مشتری Task : File Upload - Customer Document

  • چالش هدایت شده: آپلود فایل - سند مشتری Guided Challenge : File Upload - Customer Document

  • راه حل کامل: آپلود فایل - سند مشتری Full Solution : File Upload - Customer Document

  • نکته: کلاینت و چندین فایل را آپلود کنید Tip : Upload Client & Multiple Files

به روز رسانی داده های مشتری موجود Update Existing Customer Data

  • تئوری: به روز رسانی داده های مشتری موجود Theory : Update Existing Customer Data

  • وظیفه: به روز رسانی داده های مشتری موجود Task : Update Existing Customer Data

  • چالش هدایت شده: به روز رسانی داده های مشتری موجود Guided Challenge : Update Existing Customer Data

  • راه حل کامل: به روز رسانی داده های مشتری موجود Full Solution : Update Existing Customer Data

چندین سرویس GraphQL Multiple GraphQL Services

  • تئوری: خدمات چندگانه GraphQL Theory : Multiple GraphQL Services

  • وظیفه: چندین سرویس GraphQL Task : Multiple GraphQL Services

  • چالش هدایت شده: چندین سرویس GraphQL Guided Challenge : Multiple GraphQL Services

  • راه حل کامل: چندین سرویس GraphQL Full Solution : Multiple GraphQL Services

بارگیری داده ها از سایر سرویس های GraphQL Load Data From Other GraphQL Service

  • تئوری: بارگذاری داده ها از سایر سرویس های GraphQL Theory : Load Data From Other GraphQL Service

  • وظیفه: بارگیری داده ها از سایر سرویس های GraphQL Task : Load Data From Other GraphQL Service

  • چالش هدایت شده: بارگیری داده ها از سرویس های دیگر GraphQL Guided Challenge : Load Data From Other GraphQL Service

  • راه حل کامل: بارگیری داده ها از سایر سرویس های GraphQL Full Solution : Load Data From Other GraphQL Service

  • نکات: بارگیری داده ها از سایر سرویس های GraphQL Tips : Load Data From Other GraphQL Service

GraphQL N+1 GraphQL N+1

  • تئوری: GraphQL N+1 Theory : GraphQL N+1

  • وظیفه: GraphQL N+1 Task : GraphQL N+1

  • چالش هدایت شده: GraphQL N+1 Guided Challenge : GraphQL N+1

  • راه حل کامل: GraphQL N+1 Full Solution : GraphQL N+1

بارگذار داده برای سرویس غیر GraphQL Data Loader for Non GraphQL Service

  • اختیاری: Data Loader برای Non GraphQL Optional : Data Loader for Non GraphQL

  • تئوری: بارگذار داده برای سرویس غیر GraphQL Theory : Data Loader for Non GraphQL Service

  • وظیفه: بارگذار داده برای سرویس غیر GraphQL Task : Data Loader for Non GraphQL Service

  • چالش هدایت شده: بارگذار داده برای سرویس غیر GraphQL Guided Challenge : Data Loader for Non GraphQL Service

  • راه حل کامل: بارگذار داده برای سرویس غیر GraphQL Full Solution : Data Loader for Non GraphQL Service

فدراسیون GraphQL GraphQL Federation

  • تئوری: فدراسیون GraphQL Theory : GraphQL Federation

  • وظیفه: فدراسیون GraphQL Task : GraphQL Federation

  • چالش هدایت شده: فدراسیون GraphQL Guided Challenge : GraphQL Federation

  • راه حل کامل: فدراسیون GraphQL Full Solution : GraphQL Federation

منابع و مراجع Resources & References

  • متشکرم Thank You

  • کد منبع و اسکریپت ها Source Code & Scripts

  • جایزه سخنرانی و کدهای تخفیف Bonus Lecture & Discount Codes

نمایش نظرات

آموزش برنامه کد GraphQL: Java Spring Boot 3 و Netflix DGS
جزییات دوره
11.5 hours
156
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,258
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Timotius Pamungkas Timotius Pamungkas

مهندس نرم افزار جاوا، معمار