دانلود دوره آموزشی Fundamentals Of Backend Engineering به صورت رایگان از آموزش های یودمی با لینک مستقیم در سایت دانلود فارسی قرار گرفت. مهندسی بکاند یک هنر است. در طول 18 سال فعالیت حرفهایام در زمینه کار با برنامههای بکاند و ساخت آنها، متوجه شدم که الگوهای طراحی ارتباطی خاصی بهطور مکرر ظاهر میشوند. اگرچه ممکن است روشهای مختلفی برای ارتباط مشتریان با برنامههای بکاند وجود داشته باشد، من معتقدم الگوهایی که در این دوره بحث میکنم، رایجترینها هستند. نمونههایی از این الگوها عبارتند از: درخواست-پاسخ، انتشار-اشتراک، کوتاه و بلند و فشاری.
بر اساس این الگوهای طراحی ارتباطی، مهندسان میتوانند از چندین پروتکل برای ارتباط عملی استفاده کنند. در حالی که وسایل حمل و نقل اصلی محدود به TCP یا UDP هستند، تعداد زیادی پروتکلهای خاص صنعت بر اساس این دو برای حل مشکلات و استفادههای خاص ساخته شدهاند. نمونههایی از این پروتکلهای سطح بالا عبارتند از: HTTP/1.1، HTTP/2، HTTP/3، gRPC، WebRTC و بسیاری دیگر. پروتکلهای حمل و نقل دیگر مانند QUIC بر اساس UDP ساخته شدهاند تا پخش HTTP/2 را در سطح حمل و نقل به ارمغان بیاورند. هر پروتکل مزایا و معایب خود را دارد و برای استفادههای خاص مناسب است. در این دوره، پروتکلهای رایج را بررسی میکنم و در صورت امکان، مثالها و نمایشهایی ارائه میدهم.
قبل از اینکه مشتری بتواند درخواست ارسال کند، باید یک اتصال به بکاند برقرار کند. درک چگونگی برقراری اتصال، و اینکه کدام قسمتهای برقراری اتصال در هسته انجام میشود و کدام قسمتها در فرآیند برنامه کاربردی بکاند انجام میشود، حیاتی است. همچنین، نحوه پذیرفته شدن اتصال توسط برنامه کاربردی بکاند و چگونگی پذیرش اتصالات به سریعترین شکل ممکن تا صف هسته پر نشود وگرنه مشتریان دیگر نمیتوانند متصل شوند نیز مهم است.
بعد از برقراری اتصال، مشتری درخواست را ارسال میکند، اما دقیقا در برنامه کاربردی بکاند چه اتفاقی میافتد تا درخواست خوانده شود؟ دقیقا یک درخواست چیست؟ درک هزینه پارس کردن درخواست بر اساس پروتکل، مهندس را به ارزش کار انجام شده پی میبرد و او را با ابزارهای بهتری برای رفع مشکلات عملکردی یا باگها مجهز میکند.
زمانی که درخواست به بکاند میرسد، برنامه کاربردی باید درخواست را اجرا کند. بکاند مجموعهای از انتخابهای طراحی برای سبک اجرای درخواست دارد که میتواند انتخاب کند. درک تفاوت بین فرآیند و نخ، چند فرآیندی، چند نخی و ارتباط آن با تعداد هستههای CPU یا نخهای سختافزاری برای انتخاب الگوی اجرای مناسب بسیار مهم است. لازم نیست فقط به این الگوها پایبند بود بلکه میتوان الگوهای جدیدی که به نیازها میخورند را اختراع کرد.
دانلود انواع فیلم آموزشی رایگان
محتوای دانلود دوره آموزشی Fundamentals Of Backend Engineering چیست؟
بخش ۱: مقدمه
- درس ۱: خوشآمدگویی
- درس ۲: این دوره برای چه کسانی است؟
- درس ۳: طرح کلی دوره
- درس ۴: یادداشتهای دوره
- درس ۵: دانلود تمامی اسلایدها، کدهای منبع و منابع
بخش ۲: الگوهای طراحی ارتباطی بکاند
- درس ۶: مقدمهای بر الگوهای طراحی ارتباطی بکاند
- درس ۷: درخواست و پاسخ
- درس ۸: بارهای کاری همزمان و غیرهمزمان
- درس ۹: فشاری
- درس ۱۰: نظرسنجی (Polling)
- درس ۱۱: نظرسنجی طولانی (Long Polling)
- درس ۱۲: رویدادهای ارسال شده توسط سرور (Server Sent Events)
- درس ۱۳: انتشار-اشتراک (Pub/Sub)
- درس ۱۴: چندگانهسازی در مقابل دمجسازی (پراکسی h2 در مقابل استفاده از اتصال مشترک)
- درس ۱۵: حالتدار در مقابل بیحالت
- درس ۱۶: الگوی Sidecar
بخش ۳: پروتکلها
- درس ۱۷: مقدمهای بر پروتکلها
- درس ۱۸: ویژگیهای پروتکلها
- درس ۱۹: مدل OSI
- درس ۲۰: پروتکل اینترنت
- درس ۲۱: UDP
- درس ۲۲: TCP
- درس ۲۳: TLS
- درس ۲۴: HTTP/1.1
- درس ۲۵: WebSockets
- درس ۲۶: HTTP/2
- درس ۲۷: HTTP/3
- درس ۲۸: gRPC
- درس ۲۹: WebRTC
بخش ۴: روشهای مختلف برای HTTPS
- درس ۳۰: مقدمهای بر اصول ارتباط HTTPS
- درس ۳۱: HTTPS بر روی TCP با TLS 1.2
- درس ۳۲: HTTPS بر روی TCP با TLS 1.3
- درس ۳۳: HTTPS بر روی QUIC (HTTP/3)
- درس ۳۴: HTTPS بر روی TFO با TLS 1.3
- درس ۳۵: HTTPS بر روی TCP با TLS 1.3 و 0RTT
- درس ۳۶: HTTPS بر روی QUIC با 0RTT
بخش ۵: الگوهای اجرای بکاند
- درس ۳۷: مقدمهای بر الگوهای اجرای بکاند
- درس ۳۸: فرآیند و نخ و نحوه رقابت آنها برای زمان CPU
- درس ۳۹: چگونه بکاند اتصالات را میپذیرد
- درس ۴۰: خواندن و ارسال دادههای سوکت
- درس ۴۱: شنونده، پذیرنده و خواننده
- درس ۴۲: الگوی اجرای نخ شنونده، پذیرنده و خواننده واحد
- درس ۴۳: الگوی اجرای نخ شنونده، پذیرنده و چندین خواننده
- درس ۴۴: الگوی اجرای نخ شنونده، پذیرنده، خواننده با تعادل بار پیام
- درس ۴۵: الگوی اجرای چندین نخ پذیرنده بر روی یک سوکت
- درس ۴۶: الگوی اجرای چندین شنونده، پذیرنده و خواننده با شاردینگ سوکت
- درس ۴۷: idempotency بکاند
- درس ۴۸: الگوریتم Nagle
بخش ۶: پراکسی و تعادل بار
- درس ۴۹: پراکسی در مقابل پراکسی معکوس
- درس ۵۰: تعادل بار لایه ۴ در مقابل لایه ۷
بخش ۷: مطالب اضافی
- درس ۵۱: چگونه ChatGPT از رویدادهای ارسال شده توسط سرور استفاده میکند
- درس ۵۲: چگونه نرمافزار طراحی میکنم
- درس ۵۳: مسیر یک درخواست به بکاند
- درس ۵۴: مسیر یک درخواست به بکاند (ویدئو)
- درس ۵۵: JSON Web Token (JWT)، مزایا و معایب آن
بخش ۸: پاسخ به سوالات شما
- درس ۵۶: هسته چگونه اتصالات بکاند را مدیریت میکند؟
دانلود دوره آموزشی Fundamentals Of Backend Engineering برای چه کسانی مناسب است؟
این دوره برای مهندسانی طراحی شده که برنامههای بکاند ساختهاند. این یک دوره در سطح متوسط تا پیشرفته است و دانش برنامهنویسی و شبکهای لازم است، بنابراین اگر دانش شبکهای ندارید، توصیه میکنم دوره اصول مهندسی شبکه من را قبل از این دوره بگذرانید. امیدوارم از این دوره لذت ببرید و از شما برای انتخاب این دوره بسیار متشکرم.
- مهندسان بکاند
- مهندسان فولاستک
- مهندسان فرانتاند که به بکاند علاقهمندند (باید برنامه بکاند ساخته باشند)
- مهندسان شبکه که میخواهند در طراحی بکاند بهتر شوند
- مهندسان پایداری سایت
الزامات
- مهارتهای برنامهنویسی در سطح متوسط (1-2 سال تجربه)
- تجربه ساخت یک برنامه کاربردی بکاند
- دانش پایهای از اصول شبکه
لینک دانلود
دانلود پارت 01 با حجم 3 گیگابایت
دانلود پارت 02 با حجم 3 گیگابایت
دانلود پارت 03 با حجم 3 گیگابایت
دانلود پارت 04 با حجم 3 گیگابایت