آموزش کار با WebSockets در Go (Golang)

Working with WebSockets in Go (Golang)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: نحوه ساخت برنامه های بسیار تعاملی و پاسخگو با استفاده از WebSockets و Go نحوه کار با Websockets در Go (Golang) نحوه ساخت یک برنامه بلادرنگ و پاسخگو با استفاده از سوکت های وب نحوه اتصال به سرویس های شخص ثالث مانند Pusher و نحوه استفاده از خدمات خودمان سرویس سازگار با Pusher خود میزبانی چگونه یک برنامه وب نظارت بر سرور در زمان واقعی بسازیم نحوه برنامه ریزی رویدادهای دوره ای در Go نحوه نوشتن تست برای کنترل کننده های وب سوکت اصول اولیه ساخت یک برنامه وب امن در Go نحوه ارسال پیام کوتاه با Go با استفاده از Go Twilio پیش نیازها: دانش اولیه زبان برنامه نویسی Go دانش پایه جاوا اسکریپت یک کامپیوتر متصل به اینترنت (ویندوز، مک یا لینوکس)

WebSockets فناوری است که به توسعه دهندگان اجازه می دهد تا برنامه های وب بسیار تعاملی و بسیار سریع بسازند. از آنجایی که WebSocket ها توسط همه مرورگرهای مدرن پشتیبانی می شوند و اکنون سال هاست پشتیبانی می شوند، دلیلی وجود ندارد که نتوان آنها را در هیچ برنامه وب مدرن پیاده سازی کرد. این دوره به شما نحوه کار با WebSockets با Go را نشان می دهد.

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

در مرحله بعد، از یک سرور سازگار با Pusher (یا خود Pusher، در صورت تمایل) استفاده می کنیم و از آن سرور به عنوان واسطه پیام بین برنامه وب خود و همه مشتریان متصل استفاده می کنیم.

من کاملاً معتقدم که یادگیری نحوه استفاده از یک فناوری خاص هنگام استفاده از آن در یک موقعیت واقعی بهترین کار را دارد. اغلب اوقات، آموزش‌ها و دوره‌های آموزشی بیش از حد آنچه را که می‌خواهند آموزش دهند، ساده می‌کنند و محیطی مصنوعی ایجاد می‌کنند که در آن چیزها به قدری ساده هستند که آنچه آموزش داده می‌شود به اندازه کافی آسان به نظر می‌رسد، اما هنگام تلاش برای پیاده‌سازی آن در یک مکان پیچیده‌تر، بلافاصله با مشکل مواجه می‌شوید. پروژه بنابراین، برای پیاده‌سازی و یادگیری در مورد WebSockets و Pusher، ما یک برنامه وب ایجاد می‌کنیم که سرورها و میزبان‌های راه دور را نظارت می‌کند و به ما اطلاع می‌دهد که سرویسی از کار بیفتد یا دوباره بالا بیاید. ما اعلان‌ها را در زمان واقعی با استفاده از WebSockets ارسال می‌کنیم (که محتوای مناسب را در صفحات در حال مشاهده توسط همه مشتریان متصل به روز می‌کند)، از طریق ایمیل، و به عنوان یک امتیاز، نحوه ارسال اعلان‌ها با استفاده از پیام‌های متنی (SMS) را نیز یاد خواهیم گرفت. ) با Twilio .


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

معرفی و راه اندازی Introduction & Setup

  • معرفی Introduction

  • درمورد من About me

  • در حال نصب Go Installing Go

  • در حال نصب Go Installing Go

  • نصب IDE Installing an IDE

معرفی و راه اندازی Introduction & Setup

  • معرفی Introduction

  • درمورد من About me

  • نصب IDE Installing an IDE

اولین پروژه ما: چت Our First Project: Chat

  • قراره چی بسازیم؟ What are we going to build?

  • قراره چی بسازیم؟ What are we going to build?

  • راه اندازی یک اپلیکیشن ساده Setting up a simple application

  • راه اندازی یک اپلیکیشن ساده Setting up a simple application

  • ایجاد یک کنترل کننده برای "ارتقا" اتصال به سوکت های وب Creating a handler to "upgrade" a connection to websockets

  • ایجاد یک کنترل کننده برای "ارتقا" اتصال به سوکت های وب Creating a handler to "upgrade" a connection to websockets

  • اتصال به نقطه پایانی وب سوکت Connecting to the websocket endpoint

  • اضافه کردن کنترل کننده رویداد سوکت اضافی Adding additional socket event handlers

  • بهبود نقطه پایانی WS ما و راه‌اندازی برنامه‌های خروجی Improving our WS endpoint, and setting up go outines

  • لیست کردن کاربران Listing users

  • لیست کردن کاربران Listing users

  • رفع مشکل ناپدید شدن کاربران Fixing a problem with disappearing users

  • یک اصلاح جزئی One minor fix

  • ارسال پیام Sending messages

  • تمیز کردن چیزها Cleaning things up

  • تمیز کردن چیزها Cleaning things up

  • اگر سرور از بین برود چه؟ اتصال مجدد بدون درد What if the server goes away? Reconnecting painlessly

  • اضافه کردن نشانگر وضعیت سرور Adding server status indicator

  • اضافه کردن نشانگر وضعیت سرور Adding server status indicator

  • بررسی جاوا اسکریپت برای برقراری ارتباط از طریق وب سوکت ها Review of Javascript for communicating over websockets

  • بررسی جاوا اسکریپت برای برقراری ارتباط از طریق وب سوکت ها Review of Javascript for communicating over websockets

اولین پروژه ما: چت Our First Project: Chat

  • قراره چی بسازیم؟ What are we going to build?

  • اتصال به نقطه پایانی وب سوکت Connecting to the websocket endpoint

  • اضافه کردن کنترل کننده رویداد سوکت اضافی Adding additional socket event handlers

  • بهبود نقطه پایانی WS ما و راه‌اندازی برنامه‌های خروجی Improving our WS endpoint, and setting up go outines

  • رفع مشکل ناپدید شدن کاربران Fixing a problem with disappearing users

  • یک اصلاح جزئی One minor fix

  • ارسال پیام Sending messages

  • تمیز کردن چیزها Cleaning things up

  • اگر سرور از بین برود چه؟ اتصال مجدد بدون درد What if the server goes away? Reconnecting painlessly

پروژه دوم: Vigilate، یک سیستم نظارت بر سرور Project II: Vigilate, a server monitoring system

  • قراره چی بسازیم؟ What are we going to build?

  • قراره چی بسازیم؟ What are we going to build?

  • Postgres و Postgres Client را نصب کنید Install Postgres and a Postgres Client

  • Postgres و Postgres Client را نصب کنید Install Postgres and a Postgres Client

  • نصب کد منبع پروژه شروع Installing the starter project's source code

  • رفع یک اشتباه تایپی در config.yml Fixing a typo in the config.yml

  • رفع یک اشتباه تایپی در config.yml Fixing a typo in the config.yml

  • اتصال به Pusher Connecting to Pusher

  • ارائه یک رویداد به مشتری Pushing an event to the client

  • ارائه یک رویداد به مشتری Pushing an event to the client

  • اتصال به سرور Pusher در جاوا اسکریپت Connecting to a Pusher server in Javascript

  • اتصال به سرور Pusher در جاوا اسکریپت Connecting to a Pusher server in Javascript

پروژه دوم: Vigilate، یک سیستم نظارت بر سرور Project II: Vigilate, a server monitoring system

  • قراره چی بسازیم؟ What are we going to build?

  • نصب کد منبع پروژه شروع Installing the starter project's source code

  • اتصال به Pusher Connecting to Pusher

راه اندازی برنامه ما Setting up our Application

  • تنظیم برخی جداول پایگاه داده Setting up some database tables

  • راه اندازی مدل ها Setting up models

  • راه اندازی مدل ها Setting up models

  • ایجاد فرم ها برای هاست ما Creating forms for our hosts

  • افزودن اعتبار سنجی فرم، و راه اندازی یک کنترل کننده برای ارسال داده ها Adding form validation, and setting up a handler for posting data

  • ارسال اطلاعات به فرم میزبان ما Passing data to our host form

  • ارسال اطلاعات به فرم میزبان ما Passing data to our host form

  • قرار دادن هاست در پایگاه داده Inserting a host into the database

  • دریافت و به روز رسانی هاست Getting and and updating a host

  • دریافت و به روز رسانی هاست Getting and and updating a host

  • تغییر کنترل کننده پست برای میزبانی برای به روز رسانی Modifying the post handler for hosts to update

  • تغییر کنترل کننده پست برای میزبانی برای به روز رسانی Modifying the post handler for hosts to update

  • دریافت همه هاست ها و نمایش در صفحه Getting all hosts and displaying on page

  • دریافت همه هاست ها و نمایش در صفحه Getting all hosts and displaying on page

  • اضافه کردن خدمات به هاست 1 Adding services to a host 1

  • اضافه کردن خدمات به هاست 1 Adding services to a host 1

  • اضافه کردن خدمات به هاست 2 Adding services to a host 2

  • افزودن خدمات به هاست 3 Adding services to a host 3

  • افزودن خدمات به هاست 4 Adding services to a host 4

  • افزودن خدمات به هاست 4 Adding services to a host 4

  • توابع پایگاه داده برای افزودن/حذف سرویس از میزبان Database functions to add/remove a service from host

  • فهرست کردن خدمات میزبان به روشی هوشمندتر Listing host services in a more intelligent way

  • فهرست کردن خدمات میزبان به روشی هوشمندتر Listing host services in a more intelligent way

  • فهرست کردن همه خدمات در صفحه نمای کلی Listing all services on overview page

  • نمایش تعداد وضعیت خدمات در صفحه نمای کلی Showing service status counts on overview page

  • نمایش تعداد وضعیت خدمات در صفحه نمای کلی Showing service status counts on overview page

  • لیست تمام خدمات بر اساس وضعیت List all services by status

  • به روز رسانی برای Go 1.16 Updates for Go 1.16

  • اضافه کردن وضعیت سرویس به صفحه میزبان Adding service status to the host page

  • اضافه کردن وضعیت سرویس به صفحه میزبان Adding service status to the host page

  • از نظر بصری چیزها را کمی جذاب تر می کند Making things a bit more visually appealing

  • از نظر بصری چیزها را کمی جذاب تر می کند Making things a bit more visually appealing

  • آزمایش دستی سرویس میزبان 1 Manually Testing a host service 1

  • تست دستی سرویس میزبان 2 Manually Testing a host service 2

  • تست دستی سرویس میزبان 2 Manually Testing a host service 2

  • تست دستی سرویس میزبان 3 Manually testing a host service 3

  • تست دستی سرویس میزبان 3 Manually testing a host service 3

  • تست دستی سرویس میزبان 4 Manually testing a host service 4

  • تست دستی سرویس میزبان 4 Manually testing a host service 4

  • تست دستی سرویس میزبان 5 Manually testing a host service 5

  • تست دستی سرویس میزبان 5 Manually testing a host service 5

  • ارسال درخواست AJAX برای آزمایش یک سرویس Sending an AJAX request to test a service

  • ارسال درخواست AJAX برای آزمایش یک سرویس Sending an AJAX request to test a service

راه اندازی برنامه ما Setting up our Application

  • تنظیم برخی جداول پایگاه داده Setting up some database tables

  • ایجاد فرم ها برای هاست ما Creating forms for our hosts

  • افزودن اعتبار سنجی فرم، و راه اندازی یک کنترل کننده برای ارسال داده ها Adding form validation, and setting up a handler for posting data

  • قرار دادن هاست در پایگاه داده Inserting a host into the database

  • اضافه کردن خدمات به هاست 2 Adding services to a host 2

  • افزودن خدمات به هاست 3 Adding services to a host 3

  • توابع پایگاه داده برای افزودن/حذف سرویس از میزبان Database functions to add/remove a service from host

  • فهرست کردن همه خدمات در صفحه نمای کلی Listing all services on overview page

  • لیست تمام خدمات بر اساس وضعیت List all services by status

  • به روز رسانی برای Go 1.16 Updates for Go 1.16

  • آزمایش دستی سرویس میزبان 1 Manually Testing a host service 1

خدمات مانیتورینگ Monitoring Services

  • تنظیم برنامه برای نظارت بر خدمات Setting up a schedule to monitor services

  • یک نکته: به روز رسانی روتر چی An Aside: Updating the chi router

  • مانیتورینگ قسمت 2 Monitoring part 2

  • مانیتورینگ قسمت 3 Monitoring part 3

  • مانیتورینگ قسمت 4 Monitoring part 4

  • مانیتورینگ قسمت 4 Monitoring part 4

  • مانیتورینگ قسمت 5 Monitoring part 5

  • مانیتورینگ قسمت 5 Monitoring part 5

  • مانیتورینگ قسمت 6 Monitoring part 6

  • مانیتورینگ قسمت 7 Monitoring part 7

  • مانیتورینگ قسمت 7 Monitoring part 7

  • مانیتورینگ قسمت 8 Monitoring part 8

  • مانیتورینگ قسمت 8 Monitoring part 8

خدمات مانیتورینگ Monitoring Services

  • تنظیم برنامه برای نظارت بر خدمات Setting up a schedule to monitor services

  • یک نکته: به روز رسانی روتر چی An Aside: Updating the chi router

  • مانیتورینگ قسمت 2 Monitoring part 2

  • مانیتورینگ قسمت 3 Monitoring part 3

  • مانیتورینگ قسمت 6 Monitoring part 6

پیاده سازی Websockets در Vigilate Implementing Websockets on Vigilate

  • فشار دادن نظارت بر رویدادهای شروع/توقف به مشتری Pushing monitoring start/stop events to client

  • راه اندازی یک سرور محلی برای نظارت Setting up a local server to monitor

  • اجرای چک های سرویس Running service checks

  • اجرای چک های سرویس Running service checks

  • رویدادهای فشار بر روی تغییر وضعیت سرویس میزبان Pushing events on host service status change

  • رویدادهای فشار بر روی تغییر وضعیت سرویس میزبان Pushing events on host service status change

  • به روز رسانی تعداد وضعیت خدمات در زمان واقعی Updating service status count in real time

  • در حال پاک کردن کد ما Cleaning up our code

  • به روز رسانی جداول در صفحه میزبان در صورت تغییر وضعیت Updating tables on the host page when status changes

  • به روز رسانی جداول در صفحه میزبان در صورت تغییر وضعیت Updating tables on the host page when status changes

  • تمرین: صفحات فرعی نمای کلی را به روز کنید Exercise: Update Overview sub-pages

  • راه حلی برای ورزش Solution to exercise

  • راه حلی برای ورزش Solution to exercise

  • نمایش برنامه نظارت Displaying the monitoring schedule

  • نمایش برنامه نظارت Displaying the monitoring schedule

  • به روز رسانی صفحه برنامه در زمان واقعی Updating the schedule page in real time

  • روشن و خاموش کردن خدمات در زمان واقعی Turning services on and off in real-time

  • فشار دادن رویدادها پس از بررسی دستی Pushing events after a manual check

  • ذخیره و نمایش رویدادها Saving and displaying events

  • ذخیره و نمایش رویدادها Saving and displaying events

  • تمیز کردن چیزها Cleaning things up

  • تمیز کردن چیزها Cleaning things up

  • ارسال یک رویداد به یک کانال خصوصی Sending an event to a private channel

  • نصب Mailhog در مک Installing Mailhog on a Mac

  • نصب Mailhog در مک Installing Mailhog on a Mac

  • نصب Mailhog در ویندوز Installing Mailhog on Windows

  • نصب Mailhog در ویندوز Installing Mailhog on Windows

  • ارسال اعلان ها از طریق ایمیل Sending notifications via email

  • ارسال اعلان از طریق متن (پیامک) Sending notifications via text (SMS)

  • ارسال اعلان از طریق متن (پیامک) Sending notifications via text (SMS)

  • راه اندازی یک حساب Twilio Setting up a Twilio Account

  • نوشتن کد ارسال پیامک Writing the code to send SMS messages

  • نوشتن کد ارسال پیامک Writing the code to send SMS messages

پیاده سازی Websockets در Vigilate Implementing Websockets on Vigilate

  • فشار دادن نظارت بر رویدادهای شروع/توقف به مشتری Pushing monitoring start/stop events to client

  • راه اندازی یک سرور محلی برای نظارت Setting up a local server to monitor

  • به روز رسانی تعداد وضعیت خدمات در زمان واقعی Updating service status count in real time

  • در حال پاک کردن کد ما Cleaning up our code

  • تمرین: صفحات فرعی نمای کلی را به روز کنید Exercise: Update Overview sub-pages

  • به روز رسانی صفحه برنامه در زمان واقعی Updating the schedule page in real time

  • روشن و خاموش کردن خدمات در زمان واقعی Turning services on and off in real-time

  • فشار دادن رویدادها پس از بررسی دستی Pushing events after a manual check

  • تمیز کردن چیزها Cleaning things up

  • ارسال یک رویداد به یک کانال خصوصی Sending an event to a private channel

  • ارسال اعلان ها از طریق ایمیل Sending notifications via email

  • راه اندازی یک حساب Twilio Setting up a Twilio Account

نظارت بر خدمات اضافی Monitoring Additional Services

  • راه اندازی دو سرویس جدید Setting up two new services

  • راه اندازی دو سرویس جدید Setting up two new services

  • نظارت بر خدمات HTTPS Monitoring HTTPS services

  • نظارت بر خدمات HTTPS Monitoring HTTPS services

  • نظارت بر گواهینامه های SSL Monitoring SSL certificates

  • نظارت بر گواهینامه های SSL Monitoring SSL certificates

نظارت بر خدمات اضافی Monitoring Additional Services

تست های نوشتاری Writing Tests

  • تست های هندلر Handler Tests

  • تست های هندلر Handler Tests

  • تست های وب سوکت (راه اشتباه) Websocket Tests (the wrong way)

  • تست های وب سوکت (راه اشتباه) Websocket Tests (the wrong way)

  • تست های وب سوکت (راه درست) Websocket Tests (the right way)

  • تست های وب سوکت (راه درست) Websocket Tests (the right way)

تست های نوشتاری Writing Tests

نمایش نظرات

Udemy (یودمی)

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

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

آموزش کار با WebSockets در Go (Golang)
جزییات دوره
14 hours
86
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
5,705
4.5 از 5
دارد
دارد
دارد
Trevor Sawler
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar