درک نود جی اس - مفاهیم اصلی
✅ سرفصل و جزئیات آموزش
در این دوره بدون هیچ پکیج NPM دیگری با نود جی اس آشنا می شوید و مهارت های مهندسی بک اند خود را به سطح بعدی ارتقا می دهید.
آنچه یاد خواهید گرفت
- یادگیری برخی از مفاهیم حیاتی مهندسی بک اند
- رسیدن به سطحی که قادر به یادگیری آسان فریمورک ها و کتابخانه های مختلف نود جی اس باشید.
- درک درست و عمیق نود جی اس و آشنایی با پتانسیل کامل آن فراتر از ایجاد وب سرورها
- درک و تسلط به نود جی اس همانطور که هست بدون استفاده از پکیج های NPM دیگر
- درک برخی از مهم ترین مفاهیم سیستم عامل که هر توسعه دهنده بک اند باید بداند.
- توانایی یادگیری و درک آسان مستندات نود جی اس
- یادگیری نحوه مقابله مستقیم با داده باینری و دستکاری 0 ها و 1 ها هر طور که می خواهید.
- یادگیری مهم ترین مفاهیم شبکه سازی و درک اینکه نود جی اس دقیقاً کجا وارد عمل می شود.
- درک دقیق اینکه چه اتفاقی می افتد وقتی اپلیکیشن های بک اند خود را به جای تمرکز روی چند ابزار مستقر می کنید.
- یادگیری نحوه ایجاد اپلیکیشن های سطح پایین شبکه مستقیماً در بالای TCP یا UDP و توسعه پروتکل ها
- درک عمیق HTTP و اینکه چگونه کار می کند.
- کسب درک عمیقی از فایل سیستم
- تسلط به استریم ها برای توسعه اپلیکیشن های با کارایی بالا و حافظه کارآمد با قابلیت پردازش آسان ترابایت داده
- یاد می گیرید که چگونه فشرده سازی را برای افزایش سرعت اپلیکیشن های شبکه خود بگنجانید.
- درک یونیکس و ایجاد دنیایی از امکانات جدید
- آشنایی با آبجکت EventEmitter
- تسلط به Multi-Threading در نود جی اس و دستیابی به بهبود عملکرد قابل توجه
پیش نیازهای دوره
- حداقل یک سال سابقه برنامه نویسی
- آشنایی خوب با جاوا اسکریپت
- اگرچه اجباری نیست، کمی تجربه با ExpressJS و HTML می تواند مفید باشد.
- الزام مهمی نیست، اما برای بخش Multi-Threading، توصیه می شود روی دستگاهی با CPU باشد که حداقل 4 هسته دارد.
توضیحات دوره
به جامع ترین دوره نود جی اس در اینترنت خوش آمدید!
در این دوره قصد داریم بدون اینکه ذهن خود را با ابزارهای دیگر و پکیج های NPM درگیر کنیم، در خود نود جی اس غوطه ور شده و واقعاً به این فناوری قدرتمند مسلط شویم.
این دوره به شدت بر مباحث و اصول علوم کامپیوتر متمرکز است که درک آن ها برای تبدیل شدن به مهندس عالی بک اند ضروری است. فقط در صورتی می توانید نود جی اس را به درستی درک کنید و قدرت کامل آن را کشف کنید که دیگر مباحث علوم کامپیوتر را بدانید. به همین دلیل است که ما این مباحث حیاتی را نیز یاد می گیریم تا بتوانید واقعاً به نود جی اس تسلط داشته باشید و مهارت های مهندسی بک اند خود را به سطح کاملاً جدیدی ببرید.
بیایید در مورد کارهایی که پس از تکمیل برخی از بخش ها به دست خواهید آورد، یک توضیح سریع ارائه دهیم:
- آشنایی با بافرها - در اینجا، بافرها و نحوه کار مستقیم با داده باینری را که برای همه بخش های دیگر ضروری است، عمیقاً درک خواهیم کرد.
- آشنایی با فایل سیستم - به عنوان توسعه دهنده بک اند، شما با فایل ها زیاد کار خواهید کرد، خواه ذخیره برخی داده در دیسک، مدیریت آپلود فایل ها و بسیاری مثال های دیگر باشد، بنابراین ضروری است که درک خوبی از آن ها داشته باشید. پس از تکمیل این بخش همچنین یاد می گیرید که نود جی اس چگونه با فایل ها برخورد می کند و به ماژول «fs» مسلط می شوید.
- آشنایی با استریم ها - در این بخش، ما به استریم ها مسلط می شویم که امکان می دهد اپلیکیشن هایی با کارایی بالا ایجاد کنیم که می توانند به راحتی ترابایت هایی از داده را مدیریت کنند و در عین حال از حافظه عالی استفاده کنند. ما پروژه های کوچک بسیاری را در سراسر این بخش خواهیم ساخت، از جمله اپلیکیشن رمزگذاری-رمزگشایی از ابتدا که می تواند ترابایت داده را با تغییر مستقیم داده باینری رمزگذاری کند. این بخش پایه و اساس بخش های آینده را ایجاد می کند که در آن ما از استریم ها به شدت برای ایجاد اپلیکیشن های شبکه قدرتمند و کارآمد استفاده خواهیم کرد.
- آشنایی با شبکه سازی - نود جی اس در درجه اول برای ایجاد اپلیکیشن های شبکه طراحی شده است، بنابراین بسیار مهم است که ما درک مناسبی از شبکه به دست آوریم، که پس از تکمیل این بخش انجام خواهیم داد.
لیست مباحث تحت پوشش دوره:
- شبکه دقیقا چیست؟
- اینترنت چگونه کار می کند؟
- مک آدرس ها
- آدرس های IPv4 و IPv6
- TCP
- UDP
- DNS
- اصول استقرار
ما 2 اپلیکیشن سطح پایین را فقط با استفاده از نود جی اس، یک اپلیکیشن چت و یک اپلیکیشن آپلود کننده فایل مستقیماً در بالای TCP ایجاد می کنیم و سپس آن ها را بدون استفاده از ابزارهای غیر ضروری در سرور لینوکس به ابتدایی ترین روش مستقر خواهیم کرد.
ما دقیقاً خواهیم دید که در کارت شبکه ما چه اتفاقی می افتد، هر 0 و 1 با یک چیز خاص با استفاده از وایرشارک رد و بدل می شود و شما درک بسیار بهتری از شبکه و اینکه بسیاری از پروتکل های معروف مانند پروتکل های HTTP و FTP، ایمیل، SSH و DNS و بسیاری دیگر چگونه کار می کنند به دست می آورید. این بخش افق دید شما را گسترده تر می کند و متوجه خواهید شد که کارهای بسیار بیشتری می توانید با نود جی اس انجام دهید نه اینکه فقط وب سرورها را ایجاد کنید.
درک HTTP - در این بخش، همه مواردی را که از بخش های قبلی آموخته ایم استفاده و ترکیب می کنیم و در نهایت یک بار برای همیشه HTTP را عمیقاً درک می کنیم. ما نحوه استفاده از Express را یاد نخواهیم گرفت. در عوض، چیزی مشابه را خواهیم ساخت.
ما با درک مهم ترین مفاهیم HTTP، مانند انواع اتصال، مدل کلاینت-سرور، پیام ها، درخواست ها، پاسخ ها، متدهای HTTP، کدهای وضعیت، تایپ های mime، هدرهای ضروری و موارد دیگر شروع می کنیم. سپس یک پروتکل HTTP را مستقیماً در بالای TCP با استفاده از ماژول شبکه شبیه سازی می کنید و دقیقاً تک تک 0 ها و 1 هایی را که با درخواست HTTP و تعامل پاسخ رد و بدل می شوند، مشاهده می کنید.
یونیکس، یکی از تاثیرگذارترین اختراعات فعلی در صنعت نرم افزار، برای مهندسین نرم افزار بسیار مهم است. در این ماژول، ما عمیقاً به برخی از مفاهیم کلیدی مانند Bash، شل ها، IPC، استریم های داده، مدیریت فرآیند، خوشه بندی، حتی مقداری C و بسیاری موارد دیگر خواهیم پرداخت.
ما همچنین برخی ماژول های نود جی اس را درک خواهیم کرد:
- فرآیندهای فرزند
- خوشه
- فرآیند
- مسیر
- کنسول
- سیستم عامل
تمام این مفاهیم یونیکس که در این بخش یاد خواهید گرفت، فوراً در بسیاری از زبان های برنامه نویسی دیگر اعمال می شوند. شما پایه ای به دست خواهید آورد که می توانید برای ایجاد اپلیکیشن های با کیفیت بسیار بالاتر از همیشه به ساخت آن ادامه دهید.
این دوره برای چه کسانی مناسب است؟
- توسعه دهندگانی که از سوئیچ کردن از یک فریمورک به فریمورک دیگر و از یادگیری الگوهای مختلف بی فایده خسته شده اند و حال می خواهند مهارت های خود را افزایش دهند و به یک نقطه خلاقانه برسند.
- توسعه دهندگان خودآموخته نرم افزار که بر مفاهیم علوم کامپیوتر تمرکز نکرده اند.
- توسعه دهندگان نود جی اس که حتی پس از سال ها استفاده از آن هنوز هم احساس می کنند که درکش نکرده اند.
- توسعه دهندگان بک اند که آرزو دارند به جای دنبال کردن روندها، همه مهارت ها را به سطح بعدی ارتقا دهند و تغییر را در صنعت رهبری کنند.
- توسعه دهندگانی که می خواهند مباحث را در سطح بسیار عمیق تری درک کنند.
- دانشجویان علوم کامپیوتر که مشتاق هستند تا دانش آکادمیک خود را در سناریوهای واقعی به کار گیرند.
- توسعه دهندگان مبتدی و متوسط که می خواهند بیاموزند چگونه در مسیر یادگیری خود برای سال های آینده تصمیمات آگاهانه تر و موثرتر بگیرند.
درک نود جی اس - مفاهیم اصلی
-
بررسی دوره 29:43
-
راه اندازی - فقط برای کاربران ویندوز 49:40
-
راه اندازی - فقط برای کاربران مک 59:56
-
راه اندازی - فقط برای کاربران لینوکس 53:05
-
آشنایی با خط فرمان 40:46
-
یادگیری نسخه های NVM و نود جی اس 15:23
-
Under the Hood در نود جی اس 01:36:01
-
آشنایی با EventEmitter 34:05
-
آبجکت EventEmitter None
-
مقدمه 06:47
-
آشنایی با اعداد باینری 13:31
-
آشنایی با اعداد هگزادسیمال 21:09
-
استفاده از ماشین حساب برنامه نویسی 11:48
-
آشنایی با رمزگذاری کاراکترها 25:20
-
مفهوم بافرها 07:34
-
بافرها در عمل 38:46
-
تخصیص بافرهای عظیم 18:14
-
سریع ترین روش تخصیص بافرها 20:58
-
خواندن مستندات نود جی اس 14:01
-
جمع بندی 02:08
-
مقدمه 11:18
-
فایل دقیقا چیست؟ 07:31
-
چگونه نود جی اس با فایل ها برخورد می کند؟ 04:05
-
سه روش مختلف برای انجام یک کار 14:42
-
مشاهده فایل فرمان برای تغییرات 13:32
-
خواندن محتوای فایل فرمان 18:40
-
پاکسازی کد با استفاده از EventEmitter 04:22
-
درک داده خوانده شده 03:53
-
پیاده سازی فرمان Create File 15:36
-
تعریف بقیه فرمان ها 15:20
-
راه حل - پیاده سازی تابع deleteFile 11:06
-
راه حل - پیاده سازی تابع renameFile 03:38
-
راه حل - پیاده سازی تابع addToFile 11:06
-
جمع بندی 01:06
-
مقدمه 04:51
-
بنچ مارکینگ نوشتن یک میلیون بار در یک فایل 26:25
-
استفاده ساده از استریم ها در راه حل 07:57
-
بنابراین دقیقاً استریم چیست؟ 08:58
-
درک انواع مختلف استریم ها 17:52
-
فیکس کردن مشکل حافظه در برنامه 36:54
-
خواندن مستندات استریم های قابل نوشتن نود جی اس و جمع بندی 09:48
-
استریم های خواندنی در عمل 21:35
-
نوشتن انتخابی داده از استریم خواندنی 09:17
-
درک مشکل تقسیم 16:56
-
پیاده سازی راه حل و حل مشکل تقسیم 16:27
-
خواندن مستندات نود جی اس و جمع بندی 08:03
-
ساخت راه حل استریمینگ با استفاده از بافرها 23:30
-
آشنایی با پایپینگ 25:42
-
پیاده سازی استریم قابل نوشتن 42:28
-
پیاده سازی استریم خواندنی 20:01
-
آشنایی با استریم های دوبلکس و تبدیل 17:26
-
ایجاد اپلیکیشن رمزگذاری و رمزگشایی 39:02
-
نکات پایانی 26:04
-
مقدمه 11:59
-
آشنایی با مک آدرس ها و سوئیچ ها 15:02
-
آشنایی با مسیریاب ها و نحوه عملکرد اینترنت 15:15
-
آشنایی با لایه های شبکه سازی 16:28
-
ایجاد اپلیکیشن TCP ساده در نود جی اس 24:43
-
آشنایی با لایه انتقال - TCP و UDP 13:02
-
سناریوی شبکه سازی در عمل 25:18
-
آشنایی با شماره های پورت 12:02
-
ایجاد اپلیکیشن چت - بخش 1 29:46
-
ایجاد اپلیکیشن چت - بخش 2 34:18
-
بهبود رابط کاربری اپلیکیشن چت 21:34
-
شناسایی کاربران در اپلیکیشن چت 18:46
-
وقتی کسی به چت جوین می شود و یا چت را ترک می کند به همه اطلاع رسانی شود 04:09
-
چند نکته پایانی درباره اپلیکیشن چت 15:26
-
استقرار اپلیکیشن چت در AWS 34:30
-
آشنایی با آدرس های IPv4 40:09
-
آشنایی با DNS 31:36
-
آشنایی با آدرس های IPv6 26:44
-
ایجاد اپلیکیشن Uploader 26:02
-
مراقبت از Backpressures در اپلیکیشن Uploader 33:15
-
دریافت نام فایل ها به صورت پویا در اپلیکیشن Uploader 20:43
-
نمایش پیشرفت آپلود در اپلیکیشن Uploader 16:02
-
استقرار اپلیکیشن Uploader 20:05
-
آشنایی با UDP و ماژول Dgram 32:37
-
جمع بندی 01:30
-
مقدمه 10:38
-
ایده HTTP 07:00
-
ایجاد سرور HTTP ساده در Node 15:09
-
آشنایی با پیام ها، درخواست ها و پاسخ های HTTP 12:51
-
آشنایی با انواع اتصالات 16:12
-
ساخت کلاینت و ارسال درخواست 21:10
-
ارسال پاسخ به کلاینت 12:43
-
یادگیری Postman و تست سرور با آن 25:35
-
خواندن برخی مستندات 28:33
-
ارسال درخواست HTTP به طور مستقیم در بالای TCP - بخش 1 20:05
-
ارسال درخواست HTTP به طور مستقیم در بالای TCP - بخش 2 22:05
-
شبیه سازی سرور HTTP با استفاده از ماژول Net 11:19
-
آشنایی با انواع رسانه (انواع MIME) 16:51
-
آشنایی با متدهای HTTP 21:36
-
آشنایی با کدهای وضعیت HTTP 15:04
-
ایجاد وب سرور ساده در Node 18:22
-
ارائه فایل CSS و جاوا اسکریپت 22:05
-
افزودن برخی از مسیرهای جی سان 07:54
-
افزودن مسیر آپلود فایل 13:01
-
ایجاد فریمورک کوچک Mini-Express 23:18
-
قوی تر کردن فریمورک ما 15:04
-
آمادگی برای پروژه بعدی 11:25
-
استفاده از فریمورک ما برای ایجاد وب اپلیکیشن 16:15
-
افزودن مسیر لاگین 21:15
-
آشنایی با پروکسی های HTTP 18:18
-
HTTP در واقع Stateless است 12:57
-
آشنایی با کوکی ها 13:07
-
شناسایی کاربران برای درخواست های آینده پس از لاگین شدن 18:15
-
ارسال اطلاعات کاربر در پروفایل 09:14
-
بهبود فریمورک ما با پشتیبانی میان افزار 23:04
-
تعریف توابع میان افزار 18:07
-
پیاده سازی مسیرهای ایجاد پست، بروزرسانی کاربر و خروج کاربر از سیستم 25:02
-
جمع بندی 02:53
-
مقدمه 13:09
-
یونیکس چیست؟ 10:49
-
چرا باید به یونیکس اهمیت دهیم؟ 04:40
-
راه اندازی یونیکس در ویندوز (WSL) - فقط برای کاربران ویندوز 20:17
-
اولین بررسی ماژول فرآیند فرزند 16:06
-
آشنایی با شل های یونیکس 40:06
-
رمزگشایی ترتیب اجرای Bash - بررسی Aliases، توابع، داخلی ها و مسیر 27:03
-
چند نکته در مورد مجوزهای فایل یونیکس 14:19
-
منبع یابی در Bash 05:11
-
آشنایی با فایل های پیکربندی شل 38:08
-
فرآیند فرزند دقیقاً چیست؟ 24:08
-
آشنایی با متغیرهای محیطی 14:09
-
آشنایی با فایل سیستم یونیکس، مسیرها و CWD 49:06
-
آشنایی با Stdout و Stdin و Stderr 33:02
-
آشنایی با پایپ ها و ریدایرکشن خروجی در Bash 12:08
-
ساخت یوتیلیتی خط فرمان با نود جی اس 17:07
-
ساخت اپلیکیشن ارتباطات عظیم با Node 18:29
-
آشنایی با زبان C 11:05
-
یادگیری C - اولین اپلیکیشن ما 12:32
-
یادگیری C - تایپ های استاتیک و حافظه 42:33
-
یادگیری C - تخصیص حافظه 31:14
-
یادگیری C - خواندن آرگومان ها 04:37
-
ساخت اپلیکیشن ارتباطات عظیم - زبان C 50:39
-
فقط اگر بخش C را رد کردید تماشا کنید 09:48
-
روش دیگر IPC - سوکت های دامنه یونیکس 21:29
-
آشنایی با خوشه بندی 32:58
-
خوشه بندی در عمل 45:32
-
نصب و ساخت FFmpeg از کد منبع 12:11
-
اپلیکیشن ویرایشگر ویدئو - راه اندازی و بررسی 37:59
-
افزودن مسیر آپلود 35:47
-
مقدمه سریع FFmpeg و فایل های ویدئویی 20:02
-
ساخت Thumbnail و دریافت ابعاد پس از آپلود 25:15
-
بازگردانی لیست ویدئوهای آپلود شده 04:15
-
افزودن مسیر برای بازگردانی دارایی های ویدئویی 23:57
-
افزودن مسیر برای استخراج صوتی یک فایل ویدئویی 15:49
-
افزودن مسیر تغییر اندازه 19:20
-
زمانبندی تغییر اندازه ها 25:27
-
اطلاعات بیشتر در مورد پردازش مبتنی بر صف 16:31
-
از سرگیری عملیات های تغییر اندازه زمانبندی شده پس از ری استارت اپلیکیشن 19:27
-
اجرای اپلیکیشن در حالت خوشه 31:16
-
ریفکتور کردن از Cpeak به Express در کمتر از 20 دقیقه 07:40
-
جمع بندی 22:42
-
مقدمه 24:03
-
فشرده سازی Lossless چگونه کار می کند؟ 29:39
-
فشرده سازی Lossy 21:00
-
Gzip و Brotli و Deflate 30:49
-
فشرده سازی در HTTP 18:11
-
فشرده سازی در مقابل کوچک سازی 05:59
-
استقرار فشرده سازی روی اپلیکیشن های ما 24:12
-
نکات پایانی 11:37
-
مقدمه 12:22
-
راهنمای توسعه دهندگان ماهر Multi-Threaded 11:15
-
Thread دقیقا چیست؟ 39:58
-
چگونه Threads را در سیستم عامل خود نظارت کنیم؟ 07:49
-
آشنایی با استفاده از CPU 08:59
-
Spawn کردن Threads 23:24
-
ارتباط با Thread از طریق ارسال پیام 33:27
-
آشنایی با برنامه فشرده CPU ما 11:57
-
افزایش عملکرد با Multi-Threading 23:02
-
مدیریت عملیات های فشرده CPU در سرور HTTP 30:40
-
isMainThread 06:18
-
CPU-Intensive در مقابل I/O-Intensive 10:40
-
بررسی اپلیکیشن Crypto-Heavy Multi-Threaded 18:46
-
استخر Thread در نود جی اس 17:45
-
توسعه استخر Thread از ابتدا 30:51
-
استفاده از حلقه رویداد و Main Thread 11:45
-
سبک نگه داشتن Main Thread با پردازش دسته ای 21:46
-
گسترش بدون زحمت قابلیت های استخر Thread 06:00
-
آنبلاک کردن Worker Pool 07:38
-
مدیریت میلیاردها درخواست های HTTP 35:10
-
ارتباط از طریق حافظه مشترک 19:28
-
ArrayBuffers و SharedArrayBuffers و TypedArrays 16:49
-
شرایط رقابت 17:25
-
آشنایی با عملیات های اتمیک 18:10
-
آشنایی با انحصار متقابل 22:47
-
ددلاک ها 21:02
-
افزایش عملکرد از طریق حافظه مشترک 21:02
-
Multi-Threading نیتیو با افزونه های ++C و C 43:32
-
نگاهی عمیق تر به حلقه رویداد - بخش 1 37:11
-
نگاهی عمیق تر به حلقه رویداد - بخش 2 34:18
-
جمع بندی 02:59
مشخصات آموزش
درک نود جی اس - مفاهیم اصلی
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:192
- مدت زمان :64:53:52
- حجم :36.1GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy