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

آموزش میکروسرویس ها با Node JS و React

آموزش میکروسرویس ها با Node JS و React

✅ سرفصل و جزئیات آموزش

آنچه یاد خواهید گرفت:

  • با استفاده از مجموعه ای از میکروسرویس ها، اپلیکیشن های بزرگ و مقیاس پذیر را معماری کنید.
  • با استفاده از Docker و Kubernetes، یک اپلیکیشن multi-service را در فضای ابری مستقر کنید.
  • مسائل مربوط به همزمانی را در محیط سیستم های توزیع شده حل کنید.
  • برای ساختن یک وب اپلیکیشن پیچیده از مهارت های Javascript خود استفاده کنید.
  • اپلیکیشن ری اکت رندر شده سمت سرور را برای رندر داده از میکروسرویس ها ایجاد کنید.
  • بدانید که شرکت های سازمانی چگونه زیرساخت های خود را طراحی می کنند.
  • با استفاده از بسته های NPM سفارشی کد قابل استفاده مجدد را بین چندین سرور Express به اشتراک بگذارید.
  • برای اطمینان از عملکرد هر سرویس مطابق طراحی، تست های جامعی بنویسید.
  • با استفاده از event bus سریع، داده ها را بین سرویس ها برقرار کنید.
  • چیزی جز کد در سطح تولید ننویسید. 

پیش نیازهای دوره

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

توضیحات دوره:

معماری مبتنی بر رویداد؟ در این دوره پوشش داده شده است! رندر سمت سرور با React؟ بله. مقیاس پذیری، کد آماده تولید؟بله همگی در این دوره آموزش داده می شود!

میکروسرویس ها راه حل شماره یک برای ساخت و مقیاس گذاری برنامه هایی هستند که برای رشد در نظر گرفته شده اند. فقط یک مسئله کوچک است: منابع آنلاین کمی وجود دارد که به پیچیده ترین مسائل پیرامون آن بپردازند! این دوره برای رفع آن مسائل ایجاد شده است. این دوره به طور عمده مشکلات اساسی درمورد میکروسرویس ها را برطرف می کند. از چالش های مربوط به تکثیر داده ها تا جریان های نامرتب گیج کننده، همه چالش های اساسی ایجاد میکروسرویس ها تحت پوشش قرار می گیرند.

فراتر از تمرکز بر مبانی Microservices، این دوره مقدمه ای کامل برای دنیای توسعه full-stack است. شما از فرانت اند، مونتاژ یک برنامه React با استفاده از Hooks تا بک اند، از جمله طراحی پایگاه داده و استراتژی های استقرار، را یاد خواهید گرفت. هر مرحله از مسیر با جزئیات فوق العاده و نمودارهای کافی برای اطمینان از شفاف بودن هر مرحله پوشش داده شده است.

بسیاری از منابع دیگر تنها ساده ترین برنامه های نوشته شده توسط میکروسرویس ها را نشان می دهند. این دوره برعکس عمل می کند: ما بر چالش برانگیزترین جنبه های میکروسرویس ها تمرکز می کنیم، چالش هایی که احتمالاً هر روز با آنها روبرو خواهید شد. این مشکلات را از نزدیک خواهید دید، سپس آنها را با راهکارهای قابل درک حل می کنید.

نحوه عملکرد این دوره:

این دوره بر روی استفاده از فریمورک میکروسرویس های off-the-shelf متمرکز نیست. بسیاری وجود دارند، اما عملکردهای داخلی و چالش های میکروسرویس ها را از شما پنهان می کنند. در عوض، ما از حداقل تعداد کتابخانه استفاده خواهیم کرد و تا آنجا که ممکن است کد سفارشی می نویسیم. این امر شما را در معرض مشکلات چالش برانگیز و راه حل های هوشمندانه هنگام مدیریت موضوعاتی مانند رویدادهای همزمان سازی قرار می دهد!

از چه فناوری استفاده خواهید کرد؟

از آنجا که ما در حال ساخت یک برنامه full stack هستیم، از انواع فن آوری ها استفاده خواهیم کرد. در فرانت اند، ما از React و Next JS برای ارائه محتوا به کاربران استفاده خواهیم کرد. هر سرویس با استفاده از Node و Express ایجاد می شود. داده های هر سرویس یا در یک پایگاه داده Mongo یا Redis نگهداری می شود. کل برنامه در کانتینرهای داکر اجرا شده در یک خوشه Kubernetes مستقر شده و اجرا می شود. سرانجام، تقریباً تمام کدهای این دوره با Typescript نوشته شده اند.

این یک لیست ترسناک از فناوری ها است! آیا با بعضی از اینها آشنا نیستید؟ مشکلی نیست این دوره با این فرض ساخته می شود که شما فقط اصول Javascript و Express را می دانید. هیچ دانش دیگری لازم نیست - شما همه چیزهایی را که باید بدانید یاد خواهید گرفت.

آنچه شما قادر به انجام آن خواهید بود:

با اتمام این دوره، شما قادر خواهید بود:

  • یک برنامه multi-service را معماری کنید
  • تعیین کنید آیا برنامه شما برای رویکرد microservices مناسب است یا خیر
  • درک و حل چالش های موجود در هم زمان سازی، ارتباط مبتنی بر رویداد بین سرویس ها
  • از Docker و Kubernetes برای استقرار یک برنامه multi-service در هر ارائه دهنده ابری استفاده کنید
  • قابلیت استفاده مجدد کد را در پروژه های بزرگ سازماندهی و افزایش دهید

موضوعاتی که یاد خواهید گرفت:

تعداد کاملاً باورنکردنی موضوعاتی که در این دوره پوشش داده شده است به صورت جزئی در زیر لیست شده است:

  • الگوها را برای ایجاد میکروسرویس های مقیاس پذیر برای دامنه های مختلف برنامه تمرین کنید
  • با استفاده از Hooks و Next JS یک برنامه React رندر شده سمت سرور بسازید
  • پیاده سازی سفارشی یک event bus را بنویسید
  • به صورت اختیاری، یک محیط توسعه را از طریق یک ارائه دهنده Cloud اجرا کنید
  • پاسخ های ساختاری مداوم از API های مختلف خود را تضمین کنید
  • بهترین روش ها را در برقراری ارتباط بین سرویس های مختلف مشاهده کنید
  • خدمات خود را با استفاده از Kubernetes Deployments پیکربندی و مقیاس بندی کنید
  • محدودیت های ساختاری را در رویدادهای مشترک بین میکروسرویس ها ثبت و اعمال کنید
  • با احراز هویت مبتنی بر JWT دسترسی به API های خود را محدود کنید
  • و خیلی بیشتر!

این دوره برای چه کسانی مناسب است؟

  • مهندسین Javascript  که به دنبال ساختن برنامه های بزرگ و قابل مقیاس هستند.
  • این دوره برای sysadmins متمرکز بر استقرار زیرساخت ها طراحی نشده است.

آموزش میکروسرویس ها با Node JS و React

  • چگونه کمک دریافت کنیم؟ 00:56
  • میکروسرویس چیست؟ 03:19
  • داده در میکروسرویس 07:34
  • امتحان - داده در میکروسرویس ها None
  • مشکلات بزرگ با داده 05:08
  • همگام سازی ارتباطات بین سرویس ها 06:53
  • ارتباطات مبتنی بر رویداد 05:19
  • روشی دیوانه کننده برای ذخیره سازی داده 09:48
  • مزایا و معایب ارتباط همزمان 06:15
  • بررسی اپلیکیشن 05:44
  • راه‌اندازی پروژه 04:57
  • ایجاد Posts Service 08:18
  • تست Posts Service 04:04
  • پیاده سازی سرویس کامنت ها 08:22
  • تست سریع کامنت ها 03:57
  • راه اندازی پروژه React 05:00
  • ساخت Post Submission 09:54
  • مدیریت خطاهای CORS 04:08
  • واکشی و رندر پست ها 10:04
  • ایجاد کامنت ها 08:09
  • نمایش کامنت ها 07:23
  • استراتژی های درخواست حداقل سازی 04:54
  • راه حل Async 07:16
  • سوالات متداول در مورد رویدادهای Async 04:14
  • بررسی Event Bus 05:14
  • پیاده سازی اولیه Event Bus 05:22
  • Emit کردن رویدادها 05:18
  • Emit کردن رویدادهای ایجاد کامنت 03:45
  • دریافت رویدادها 04:32
  • ایجاد Data Query Service 04:42
  • تجزیه رویدادهای ورودی 07:02
  • استفاده از Query Service 07:09
  • افزودن Simple Feature 04:46
  • مشکلات فیلتر کردن کامنت 07:43
  • رویکرد دوم 05:37
  • نحوه مدیریت بروزرسانی های Resource 04:45
  • ایجاد Moderation Service 04:52
  • افزودن Comment Moderation 04:26
  • مدیریت Moderation 05:29
  • بروزرسانی Comment Content 04:58
  • تست سریع 05:57
  • رندر کامنت ها با Status 03:26
  • مقابله با رویدادهای از دست رفته 10:23
  • پیاده سازی Event Sync 06:11
  • سینک کردن رویداد در عمل 04:16
  • مشکلات استقرار 06:55
  • چرا داکر؟ 02:55
  • چرا کوبرنتیز؟ 05:47
  • Docker را نمی شناسید؟ این بخش را نگاه کنید. 01:17
  • داکر کردن Posts Service 04:02
  • بررسی برخی از فرمان های اولیه 05:23
  • None 03:01
  • نصب Kubernetes 03:19
  • بررسی Kubernetes 09:45
  • اصطلاحات مهم Kubernetes 02:51
  • یادداشت هایی درباره Config Files 03:11
  • ایجاد Pods 06:41
  • درک یک Pod Spec 05:15
  • فرمان های رایج Kubectl 04:44
  • Alias صرفه جویی در زمان 02:26
  • معرفی استقرارها 03:27
  • ایجاد استقرار 06:11
  • فرمان های رایج در اطراف استقرارها 04:35
  • بروزرسانی استقرارها 06:02
  • متد ترجیحی برای بروزرسانی استقرارها 05:42
  • شبکه سازی با سرویس ها 04:15
  • ایجاد سرویس NodePort 07:52
  • دسترسی به سرویس های NodePort 05:09
  • راه اندازی سرویس های Cluster IP 03:12
  • ساخت استقرار برای Event Bus 05:35
  • افزودن سرویس های ClusterIP 07:37
  • نحوه ارتباط بین سرویس ها 04:09
  • بروزرسانی آدرس های سرویس 06:27
  • تایید ارتباط 05:00
  • افزودن کوئری، Moderation و فرمان ها 09:57
  • تست رابطه 05:29
  • سرویس های لود بالانسر 05:13
  • لود بالانسرها و Ingress 06:38
  • نصب Ingress-Nginx 07:57
  • نوشتن فایل های Ingress Config 04:47
  • Hosts File Tweak 06:15
  • استقرار اپلیکیشن ری اکت 06:09
  • مسیرهای روت منحصربفرد 06:55
  • پیکربندی روت نهایی 06:32
  • معرفی Skaffold 03:08
  • راه اندازی Skaffold 09:17
  • استارت آپ اولین زمان Skaffold 01:00
  • چندین نکته درباره Skaffold 06:30
  • آیتم های گران قیمت 15:11
  • بررسی اپلیکیشن 08:53
  • Resource Types 03:23
  • انواع سرویس‌ها 03:37
  • رویدادها و طراحی معماری 03:48
  • راه اندازی Auth Service 04:51
  • راه اندازی Auth K8s 08:15
  • افزودن Skaffold 05:36
  • راه اندازی Ingress-Nginx 07:19
  • فایل های هاست و هشدار امنیتی 04:06
  • نکته ای درباره استقرار ریموت 02:51
  • توسعه ریموت با Skaffold 06:35
  • راه اندازی اولیه Google Cloud 02:43
  • Kubectl Contexts 03:49
  • نصب GCloud Context 04:17
  • بروزرسانی Skaffold Config 04:34
  • بروزرسانی های بیشتر Skaffold 01:06
  • ایجاد Load Balancer 05:12
  • تست و پیکربندی نهایی 06:25
  • ایجاد Route Handlers 05:40
  • Scaffold کردن روت ها 04:05
  • اضافه کردن اعتبارسنجی 08:38
  • مدیریت خطاهای اعتبارسنجی 06:18
  • پیچیدگی شگفت انگیز در مورد خطاها 06:06
  • سایر منابع خطا 04:17
  • راه حلی برای مدیریت خطا 04:50
  • ساختن یک میان افزار مدیریت خطا 07:38
  • ارسال اطلاعات بیشتر به Error Handler 05:23
  • رمزگذاری اطلاعات بیشتر در یک خطا 04:35
  • زیرکلاس بندی برای خطاهای سفارشی 08:17
  • تعیین نوع خطا 03:10
  • تبدیل خطاها به پاسخگویی ها 10:12
  • انتقال منطق به خطاها 08:36
  • تایید خطاهای سفارشی ما 08:34
  • کد مربوط به خطای نهایی 10:19
  • نحوه تعریف خطاهای سفارشی جدید 05:01
  • اوه اوه... مدیریت خطاهای غیرهمزمان 05:49
  • ایجاد پایگاه داده در کوبرنتیز 08:25
  • اتصال به MongoDB 07:53
  • درک جریان ثبت نام 04:25
  • گرفتن TypeScript و Mongoose برای همکاری 05:21
  • ایجاد مدل کاربر 04:54
  • ویژگی های کاربر Type Checking 06:01
  • افزودن ویژگی های استاتیک به یک مدل 06:00
  • تعریف ویژگی های سند اضافی 04:53
  • آن Angle Bracket برای چیست؟ 03:52
  • ایجاد کاربر 06:47
  • مدیریت مناسب خطا 07:25
  • یادآوری هش کردن رمز عبور 04:58
  • افزودن هش رمز عبور 06:57
  • مقایسه رمز عبور هش شده 02:54
  • هوک های از پیش ذخیره شده Mongoose 05:53
  • استراتژی های احراز هویت اولیه 08:58
  • مشکلات بزرگ با استراتژی های احراز هویت 07:32
  • پس کدام گزینه؟ 02:58
  • حل مسائل با گزینه شماره #2 08:26
  • یادآوری در مورد کوکی ها در مقابل JWT 06:21
  • الزامات تأیید اعتبار میکروسرویس ها 11:00
  • مشکلات با JWT و رندر سمت سرور 09:58
  • کوکی ها و رمزگذاری 04:51
  • افزودن پشتیبانی سشن 03:11
  • تولید JWT 08:29
  • JWT Signing Keys 04:56
  • ذخیره ایمن Secrets با Kubernetes 02:13
  • ایجاد و دسترسی به Secrets 09:18
  • دسترسی به متغیرهای Env در یک Pod 05:18
  • ویژگی های پاسخگویی مشترک 04:41
  • فرمت کردن ویژگی های JSON 10:38
  • جریان ورود 07:49
  • میان افزار اعتبار سنجی درخواست رایج 05:33
  • منطق ورود به سیستم 06:49
  • تست ورود سریع 01:53
  • Handler کاربر فعلی 03:01
  • بازگرداندن کاربر فعلی 08:55
  • خروج از اپلیکیشن 02:48
  • ایجاد میان افزار کاربر فعلی 06:55
  • تعاریف Augmenting Type 07:46
  • نیاز به Auth برای دسترسی به روت 07:46
  • مقیاس بندی تست 04:28
  • تست کردن اهداف 04:32
  • تست معماری 07:51
  • ایندکس به App Refactor 02:54
  • چندین وابستگی 03:33
  • راه اندازی محیط تست 08:12
  • اولین تست ما 06:24
  • یک نکته مهم 01:31
  • تست ورودی نامعتبر 05:13
  • نیاز به ایمیل های منحصربفرد 01:45
  • تغییر Node Env در طول تست 05:43
  • تست هایی در عملکرد ورود به سیستم 06:26
  • تست خروج از سیستم 04:31
  • مشکلاتی با کوکی ها در حین تست 05:18
  • راه حل آسان Auth 03:03
  • تابع Auth Helper 07:12
  • تست درخواست های تایید نشده 01:44
  • راه اندازی اپلیکیشن ری اکت 02:11
  • یادآوری در رندر سمت سرور 03:38
  • مبانی Next JS 05:24
  • ساختن تصویر Next 04:28
  • اجرای Next در Kubernetes 10:12
  • نکته ای درباره تشخیص تغییر فایل 04:26
  • افزودن Global CSS 05:09
  • افزودن فرم ثبت نام 03:11
  • مدیریت ایمیل و ورودی های پسورد 03:42
  • ثبت نام موفق حساب 05:12
  • مدیریت خطاهای اعتبارسنجی 06:53
  • useRequest Hook 06:59
  • استفاده از useRequest Hook 03:40
  • onSuccess Callback 05:37
  • بررسی رندر سمت سرور 06:47
  • واکشی داده در حین SSR 05:07
  • چرا خطا می دهد؟ 09:00
  • 2 راه حل - انواع JOIN 07:04
  • ارتباط سرویس Cross Namespace 07:45
  • چه زمانی GetInitialProps فراخوانی می شود؟ 06:46
  • در سرور یا مرورگر 02:01
  • مشخص کردن هاست 08:23
  • عبور از میان کوکی ها 04:00
  • یک کلاینت API قابل استفاده مجدد 07:05
  • مطالبی در مورد صفحه فرود 02:01
  • فرم ورود به سیستم 03:12
  • هدر قابل استفاده مجدد 05:00
  • انتقال GetInitialProps 02:11
  • مشکلاتی با GetInitialProps اپلیکیشن سفارشی 06:41
  • مدیریت Multiple GetInitialProps 06:07
  • انتقال Props 03:03
  • ساخت هدر 05:05
  • نمایش مشروط پیوندها 05:58
  • خروج از اپلیکیشن 04:36
  • منطق مشترک بین سرویس ها 04:34
  • گزینه هایی برای اشتراک گذاری کد 04:46
  • سازمان دهی های NPM 04:27
  • انتشار ماژول های NPM 04:06
  • راه‌اندازی پروژه 07:34
  • فرمان آسان انتشار 07:26
  • جابجایی کد مشترک 07:29
  • بروزرسانی دستورات ایمپورت 05:16
  • بروزرسانی ماژول فرمان 05:34
  • بررسی Ticketing Service 03:03
  • راه‌اندازی پروژه 05:24
  • اجرای Ticket Service 06:05
  • Mongo Connection URI 08:13
  • بروزرسانی احراز هویت سریع 01:47
  • رویکرد Test-First 04:19
  • ایجاد روتر 04:56
  • افزودن Auth Protection 08:04
  • جعل احراز هویت در طول تست 07:09
  • ساخت سشن 05:39
  • تست کردن اعتبارسنجی درخواست 04:12
  • اعتبارسنجی تایتل و قیمت 04:09
  • یادآوری در Mongoose با TypeScript 07:12
  • تعریف Ticket Model 03:48
  • ایجاد از طریق Route Handler 08:21
  • تست مسیرهای نمایش 06:52
  • شکست غیرمنتظره! 05:29
  • آن خطا چیست؟ 08:57
  • لاگ کردن بهتر خطا 05:11
  • پیاده سازی کامل مسیر ایندکس 06:31
  • بروزرسانی Ticket 06:15
  • مدیریت بروزرسانی ها 04:15
  • بررسی مجوز 06:49
  • تغیرات نهایی بروزرسانی 09:04
  • تست دستی 05:36
  • حالا چه کنیم؟ 02:50
  • سه آیتم مهم 04:34
  • ایجاد استقرار استریمینگ NATS 06:25
  • نکات مهم درباره NATS Streaming 09:53
  • ساخت پروژه تست NATS 07:31
  • Port-Forwarding با Kubectl 04:40
  • انتشار رویدادها 06:20
  • Listening برای داده ها 06:55
  • دسترسی به Event Data 06:56
  • تولید Client ID 04:48
  • Queue Groups 07:28
  • Manual Ack Mode 09:51
  • بررسی سلامت کلاینت 09:45
  • Graceful Client Shutdown 06:42
  • مسائل اصلی همزمانی 12:56
  • سؤالات رایج 08:08
  • [اختیاری] راه حل های همزمان احتمالی بیشتر 16:42
  • حل مسائل همزمانی 20:05
  • کنترل همزمانی با اپلیکیشن Tickets 09:40
  • تحویل مجدد رویداد 04:34
  • اشتراک های بادوام 08:59
  • NATS Listeners قابل استفاده مجدد 04:32
  • کلاس انتزاعی Listener 09:27
  • گسترش Listener 05:53
  • ریفکتور سریع 03:17
  • استفاده از تایپ اسکریپت برای اعتبارسنجی Listener 05:28
  • Subjects Enum 03:28
  • رابط رویداد سفارشی 02:26
  • اجرای Listener Subjects 07:22
  • اجرای انواع داده ها 03:53
  • از کجا استفاده می شود؟ 02:49
  • ناشر سفارشی 08:11
  • استفاده از ناشر سفارشی 03:49
  • Await کردن انتشار رویداد 04:28
  • خلاصه تعاریف رویداد رایج 06:26
  • بروزرسانی ماژول فرمان 07:35
  • ری استارت NATS 02:09
  • انتشار Ticket Creation 03:48
  • جزئیات بیشتر در مورد انتشار 03:19
  • NATS Client Singleton 05:24
  • Mongoose را به یاد می آورید؟ 04:57
  • پیاده‌سازی Singleton 09:04
  • دسترسی به NATS Client 04:28
  • Graceful Shutdown 06:55
  • Listen موفق 03:23
  • انتشار بروزرسانی Ticket 04:28
  • انتشار رویداد ناموفق 07:03
  • مدیریت انتشار شکست ها 06:02
  • رفع چند تست 03:52
  • ریدایرکت کردن ایمپورت ها 05:35
  • ارائه یک پیاده سازی ماک 09:09
  • ماک های گسترده Test-Suite 02:12
  • اطمینان از فراخوان های ماک 09:13
  • متغیرهای NATS Env 08:00
  • سرویس سفارشات 05:02
  • Scaffold کردن سرویس سفارشات 04:39
  • راه اندازی بیشتر 07:32
  • قوانین مسیریابی Ingress 01:53
  • Scaffold کردن چندین Route Handlers 09:55
  • کوپلینگ ظریف سرویس 06:43
  • ارتباط سفارشات و Tickets 06:49
  • راه اندازی Order Model 08:52
  • نیازی برای یک Enum 05:56
  • ایجاد Order Status Enum 08:31
  • اطلاعات بیشتر درباره Mongoose Refs 02:58
  • تعریف Ticket Model 07:09
  • منطق ایجاد سفارش 05:45
  • پیدا کردن تیکت های رزرو شده 06:10
  • متدهای آسان سند 07:37
  • زمان انقضای سفارش 06:05
  • راه اندازی Test Suite 02:36
  • Assert کردن Tickets Exist 06:08
  • Assert کردن تیکت هیا رزرو شده 05:05
  • تست Success Case 04:09
  • واکشی سفارشات کاربر 05:23
  • تست کمی پیچیده 12:23
  • واکشی سفارشات فردی 04:36
  • آیا واکشی کار می کند؟ 07:17
  • لغو یک سفارش 04:32
  • آیا می توانیم کنسل کنیم؟ 09:12
  • رویدادهای سرویس سفارش 04:43
  • ایجاد رویدادها 09:23
  • پیاده سازی انتشارات 03:13
  • انتشار ایجاد سفارش 05:03
  • انتشار کنسل سفارش 02:33
  • تست انتشار سفارش 05:32
  • زمان برای Listeners 02:12
  • یادآور در Listeners 01:53
  • Blueprint برای Listeners 03:39
  • چند یادآوری دیگر 05:26
  • پیاده سازی ساده onMessage 02:17
  • تنظیم ID 05:44
  • پیاده سازی Ticket Updated Listener 04:32
  • راه اندازی Listeners 02:44
  • یک تست دستی سریع 03:16
  • پاک کردن مسائل همزمان 12:59
  • یادآوری در نسخه‌سازی رکوردها 06:41
  • کنترل همزمانی خوش‌بینانه 05:37
  • Mongoose Update-If-Current 03:46
  • پیاده سازی OCC با Mongoose 04:02
  • تست OCC 09:07
  • اطلاعات بیشتر در مورد تست 03:45
  • چه کسی نسخه ها را بروز می کند؟ 06:29
  • شامل نسخه ها در رویدادها 02:59
  • بروزرسانی تعاریف رویداد تیکت ها 03:55
  • اعمال Version Query 07:14
  • آیا کارساز است؟ 04:31
  • متد کوئری انتزاع شده 05:42
  • [اختیاری] نسخه‌سازی بدون Update-If-Current 18:34
  • تست Listeners 04:55
  • تست کامل Listener 09:25
  • تست Ack Call 02:09
  • تست Ticket Updated Listener 08:20
  • تست Success Case 04:49
  • رویدادهای Out-Of-Order 04:51
  • چند ویدیوی بعدی 03:39
  • رفع چند تست 06:36
  • Listeners در Tickets Service 01:47
  • ساخت Listener 04:59
  • استراتژی برای لاک کردن Ticket 05:28
  • رزرو کردن تیکت 03:42
  • راه اندازی برای تست رزرواسیون 07:00
  • پیاده‌سازی تست 04:29
  • رویداد به‌روزرسانی از دست رفته 06:14
  • ویژگی های خصوصی در مقابل محافظت شده 06:54
  • انتشار در حین Listening 06:42
  • آرگومان های تابع Mock 09:49
  • Order Cancelled Listener 06:51
  • تست Lightning-Quick 07:28
  • Listen را فراموش نکنید 02:21
  • رد ویرایش تیکت های رزرو شده 06:15
  • سرویس انقضا 02:38
  • گزینه های انقضا 07:55
  • راه اندازی اولیه 06:14
  • نکته ای درباره راه اندازی Kubernetes 07:44
  • راه اندازی سینک فایل 02:32
  • ایجاد Listener 03:42
  • Bull All about چیست؟ 03:56
  • ایجاد صف 09:07
  • صف Job روی ورود رویداد 05:10
  • تست پردازش Job 03:17
  • تاخیر در پردازش Job 05:23
  • تعریف Expiration Complete Event 03:50
  • انتشار رویداد در پردازش Job 06:27
  • مدیریت Expiration Event 06:00
  • حذف Order Cancelled Event 05:37
  • تست Expiration Complete Listener 05:51
  • اطلاعات بیشتر درمورد تست 07:20
  • Listening برای Expiration 02:20
  • سرویس پرداخت 02:11
  • راه اندازی اولیه 08:45
  • فیلدهای تکراری 05:57
  • یک مدل سفارش دیگر! 07:30
  • Update-If-Current 01:17
  • تکرار سفارشات 04:07
  • تست ایجاد سفارش 06:12
  • علامت گذاری یک سفارش به عنوان لغو شده 05:39
  • تست لغو شده 06:42
  • راه اندازی Listeners 03:54
  • جریان پرداخت با Stripe 05:10
  • پیاده سازی Create Charge Handler 08:32
  • اعتبارسنجی پرداخت سفارش 04:03
  • تست اعتبارسنجی سفارش قبل از پرداخت 06:59
  • تست اعتبارسنجی یک کاربر 05:10
  • راه‌اندازی Stripe 03:58
  • ایجاد Stripe Secret 03:20
  • ایجاد شارژ با Stripe 06:08
  • تست دستی پرداخت ها 06:35
  • تست پرداخت خودکار 06:27
  • کلاینت Stripe ماک شده 04:23
  • اطلاعات بیشتر درمورد راه اندازی تست واقعی 09:16
  • پیاده سازی تست واقعی 06:15
  • بستن یک سفارش و شارژ با هم 07:18
  • تست ایجاد پرداخت 06:13
  • انتشار یک رویداد ایجاد شده با پرداخت 06:31
  • جزئیات بیشتر در مورد انتشار 03:18
  • علامت گذاری یک سفارش به عنوان تکمیل شده 06:17
  • سفارشات تکمیل شده را لغو نکنید! 01:01
  • چند صفحه دیگر 06:15
  • یادآوری در مورد واکشی داده با Next 06:09
  • دو راه حل سریع 05:43
  • Scaffold کردن فرم 03:43
  • ایمن سازی ورودی قیمت 06:29
  • Ticket Creation 06:44
  • لیست همه تیکت ها 07:41
  • لینک کردن به مسیرهای Wildcard 07:07
  • ایجاد یک سفارش 07:25
  • ناوبری برنامه‌ای به مسیرهای Wildcard 04:16
  • تایمر انقضا 10:54
  • نمایش انقضا 01:01
  • نمایش فرم پرداخت Stripe 03:06
  • پیکربندی Stripe 04:23
  • تست شماره کارت اعتباری 01:58
  • پرداخت برای سفارش 09:24
  • فیلتر کردن تیکت های رزرو شده 02:27
  • لینک های هدر 01:47
  • رندر کردن لیست سفارشات 06:20
  • گردش کار توسعه 03:39
  • رویکردهای Git Repository 06:05
  • ایجاد GitHub Action 07:11
  • افزودن اسکریپت تست CI 02:42
  • اجرای تست ها در PR Creation 04:48
  • خروجی شکست تست ها 05:48
  • اجرای تست ها به صورت موازی 07:28
  • تایید اجرای تست 03:01
  • اجرای تست انتخابی 05:44
  • گزینه‌های استقرار 07:40
  • ایجاد خوشه هاست شده 02:39
  • یادآور روی Kubernetes Context 03:32
  • یادآور روی Swapping Contexts 03:56
  • پلن استقرار 04:04
  • ساخت تصویر در Action 08:40
  • تست Image Build 02:30
  • ری استارت کردن استقرار 07:17
  • اعمال Kubernetes Manifests 03:27
  • فایل های Dev Manifest درمقابل Prod 04:23
  • ایجاد Secret دستی 03:39
  • Ingress-Nginx را فراموش نکنید! 05:31
  • تست استقرار 02:51
  • فایل های استقرار اضافی 07:12
  • یک استقرار موفق! 06:07
  • خرید نام دامنه 03:10
  • پیکربندی نام دامنه 05:27
  • من واقعا امیدوارم که این کار می کند 01:58
  • مرحله‌های بعدی 04:36
  • چرا از Docker استفاده کنیم؟ 03:43
  • داکر چیست؟ 02:53
  • داکر برای مک / ویندوز 01:57
  • استفاده از Docker Client 05:03
  • اما واقعا... کانتینر چیست؟ 08:30
  • Docker چگونه روی کامپیوتر شما اجرا می شود؟ 02:44
  • Docker Run در جزئیات 01:54
  • Override کردن فرمان های پیش فرض 05:12
  • لیست کردن کانتینر های در حال اجرا 04:09
  • چرخه عمر کانتینر 05:16
  • ریاستارت کردن کانتیرنر های متوقف شده 03:43
  • حذف کانتیرنر های متوقف شده 01:39
  • بازیابی لاگ های خروجی 02:33
  • توقف کانتینرها 05:21
  • کانتینر های چند فرمانی 04:16
  • اجرای فرمان ها در کانتینرهای در حال اجرا 02:53
  • هدف it' Flag' 04:35
  • دریافت Command Prompt در یک کانتینر 04:06
  • شروع کار با Shell 02:13
  • Container Isolation 03:09
  • ایجاد تصاویر داکر 02:36
  • ساخت یک Dockerfile 04:51
  • Dockerfile Teardown 02:41
  • Base Image چیست؟ 05:40
  • فرآیند ساخت با جزئیات 11:09
  • خلاصه ای مختصر 03:24
  • Rebuilds با کش 07:02
  • تگ کردن یک تصویر 04:26
  • تولید دستی تصویر با Docker Commit 05:00
  • طرح کلی پروژه 02:35
  • راه اندازی Node Server 05:03
  • چند خطای برنامه ریزی شده 05:12
  • مسائل تصویر پایه 07:50
  • چند فایل گم شده 03:18
  • کپی کردن فایل های Build 04:50
  • Container Port Forwarding 07:26
  • تعیین یک دایرکتوری فعال 07:52
  • Rebuilds غیر ضروری 04:16
  • به حداقل رساندن Cache Busting و Rebuilds 04:58
  • چگونه کمک دریافت کنیم؟ 01:04
  • بررسی تایپ اسکریپت 06:19
  • راه‌اندازی محیط 07:59
  • اولین اپلیکیشن 04:43
  • اجرای کد تایپ اسکریپت 05:03
  • یک تغییر سریع 03:35
  • دریافت خطاها با تایپ اسکریپت - بخش 1 07:22
  • دریافت خطاها با تایپ اسکریپت - بخش 2 05:15
  • از این بخش نگذرید - بررسی دوره 03:35
  • تایپ ها 05:12
  • اطلاعات بیشتر در مورد تایپ ها 05:53
  • مثال هایی از تایپ ها 04:48
  • از تایپ ها در کجا استفاده می کنیم؟ 00:49
  • مفاهیم Type Annotation و Type Inference 02:03
  • حاشیه نویسی ها با متغیرها 04:53
  • حاشیه نویسی لیترال آبجکت ها 06:53
  • حاشیه نویسی توابع - بخش 1 05:55
  • آشنایی با Inference 03:51
  • Any Type 07:47
  • رفع مشکل تایپ "Any" 01:49
  • مقداردهی اولیه با تاخیر 03:05
  • چه زمانی Inference عمل نمی کند؟ 04:37
  • اطلاعات بیشتر در مورد حاشیه نویسی های اطراف تابع 04:56
  • Inference پیرامون توابع 06:08
  • حاشیه نویسی برای توابع ناشناس 01:42
  • تایپ های Void و Never 02:49
  • Destructuring با حاشیه نویسی ها 03:35
  • حاشیه نویسی آبجکت ها 07:05
  • آرایه ها در TypeScript 05:05
  • چرا آرایه های تایپ شده؟ 04:30
  • Multiple Types در آرایه ها 02:57
  • زمان استفاده از Typed Arrays 00:54
  • تاپل ها در تایپ اسکریپت 04:04
  • تاپل ها در عمل 05:28
  • چرا تاپل ها؟ 03:20
  • رابط‌ها 01:26
  • حاشیه نویسی های تایپ طولانی 04:42
  • رفع حاشیه نویسی ها با رابط ها 04:36
  • سینتکس اطراف رابط ها 03:31
  • توابع در رابط ها 04:46
  • استفاده مجدد از کد با رابط ها 04:15
  • پلن کلی با رابط 03:12
  • کلاس‌ها 03:47
  • وراثت اولیه 03:03
  • Modifier های متد کلاس 06:41
  • فیلدها در کلاس ها 06:18
  • فیلدها با وراثت 04:18
  • از کجا می توان از کلاس ها استفاده کرد؟ 01:09
  • بررسی اپلیکیشن 02:26
  • Bundling با Parcel 04:43
  • ساختار پروژه 03:19
  • تولید داده تصادفی 05:29
  • Type Definition Files 05:17
  • استفاده از Type Definition Files 06:20
  • اکسپورت کردن دستورات در TypeScript 05:06
  • تعریف یک Company 04:43
  • افزودن Google Maps Support 07:38
  • ادغام نقشه های Google با TypeScript 04:06
  • بررسی کردن Type Definition Files 12:46
  • مخفی کردن قابلیت 06:28
  • دلایل استفاده از Private Modifiers در اینجا چیست؟ 08:25
  • افزودن مارکرها 09:18
  • کد داپلیکیت 02:45
  • یک راه حل احتمالی 06:38
  • محدود کردن دسترسی با رابط 05:35
  • بررسی تایپ Implicit 03:26
  • نمایش پنجره های پاپ آپ 06:47
  • بروزرسانی تعاریف رابط 07:11
  • Clause های پیاده سازی های اختیاری 06:06
  • جمع بندی اپلیکیشن 08:08

21,481,000 4,296,200 تومان

مشخصات آموزش

آموزش میکروسرویس ها با Node JS و React

  • تاریخ به روز رسانی: 1404/06/21
  • سطح دوره:همه سطوح
  • تعداد درس:585
  • مدت زمان :54:23:28
  • حجم :26.67GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی:AI Academy

آموزش های مرتبط

The Great Courses
2,495,000 499,000 تومان
  • زمان: 06:19:16
  • تعداد درس: 40
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
6,787,000 1,357,400 تومان
  • زمان: 17:11:52
  • تعداد درس: 113
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
8,360,500 1,672,100 تومان
  • زمان: 21:10:47
  • تعداد درس: 202
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
5,720,500 1,144,100 تومان
  • زمان: 14:29:26
  • تعداد درس: 36
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
4,206,500 841,300 تومان
  • زمان: 10:39:08
  • تعداد درس: 64
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
4,391,000 878,200 تومان
  • زمان: 11:07:45
  • تعداد درس: 63
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
7,261,000 1,452,200 تومان
  • زمان: 18:23:18
  • تعداد درس: 103
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
490,000 98,000 تومان
  • زمان: 00:57:00
  • تعداد درس: 20
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
490,000 98,000 تومان
  • زمان: 00:41:00
  • تعداد درس: 9
  • سطح دوره:
  • زبان: دوبله فارسی

آیا سوالی دارید؟

ما به شما کمک خواهیم کرد تا شغل و رشد خود را افزایش دهید.
امروز با ما تماس بگیرید