اصول طراحی سرور برای موفقیت در طراحی سیستم
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- دانشجویان با مفاهیم و تکنیکهای ضروری برای موفقیت در مصاحبههای طراحی سیستم آشنا خواهند شد.
- بررسی سلسلهمراتب حافظه، تفاوت میان همزمانی و موازیسازی، سیستمهای Stateful و Stateless و همچنین thread و استخرهای اتصال
- بررسی چالشهای طراحی سرور، همزمانی، و برنامهنویسی غیرهمزمان
- دموی ابزارهای مختلفی مانند pahole ،top ،htop ،perf ،gprof ،Intel Vtune ،Google Orbit ،heaptrack و Valgrind
- طراحی مکانیزمهای موثر failover و ایجاد تعادل بین تاخیر و توان عملیاتی
- مدیریت داده بزرگتر از حافظه و مدیریت مسئله C10K
توضیحات دوره
این دوره برای افرادی که میخواهند طراحی سرور، بهینهسازی و پرفورمنس تیونینگ را درک کنند، مقدماتی و مناسب است. در این دوره کوتاه 60 دقیقهای، شما درباره مباحث کلیدی زیر میآموزید:
- Multithreading در مقابل چندپردازشی
- مدیریت داده در سناریوهای بزرگتر از حافظه
- مسئله C10K
- مکانیزمهای Failover
- تاخیر در مقابل توان عملیاتی
- همزمانی
- برنامهنویسی غیرهمزمان
- سلسلهمراتب حافظه و موارد دیگر
این دوره برای یادگیرندگان مبتدی طراحی شده و بر اهمیت شروع زودهنگام و اعمال عملی دانش تاکید دارد. با تعامل فعال با مطالب دوره و انجام پروژههای واقعی، مهارتها و تخصص لازم برای پیشرفت در حرفه خود را توسعه خواهید داد. هیچ جایگزینی برای درک واقعی و تجربه عملی وجود ندارد.
در مسیر یادگیری دوره، تشویق میشوید که به پاسخهای آماده در سایتهای مصاحبه تکیه نکنید و خودتان فعالانه دست به کار شوید. تسلط به طراحی و بهینهسازی سرور نیازمند درک عمیق مفاهیم پایه است که تنها از طریق یادگیری فعال و کاربرد واقعی دانش قابل دستیابی است.
در مصاحبههای طراحی سیستم، اهمیت دارد که اصول ابتدایی را به درستی بدانید. تثبیت اصول اولیه نشاندهنده درک عمیق شما از اصول بنیادی است و به مصاحبهکننده اطمینان میدهد که پایهای قوی برای توسعه مفاهیم پیشرفتهتر دارید. تمرکز بر مفاهیم اصلی به شما کمک میکند هر مسئلهای را با اطمینان و وضوح حل کنید. علاوه بر این، درک دقیق مبانی به شما امکان میدهد به خوبی با مصاحبهکنندگان ارتباط برقرار کرده و گفتگوی سازندهای داشته باشید که مهارتهای حل مسئله و تخصص شما را به نمایش میگذارد. بنابراین، قبل از ورود به سناریوها و راهحلهای پیچیده، حتما به مفاهیم اساسی تسلط داشته باشید. این امر کلید موفقیت در هر مصاحبه طراحی سیستم است.
همین حالا در دوره شرکت کرده و پتانسیل شگفتانگیز دانش تازه کسب شده خود در طراحی و بهینهسازی سرور را کشف کنید و خود را در مسیر رشد حرفهای و موفقیت قرار دهید.
این دوره برای چه کسانی مناسب است؟
- مبتدیانی که میخواهند اصول طراحی سیستم را یاد بگیرند و به دنبال آشنایی با مفاهیم و تکنیکهای مختلف برای افزایش درک خود از این حوزه هستند.
- توسعهدهندگان نرمافزار، مهندسان یا دانشجویان علوم کامپیوتر که برای مصاحبههای فنی آماده میشوند و میخواهند مهارتهای طراحی سیستم خود را تقویت کنند.
- حرفهایهایی باتجربه در صنعت فناوری که میخواهند دانش خود در مفاهیم طراحی سیستم را عمیقتر کنند، توانایی طراحی سیستمهای مقیاسپذیر را بهبود بخشند و چشماندازهای شغلی خود را افزایش دهند.
- یادگیرندگانی که علاقهمند به بررسی ابزارها و فریمورکهای مختلف برای بهینهسازی عملکرد سیستم و مواجهه با چالشهای واقعی هستند.
اصول طراحی سرور برای موفقیت در طراحی سیستم
-
مقدمه 01:21
-
در دنیای به اصطلاح بدون سرور، سرورها مورد نیاز هستند 01:52
-
اهمیت درک دقیق طراحی سرور در مصاحبه طراحی سیستم 01:53
-
هنوز قانع نشدید؟ سرورها همهجا هستند 00:53
-
ارتباط بین سرورها و مقیاسبندی سیستم 01:32
-
مقدمه بخش 01:21
-
درک نقش همزمانی در کامپوننتهای سرور برای طراحی سیستم 02:04
-
برنامهنویسی غیرهمزمان به عنوان ابزاری کلیدی در طراحی سرورها 00:56
-
اهمیت درک سلسلهمراتب حافظه برای ساخت سرورهای بسیار سریع 01:29
-
دقت کامل درباره تفاوت بین همزمانی و موازیسازی 01:47
-
اطمینان از درک مفاهیم Stateful و Stateless در زمینه سرورها 01:39
-
یادگیری جزئیات استخر thread برای ساخت سرورهای همزمان به شکل موثر 00:32
-
تسلط به استخرهای اتصال برای ساخت سرورهایی که میتوانند میلیونها درخواست را مدیریت کنند 01:42
-
مفهوم مسئله Thundering Herd 01:23
-
انتخاب بین پارادایمهای MultiThreading و چندپردازشی 02:03
-
طراحی برای سرورهایی که با دادهای بزرگتر از حافظه کار میکنند 00:45
-
مسئله کلاسیک C10K 00:56
-
انتخاب مکانیزم مناسب برای failover 01:58
-
درک تفاوت بین تاخیر و توان عملیاتی 02:04
-
دموی کد ++C استفاده شده در دروس بعدی برای تولید اندازهگیریها 03:08
-
فرمان top 02:02
-
فرمان htop 01:58
-
ابزارهای perf برای اندازهگیری آمار سیستمهای لینوکسی 02:25
-
استفاده از gprof برای پروفایلینگ اپلیکیشنها 01:43
-
مجموعه پروفایل Intel Vtune برای تحلیل دقیق 03:14
-
استفاده از Google Orbit برای تحلیل عملکرد سرور 02:46
-
یوتیلیتی heaptrack برای اندازهگیری تخصیصهای پویا و نشتها 01:58
-
استفاده از Valgrind برای یافتن ددلاکها و نشتهای حافظه 01:31
-
pahole - یک یوتیلیتی برای بررسی ساختارهای داده در لینوکس 01:42
-
مثالی از اشتراکگذاری کاذب در کدهای ++C با استفاده از atomics 04:13
-
ابزارهای دیگر که میتوان بررسی کرد 02:13
مشخصات آموزش
اصول طراحی سرور برای موفقیت در طراحی سیستم
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:مقدماتی
- تعداد درس:31
- مدت زمان :57:17
- حجم :293.0MB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy