این دوره با همکاری دیجیکالا و مکتبخونه، با هدف ارتقای دانش و بینش در زمینه مهندسی و معماری نرمافزار و توسعه سیستمها، طراحی و برگزار شد.
در این دوره که بهصورت بوتکمپ ارائه شد، شرکتکنندگان با بدست آوردن تصویری جامع از اجزا، رویکردها و روشهای موجود در معماری نرمافزار میتوانند خود را در مسیر تبدیل شدن به یک معمار نرمافزار قرار دهند. بخش قابلتوجهی از مخاطبان این بوتکمپ را مدیران و متخصصین ارشد دپارتمان فناوری دیجیکالا تشکیل میدادند.
مطالبی که در این دوره آموزش داده میشود به این شرح است:
۱. مقدمه: جهان موازی کار میکند
۲. برنامه نویسی اعلانی: کد زیبا بنویسید
۳. الگوهای همزمانی: برای بقا همزمان باشید
۴. سامانههای خطاپذیر: خطا قسمتی از زندگی است
۵. سامانههای زمانواقعی: واقعیت را بپذیرید
۶. معماری نرمافزار: تصویر بزرگ را ببینید
Intro: The World Works in Parallel
1. Declarative Programming (Make your code beautiful)
- Logic Programming
- Functional Programming
- Immutability
- Referential Transparency
- Beyond Programming
2. Concurrency (You need to be concurrent to survive in a parallel world)
- Communicating Sequential Processes
- Actor Model
- Ownership System
- Coordination Mechanisms
- Data Processing
3. Fault Tolerance (Keep calm and let it crash)
- Defensive Programming
- Corrective Programming
- Supervision Tree
4. Soft real-Time Systems (Accept the reality, be real, be yourself)
- Real-time Garbage Collection
- Real-time Scheduling
- Symmetric MultiProcessing
5. Software Architecture (How to look nice in a bigger picture)
- Multi-tier Architecture
- Monolithic and Microlith
- Micro-service Architecture
- API-first Architecture
- Event-Driven
- Event Sourcing
- CQRS Architecture
- Reactive Architecture