آموزش درک Node.js: مفاهیم اصلی - آخرین آپدیت

دانلود Understanding Node.js: Core Concepts

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: درک Node.js بدون هیچ بسته NPM دیگری. بیایید مهارت های مهندسی پشتیبان شما را به سطح بعدی ببریم! برخی از مفاهیم حیاتی مهندسی Back-end را بیاموزید به سطحی برسید که قادر به یادگیری آسان فریمورک‌ها و کتابخانه‌های مختلف NodeJS باشد واقعاً و عمیقاً بفهمید NodeJS دقیقاً چیست و تمام پتانسیل‌های آن را فراتر از ایجاد وب سرورها ببینید. بدون استفاده از بسته‌های NPM دیگر برخی از مهم‌ترین مفاهیم سیستم‌عامل‌ها را که هر توسعه‌دهنده بک‌اند باید بداند را درک کنید، قادر به یادگیری و درک مستندات NodeJS به راحتی باشید. به طور مستقیم با داده های باینری برخورد کنید و 0 و 1 ها را هر طور که می خواهید دستکاری کنید. برنامه های شبکه سطح پایین را مستقیماً در بالای TCP یا UDP ایجاد کنید و پروتکل های خود را توسعه دهید. پخش جریانی برای توسعه برنامه‌های کاربردی با کارایی بالا و حافظه کارآمد با قابلیت پردازش آسان با ترابایت داده‌ها یاد بگیرید چگونه فشرده‌سازی را برای افزایش سرعت برنامه‌های شبکه خود ترکیب کنید. Unix را درک کنید و دنیایی از امکانات جدید را باز کنید. در NodeJS و دستیابی به بهبود عملکرد قابل توجه پیش نیازها: حداقل یک سال تجربه برنامه نویسی دانش خوب جاوا اسکریپت در حالی که نه اجباری است، کمی تجربه با ExpressJS و HTML می تواند مفید باشد شرط سختی نیست، اما برای بخش Multi-Threading، توصیه می شود در دستگاهی با CPU با حداقل 4 هسته استفاده کنید.

به جامع ترین دوره Node.js در اینترنت خوش آمدید!

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

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

ما همچنین از تمام این مفاهیم حیاتی که در عمل با ساختن پروژه های مختلف هیجان انگیز فقط با استفاده از Node.js یاد خواهیم گرفت استفاده خواهیم کرد.

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

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


اجازه دهید در مورد کارهایی که پس از تکمیل برخی از بخش‌ها به دست خواهید آورد، توضیحی سریع انجام دهیم:

درک بافرها: در اینجا، بافرها و نحوه کار مستقیم با داده‌های باینری را که برای همه بخش‌های دیگر ضروری است، عمیقاً درک خواهیم کرد.

درک سیستم فایل: به‌عنوان یک توسعه‌دهنده بک‌اند، با فایل‌ها بسیار کار خواهید کرد، خواه ذخیره برخی داده‌ها در دیسک، مدیریت آپلود فایل‌ها و بسیاری مثال‌های دیگر، بنابراین داشتن درک خوب از آنها ضروری است. که پس از تکمیل این بخش به دست خواهید آورد. همچنین یاد خواهیم گرفت که Node.js چگونه با فایل‌ها برخورد می‌کند و بر ماژول "fs" مسلط می‌شود.

درک جریان‌ها: در این بخش، ما به Streams مسلط می‌شویم، که به ما امکان می‌دهد برنامه‌هایی با عملکرد بالا ایجاد کنیم که می‌توانند به راحتی ترابایت داده را مدیریت کنند و در عین حال از حافظه عالی استفاده کنند. ما پروژه های کوچک بسیاری را در سراسر این بخش خواهیم ساخت، از جمله یک برنامه رمزگذاری-رمزگشایی از ابتدا که می تواند ترابایت داده را با تغییر مستقیم داده های باینری رمزگذاری کند. این بخش پایه و اساس بخش‌های آینده را ایجاد می‌کند که در آن از Streams به شدت برای ایجاد برنامه‌های شبکه قدرتمند و کارآمد استفاده خواهیم کرد.

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

  • شبکه دقیقاً چیست

  • اینترنت چگونه کار می کند

  • آدرس های مک

  • آدرس های IPV4 IPv6

  • TCP

  • UDP

  • DNS

  • اصول استقرار

ما 2 برنامه سطح پایین را فقط با استفاده از Node.js، یک چت و یک برنامه آپلود کننده فایل مستقیماً در بالای TCP ایجاد خواهیم کرد! و سپس، آنها را بدون استفاده از ابزارهای غیرضروری به ساده‌ترین روش در سرور لینوکس مستقر می‌کنیم.

ما دقیقاً خواهیم دید که در کارت شبکه ما چه اتفاقی می‌افتد، هر 0 و 1 با یک چیز خاص با استفاده از Wireshark رد و بدل می‌شود، و درک بسیار بهتری از شبکه و اینکه چگونه بسیاری از پروتکل‌های معروف مانند HTTP، FTP، پروتکل های ایمیل، SSH، DNS و بسیاری دیگر کار می کنند. این بخش افق دید شما را گسترده تر می کند و متوجه خواهید شد که کارهای بسیار بیشتری می توانید با Node.js انجام دهید تا فقط ایجاد سرورهای وب.

درک HTTP: در این بخش، همه چیزهایی را که از بخش‌های قبلی آموخته‌ایم استفاده و ترکیب می‌کنیم و در نهایت یک بار برای همیشه HTTP را عمیقاً درک می‌کنیم! ما یاد نخواهیم گرفت که چگونه از Express استفاده کنیم. در عوض، ما خودمان چیزی مشابه خواهیم ساخت!

ما با درک مهم‌ترین مفاهیم HTTP، مانند انواع اتصال، مدل سرویس گیرنده-سرور، پیام‌ها، درخواست‌ها، پاسخ‌ها، روش‌های HTTP، کدهای وضعیت، انواع mime، سرصفحه‌های ضروری و موارد دیگر شروع می‌کنیم. و سپس یک پروتکل HTTP را مستقیماً در بالای TCP با استفاده از ماژول شبکه شبیه‌سازی کنید و دقیقاً تک تک 0ها و 1هایی را که برای یک درخواست HTTP و تعامل پاسخ رد و بدل می‌شوند، مشاهده کنید!

هنگامی که اصول HTTP و ماژول "http" را درک کردیم، همه چیز را به سطح بعدی خواهیم برد و شروع به ساخت چارچوب خود خواهیم کرد. و سپس، با استفاده از چارچوب خود، یک برنامه وب کاملاً کاربردی ایجاد خواهیم کرد.

این بخش مهارت های توسعه وب شما را به سطح بعدی ارتقا می دهد. شما درک بهتری از نحوه کار همه این بسته‌های NPM محبوب، مانند Express، body-parser، Multer، cors و غیره که در بالای ماژول "http" ساخته شده‌اند، خواهید داشت. خوب، شما یاد خواهید گرفت که چگونه آنها را از ابتدا بسازید، فقط استفاده از آنها مشکل چندانی نخواهد داشت!

به‌روزرسانی فوریه 2024 - ماژول جدید منتشر شد! آشنایی با یونیکس:

با بیش از 15 ساعت محتوای جدید جامع، آماده یادگیری نحوه استفاده از قدرت چندین فناوری و زبان برنامه نویسی همراه با Node.js برای ایجاد برنامه های کاربردی فوق العاده قدرتمند باشید!

یونیکس، یکی از تاثیرگذارترین اختراعات تا به حال در صنعت نرم افزار، برای مهندسان نرم افزار بسیار مهم است که درک کنند. در این ماژول، ما عمیقاً به برخی از مفاهیم کلیدی مانند Bash، Shells، IPC، جریان داده، مدیریت فرآیند، خوشه‌بندی، حتی مقداری C و موارد دیگر خواهیم پرداخت.

ما همچنین این ماژول‌های Node.js را درک خواهیم کرد:

  • فرایندهای کودک

  • خوشه

  • فرایند

  • مسیر

  • کنسول

  • OS

همه این مفاهیم یونیکس که در این بخش یاد خواهید گرفت فوراً در بسیاری از زبان های برنامه نویسی دیگر اعمال می شوند. شما پایه ای به دست خواهید آورد که می توانید برای ایجاد برنامه های کاربردی با کیفیت بسیار بالاتر از همیشه به ساخت آن ادامه دهید.

در پایان بخش، یک برنامه وب ویرایش ویدیو با Node.js بدون استفاده از سایر بسته‌های NPM ایجاد می‌کنیم. و این تازه آغاز راه است! پس از اتمام کار با بخش و مشاهده بسیاری از امکانات جدید که قبلاً هرگز به آنها فکر نکرده اید، می توانید کارهای بسیار بیشتری از این کار انجام دهید.

به‌روزرسانی می 2024 - ماژول جدید منتشر شد! درک فشرده سازی:

در این بخش، دنیای جذاب فشرده سازی را بررسی خواهیم کرد. درک فشرده سازی برای کاهش اندازه داده های شما بسیار مهم است و یکی از موارد مهم استفاده افزایش سرعت برنامه های شبکه شما است. ما به ماژول Node.js Zlib می پردازیم و می بینیم که چگونه می توان تعداد بیت های مورد نیاز برای ذخیره و انتقال داده های خود را بدون از دست دادن اطلاعات کاهش داد!

به‌روزرسانی ژوئیه 2024 - ماژول جدید منتشر شد! درک Multi-threading:

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

ما یاد می‌گیریم که رشته‌ها دقیقاً چه هستند و چگونه از آنها برای دستیابی به چندین بار افزایش عملکرد، بسته به تعداد هسته‌های CPU ما، استفاده کنیم. ما یاد خواهیم گرفت که چه زمانی باید از multi-threading استفاده کنیم و چه زمانی نباید استفاده کنیم. ما یاد خواهیم گرفت که چگونه کانال های ارتباطی بین رشته های خود را، هم با ارسال پیام و هم با حافظه مشترک، راه اندازی کنیم. ما مخزن نخ Node.js را بررسی می کنیم و حتی خودمان یکی را از ابتدا توسعه می دهیم. خواهیم دید که چند رشته در Node.js چه تفاوتی با برخی از زبان های دیگر دارد. ما همگام سازی، شرایط مسابقه، بن بست ها، سمافورها، محرومیت متقابل و موارد دیگر را پوشش خواهیم داد.

می‌آموزید که چگونه حلقه رویداد را روشن نگه دارید و در نهایت عملیاتی را انجام ندهید که به‌طور مرموزی رشته اصلی شما را مسدود می‌کند و باعث می‌شود برنامه شما بسیار کندتر شود.

این بخش با آموزش نحوه اجرای موازی کارها، مدیریت چندین حلقه رویداد و درک عوارض ناشی از آن، مهارت های Node.js شما را به سطح بعدی ارتقا می دهد.


دو ماژول دیگر وجود دارد که در پاییز 2024 به دوره اضافه می شود: درک رمزنگاری و امنیت. در جریان باشید!

اگر در هر مرحله از دوره، گیر کردید یا احساس کردید که در مورد چیزی به توضیح بیشتری نیاز دارید، من در QA حضور خواهم داشت تا در هر مرحله از شروع تا پایان به شما کمک کنم! همین امروز ثبت نام کنید و بیایید بر Node.js مسلط شویم و مهارت های مهندسی پشتیبان خود را به سطح کاملاً جدیدی برسانیم!


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

مقدمه Introduction

  • بررسی اجمالی دوره Course Overview

  • راه اندازی - فقط برای کاربران ویندوز Setting Up - For Windows Users Only

  • راه اندازی - فقط برای کاربران مک Setting Up - For Mac Users Only

  • راه اندازی - فقط برای کاربران لینوکس Setting Up - For Linux Users Only

  • مقدمه ای بر خط فرمان Introduction to the Command Line

  • آموزش نسخه های NVM و Node.js Learning NVM & Node.js Versions

  • Node.js Under the Hood Node.js Under the Hood

آشنایی با EventEmitter Understanding EventEmitter

  • آشنایی با EventEmitter Understanding EventEmitter

  • EventEmitter Object EventEmitter Object

درک بافرها Understanding Buffers

  • مقدمه Introdcution

  • درک اعداد باینری Understanding Binary Numbers

  • درک اعداد هگزادسیمال Understanding Hexadecimal Numbers

  • استفاده از ماشین حساب برنامه نویسی Using a Programming Calculator

  • درک رمزگذاری کاراکترها Understanding Character Encodings

  • مفهوم بافر The Concept of Buffers

  • بافر در عمل Buffers in Action

  • تخصیص بافرهای عظیم Allocating Huge Buffers

  • سریعترین روش تخصیص بافرها Fastest Way of Allocating Buffers

  • خواندن Node.js Docs Reading the Node.js Docs

  • Outro Outro

آشنایی با فایل سیستم Understanding File System

  • مقدمه Introduction

  • فایل دقیقا چیست؟ What Exactly Is a File?

  • نحوه برخورد Node.js با فایل ها How Node.js Deals with Files

  • سه روش مختلف برای انجام یک کار Three Different Ways of Doing the Same Thing

  • نقطه شروع برای ساخت برنامه ما Starting Point for Building Our Application

  • مشاهده فایل فرمان برای تغییرات Watching the Command File for Changes

  • خواندن محتوای فایل فرمان Reading the Content of the Command File

  • پاک کردن کد با استفاده از EventEmitter Cleaning Up the Code using EventEmitter

  • ایجاد حس از داده های خوانده شده Making Sense Out of the Read Data

  • اجرای دستور Create File Implementing the Create File Command

  • تعریف بقیه دستورات Defining the Rest of the Commands

  • راه حل - اجرای تابع deleteFile Solution - Implementing the deleteFile Function

  • راه حل - پیاده سازی تابع renameFile Solution - Implementing the renameFile Function

  • راه حل - اجرای تابع addToFile Solution - Implementing the addToFile Function

  • Outro Outro

درک جریان ها Understanding Streams

  • مقدمه Introduction

  • معیار نوشتن میلیون بار در یک فایل Benchmarking Writing a Million Times to a File

  • استفاده ساده از Streams در راه حل ما Using Streams Naively in Our Solution

  • بنابراین دقیقاً جریان ها چیست؟ So What Exactly Are Streams?

  • درک انواع مختلف جریان Understanding Different Types of Streams

  • رفع مشکل حافظه در برنامه ما Fixing the Memory Issue in Our Program

  • خواندن مستندات Node.js Streams و Recap Reading Writable Streams Node.js Docs and Recap

  • جریان های قابل خواندن در عمل Readable Streams in Action

  • نوشتن انتخابی داده های ما از جریان خواندنی Selectively Writing Our Data from the Readable Stream

  • درک مسئله تقسیم Understanding the Splitting Issue

  • اجرای راه حل و حل مسئله تقسیم Implementing the Solution and Resolving the Splitting Issue

  • خواندن Node.js Docs و Recap Reading Node.js Docs and Recap

  • ساخت راه حل جریانی خودمان با استفاده از بافرها Building Our Own Streaming Solution Using Buffers

  • درک لوله کشی Understanding Piping

  • اجرای جریان قابل نوشتن خودمان Implementing Our Own Writable Stream

  • اجرای جریان خواندنی خودمان Implementing Our Own Readable Stream

  • درک جریان های دوبلکس و تبدیل Understanding Duplex and Transform Streams

  • ایجاد یک برنامه رمزگذاری/رمزگشایی Creating an Encryption/Decryption Application

  • یادداشت های پایانی Final Notes

درک شبکه Understanding Networking

  • مقدمه Introduction

  • آشنایی با آدرس‌های مک و سوئیچ‌ها Understanding MAC Addresses and Switches

  • آشنایی با روترها و نحوه عملکرد اینترنت Understanding Routers and How the Internet Works

  • آشنایی با لایه های شبکه Understanding Networking Layers

  • یک نکته سریع درباره فیلتر کردن در Wireshark A Quick Tip About Filtering in Wireshark

  • ایجاد یک برنامه TCP ساده در Node.js Creating a Simple TCP Application in Node.js

  • درک لایه انتقال - TCP/UDP Understanding the Transport Layer - TCP/UDP

  • سناریوی شبکه سازی در عمل A Networking Scenario in Action

  • درک شماره پورت Understanding Port Numbers

  • نقطه شروع برای ساخت برنامه چت ما Starting Point for Building Our Chat App

  • ایجاد یک برنامه چت قسمت 1 Creating a Chat Application PART 1

  • ایجاد یک برنامه چت قسمت 2 Creating a Chat Application PART 2

  • بهبود رابط کاربری برنامه چت ما Improving the UI of our Chat App

  • شناسایی کاربران در برنامه چت Identifying Users in the Chat App

  • وقتی کسی چت را می‌پیوندد/ترک می‌کند به همه اطلاع می‌دهد Notifying Everyone When Somebody Joins/Leaves the Chat

  • نکته ای درباره رویداد "پایان" در ویندوز A Note About the 'end' Event on Windows

  • چند نکته پایانی درباره برنامه چت Some Final Notes About the Chat App

  • استقرار برنامه چت ما در AWS Deploying our Chat App to AWS

  • دستورات مورد استفاده برای نصب NVM Commands Used for Installing NVM

  • آشنایی با آدرس های IPv4 Understanding IPv4 Addresses

  • آشنایی با DNS Understanding DNS

  • آشنایی با آدرس های IPv6 Understanding IPv6 Addresses

  • نقطه شروع برای ساخت برنامه آپلود کننده ما Starting Point for Building Our Uploader App

  • ایجاد یک اپلیکیشن آپلودر Creating an Uploader Application

  • مراقبت از فشارهای برگشتی در اپلیکیشن آپلودر Taking Care of Backpressures in the Uploader App

  • دریافت نام فایل ها به صورت پویا در برنامه آپلود Getting the File Names Dynamically in the Uploader App

  • نمایش پیشرفت آپلود در برنامه آپلودگر ما Displaying the Upload Progress in Our Uploader App

  • استقرار برنامه آپلود کننده ما Deploying our Uploader App

  • هشدار هزینه AWS - یادآوری خاتمه سرور AWS Cost Warning - Server Termination Reminder

  • آشنایی با UDP و ماژول Dgram Understanding UDP and the Dgram Module

  • Outro Outro

درک HTTP Understanding HTTP

  • مقدمه Introduction

  • ایده HTTP The Idea of HTTP

  • ایجاد یک سرور HTTP ساده در Node Creating a Simple HTTP Server in Node

  • درک پیام‌ها، درخواست‌ها و پاسخ‌های HTTP Understanding HTTP Messages, Requests & Responses

  • آشنایی با انواع اتصالات Understanding Connection Types

  • ساختن مشتری ما و ارسال درخواست Building our Client and Sending a Request

  • ارسال پاسخ به مشتری Sending a Response to the Client

  • آموزش پستچی و تست سرور ما با آن Learning Postman & Testing Our Server with It

  • خواندن برخی از اسناد Reading Some Docs

  • ارسال یک درخواست HTTP به طور مستقیم در بالای TCP! قسمت 1 Sending an HTTP Request Directly on Top of TCP! PART 1

  • ارسال یک درخواست HTTP به طور مستقیم در بالای TCP! قسمت 2 Sending an HTTP Request Directly on Top of TCP! PART 2

  • شبیه سازی سرور HTTP ما با استفاده از ماژول Net Emulating our HTTP Server Using the Net Module

  • آشنایی با انواع رسانه (انواع MIME) Understanding Media Types (MIME Types)

  • آشنایی با روش های HTTP Understanding HTTP Methods

  • آشنایی با کدهای وضعیت HTTP Understanding HTTP status codes

  • ایجاد یک وب سرور ساده در Node Creating a Simple Web Server in Node

  • ارائه یک فایل CSS و جاوا اسکریپت Serving a CSS and JavaScript File

  • افزودن برخی از مسیرهای JSON Adding Some JSON Routes

  • افزودن مسیر آپلود فایل Adding a File Upload Route

  • ایجاد چارچوب کوچک مینی اکسپرس خودمان! Creating our Own Little Mini-Express Framework!

  • ساخت چارچوب ما قوی تر Making our Framework More Robust

  • آماده شدن برای پروژه بعدی ما Getting Ready for Our Next Project

  • استفاده از چارچوب ما برای ایجاد یک برنامه وب Using Our Framework to Create a Web App

  • افزودن مسیر ورود Adding the Login Route

  • آشنایی با پروکسی های HTTP Understanding HTTP Proxies

  • HTTP بدون تابعیت است HTTP is Stateless

  • درک کوکی ها Understanding Cookies

  • شناسایی کاربران برای درخواست های آینده پس از ورود به سیستم Recognizing Users for Future Requests after Logging In

  • ارسال اطلاعات کاربر در نمایه Sending the User’s Info in Profile

  • بهبود چارچوب ما با پشتیبانی Middleware Enhancing Our Framework with Middleware Support

  • تعریف توابع میان افزار Defining the Middleware Functions

  • پیاده سازی مسیرهای ایجاد پست، به روز رسانی کاربر و خروج Implementing the Create Post, Update User, and Logout Routes

  • Outro Outro

آشنایی با یونیکس Understanding Unix

  • مقدمه Introduction

  • یونیکس چیست؟ What Is Unix?

  • چرا باید به یونیکس اهمیت دهیم؟ Why Should We Care About Unix?

  • راه اندازی یونیکس در ویندوز (WSL) - فقط برای کاربران ویندوز Setting Up Unix on Windows (WSL) - For Windows Users Only

  • اولین نگاه به ماژول فرآیند کودک A First Look at the Child Process Module

  • آشنایی با پوسته های یونیکس Understanding Unix Shells

  • رمزگشایی دستور اجرای Bash: نام مستعار، توابع، داخلی ها و مسیر Demystifying Bash Execution Order: Aliases, Functions, Built-ins, and Path

  • چند نکته در مورد مجوزهای فایل یونیکس A Few Notes about Unix File Permissions

  • منبع یابی در بش Sourcing in Bash

  • آشنایی با فایل های پیکربندی پوسته Understanding Shell Config Files

  • فرآیند کودک دقیقاً چیست؟ What Exactly is a Child Process?

  • درک متغیرهای محیطی Understanding Environment Variables

  • آشنایی با سیستم فایل یونیکس، مسیرها و CWD Understanding Unix File System, Paths & CWD

  • درک Stdout، Stdin و Stderr Understanding Stdout, Stdin, and Stderr

  • درک تغییر مسیر لوله ها و خروجی در Bash Understanding Pipes and Output Redirection in Bash

  • ساخت Command Line Utility با Node.js Building a Command Line Utility with Node.js

  • ساخت اپلیکیشن ارتباط عظیم - Node Part Building Massive Communication App - Node Part

  • مقدمه ای بر قسمت C Intro to the C Part

  • یادگیری C - اولین برنامه ما Learning C - Our First App

  • یادگیری C - انواع استاتیک و حافظه ما Learning C - Static Types & Our Memory

  • یادگیری ج - تخصیص حافظه Learning C - Memory Allocation

  • یادگیری ج - خواندن استدلال ها Learning C - Reading the Arguments

  • ساخت اپلیکیشن ارتباط عظیم - قسمت C Building Massive Communication App - C Part

  • فقط اگر قسمت C را رد کردید تماشا کنید Only Watch if You Skipped the C Part

  • راه دیگر IPC - سوکت های دامنه یونیکس Another Way of IPC - Unix Domain Sockets

  • درک خوشه بندی Understanding Clustering

  • خوشه بندی در عمل Clustering in Action

  • نصب و ساخت FFmpeg از کد منبع Installing & Building FFmpeg from Source Code

  • برنامه ویرایشگر ویدیو - راه اندازی و راه اندازی Video Editor App - Setup & Walkthrough

  • افزودن مسیر آپلود Adding the Upload Route

  • معرفی سریع FFmpeg و فایل های ویدئویی Quick Intro to FFmpeg and Video Files

  • ساختن تصویر کوچک و دریافت ابعاد پس از آپلود Making a Thumbnail and Getting the Dimensions After an Upload

  • بازگرداندن لیست ویدیوهای آپلود شده Returning the List of Uploaded Videos

  • افزودن مسیری برای بازگرداندن دارایی های ویدئویی Adding a Route for Returning the Video Assets

  • اضافه کردن یک مسیر برای استخراج صوتی یک فایل ویدیویی Adding a Route to Extract the Audio of a Video File

  • اضافه کردن مسیر تغییر اندازه Adding the Resize Route

  • زمان بندی تغییر اندازه ها Scheduling the Resizes

  • اطلاعات بیشتر در مورد پردازش مبتنی بر صف More on Queue-based Processing

  • از سرگیری عملیات تغییر اندازه برنامه ریزی شده پس از راه اندازی مجدد برنامه Resuming Scheduled Resize Operations Upon App Restart

  • اجرای برنامه ما در حالت کلاستر Running Our Application in Cluster Mode

  • Refactor از Cpeak به Express در کمتر از 20 دقیقه! Refactor from Cpeak to Express in Less than 20 Minutes!

  • Outro Outro

درک فشرده سازی Understanding Compression

  • مقدمه Introduction

  • فشرده سازی بدون اتلاف چگونه کار می کند؟ How Does a Lossless Compression Work?

  • فشرده سازی از دست رفته Lossy Compression

  • Gzip، Brotli و Deflate Gzip, Brotli and Deflate

  • فشرده سازی در HTTP Compression in HTTP

  • فشرده سازی در مقابل کوچک سازی Compression vs. Minification

  • استقرار فشرده سازی بر روی برنامه های ما Deploying Compression onto Our Apps

  • یادداشت های پایانی Final Notes

درک Multi-threading Understanding Multi-Threading

  • مقدمه Introduction

  • راهنمای توسعه دهندگان ماهر چند رشته ای Guide for Skilled Multi-Threaded Developers

  • موضوع دقیقاً چیست؟ What Exactly Is a Thread?

  • نحوه نظارت بر موضوعات در سیستم عامل خود How to Monitor Threads on Your Operating System

  • آشنایی با استفاده از CPU Understanding CPU Usage

  • نخ های تخم ریزی Spawning Threads

  • ارتباط با موضوع از طریق ارسال پیام Thread Communication through Message-Passing

  • مقدمه ای بر برنامه فشرده CPU ما Introduction to Our CPU-Intensive Program

  • افزایش عملکرد با چند نخ Enhancing Performance with Multi-Threading

  • مدیریت عملیات فشرده CPU در سرور HTTP Handling CPU-Intensive Operations in an HTTP Server

  • isMainThread isMainThread

  • CPU-Intensive در مقابل I/O-Intensive CPU-Intensive vs. I/O-Intensive

  • بررسی یک برنامه چند رشته ای Crypto-Heavy Examining a Crypto-Heavy Multi-Threaded App

  • Node.js Thread Pool Node.js Thread Pool

  • توسعه یک Thread Pool از ابتدا Developing a Thread Pool From Scratch

  • استفاده از حلقه رویداد و موضوع اصلی Event Loop Utilization and Main Thread

  • موضوع اصلی را با پردازش دسته ای روشن نگه دارید Keep the Main Thread Light with Batch Processing

  • بدون زحمت قابلیت های Thread Pool خود را گسترش می دهیم Effortlessly Expanding Our Thread Pool Capabilities

  • استخر کارگران را مسدود نکنید! Don’t Block the Worker Pool!

  • رسیدگی به میلیاردها درخواست HTTP Handling Billions of HTTP Requests

  • ارتباط از طریق حافظه مشترک Communication Through Shared Memory

  • ArrayBuffers، SharedArrayBuffers و TypedArrays ArrayBuffers, SharedArrayBuffers, and TypedArrays

  • شرایط مسابقه Race Conditions

  • آشنایی با عملیات اتمی Understanding Atomic Operations

  • درک طرد متقابل Understanding Mutual Exclusion

  • بن بست ها Deadlocks

  • افزایش عملکرد از طریق حافظه مشترک Enhancing Performance Through Shared Memory

  • Multi-Threading بومی با افزونه های C/C++ Native Multi-Threading with C/C++ Addons

  • نگاهی عمیق تر به حلقه رویداد قسمت 1 A Deeper Look at the Event Loop PART 1

  • نگاهی عمیق تر به حلقه رویداد قسمت 2 A Deeper Look at the Event Loop PART 2

  • Outro Outro

درک رمزنگاری Understanding Cryptography

  • محتوا در تولید Content in Production

امنیت Security

  • نگاهی دزدکی به آنچه بعد است Sneak Peek into What's Next

نمایش نظرات

آموزش درک Node.js: مفاهیم اصلی
جزییات دوره
65 hours
200
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,229
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Joseph Heidari Joseph Heidari

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