این دوره به شما میآموزد که چگونه برنامههای GraphQL را با کارایی بیشتری بسازید که از هر دو فناوری کلاینت و سرور Apollo استفاده میکنند.
آنچه خواهید آموخت:
سرور و کلاینت GraphQL Apollo به خوبی با هم کار میکنند.، عملکرد و مزایای گردش کار را برای کل راه حل GraphQL شما به ارمغان میآورد و یک تغییر دهنده بازی برای ارائه راه حلهای GraphQL تولیدی با کیفیت بالا است. در این دوره آموزشی Apollo: Performance Management Playbook، یاد خواهید گرفت که عملکرد سرور آپولو و کلاینت آپولو را بهبود ببخشید. ابتدا، ما یک پیادهسازی ساده از سرور آپولو را بررسی میکنیم، تا زمانی که کلاینت آپولو همراه آن است که به راحتی بتوان آن را فراخوانی کرد. در مرحله بعد، متوجه خواهید شد که چگونه بدون برنامه نویسی اضافی، از حافظه نهان داخلی که در کلاینت آپولو ساخته شده است، عملکرد بسیار خوبی کسب میکنید. در نهایت، تکنیکهای زیادی برای ساخت صفحات وب بسیار تعاملی که نیاز به برنامهنویسی سرور و کلاینت دارند، از جمله صفحهبندی پیادهسازی، اسکرول بینهایت و نحوه ایجاد یک رابط کاربری خوشبینانه را یاد خواهید گرفت. هنگامی که این دوره را به پایان میرسانید، مهارتها و دانش مرتبط با ساخت سرورهای Apollo و کلاینتهای مورد نیاز برای ساخت برنامههایی را دارید که نه تنها دارای سرورهای پشتیبان بسیار کارآمد هستند، بلکه کلاینتهایی نیز دارند که استفاده از آنها برای کاربران مرورگر آسان است و منابع بسیار کمی را مصرف میکنند.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Building a Simple and Performant Apollo Server [37mins]
02-01 Version Check [0mins]
02-02 Learn Why Apollo GraphQL Is a Win for Both Client and Server Developers [2mins]
02-03 Building an Apollo GraphQL Server with Node Using One JavaScript File [4mins]
02-04 Using GQL to Create Our TypeDefs [4mins]
02-05 Building Field Level Resolvers for Our Schema [5mins]
02-06 Launching Our Apollo Server with Our Just Defined Schema and Resolvers [2mins]
02-07 Understanding Apollo Server`s Automatic Resolver Creation [6mins]
02-08 Integrating REST As Our Speaker Data Source With json-server [3mins]
02-09 Integrating and Launching json-server with Our Apollo Server [4mins]
02-10 Inserting, Updating, and Deleting Speaker Data with Mutations [5mins]
02-11 Run Our New Insert, Update, and Delete Mutations in Playground [2mins]
03 Building a Simple and Performant Client App [32mins]
03-01 The Apollo GraphQL Client Introduction [2mins]
03-02 Creating a Simple React App with Next.js [3mins]
03-03 Adding the Apollo Client to Our React App [6mins]
03-04 Adding the Apollo Client useQuery to Our React App [6mins]
03-05 Install and Use the Apollo Chrome Debugger Extension [3mins]
03-06 useMutation for Updating a Speaker Record [4mins]
03-07 useMutation for Deleting a Speaker Record [3mins]
03-08 useMutation for Adding a Speaker Record [5mins]
04 Learning Apollo Client Caching Techniques [24mins]
04-01 Why Use Cache in the Apollo GraphQL Client [4mins]
04-02 Normalizing Data for the Apollo Cache [3mins]
04-03 The Pattern for Adding, Updating, and Deleting from Cached Lists [3mins]
04-04 Fixing Insert and Delete Mutations to Modify Apollo Cache [6mins]
04-05 Implementing Optimistic UI for Updating and Deleting Speaker Records [4mins]
04-06 Sorting Displayed Speakers Using Apollo Cache [4mins]
05 Using Apollo Client for Redux-like State Management [21mins]
05-01 Understand How to Manage State With the Apollo Client [4mins]
05-02 Refactor and Reorganize Our React Client Code [2mins]
05-03 Field Policy Overview and Creating a New Combined First-last Local-only Field [4mins]
05-04 Working with Reactive Variables Including Light Dark Theme Example [5mins]
05-05 Combining Reactive Variables and Local-only Fields for Redux-like Behavior [6mins]
06 Learning to Use Offset and Infinite Pagination with Apollo [35mins]
06-01 Pagination Basics [3mins]
06-02 Updating Our GraphQL Server to Support Number Based Paging [2mins]
06-03 Numbered Page Pagination Including Forward and Back Navigation [2mins]
06-04 Add State Change Actions on Pagination Toolbar [5mins]
06-05 Preparing for Offset and Cursor Based Pagination [2mins]
06-06 Adding Results with Cursors to Our GraphQL Server [4mins]
06-07 Updating Our Cache Field Policy to Support Load-more Style Pagination [5mins]
06-08 Updating Our React UI for Load-more Style Pagination [4mins]
06-09 Adding Sessions Data to Our GraphQL Server [3mins]
06-10 Generalizing Our Load-more Pagination the Apollo Way [2mins]
06-11 Applying Our Generalized Load-more Paging to Our New Sessions Data [3mins]
07 Using the DataLoader to Improve Server Response Times [15mins]
07-01 Learn Why We Need a DataLoader [4mins]
07-02 Add a Room Type and Make It a Field for Each Session Type [2mins]
07-03 Add a DataLoader for Retrieving a Room for Each Conference Session [4mins]
07-04 Add a DataLoader for Retrieving Sessions for Each Conference Speaker [2mins]
07-05 Integrate Our Speakers Sessions and Rooms Our React UI [3mins]
08 High Performance Caching Strategies with Apollo Server [15mins]
08-01 To Cache or Not to Cache [4mins]
08-02 Setting Cache Hints in Your GraphQL Server [3mins]
08-03 The GET Method and Automatic Persisted Queries [4mins]
08-04 Implementing Automatic Persisted Queries for Best Caching [4mins]
09 Improving Performance with Server-side Rendering and Serverless Computing [23mins]
09-01 Serverless and Server-side Unrelated but Both Important [2mins]
09-02 Serverless Computing and Apollo GraphQL [3mins]
09-03 Looking Ahead at Our Final Server-side Rendered App [3mins]
09-04 Updating Our Apollo Client Custom Hook for Server-side Rendering [4mins]
09-05 Adding Server-side Rendering Functionality to Our Paged Speakers Page [4mins]
09-06 Supporting Query Parameters Like Page Number Passed to Our Server-side Rendered Pages [5mins]
09-07 Module and Course Takeaways [2mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 ساخت یک سرور ساده و کارآمد آپولو [37 دقیقه]
02-01 بررسی نسخه [0 دقیقه]
02-02 بیاموزید که چرا Apollo GraphQL یک برد برای توسعه دهندگان مشتری و سرور است [2 دقیقه]
02-03 ساخت یک سرور Apollo GraphQL با Node با استفاده از یک فایل جاوا اسکریپت [4 دقیقه]
02-04 استفاده از GQL برای ایجاد TypeDefs ما [4 دقیقه]
02-05 ایجاد حلکنندههای سطح میدان برای طرحواره ما [5 دقیقه]
02-06 راه اندازی سرور آپولو ما با طرحواره و حل کنندههای تازه تعریف شده ما [2 دقیقه]
02-07 آشنایی با ایجاد حلکننده خودکار Apollo Server [6 دقیقه]
02-08 ادغام REST به عنوان منبع داده بلندگو با json-server [3 دقیقه]
02-09 یکپارچهسازی و راه اندازی json-server با سرور آپولو ما [4 دقیقه]
02-10 درج، بهروزرسانی و حذف دادههای بلندگو با جهش [5 دقیقه]
02-11 اجرای درج جدید، بهروزرسانی و حذف جهشها در Playground [2 دقیقه]
03 ساخت یک برنامه مشتری ساده و کارآمد [32 دقیقه]
03-01 معرفی آپولو GraphQL Client [2 دقیقه]
03-02 ایجاد یک برنامه ساده React با Next.js [3 دقیقه]
03-03 افزودن آپولو کلاینت به برنامه React ما [6 دقیقه]
03-04 اضافه کردن Apollo Client useQuery به برنامه React ما [6 دقیقه]
03-05 نصب و استفاده از برنامه افزودنی Apollo Chrome Debugger [3 دقیقه]
03-06 استفاده از جهش برای به روز رسانی رکورد بلندگو [4 دقیقه]
03-07 استفاده از جهش برای حذف رکورد بلندگو [3 دقیقه]
03-08 استفاده از جهش برای افزودن رکورد بلندگو [5 دقیقه]
04 آموزش تکنیکهای ذخیره آپولو کلاینت [24 دقیقه]
04-01 چرا از کش در کلاینت Apollo GraphQL استفاده کنیم؟ [4 دقیقه]
04-02 عادیسازی دادهها برای حافظه پنهان آپولو [3 دقیقه]
04-03 الگوی افزودن، بهروزرسانی و حذف از فهرستهای حافظه پنهان [3 دقیقه]
04-04 رفع درج و حذف جهشها برای اصلاح حافظه پنهان آپولو [6 دقیقه]
04-05 پیادهسازی رابط کاربری خوشبینانه برای بهروزرسانی و حذف رکوردهای بلندگو [4 دقیقه]
04-06 مرتبسازی بلندگوهای نمایش داده شده با استفاده از آپولو کش [4 دقیقه]
05 استفاده از Apollo Client برای مدیریت حالت مشابه Redux [21 دقیقه]
05-01 نحوه مدیریت حالت با مشتری آپولو را بدانید [4 دقیقه]
05-02 Refactor و سازماندهی مجدد کد React Client ما [2 دقیقه]
05-03 بررسی اجمالی خطمشی فیلد و ایجاد یک فیلد ترکیبی جدید فقط برای اولین بار در محلی [4 دقیقه]
05-04 کار با متغیرهای واکنشی شامل مثال تم روشن تاریک [5 دقیقه]
05-05 ترکیب متغیرهای واکنشی و فیلدهای محلی فقط برای رفتار Redux مانند [6 دقیقه]
06 آموزش استفاده از افست و صفحه بندیبی نهایت با آپولو [35 دقیقه]
06-01 مبانی صفحهبندی [3 دقیقه]
06-02 به روز رسانی سرور GraphQL ما برای پشتیبانی از صفحهبندی مبتنی بر شماره [2 دقیقه]
06-03 صفحهبندی صفحه شماره دار شامل پیمایش رو به جلو و عقب [2 دقیقه]
06-04 افزودن اعمال تغییر حالت در نوار ابزار صفحهبندی [5 دقیقه]
06-05 آمادهسازی برای صفحهبندی افست و مکان نما [2 دقیقه]
06-06 افزودن نتایج با نشانگر به سرور GraphQL ما [4 دقیقه]
06-07 در حال بهروزرسانی خطمشی فیلد حافظه پنهان برای پشتیبانی از صفحهبندی سبک بارگذاری بیشتر [5 دقیقه]
06-08 در حال بهروزرسانی React UI برای صفحهبندی سبکتر بارگیری [4 دقیقه]
06-09 افزودن دادههای جلسات به سرور GraphQL ما [3 دقیقه]
06-10 تعمیم صفحهبندی بار بیشتر به روش آپولو [2 دقیقه]
06-11 استفاده از صفحهبندی بارگذاری تعمیم یافته ما در دادههای جلسات جدید ما [3 دقیقه]
07 استفاده از DataLoader برای بهبود زمان پاسخگویی سرور [15 دقیقه]
07-01 بیاموزید چرا به DataLoader نیاز داریم [4 دقیقه]
07-02 یک نوع اتاق اضافه کنید و آن را به یک فیلد برای هر نوع جلسه تبدیل کنید [2 دقیقه]
07-03 اضافه کردن یک DataLoader برای بازیابی یک اتاق برای هر جلسه کنفرانس [4 دقیقه]
07-04 افزودن DataLoader برای بازیابی جلسات برای هر سخنران کنفرانس [2 دقیقه]
07-05 جلسات و اتاقهای بلندگوهای ما رابط کاربری React ما [3 دقیقه]
08 استراتژیهای ذخیرهسازی با عملکرد بالا با سرور آپولو [15 دقیقه]
08-01 کش کردن یا عدم ذخیره کش [4 دقیقه]
08-02 تنظیم نکات کش در سرور GraphQL شما [3 دقیقه]
08-03 روش GET و پرس و جوهای مداوم خودکار [4 دقیقه]
08-04 پیادهسازی پرس و جوهای مداوم خودکار برای بهترین ذخیرهسازی [4 دقیقه]
09 بهبود عملکرد با رندر سمت سرور و محاسبات بدون سرور [23 دقیقه]
09-01 بدون سرور و سمت سرور نامربوط اما هر دو مهم [2 دقیقه]
09-02 محاسبات بدون سرور و Apollo GraphQL [3 دقیقه]
09-03 نگاهی به برنامه نهایی ارائه شده در سمت سرور ما [3 دقیقه]
09-04 به روز رسانی قلاب سفارشی کلاینت آپولو برای رندر سمت سرور [4 دقیقه]
09-05 افزودن عملکرد رندر سمت سرور به صفحه بلندگوهای صفحه شده ما [4 دقیقه]
09-06 پشتیبانی از پارامترهای پرس و جو مانند شماره صفحه ارسال شده به صفحات ارائه شده در سمت سرور ما [5 دقیقه]
09-07 پیشنهادات ماژول و دوره [2 دقیقه]
پیتر یک مشاور نرمافزار مستقل است که از سال 1985 تا 2001 در توسعه دات نت تخصص دارد و از سال 2006 به عنوان MVP فعالیت میکند. او بنیانگذار و مدیر شرکت Tufden Inc بود که در آنجا با موفقیت سیستمهایی را برای برنامه ریزی کلینیک، مدیریت شرکت بیمه و پردازش دعاوی پزشکی ارائه کرد. . راه حلهای او شامل ارائه یک سیستم مدیریت دفتر پزشکی کلید در دست به بیش از 500 مشتری در سراسر کشور بود. علاقه او به کامپیوتر به دوران دبستان برمی گردد، زمانی که به اولین باشگاه کامپیوترش پیوست. او از دانشگاه کرنل در ایتاکا، نیویورک با مدرک کارشناسی و کارشناسی ارشد در مهندسی مکانیک و هوافضا فارغ التحصیل شد.