آموزش GraphQL مدرن با Node - راهنمای کامل توسعه دهندگان

Modern GraphQL with Node - Complete Developers Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: GraphQL را با Node بیاموزید و به آن مسلط شوید و با ساخت برنامه های آماده برای تولید واقعی، GraphQL را یاد بگیرید و چگونه با REST مقایسه می شود یاد بگیرید چگونه یک GraphQL API بسازید بهترین روش های طراحی یک GraphQL API را بیاموزید آموزش ساخت چندین پروژه با GraphQL ساخت یک کامل برنامه React، Node و GraphQL پیش نیازها: فقط اصول اولیه برنامه نویسی. جاوا اسکریپت خوب خواهد بود

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


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


این دوره به شما آموزش می دهد:

- GraphQL چیست

- مزایای GraphQL

چیست

- اصطلاحات GraphQL را بیاموزید

- چگونه یک سرور GraphQL بسازیم

- اصول طراحی مدرن

- افزودن احراز هویت

- کار با Prisma v3 برای تعامل با Postgres DB

- اتصال GraphQL به مشتری

- با یادگیری در مورد مشکل n + 1 و حل آن، عملکرد را بهبود بخشید


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

مقدمه ای بر GraphQL Introduction to GraphQL

  • GraphQL چیست What is GraphQL

  • GraphQL از واکشی بیش از حد جلوگیری می کند GraphQL Prevents Over-Fetching

  • GraphQL از Under-Fetching جلوگیری می کند GraphQL Prevents Under-Fetching

  • چگونه داده ها سازماندهی می شوند How Data is Organized

پرس و جوها و طرحواره ها Queries and Schemas

  • تنظیم محیط محلی Local Environment Setup

  • راه اندازی GraphQL Server Setting up a GraphQL Server

  • انواع اسکالر GraphQL GraphQL Scalar Types

  • انواع آرایه GraphQL GraphQL Array Types

  • Nodemon برای Hot Reloading Nodemon for Hot Reloading

  • انواع شیء GraphQL GraphQL Object Types

  • پرس و جو از آرایه ای از اشیاء Querying an Array of Objects

  • جستجوی یک شی با متغیرها Querying One Object with Variables

  • پرس و جو برای دسته ها Queries for Categories

  • داده های مرتبط (یک به چند) Relating Data (One to Many)

  • داده های مرتبط (بسیاری به یک) Relating Data (Many to One)

  • سازماندهی مجدد برای ساختار فایل بهتر Reorganizing for a Better File Structure

  • پارامتر زمینه The Context Param

  • افزودن قابلیت Query for Reviews Adding the Ability to Query for Reviews

  • فیلتر و نوع ورودی Filtering and Input Type

  • فیلتر بر اساس میانگین امتیاز Filter by Average Rating

جهش ها Mutations

  • مقدمه ای بر جهش ها Intro to Mutations

  • ایجاد داده - قسمت اول Creating Data - Part I

  • ایجاد داده - قسمت دوم Creating Data - Part II

  • حذف داده ها (با Set Null) - قسمت اول Deleting Data (with Set Null) - Part I

  • حذف داده ها (با حذف آبشار) - قسمت دوم Deleting Data (with Delete Cascade) - Part II

  • حذف داده ها - قسمت سوم Deleting Data - Part III

  • به روز رسانی داده ها - قسمت اول Updating Data - Part I

  • به روز رسانی داده ها - قسمت دوم Updating Data - Part II

15 قانون طراحی GraphQL 15 Rules of GraphQL Design

  • مقدمه ای بر طراحی GraphQL Introduction to GraphQL Design

  • یک پیاده سازی ساده لوحانه A Naive Implementation

  • قانون 1 - با یک دید سطح بالا از اشیا و روابط آنها شروع کنید Rule 1 - Start with a High Level View of the Objects and Their Relationships

  • قانون 2 - هرگز جزئیات پیاده سازی را افشا نکنید Rule 2 - Never Expose Implementation Details

  • قانون 3 - API خود را حول دامنه کسب و کار خود طراحی کنید Rule 3 - Design your API Around your Business Domain

  • قانون 4 - افزودن فیلدها آسانتر از حذف آنها است Rule 4 - It's Easier to Add Fields than to Remove Them

  • قانون 5 - فیلدهای نزدیک به هم را به اشیاء فرعی گروه بندی کنید Rule 5 - Group Closely-Related Fields Together into Sub-Objects

  • قانون 6 - همیشه بررسی کنید که آیا یک لیست باید صفحه بندی شود یا خیر Rule 6 - Always Check if a List Should be Paginated

  • قانون 7 - همیشه به جای فیلدهای شناسه از مراجع شی استفاده کنید Rule 7 - Always use Object References Instead of ID Fields

  • قانون 8 - نام فیلدها را بر اساس آنچه معقول است، نه بر اساس اجرا، انتخاب کنید Rule 8 - Choose Field Names Based on What Makes Sense, Not the Implementation

  • قانون 9 - از Enums برای فیلدهایی استفاده کنید که فقط می توانند مجموعه خاصی از مقادیر را بگیرند Rule 9 - Use Enums for Fields that can Only Take a Specific Set of Values

  • قانون 10 - API شما باید منطق تجاری را ارائه دهد، نه فقط داده ها Rule 10 - Your API Should Provide Business Logic, Not Just Data

  • قانون 11 - نوشتن جهش های جداگانه برای اقدامات منطقی جداگانه در یک منبع Rule 11 - Write Separate Mutations for Separate Logical Actions on a Resource

  • قانون 12 - برای جهش های رابطه، عملیات روی چند عنصر را در نظر بگیرید Rule 12 - For Relationship Mutations Consider Operating on Multiple Elements

  • قانون 13 - پیشوند نام های جهش با شی برای گروه بندی الفبایی Rule 13 - Prefix Mutation Names with the Object for Alphabetical Grouping

  • قانون 14 - ورودی های جهش ساختاری برای کاهش تکرار Rule 14 - Structure Mutation Inputs to Reduce Duplication

  • قانون 15 - جهش ها باید خطاهای سطح کاربر/کسب و کار را ایجاد کنند Rule 15 - Mutations Should Provide User/Business Level Errors

راه اندازی پروژه جدید (برنامه رسانه های اجتماعی) New Project Setup (Social Media App)

  • یک پروژه جدید A New Project

  • کمی درباره TypeScript A Little About TypeScript

  • راه اندازی TypeScript Setting up TypeScript

  • راه اندازی سرور آپولو Setting up an Apollo Server

ذخیره سازی پایگاه داده با Prisma v3 Database Storage with Prisma v3

  • کمی درباره پایگاه های داده SQL A Little About SQL Databases

  • چرخاندن یک نمونه Postgres Spinning up a Postgres Instance

  • اتصال به پایگاه داده ما با Prisma Connecting to Our Database with Prisma

  • ایجاد طرحواره پایگاه داده Creating a Database Schema

  • افزودن روابط موجودیت Adding Entity Relationships

  • تعریف طرحواره GraphQL ما Defining Our GraphQL Schema

  • ایجاد داده با پریسما Creating Data with Prisma

  • بازیابی داده ها با پریسما Retrieving Data with Prisma

  • به روز رسانی داده ها با پریسما Updating Data with Prisma

  • حذف داده ها با پریسما Deleting Data with Prisma

احراز هویت و مجوز Authentication and Authorization

  • احراز هویت و مجوز چیست؟ What is Authentication & Authorization

  • پیاده سازی ساده ثبت نام A Naive Signup Implementation

  • اعتبار سنجی ورودی ها Validating the Inputs

  • هش کردن رمز عبور Password Hashing

  • توکن های وب Json Json Web Tokens

  • ایجاد پروفایل کاربری Creating a User Profile

  • اضافه کردن جهش ورود Adding the Sign In Mutation

  • شناسایی کاربران با JWT Identifying Users with JWT

  • مجوز دادن به کاربران با JWT Authorizing Users with JWT

  • اضافه کردن منطق انتشار/لغو انتشار Adding Publish/Unpublish Logic

افزودن روابط داده Adding Data Relationships

  • پرسش من The Me Query

  • پرس و جوی پروفایل The Profile Query

  • پرس و جوهای پست رابطه ای Relational Post Queries

دیتالودرها و مشکل N + 1 Dataloaders and the N + 1 Problem

  • مشکل N + 1 The N + 1 Problem

  • دسته بندی و گرفتن پرس و جو Batching and Catching Queries

  • افزودن DataLoader برای بهبود عملکرد Adding a DataLoader to Improve Performace

اتصال به Frontend Connecting to the Frontend

  • مقدمه ای بر Client Connect Introduction to Client Connect

  • Client را با Apollo Client به GraphQL متصل کنید Connect the Client to GraphQL with Apollo Client

  • پرس و جو از فرانت اند Querying From the Frontend

  • پرس و جو با متغیرها Querying with Variables

  • رندر مشروط بر اساس وضعیت احراز هویت Conditional Rendering Based on Authentication Status

  • عبور رمز تأیید از Frontend Passing the Auth Token From the Frontend

  • اجرای جهش از فرانت اند Executing Mutations From the Frontend

  • اضافه کردن منطق ورود/ثبت نام Adding Signin/Signup Logic

  • اضافه کردن منطق برای ایجاد یک پست Adding Logic to Create a Post

  • آخرین مراحل The Last Steps

نمایش نظرات

Udemy (یودمی)

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

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

آموزش GraphQL مدرن با Node - راهنمای کامل توسعه دهندگان
جزییات دوره
10.5 hours
85
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,971
4.3 از 5
دارد
دارد
دارد
Laith Harb
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Laith Harb Laith Harb

مهندس نرم افزار