آموزش معماری نرم افزار و طراحی سیستم های مدرن در مقیاس بزرگ

Software Architecture & Design of Modern Large Scale Systems

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با تسلط بر معماری نرم افزار، طراحی سیستم و پردازش داده های بزرگ، یک معمار نرم افزار یا رهبر فنی شوید. معماری نرم‌افزار سیستم‌های مقیاس بزرگ، قادر به رسیدگی به میلیون‌ها درخواست در روز طراحی سیستم‌های نرم‌افزاری بسیار مقیاس‌پذیر، بسیار در دسترس و کارآمد به‌کارگیری الگوهای معماری نرم‌افزار اثبات‌شده در صنعت، بلوک‌های سازنده و بهترین شیوه‌ها تعریف الزامات فنی سیستم، اجزای سطح بالا و API کسب اطمینان for an upcoming System Design Interview پیش نیازها: دانش پایه برنامه نویسی و مهندسی نرم افزار

آیا آماده هستید تا حرفه خود را به سطح بعدی ببرید؟

آیا می خواهید بر معماری نرم افزار و طراحی سیستم مسلط شوید؟

به جای درستی آمدید!

در این دوره عملی، می‌آموزید که چگونه سیستم‌های واقعی را که در مقیاس میلیون‌ها کاربر روزانه طراحی می‌شوند، و همچنین پردازش و ذخیره پتابایت داده‌ها.

اگر می‌خواهید یک معمار نرم‌افزار شوید، یا در حال حاضر یک معمار نرم‌افزار هستید و به یک تازه‌کننده خوب نیاز دارید، این بهترین منبع شماست.

این همچنین مکان مناسبی برای آماده سازی و کسب اطمینان برای مصاحبه آینده طراحی سیستم است.

برخی از چیزهایی که یاد خواهید گرفت عبارتند از:

  • شناسایی الزامات فنی سیستم ها بدون از دست دادن هیچ جزئیات

  • تعریف APIهای آسان برای استفاده و قوی

  • به‌کارگیری تکنیک‌های بلوک‌های ساختمانی معماری مدرن برای مقیاس‌پذیری، در دسترس بودن و عملکرد بالا

  • پیروی از بهترین شیوه‌های الگوهای معماری نرم‌افزار اثبات‌شده در صنعت

  • معماری سیستم های بسیار مقیاس پذیر برای ترافیک گسترده اینترنت و پردازش کلان داده

  • مثل یک معمار نرم‌افزار حرفه‌ای واقعی فکر می‌کنید و مبادله می‌کنید

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

اگرچه این دوره شامل کدنویسی نمی‌شود، اما یک دوره بسیار کاربردی است که به شما دانش اساسی برای ساختن سیستم‌های دنیای واقعی می‌دهد.

تمام تکنیک ها و الگوهای پوشش داده شده در دوره توسط شرکت های نرم افزار برتر استفاده می شود.

علاوه بر سخنرانی های ویدیویی،

را نیز خواهید یافت
  • منابع بسیاری، مرتبط با موضوعات تحت پوشش دوره.

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

  • پیوندهای خارجی به مقالات و ویدیوهای مرتبط برای افزایش تجربه یادگیری شما

این دوره برای شما عالی است اگر:

  • می‌خواهید بر معماری نرم‌افزار مسلط شوید، موضوعی که معمولاً در کالج‌ها یا بوت‌کمپ‌های کدنویسی تدریس نمی‌شود

  • می‌خواهید یک معمار نرم‌افزار یا یکی از اعضای ارشد کارکنان فنی، مانند مهندس ارشد/اصلی نرم‌افزار یا سرپرست فنی شوید

  • شما در حال آماده شدن برای یک مصاحبه طراحی سیستم هستید و می خواهید شانس خود را برای موفقیت افزایش دهید، و همچنین از بین کاندیداها متمایز شوید

پس منتظر چه چیزی هستید؟ :)

بیایید شروع کنیم!


سوالات متداول

- آیا برای شرکت در این دوره باید معمار نرم افزار باشم؟

مطمئناً نه! یک معمار نرم افزار فقط یک عنوان است. در واقع، بسیاری از شرکت ها این عنوان رسمی را به کسی نمی دهند. بیشتر معماری نرم افزار و طراحی سیستم توسط مهندسان مورد اعتماد در سازمان انجام می شود. برای دریافت این اعتماد از مدیران خود، باید دانش کاملی از معماری نرم افزار و طراحی سیستم نشان دهید. این دقیقاً همان چیزی است که در این دوره خواهید آموخت.


- اهمیت معماری نرم افزار چیست و چرا باید آن را یاد بگیرم؟

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


- آیا برنامه نویسی در این دوره وجود دارد؟

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


- آیا هر مهندس نرم افزاری باید آرزو داشته باشد که یک معمار نرم افزار شود؟

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


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

معرفی Introduction

  • مقدمه ای بر معماری نرم افزار Introduction to Software Architecture

  • کتاب کار دوره را دانلود کنید Download the Course Workbook

سیستم مورد نیاز و درایورهای معماری System Requirements & Architectural Drivers

  • مقدمه ای بر طراحی سیستم و درایورهای معماری Introduction to System Design & Architectural Drivers

  • مقدمه ای بر طراحی سیستم و انواع مورد نیاز - آزمون Introduction to System Design & Requirement Types - Quiz

  • الزامات ویژگی - فرآیند گام به گام Feature Requirements - Step by Step Process

  • فرآیند جمع آوری ویژگی های مورد نیاز - آزمون Feature Requirements Gathering Process - Quiz

  • الزامات ویژگی های کیفیت سیستم System Quality Attributes Requirements

  • الزامات ویژگی کیفیت - آزمون Quality Attribute Requirements - Quiz

  • محدودیت های سیستم در معماری نرم افزار System Constraints in Software Architecture

  • محدودیت های سیستم - آزمون System Constraints - Quiz

مهم ترین ویژگی های کیفیت در سیستم های مقیاس بزرگ Most Important Quality Attributes in Large Scale Systems

  • کارایی Performance

  • عملکرد - آزمون Performance - Quiz

  • مقیاس پذیری Scalability

  • مقیاس پذیری - آزمون Scalability - Quiz

  • در دسترس بودن - مقدمه و اندازه گیری Availability - Introduction & Measurement

  • در دسترس بودن - آزمون Availability - Quiz

  • تحمل خطا و در دسترس بودن بالا Fault Tolerance & High Availability

  • SLA، SLO، SLI SLA, SLO, SLI

  • نمونه های SLA دنیای واقعی از صنعت Real World SLA Examples from the Industry

طراحی API API Design

  • مقدمه ای بر طراحی API برای معماران نرم افزار Introduction to API Design for Software Architects

  • طراحی API - آزمون API Design - Quiz

  • RPC RPC

  • چارچوب ها و فناوری های محبوب RPC Popular RPC Frameworks and Technologies

  • REST API REST API

  • REST API - امتحان REST API - Quiz

بلوک های ساختمانی معماری سیستم های مقیاس بزرگ Large Scale Systems Architectural Building Blocks

  • DNS، Load Balancing و GSLB DNS, Load Balancing & GSLB

  • راه حل های تعادل بار و فناوری های ابری Load Balancing Solutions & Cloud Technologies

  • کارگزاران پیام Message Brokers

  • راه‌حل‌های کارگزاران پیام و فناوری‌های ابری Message Brokers Solutions & Cloud Technologies

  • دروازه API API Gateway

  • API Gateway Solutions & Cloud Technologies API Gateway Solutions & Cloud Technologies

  • شبکه تحویل محتوا - CDN Content Delivery Network - CDN

  • راهکارهای CDN و فناوری‌های ابری CDN Solutions & Cloud Technologies

  • بلوک های ساختمان معماری نرم افزار - آزمون Software Architecture Building Blocks - Quiz

ذخیره سازی داده ها در مقیاس جهانی Data Storage at Global Scale

  • پایگاه های داده رابطه ای و تراکنش های ACID Relational Databases & ACID Transactions

  • معاملات اسید ACID Transactions

  • پایگاه داده های غیر رابطه ای Non-Relational Databases

  • پایگاه داده های غیر رابطه ای - راه حل ها Non-Relational Databases - Solutions

  • تکنیک هایی برای بهبود عملکرد، در دسترس بودن و مقیاس پذیری پایگاه های داده Techniques to Improve Performance, Availability & Scalability Of Databases

  • تکنیک‌هایی برای بهبود عملکرد، در دسترس بودن و مقیاس‌پذیری پایگاه‌های داده - آزمون Techniques to Improve Performance, Availability & Scalability Of Databases-Quiz

  • قضیه بروئر (CAP) Brewer’s (CAP) Theorem

  • قضیه CAP - آزمون CAP Theorem - Quiz

  • ذخیره سازی داده های بدون ساختار مقیاس پذیر Scalable Unstructured Data Storage

  • ذخیره سازی داده های بدون ساختار مقیاس پذیر - راه حل های ابری و منبع باز Scalable Unstructured Data Storage - Cloud and Open Source Solutions

الگوها و سبک های معماری نرم افزار Software Architecture Patterns and Styles

  • مقدمه ای بر الگوها و سبک های معماری نرم افزار Introduction to Software Architecture Patterns & Styles

  • معماری چند لایه Multi-Tier Architecture

  • معماری چند لایه - آزمون Multi-Tier Architecture - Quiz

  • معماری میکروسرویس ها Microservices Architecture

  • Microservices Architecture - Quiz Microservices Architecture - Quiz

  • معماری رویداد محور Event Driven Architecture

  • معماری رویداد محور - آزمون Event Driven Architecture - Quiz

الگوهای معماری کلان داده Big Data Architecture Patterns

  • مقدمه ای بر داده های بزرگ Introduction to Big Data

  • استراتژی های پردازش داده های بزرگ Big Data Processing Strategies

  • معماری لامبدا Lambda Architecture

معماری نرم افزار و تمرین طراحی سیستم Software Architecture & System Design Practice

  • یک انجمن گفتگوی بسیار مقیاس پذیر 1 - نیازمندی ها و API طراحی کنید Design a Highly Scalable Discussion Forum 1 - Requirements & API

  • طراحی یک تالار گفتگو با مقیاس پذیری بالا 2 - نمودار معماری عملکردی Design a Highly Scalable Discussion Forum 2 - Functional Architecture Diagram

  • طراحی یک تالار گفتگوی بسیار مقیاس پذیر 3 - معماری نرم افزار نهایی Design a Highly Scalable Discussion Forum 3 - Final Software Architecture

  • یک پلتفرم بازار تجارت الکترونیکی 1 طراحی کنید - الزامات و نمودار توالی Design an E-Commerce Marketplace Platform 1 - Requirements & Sequence Diagram

  • پلتفرم 2 بازار تجارت الکترونیکی را طراحی کنید - نمودار عملکردی Design an E-Commerce Marketplace Platform 2 - Functional Diagram

  • طراحی پلت فرم 3 بازار تجارت الکترونیک - معماری نرم افزار نهایی Design an E-Commerce Marketplace Platform 3 - Final Software Architecture

بخش پاداش Bonus Section

  • سخنرانی پاداش - به یادگیری ادامه دهید Bonus Lecture - Keep Learning

نمایش نظرات

آموزش معماری نرم افزار و طراحی سیستم های مدرن در مقیاس بزرگ
جزییات دوره
7 hours
45
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
20,954
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Michael Pogrebinsky  Software Architecture   Java Programming Expert Michael Pogrebinsky Software Architecture Java Programming Expert

مهندس نرم افزار حرفه ای | SW Architect | مربی

Top Developer Academy Top Developer Academy

معماری نرم افزار، محاسبات ابری و برنامه نویسی جاوا