لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش مبانی معماری نرمافزار و سیستمهای یکپارچه (Monolithic)
- آخرین آپدیت
دانلود Foundations of Software Architecture and Monolithic Systems
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره دارای قابلیت Coursera Coach است؛ روشی هوشمندتر برای یادگیری از طریق گفتگوهای تعاملی و آنی که به شما کمک میکند دانش خود را آزمایش کنید، پیشفرضها را به چالش بکشید و در طول مسیر دوره، درک خود را عمیقتر کنید.
این دوره شما را با مفاهیم محوری معماری نرمافزار با تمرکز بر سیستمهای یکپارچه (Monolithic) آشنا میکند. شما تکامل معماری را از طراحیهای سنتی تا سیستمهای مدرن میکروسرویس یاد میگیرید و اصول طراحی تأثیرگذار بر این سیستمها را بررسی خواهید کرد. از طریق مثالهای واقعی و سناریوهای حل مسئله، سیستمهای نرمافزاری را طراحی، کدنویسی و ارزیابی میکنید تا درکی مستحکم از الگوهای معماری به دست آورید.
با شروع از مبانی معماری یکپارچه، با اصول کلیدی طراحی مانند KISS، YAGNI و DRY آشنا میشوید. این اصول در ساخت اپلیکیشنهای واقعی، از جمله یک پلتفرم تجارت الکترونیک، به کار گرفته میشوند. همچنین به بررسی سیستمهای مقیاسپذیر خواهید پرداخت و تکنیکهای مقیاسبندی عمودی و افقی و کاربردهای آنها را میآموزید.
این دوره برای توسعهدهندگان و مهندسان نرمافزاری طراحی شده است که میخواهند درک خود را از معماریهای Monolithic و Microservices عمیقتر کنند. داشتن دانش پایه برنامهنویسی الزامی است و این دوره برای کسانی که به دنبال گسترش مهارتهای معماری و کار بر روی سیستمهای مقیاسپذیر هستند، ایدهآل است.
در پایان این دوره، شما قادر خواهید بود سیستمهای یکپارچه را طراحی، کدنویسی و مقیاسبندی کنید، مونولیتهای ماژولار را پیادهسازی نمایید و معماری میکروسرویس را به کار ببرید. همچنین میتوانید با استفاده از استراتژیهای مقیاسپذیری، عملکرد سیستم را بهینه کرده و انعطافپذیری آن را بهبود بخشید.
سرفصل ها و درس ها
مقدمه دوره
Course Introduction
مقدمهای بر تخصص
Introduction to the Specialization
مسیر طراحی معماری: تکامل معماریها
Architecture Design Journey - Evolution of Architectures
روش یادگیری: جریان دوره (مسئله > یادگیری > طراحی > کدنویسی > ارزیابی)
Way of Learning - The Course Flow: Problem -> Learn -> Design -> Code -> Eva
پیشنیازها، سورس کد و اسلایدهای دوره
Prerequisites, Source Code and Course Slides
طراحی: اپلیکیشن یکپارچه EShop با اصول KISS و YAGNI
Design: EShop Monolithic App w/ KISS & YAGNI
کدنویسی: اپلیکیشن یکپارچه EShop با اصول KISS و YAGNI
Code: EShop Monolithic App w/ KISS & YAGNI
مسئله: ناپدید شدن اقلام سبد خرید هنگام ریاستارت برنامه
Problem: Customer Basket Items Disappeared When App Restarts
طراحی: اپلیکیشن یکپارچه EShop با پایگاه داده پایدار
Design: E-Shop Monolithic App with a Persistent Database
کدنویسی: اپلیکیشن یکپارچه EShop با پایگاه داده PostgreSQL
Code: E-Shop Monolithic App with PostgreSQL Database
مسئله: محدودیت انعطافپذیری و تجربه کاربری به دلیل جفتشدگی شدید UI
Problem: Tightly Coupled UI Limits Flexibility and User Experience
یادگیری: معماری ۳ لایه - جداسازی لایههای نمایش، اپلیکیشن و داده
Learn: 3-Tier Architecture – Separating Presentation, Application, and Data
طراحی: اپلیکیشن یکپارچه EShop با معماری ۳ لایه
Design: E-Shop Monolithic App with 3-Tier Architecture
کدنویسی: EShop با معماری ۳ لایه (SPA، API بکاند و پایگاه داده)
Code: E-Shop with 3-Tier Architecture (SPA, Backend API & Database)
مفهوم Big Ball of Mud (توده گلی بزرگ)
Big Ball of Mud
مسئله: دردهای رشد؛ مونولیت ما در حال تبدیل شدن به سیستمی سخت برای مدیریت و تکامل است
Problem: Growing Pains-Our Monolith is Becoming Hard to Manage and Evolve
بهترین روشها: جداسازی شمای دیتابیس برای ماژولها در اپلیکیشنهای مونولیت ماژولار
Best Practice: DB Schema Separation of Modules in Modular Monoliths Apps
مسئله: کندی صفحه محصول و شکستهای سیستم در زمان ترافیک بالا
Problem: Product Page Slowness - Failures During Peak Traffic
یادگیری: کشینگ خروجی (Output Caching) - سرعت بخشیدن به درخواستهای تکراری
Learn: Output Caching – Speeding Up Repetitive Requests
طراحی: مونولیتهای ماژولار EShop با Redis Output Caching
Design: E-Shop Modular Monoliths with Redis Output Caching
کدنویسی: مونولیتهای ماژولار EShop با Redis Output Caching
Code: E-Shop Modular Monoliths with Redis Output Caching
مسئله: افزایش ترافیک؛ عدم توانایی در مدیریت درخواستهای بیشتر با یک نمونه برنامه
Problem: Increased Traffic, Can't Handle More Request w/ Single App Instance
مقیاسپذیری: مقیاسبندی عمودی و افقی
Scalability - Vertical and Horizontal Scaling
یادگیری: مقیاسپذیری - چرا به مقیاسبندی نیاز داریم؟
Learn: Scalability - Why Need to Scale?
مقیاسبندی عمودی و افقی
Vertical and Horizontal Scaling
لود بالانسر چیست؟ استفاده از Load Balancer برای تقسیم بار
What is Load Balancer? Use Load Balancer Splitting the Load
طراحی: اپلیکیشن یکپارچه EShop با مقیاسبندی افقی و لود بالانسر
Design: E-Shop Monolithic App with Horizontal Scaling and Load Balancer
کدنویسی: اپلیکیشن یکپارچه EShop با مقیاسبندی افقی
Code: E-Shop Monolithic App with Horizontal Scaling
مسئله: عرضه سریعتر ویژگیهای جدید برای رقابت در بازار
Problem: Ship New Features Faster to Compete in the Market
معماری میکروسرویس
Microservices Architecture
میکروسرویسها و معماری میکروسرویس چیستند؟
What Are Microservices and Microservices Architecture?
چه زمانی از معماری میکروسرویس استفاده کنیم (و چه زمانی نکنیم)؟
When to Use / When NOT to Use Microservices Architecture
الگوی Database per Service - پایداری چندزبانه (Polyglot Persistence)
The Database-per-Service Pattern - Polyglot Persistence
تجزیه معماریهای میکروسرویس
Decomposition of Microservices Architectures
الگوهای تجزیه میکروسرویس: تجزیه بر اساس قابلیتهای تجاری و زیردامنه (SubDomain)
Microservice Decomposition Patterns: Decompose by Business Capability, SubDomain
شناسایی و تجزیه میکروسرویسها برای دامنه EShop
Identifying and Decomposing Microservices for E-Shop Domain
الگوی Strangler Fig برای بازسازی مونولیتها به میکروسرویسها
Strangler Fig Pattern for Refactoring Monoliths into Microservices
مسئله: میکروسرویسها چگونه با یکدیگر ارتباط برقرار میکنند؟
Problem: How Microservices Communicate with Each Other
نمایش نظرات