JS گره متوسط: جریان ها، الگوهای طراحی، عملکرد

Intermediate Node JS: Streams, Design Patterns, Performance

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: مهارت های Node.js خود را با تسلط بر الگوهای طراحی برای حل مشکلات رایج و مقیاس بندی برنامه ها با استریم ها ارتقا دهید. با استفاده از Node js Streams، حجم زیادی از داده‌ها را بر حسب تقاضا پردازش کنید، مانند پردازش ویدیوها، ادغام بین پایگاه‌های داده و موارد دیگر. الگوهای ایجادی و ساختاری ضروری را برای کمک به حل چالش های رایج کدنویسی بیاموزید. استفاده از چند فرآیند و multithreading در Node js. پردازش ترابایت فایل با استفاده از Node JS Streams فشار برگشتی را در انتقال داده به حداقل برسانید. مصرف داده های چند رسانه ای در صورت تقاضا نحوه تنظیم پارتیشن بندی افقی برای تقسیم داده ها بین پایگاه های داده را بیاموزید. پیش نیازها: تجربه اولیه برنامه نویسی در NodeJS

به این دوره خوش آمدید، که برای کسانی طراحی شده است که می خواهند متخصص Node.js شوند.


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

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

نسخه فعلی دوره شامل 4 ماژول است.


1. مبانی برنامه نویسی ناهمزمان:

در ماژول اول، تکنیک های پیشرفته ای را برای مدیریت برنامه نویسی ناهمزمان و جریان داده در Node.js خواهید آموخت. ما الگوهای ناهمزمان مانند تماس‌ها، وعده‌ها، و همگام‌سازی/انتظار، و نحوه اعمال آنها را برای اجرای متوالی، موازی و همزمان پوشش خواهیم داد.

این دوره برای مبتدیان مناسب است، بنابراین این اولین ماژول اصول را پوشش می دهد. ممکن است قبلاً با برخی از مطالب این ماژول آشنا باشید، اما من به شدت توصیه می‌کنم آن را مرور کنید، زیرا من دوره را به تدریج ساختار داده‌ام، از اصول Node.js شروع کرده و تا Streams API را توسعه داده‌ام. با این حال، می توانید از هر قسمتی صرف نظر کنید زیرا درس ها به شدت به یکدیگر وابسته نیستند.


2. Streams API

ماژول دوم بر روی Streams API تمرکز دارد. ابتدا، API سنتی را بررسی می‌کنیم، سپس به سراغ API مدرن‌تر می‌رویم و درک جامعی از هر دو به شما ارائه می‌کنیم. من همچنین یک مثال عملی ارائه می‌دهم تا به شما در درک بهتر زمان و نحوه استفاده از Streams API کمک کند.


3. عملکرد و مقیاس‌بندی برنامه‌های Node.js:

در ماژول عملکرد، ابتدا شما را با مفاهیم اساسی مقیاس‌پذیری در Node.js آشنا می‌کنم، از جمله جدا کردن یک برنامه در چندین پردازش فرزند و چند رشته‌بندی با استخرهای فرآیند. در بخش دوم، ما مجدداً از Streams API بازدید می‌کنیم، اما این بار آن را با فرآیندهای فرزند ترکیب می‌کنیم تا عملیات‌های وقت‌گیر را به طور موثرتری انجام دهیم.


2. الگوهای طراحی:

در نهایت، در ماژول Design Patterns، رایج ترین الگوهای طراحی را در زمینه Node.js بررسی می کنیم. برای هر الگو، با یک مثال ساده شروع می کنیم که یک مشکل را برجسته می کند و سپس با استفاده از الگوی طراحی مناسب آن را حل می کنیم. این رویکرد نه تنها شما را با مفاهیم طراحی آشنا می‌کند، بلکه نشان می‌دهد که کجا و چگونه آنها را به طور موثر اعمال کنید.


توجه: چندین ماژول و بخش اضافی در هفته های آینده به دوره اضافه خواهد شد.


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

قبل از شروع Before You Start

  • الزامات Requirements

  • واردات در مقابل نیاز import vs require

اصول - حلقه رویداد زیر سرپوش Fundamentals - Event Loop Under The Hood

  • مقدمه Intro

  • حلقه رویداد The Event Loop

  • پشته تماس The Call Stack

  • عملیات گران قیمت Expensive Operations

  • تماس های زیر سرپوش Callbacks Under The Hood

  • setTimeout در مقابل setImmediate در مقابل process.nextTick setTimeout vs setImmediate vs process.nextTick

اصول - الگوهای ناهمزمان Fundamentals - Asynchronous Patterns

  • الگوی برگشت به تماس Callback Pattern

  • حل و فصل وعده ها Resolving Promises

  • رد وعده ها Rejecting promises

  • تابع promisify The promisify function

  • اجرای متوالی Sequential execution

  • async_await با دنباله async_await with sequence

  • اجرای موازی Parallel execution

  • عملیات همزمان Concurrent operations

  • ثبت وظایف همزمان Logging concurrent tasks

اصول - الگوهای رویداد محور Fundamentals - Event-driven Patterns

  • امیتر رویداد Event Emitter

  • روش های امیتر Emitter Methods

  • پروژه - یک برنامه فهرست کار قسمت 1 Project - a todo list app Part 1

  • پروژه - یک برنامه فهرست کار قسمت 2 Project - a todo list app Part 2

جریان ها - مبانی Streams - Fundamentals

  • بافر در مقابل استریم ها Buffer vs Streams

  • جریان های خواندنی Readable streams

  • استفاده از جریان های قابل خواندن Using readable streams

  • جریان های قابل نوشتن Writable streams

  • پس فشار Backpressure

  • جریان های لوله کشی Piping streams

  • جریان های دوبلکس Duplex streams

  • جریان ها را متحول کنید Transform streams

  • پخش جریانی به مرورگر Streaming to the browser

  • رسیدگی به درخواست های محدوده Handling range requests

  • در حال آپلود جریان ها Uploading streams

  • تجزیه multipart_form-data Parsing multipart_form-data

Streams - API مدرن Streams - The Modern API

  • مقدمه Intro

  • توابع ژنراتور توضیح داده شده است Generator functions explained

  • کاوش در api جریان های جدید Exploring the new streams api

  • پخش جریانی از پایگاه داده Streaming from databases

  • راه اندازی پایگاه داده Initializing the database

  • خواندن داده ها به عنوان جریان Reading data as stream

  • اپراتورهای جریان Stream operators

  • لغو کنترل کننده با جریان Abort controller with streams

عملکرد و مقیاس بندی - مفاهیم اساسی مقیاس پذیری Performance and Scaling - Scalability Fundamental Concepts

  • مقدمه Intro

  • سه استراتژی مقیاس بندی The Three Scaling Strategies

  • شبیه سازی Cloning

  • فرآیندهای کودک Child Processes

  • استخر فرآیند Process Pool

  • تحمل خطا Fault Tolerance

  • استفاده از ابزارهای شخص ثالث Using third-party tools

  • مقیاس بندی پایگاه های داده Scaling databases

  • پارتیشن بندی داده ها توضیح داده شد Data partitioning explained

عملکرد و مقیاس بندی - جریان های موازی Performance and Scaling - Parallel Streams

  • استفاده از پردازش های فرزند برای عملیات همگام موازی Using child processes for parallel async operations

  • راه اندازی فایل ها Initializing The Files

  • اجرای وظایف در فرآیند کودک Running tasks in child process

  • جریان خواندن در فرآیند کودک Reading stream inside child process

  • تبدیل فرآیند کودک به یک جریان Converting child process into a stream

  • ادغام جریان‌های فرآیند فرزند Merging child process streams

  • نوشتن به خروجی Writing to output

  • رسیدگی به خطا Error handling

  • اجرای منطق نهایی Implementing the final logic

الگوهای طراحی - الگوهای خلاقانه Design Patterns - Creational Patterns

  • بررسی یک موضوع Investigating an issue

  • رفع مشکل الگوی تک آهنگ Fixing the issue with the Singletones pattern

  • الگوی Singletones با نحو ساده تر The Singletones pattern with a simpler syntax

  • الگوی نمونه اولیه The Prototype pattern

  • الگوی کارخانه The Factory pattern

  • بررسی یک موضوع Investigating an issue

  • رفع مشکل با استفاده از الگوی Builder Fixing the issue using the Builder pattern

الگوهای طراحی - الگوهای ساختاری Design Patterns - Structural Patterns

  • بررسی یک موضوع Investigating an issue

  • با استفاده از الگوی آداپتور Using the Adapter pattern

  • بررسی الگوی پروکسی Investigating the Proxy pattern

  • با استفاده از الگوی پروکسی Using the Proxy pattern

  • الگوی ترکیبی توضیح داد The Composite pattern explained

  • پیاده سازی الگوی ترکیبی Implementing the composite pattern

  • الگوی دکوراتور توضیح داده شده است The decorator pattern explained

  • اجرای الگوی دکوراتور Implementing the decorator pattern

الگوهای طراحی - الگوهای رفتاری Design Patterns - Behavioral Patterns

  • زنجیره مسئولیت توضیح داده شد Chain of responsibility explained

  • اجرای زنجیره مسئولیت Implementing the chain of responsibility

  • الگوی فرمان توضیح داده شده است The Command pattern explained

  • پیاده سازی الگوی فرمان Implementing the command pattern

  • الگوی قدرت فرمان The power of command pattern

  • الگوی Iterator توضیح داد The Iterator pattern explained

  • پیاده سازی الگوی تکرار کننده Implementing the iterator pattern

  • الگوی مشاهده گر توضیح داد The observer pattern explained

  • پیاده سازی الگوی مشاهده گر Implementing the observer pattern

  • الگوی استراتژی توضیح داد The Strategy Pattern explained

  • پیاده سازی الگوی استراتژی Implementing the strategy pattern

نمایش نظرات

Udemy (یودمی)

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

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

JS گره متوسط: جریان ها، الگوهای طراحی، عملکرد
جزییات دوره
9.5 hours
85
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,024
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

CodeLicks Academy CodeLicks Academy

آکادمی CodeLicks