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

یک سرور وب سوکت با Node.js بسازید - بدون هیچ کتابخانه‌ - 2024

یک سرور وب سوکت با Node.js بسازید - بدون هیچ کتابخانه‌ - 2024

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

در این دوره پیشرفته سرور وب سوکت برای همه، شما یاد خواهید گرفت که یک سرور وب سوکت را از ابتدا با استفاده از جاوا اسکریپت و بدون هیچ کتابخانه‌ ای بسازید.

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

  • یک سرور سفارشی بسازید که بتواند قطعات بزرگ داده وب سوکت را دریافت کنید.
  • به مفاهیم فرگمنتاسیون، استریمینگ و chunks (تقسیم ها) مسلط شوید.
  • تجزیه بیتی (عملگرهای شیفت، AND ،OR و XOR) را بیاموزید.
  • با بافرها آشنا شده و کار کنید.
  • درک عمیقی از وب‌ سوکت‌ های خالص (بدون کتابخانه) بدست آورید.
  • پردازش باینری داده‌ وب سوکت
  • از دیباگر برای تست و فیکس کردن کد سرور استفاده کنید.
  • با SHA-hashing و ماژول کریپتو آشنا خواهید شد.

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

  • دانش پایه از وب‌ سوکت‌ ها الزامی می باشد.
  • دانش پایه از جاوا اسکریپت و HTML مفید خواهد بود.

توضیحات دوره

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

1. ایجاد سرور HTTP اولیه:

  • شروع به راه‌ اندازی یک سرور HTTP کنید که به عنوان پایه و اساس اتصال وب سوکت شما عمل خواهد کرد.

2. پیاده‌ سازی فرآیند Handshake:

  • یاد بگیرید چگونه مقدار Sec-WebSocket-Accept را روی سرور محاسبه کرده و هدرهای مورد نیاز را برای ارتقای اتصال HTTP به یک اتصال وب سوکت ارسال کنید.

3. دریافت داده‌ وب سوکت:

  • درک کنید چگونه به رویدادهای داده بر روی اتصال وب سوکت را Listen کنید.
  • اطلاعات مهم را از فریم‌ های وب سوکت، از جمله opcode ،FIN bit و فیلدهای payload length استخراج کنید.
  • یاد بگیرید چگونه Masking Key از کلاینت و استفاده از آن برای رمزگشایی داده‌ دریافتی را استخراج کنید.

4. ارسال داده‌ وب سوکت:

  • ساختار فریم‌ های داده وب سوکت را آنپک کنید.
  • فریم‌ های باینری را ساخته و از طریق سیم به کلاینت ارسال کنید.

5. مدیریت فریم‌ های Closure و Handshake پایانی:

  • بیاموزید چگونه انواع مختلف فریم‌ های وب سوکت، از جمله فریم‌ های closure را پردازش کنید.
  • درک کنید چگونه کدهای closure و دلایل آنها را هم در سمت کلاینت و هم در سمت سرور استخراج کنید.
  • کشف کنید چگونه یک فریم close را به کلاینت ارسال کنید و به صورت صحیح اتصال وب سوکت زیرین را مطابق با RFC ببندید.

مفاهیم پیشرفته مورد بررسی

  • بافرها و تجزیه بیتی: به استفاده از بافرها و عملیات بیتی را برای تجزیه و ساخت فریم‌ های وب سوکت مسلط شوید. این مفاهیم در اکثر زبان‌ های برنامه‌ نویسی دیگر مانند PHP، پایتون، C++ ، C، جاوا و غیره نیز استفاده می‌ شوند و شما را برای موفقیت آماده می‌ کنند.
  • Chunking و Fragmentation: یاد بگیرید چگونه پی لودهای بزرگ را با Chunking و Fragmentation داده‌ مطابق با پروتکل وب سوکت مدیریت کنید.
  • خواندن و نوشتن در بافرها: درک کنید چگونه به صورت موثر از بافرها خوانده و به آن بنویسید.
  • SHA-hashing: یاد بگیرید چگونه SHA-1hashing را برای WebSocket handshake انجام دهید.
  • بررسی بسته‌ های داده: بینش‌ هایی در مورد بررسی و پردازش بسته‌ های داده با استفاده از عملگرهای بیتی بدست آورید.
  • رمزگذاری و رمزگشایی داده‌: درک کنید چگونه داده‌ را با استفاده از Masking Key و عملگر مدول، رمزگذاری و رمزگشایی می شود.
  • و خیلی موارد دیگر...

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

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

یک سرور وب سوکت با Node.js بسازید - بدون هیچ کتابخانه‌ - 2024

  • مقدمه 06:25
  • برای ساخت یک سرور وب سوکت، باید با RFC سازگار باشیم 04:02
  • پایه و مبنای راه‌ اندازی یک سرور وب سوکت None
  • بررسی HTML و CSS 07:36
  • سرور HTTP خود را راه اندازی کنید 08:28
  • ایجاد ماژول‌ های سفارشی و تکمیل سرور HTTP 03:55
  • پیاده‌ سازی مدیریت خطای اولیه 05:47
  • استفاده از "اجرا و اشکال‌ زدایی" برای بررسی حلقه forEach 04:05
  • کد مدیریت خطای خود را تست کنیم 04:30
  • ایجاد وب سرور None
  • استفاده از upgrade" event listener" برای دریافت آبجکت مهم 08:03
  • بررسی آبجکت درخواست در ترمینال 06:11
  • خواندن هدرهای درخواست handshake ابتدایی کلاینت 18:14
  • ارسال پاسخ "400 Bad Request" در صورتی که هدرهای Client Handshake ناموفق باشد 11:43
  • تولید آبجکت هدرهای پاسخ سرور 05:47
  • استخراج Sec-WebSocket-Key و استفاده از ماژول crypto 07:00
  • تایم اوت - SHA-hashing و ماژول crypto چیست؟ 04:14
  • تولید مقدار Sec-WebSocket-Accept و ارسال هدرها به کلاینت 06:09
  • کد خود را تست کنید و یک اتصال معتبر وب سوکت باز کنیم 07:45
  • برقراری اتصال وب سوکت None
  • فایل خود را برای هدف بعدی راه اندازی کنیم 02:14
  • آبجکت socket از کلاس stream.Duplex ارث می‌ برد 05:40
  • data event handler خود را تعریف کنیم 05:15
  • برش سریع - end" event listener" به آبجکت socket خود بیفزاییم 02:00
  • تعریف تابع ()processBuffer 09:32
  • ساختار فریم باینری وب سوکت 05:40
  • کدنویسی تابع حلقه‌ ای مدیریت تسک 09:08
  • استخراج 2 بایت اول داده از فریم داده وب سوکت 08:45
  • بافر چیست؟ 09:36
  • چرا حرف "a" به عنوان 7 بایت ارسال می‌ شود؟ 05:19
  • استفاده از ابزار دیباگر یا اشکال‌ زدایی برای تحلیل کد 13:13
  • استخراج بیت FIN 07:14
  • عملگرهای بیتی 08:23
  • استخراج اطلاعات MASK ،OPCODE و LENGTH اولیه 03:58
  • راه اندازی کد برای استخراج جزئیات Payload Length 03:46
  • سه دسته بندی Payload Lengths 04:31
  • محاسبه Payload Length 15:00
  • بررسی های Payload Length 05:46
  • استخراج Masking Key 06:30
  • تعریف متد ()getPayload 13:36
  • استخراج یک فریم کامل داده (ماسک شده) 13:44
  • Unmask کردن پی لود فریم 06:38
  • عملگر modulus چیست؟ 03:55
  • ایجاد آرایه قطعات دائمی و بررسی فریم‌ های بیشتر (بررسی بیت FIN) 07:34
  • پی لودهای کوچک - استفاده از دیباگر برای تحلیل منطق 14:55
  • خطا در متد ()consumePayload خود را فیکس کنیم 04:43
  • افزودن دکمه Prepopulate به HTM 07:41
  • پی لودهای متوسط - استفاده از دیباگر برای تحلیل منطق 09:45
  • پی لودهای بزرگ: قسمت 1 از 3: آشنایی با منطق ()getLength 07:28
  • پی لودهای بزرگ: قسمت 2 از 3: انتظار برای قطعات اضافی 05:39
  • پی لودهای بزرگ: قسمت 3 از 3: پردازش کلی پی لود به فرگمنت ها 14:02
  • کامنت های بهینه سازی ها و افزودن بررسی‌ های opcode 09:58
  • پیشرفته - تفاوت اندازه قطعات بین محیط دیباگر و محیط عملیاتی 11:05
  • متد ()getInfo_ خود را بهبود دهیم 04:13
  • دریافت داده وب سوکت None
  • آماده‌ سازی فایل‌ های پروژه آماده برای ارسال داده به کلاینت 04:23
  • محاسبه‌ اندازه فیلد هدر با طول متغیر 09:51
  • ایجاد بلوپرینت بافر فریم باینری 03:26
  • ایجاد اولین بایت فریم 04:30
  • چرا تصمیم گرفتیم Opcode را روی باینری تنظیم کنیم؟ 01:13
  • پاپولیت کردن هدر فریم با داده 10:42
  • ارسال فریم به کلاینت 04:15
  • تست اینکه آیا کلاینت، فریم را دریافت کرده است یا خیر 06:00
  • ایجاد یک تابع ()reset 03:36
  • استفاده از ابزار دیباگر برای بررسی کد 07:18
  • نمایش پیام وب سوکت بر روی سمت کلاینت 09:32
  • ارسال داده وب سوکت None
  • کد پروژه را راه اندازی کرده و هدف کوچکمان را تعریف کنیم 05:06
  • Handshake پایانی 02:54
  • استخراج بدنه (کد و دلیل Closure) مربوط به فریم Close 08:34
  • ساختار فریم Close 03:20
  • ساخت بافر پی لود برای فریم Close 09:26
  • تکمیل و ارسال فریم Close نهایی به کلاینت 05:24
  • کد خود را تست کنیم 03:44
  • استفاده از Wireshark برای تسلط به فرآیند TCP closure 05:19
  • بررسی نوع داده "ping" و "pong" و پی لودهای بزرگتر از حداکثر اندازه 06:42
  • استخراج پاسخ سرور از آبجکت CloseEvent 03:24
  • ارسال فریم Closure اگر بیت ماسکینگ توسط کلاینت به درستی تنظیم نشده باشد 01:38
  • بررسی اینکه آیا کلاینت کد Closure را ارسال کرده است یا خیر 02:10
  • نمایش پیام Closure پیش‌ فرض (برای رویداد Closure عادی) 00:22
  • فیکس کردن کامنت ها و حذف متن پاسخ سرور هنگام ایجاد اتصال جدید 03:02
  • اعتبارسنجی سمت سرور برای متن 05:15
  • فیکس کردن مشکل ریفرش که باعث از بین رفتن سرور می‌ شود 05:06
  • انتخاب اتصال وب سوکت None

3,653,500 730,700 تومان

مشخصات آموزش

یک سرور وب سوکت با Node.js بسازید - بدون هیچ کتابخانه‌ - 2024

  • تاریخ به روز رسانی: 1404/06/14
  • سطح دوره:متوسط
  • تعداد درس:84
  • مدت زمان :09:15:25
  • حجم :5.28GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی: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
  • سطح دوره:
  • زبان: دوبله فارسی

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

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