feat: add chapter 16-future-path specs
This commit is contained in:
102
chapters/16-future-path/03-lesson-case-study-snapp/spec.md
Normal file
102
chapters/16-future-path/03-lesson-case-study-snapp/spec.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# مشخصات درسنامه: بررسی موردی اسنپ؛ مدیریت میلیونها سفر روزانه، سیستمهای دیسپچ و تابآوری بلادرنگ
|
||||
- **شناسه در سیلابس:** `L16.3b`
|
||||
- **فصل:** فصل ۱۶: ادامه راه (Ch 16)
|
||||
- **نوع محتوا:** 📘 درسنامه متنی
|
||||
- **زمان تقریبی مطالعه:** ۱۸ دقیقه
|
||||
- **پیشنیازهای مستقیم:** `L16.3a` (بررسی موردی دیجیکالا)
|
||||
|
||||
---
|
||||
|
||||
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
|
||||
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
|
||||
- [ ] **درک کند (Understand):** معماری سیستمهای توزیعشده فوقپرترافیک در سوپراپلیکیشن **اسنپ** (پردازش بیش از ۵ میلیون سفر و تراکنش روزانه در بیش از ۱۵۰ شهر) را شرح دهد.
|
||||
- [ ] **تحلیل/ارزیابی کند (Evaluate):** کاربردهای هوش مصنوعی و یادگیری ماشین در اسنپ شامل: موتور تطبیق و تخصیص راننده به مسافر (Dispatch Engine)، تخمین زمان رسیدن (ETA Prediction)، و تشخیص خودکار تقلب (Fraud Detection) را ارزیابی نماید.
|
||||
- [ ] **درک کند (Understand):** چگونه تیمهای مهندسی اسنپ از ایجنتهای هوش مصنوعی برای تولید پروتکلهای ارتباطی پرسرعت (gRPC / Protobuf)، ممیزی لاگهای استریم کافکا (Kafka) و نگهداری کدهای با همزمانی بالا (Concurrency) استفاده میکنند.
|
||||
- [ ] **بهکار ببندد (Apply):** اصول تابآوری در برابر بار لحظهای، مدیریت سوکتهای بلادرنگ (Real-time WebSockets)، و بهینهسازی ارتباطات شبکه را در معماری پروژههای خود لحاظ کند.
|
||||
|
||||
---
|
||||
|
||||
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
|
||||
|
||||
### آنچه باید پوشش داده شود (In-Scope):
|
||||
1. **مقیاس ماورایی اسنپ: قلب تپنده حملونقل شهری ایران:**
|
||||
* مدیریت میلیونها مسافر و صدها هزار راننده همزمان آنلاین که هر ثانیه مختصات جغرافیایی (GPS) خود را به سرور مخابره میکنند.
|
||||
2. **محور اول هوش مصنوعی: موتور دیسپچ و تطبیق هوشمند (Intelligent Dispatch):**
|
||||
* چرا اختصاص نزدیکترین راننده از نظر خط مستقیم لزوماً بهترین انتخاب نیست؟ (ترافیک، جهت حرکت، موانع یکطرفه).
|
||||
* شبکهبندی جغرافیایی فضایی (Geohash / H3 Grid) و استفاده از الگوریتمهای بهینهسازی برای تطبیق دستهای درخواستها در کسری از ثانیه.
|
||||
3. **محور دوم هوش مصنوعی: تخمین زمان رسیدن به مقصد (ETA Prediction):**
|
||||
* ترکیب دادههای زنده ترافیک، الگوهای تاریخی حرکت در روزهای بارانی و ساعتهای پیک با مدلهای یادگیری عمیق برای تخمین دقیق زمان سفر.
|
||||
4. **محور سوم هوش مصنوعی: سپر امنیتی و کشف تقلب (Fraud & Anomaly Detection):**
|
||||
* کشف رفتارهای غیرعادی رانندگان (مثل سفرهای صوری برای دریافت پاداش، جعل مختصات GPS Spoofing، یا حسابهای جعلی) با مدلهای بدون نظارت.
|
||||
5. **محور چهارم: مهندسی نرمافزار با ایجنتهای AI در تیمهای فنی اسنپ:**
|
||||
* نوشتن کدهای پرهمزمانی با زبانهای Go و Elixir و استفاده از ابزارهای هوش مصنوعی برای تولید اسکیماهای gRPC.
|
||||
* پایش بلادرنگ صفهای پیام کافکا (Apache Kafka) و استفاده از ایجنتها برای ریشهیابی آنی تاخیرها (Lag Analysis).
|
||||
* تولید خودکار تستهای تنش و شبیهسازی ترافیک سنگین بار برای اطمینان از تابآوری سیستمها در روزهای برفی.
|
||||
6. **درسهای طلایی اسنپ برای یک وایب کدر:**
|
||||
* مدیریت وضعیتهای زنده (Real-time State)؛ چرا هر درخواستی نباید مستقیم به دیتابیس کوئری بزند و اهمیت لایههای کش موقت.
|
||||
7. **کالاوتهای آموزشی و الهامبخش کوئرا:**
|
||||
* کالاوت بنفش (`<details class="violet">`): مفهوم شاخص مکانی H3 ابداعی Uber و نحوه تقسیم شهر به ششضلعیهای فضایی برای محاسبات فوقسریع هوش مصنوعی.
|
||||
* کالاوت سبز (`<details class="green">`): تقاضای رو به رشد تیمهای فنی اسنپ برای جذب مهندسانی که ذهنیت سیستمهای توزیعشده و تسلط بر ابزارهای هوش مصنوعی دارند.
|
||||
* کالاوت قرمز (`<details class="red">`): اهمیت مانیتورینگ بلادرنگ؛ در سیستمی مانند اسنپ، حتی ۵ ثانیه تاخیر در پاسخ سرور میتواند منجر به لغو هزاران سفر شود.
|
||||
|
||||
### آنچه نباید وارد آن شویم (Out-of-Scope):
|
||||
- فرمولهای ریاضی پیچیده الگوریتمهای بهینهسازی کولونی مورچهها.
|
||||
- جزییات محرمانه سورسکدهای داخلی شرکت اسنپ.
|
||||
|
||||
---
|
||||
|
||||
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
|
||||
|
||||
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|
||||
| :--- | :--- | :--- |
|
||||
| Dispatch Engine | موتور تخصیص و دیسپچ | سیستم محاسباتی مرکزی که بر اساس فاصله، ترافیک و موقعیت، درخواست مسافر را به بهترین راننده واگذار میکند |
|
||||
| ETA (Estimated Time of Arrival) | زمان تخمینی رسیدن | محاسبه پیشبینانه دقیق لحظه رسیدن راننده به مبدأ یا رسیدن خودرو به مقصد بر پایه ترافیک زنده |
|
||||
| GPS Spoofing | جعل مختصات ماهوارهای | ترفند فریبکارانه دستکاری نرمافزاری موقعیت مکانی گوشی برای تظاهر به حضور در منطقهای دیگر |
|
||||
| Concurrency | همزمانی پردازش | توانایی سیستم نرمافزاری در پردازش مستقل و همزمان هزاران درخواست بدون ایجاد صف انتظار |
|
||||
| Spatial Indexing (H3) | نمایهسازی فضایی جغرافیایی | روش تقسیمبندی نقشه زمین به سلولهای ششضلعی هندسی برای تسریع الگوریتمهای موقعیتیابی |
|
||||
|
||||
---
|
||||
|
||||
## ۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
|
||||
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` ذخیره شده و در جدول تکخانهای وسطچین درج شوند:
|
||||
|
||||
1. **تصویر کاور درس:** `images/cover.png`
|
||||
* **موضوع:** نقشه تاریک و نئونی شهر با نقاط نورانی بیشمار خودروها، مسیرهای سبز و نارنجی ترافیک و شبکههای ششضلعی هوشمند اسنپ.
|
||||
2. **چرخه تخصیص هوشمند راننده با شبکه ششضلعی H3:** `images/snapp-dispatch-h3-grid.png`
|
||||
* **موضوع:** اینفوگرافیک: مسافر درخواست میدهد $\rightarrow$ تقسیم نقشه به سلولهای ششضلعی $\rightarrow$ فیلتر رانندگان فعال $\rightarrow$ اولویتبندی بر اساس ترافیک و زمان رسیدن $\rightarrow$ ارسال درخواست به گوشی راننده.
|
||||
3. **معماری پایش بلادرنگ با کافکا و ایجنتهای هوش مصنوعی:** `images/snapp-kafka-telemetry-architecture.png`
|
||||
* **موضوع:** دیاگرام توزیع داده: صدها هزار کلاینت موبایل $\rightarrow$ سرورهای وبسوکت $\rightarrow$ صف کافکا $\rightarrow$ آنالیزور بلادرنگ لاگها با ایجنت $\rightarrow$ داشبورد هشدار مهندسان.
|
||||
4. **داشبورد پایش بلادرنگ خطاهای شبکه در اسنپ:** `images/snapp-monitoring-metrics-screen.png`
|
||||
* **موضوع:** اسکرینشات از داشبورد گرافیکی مانیتورینگ با نمودار سفرها در ثانیه (Rides Per Second) و نشانگرهای سلامت دیتاسنترها.
|
||||
|
||||
---
|
||||
|
||||
## ۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (`README.md`)
|
||||
|
||||
1. **تیتر اصلی:** `# بررسی موردی اسنپ؛ مدیریت میلیونها سفر روزانه، سیستمهای دیسپچ و تابآوری بلادرنگ`
|
||||
2. **مقدمه:** وقتی میلیونها انسان هر روز برای رسیدن به کار و خانه به یک اپلیکیشن اعتماد میکنند، مهندسی نرمافزار و هوش مصنوعی چگونه چراغ شهر را روشن نگه میدارند؟
|
||||
3. **جدول کاور درس**
|
||||
4. **مقیاس مهندسی اسنپ: شهری که هرگز نمیخوابد:**
|
||||
* پردازش ۵ میلیون سفر روزانه، ارسال ثانیهای مختصات جیپیاس و مدیریت همزمانی فوقالعاده بالا.
|
||||
5. **موتور هوشمند دیسپچ: هنر جفت کردن مسافر و راننده در کسری از ثانیه:**
|
||||
* چرا فاصله مستقیم خطکشی فریبنده است؟ استفاده از شبکهبندی ششضلعی H3.
|
||||
6. **پیشبینی زمان رسیدن (ETA) با یادگیری ماشین:**
|
||||
* چطور اسنپ ترافیک ساعت ۵ عصر اتوبان همت را در هوای بارانی پیشبینی میکند؟
|
||||
7. **کشف خودکار تقلب و تخلفات (Anti-Fraud Systems):**
|
||||
* شناسایی رانندگانی که با نرمافزارهای جعلی موقعیت خود را دستکاری میکنند.
|
||||
8. **مهندسی با ایجنتهای AI در قلب تیمهای فنی اسنپ:**
|
||||
* نوشتن سرویسهای پرسرعت Go و Elixir و رصد صفهای سنگین کافکا با دستیاران هوش مصنوعی.
|
||||
9. **درسهای اسنپ برای سازندگان وایب کدینگ:**
|
||||
* اهمیت تفکیک کارهای سنگین محاسباتی از جریان اصلی دیتابیس و بهرهگیری از معماری Event-Driven.
|
||||
10. **باکس نکته Quera (`<details class="violet">`):** استفاده از ارتباطات وبسوکت دوطرفه (Full-Duplex WebSockets) به جای رفرش مداوم صفحات؛ درسی بزرگ برای ساخت برنامههای زنده.
|
||||
11. **باکس هشدار Quera (`<details class="red">`):** خطرات وابستگی به جیپیاس خام؛ همیشه دادههای مکانی موبایل نیازمند فیلتر کردن نویزها و پرشهای ناگهانی نقشه هستند.
|
||||
12. **باکس رضایتبخش Quera (`<details class="green">`):** دیدن عظمت سیستمهایی که مهندسان جوان ایرانی در اسنپ ساختهاند و الهامگیری از استانداردهای مهندسی مقیاس کلان.
|
||||
13. **جمعبندی درسنامه:** پایان کالبدشکافی اسنپ؛ ورود به ایستگاه بررسی موردی کافهبازار (بررسی خودکار اپلیکیشنها و امنیت استور) در درس بعدی.
|
||||
|
||||
---
|
||||
|
||||
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
|
||||
- [ ] چالشهای مقیاس کلان پلتفرم اسنپ به همراه اعداد و ارقام واقعی بیان شود.
|
||||
- [ ] مکانیزمهای دیسپچ، نمایهسازی فضایی H3 و پیشبینی ETA به زبان ساده تشریح گردند.
|
||||
- [ ] نحوه استفاده مهندسان اسنپ از ابزارهای هوش مصنوعی در پایش کافکا و کدنویسی همزمان آموزش داده شود.
|
||||
- [ ] درسهای معماری تابآور و Real-time برای دانشجویان دوره ارائه گردد.
|
||||
Reference in New Issue
Block a user