Files

105 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: بررسی موردی کافه‌بازار؛ بررسی خودکار اپلیکیشن‌ها، تحلیل بدافزارها و موتور پیشنهاد
- **شناسه در سیلابس:** `L16.3c`
- **فصل:** فصل ۱۶: ادامه راه (Ch 16)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۸ دقیقه
- **پیش‌نیازهای مستقیم:** `L16.3b` (بررسی موردی اسنپ)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** معماری و چالش‌های فنی بزرگ‌ترین فروشگاه اپلیکیشن‌های اندرویدی ایران (**کافه‌بازار**) با بیش از ۴۵ میلیون کاربر فعال و صدها هزار برنامه و بازی را تحلیل نماید.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** فرآیند ممیزی و بازرسی خودکار برنامه‌ها (Automated App Review) با تحلیل استاتیک و دینامیک فایل‌های APK، بررسی دسترسی‌های خطرناک، و کشف بدافزارها با هوش مصنوعی را ارزیابی کند.
- [ ] **درک کند (Understand):** سازوکار موتور جستجو و سیستم پیشنهاد هوشمند اپلیکیشن‌ها (Recommendation System) در استور و نقش الگوریتم‌های هوش مصنوعی در درک مقصود کاربر را بشناسد.
- [ ] **به‌کار ببندد (Apply):** استانداردهای امنیتی مجوزهای اندروید (Android Permissions)، بهینه‌سازی حجم فایل‌های خروجی و قوانین انتشار استورها را در ساخت برنامه‌های آتی خود به کار گیرد.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **تصویر کلان کافه‌بازار: دروازه ورود ایرانیان به جهان اپلیکیشن‌های موبایل:**
* میزبانی بیش از ۴۵ میلیون کاربر، پتابایت‌ها دانلود ماهیانه، و تعامل روزانه با ده‌ها هزار تیم توسعه‌دهنده اندروید.
2. **محور اول هوش مصنوعی: بازرسی و ممیزی خودکار برنامه‌ها (Automated App Review):**
* چرا بررسی دستی صدها آپدیت روزانه غیرممکن است؟
* تحلیل ایستا (Static Analysis): دیکامپایل بایت‌کد APK و بررسی فایل `AndroidManifest.xml` برای کشف دسترسی‌های مشکوک (دسترسی به پیامک، دفترچه تلفن، ضبط صدا در پس‌زمینه).
* تحلیل پویا (Dynamic Sandbox Analysis): اجرای برنامه در یک شبیه‌ساز ایزوله و رصد ترافیک شبکه برای کشف رفتارهای بدافزاری، تبلیغات مزاحم و سرقت اطلاعات.
* ممیزی محتوایی با مدل‌های زبانی: بررسی خودکار تطابق توضیحات برنامه با قوانین کافه‌بازار و بررسی اسناد حریم خصوصی.
3. **محور دوم هوش مصنوعی: موتور جستجو و پیشنهاد هوشمند برنامه‌ها:**
* درک خطاهای املایی کاربران فارسی‌زبان در جستجوی نام برنامه‌ها و بازی‌ها (Typo-tolerant Search).
* سیستم پیشنهادگر شخصی‌سازی‌شده (Personalized Recommendations) بر اساس دسته‌بندی علاقه‌مندی‌ها و الگوهای دانلود قبلی کاربر.
4. **محور سوم: مهندسی نرم‌افزار با ابزارهای AI در کافه‌بازار:**
* توسعه خطوط لوله تحویل محتوای فوق‌پرسرعت (CDN Pipelines) و ذخیره‌سازی داده‌های حجیم.
* استفاده توسعه‌دهندگان از ایجنت‌های هوش مصنوعی برای تست خودکار کدهای پایتون و Go.
* خودکارسازی فرآیند امضای دیجیتال و بررسی چک‌سام‌های بسته‌های نصبی.
5. **درس‌های طلایی کافه‌بازار برای سازندگان وایب کدینگ:**
* چرا وقتی اپلیکیشن موبایل می‌سازید (درس ۱۵.۱۱)، نباید مجوزهای اضافه درخواست کنید؛ اصل حداقل دسترسی‌ها (Least Privilege).
6. **کال‌اوت‌های آموزشی و الهام‌بخش کوئرا:**
* کال‌اوت بنفش (`<details class="violet">`): روش کار موتورهای تحلیل بدافزار و اسکنرهای امضای ویروس در استورهای اپلیکیشن.
* کال‌اوت سبز (`<details class="green">`): آمادگی کامل فارغ‌التحصیل این دوره برای انتشار اپلیکیشن‌های خروجی Capacitor/Expo در کافه‌بازار بدون ریجکت شدن.
* کال‌اوت قرمز (`<details class="red">`): تله دسترسی‌های پنهان در پکیج‌های شخص ثالث؛ اگر یک کتابخانه تبلیغاتی بدون اجازه کاربر به مخاطبین دسترسی بخواهد، برنامه در کافه‌بازار مسدود خواهد شد.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- جزییات مهندسی معکوس کدهای امنیتی بانکی.
- الگوریتم‌های حفاظت از حق کپی‌رایت گوگل دروید (DRM).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Automated App Vetting | ممیزی خودکار برنامه‌ها | فرآیند ماشینی بازرسی کدهای اپلیکیشن پیش از انتشار در استور برای اطمینان از سلامت و امنیت |
| Static Analysis | تحلیل ایستای کد | بررسی سورس‌کد و ساختار فایل‌های برنامه بدون نیاز به اجرای واقعی آن در سیستم‌عامل |
| Dynamic Sandbox | سندباکس اجرای پویا | محیط ایزوله مجازی برای اجرای برنامه و رصد رفتارهای مخفی و ترافیک خروجی آن به اینترنت |
| Android Permissions | مجوزهای دسترسی اندروید | دسترسی‌های صریحی که برنامه برای استفاده از حسگرها و داده‌های شخصی کاربر تقاضا می‌کند |
| Recommendation Engine | موتور پیشنهادگر هوشمند | سیستم تحلیلی که بر پایه الگوهای رفتاری کاربر، آیتم‌های مرتبط و جذاب را به او پیشنهاد می‌دهد |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` ذخیره شده و در جدول تک‌خانه‌ای وسط‌چین درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** گیت بازرسی امنیتی دیجیتال با آیکون سبز سبد کافه‌بازار که فایل‌های APK ورودی را اسکن و تایید می‌کند.
2. **فرآیند دو مرحله‌ای بازرسی برنامه‌ها در کافه‌بازار:** `images/cafebazaar-vetting-pipeline.png`
* **موضوع:** اینفوگرافیک گام‌به‌گام: بارگذاری APK توسط توسعه‌دهنده $\rightarrow$ ۱) تحلیل ایستا (بررسی منیفست و دسترسی‌ها) $\rightarrow$ ۲) تحلیل پویا در سندباکس $\rightarrow$ ۳) تایید محتوا با مدل زبانی $\rightarrow$ انتشار عمومی.
3. **نمودار معماری موتور جستجوی هوشمند کافه‌بازار:** `images/cafebazaar-search-architecture.png`
* **موضوع:** دیاگرام تعاملی: کوئری کاربر $\rightarrow$ رفع غلط املایی $\rightarrow$ جستجوی معنایی تگ‌ها و نام‌ها $\rightarrow$ اولویت‌بندی رتبه‌ها بر اساس رضایت و تعداد نصب $\rightarrow$ نمایش نتایج.
4. **داشبورد توسعه‌دهندگان کافه‌بازار و گزارش بررسی برنامه:** `images/cafebazaar-developer-panel-review.png`
* **موضوع:** اسکرین‌شات از پنل توسعه‌دهندگان بازار با تیک‌های سبز اعتبارسنجی امنیتی و وضعیت آماده انتشار.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# بررسی موردی کافه‌بازار؛ بررسی خودکار اپلیکیشن‌ها، تحلیل بدافزارها و موتور پیشنهاد`
2. **مقدمه:** چگونه کافه‌بازار با بیش از ۴۵ میلیون کاربر، صدها هزار اپلیکیشن را بدون ارتش انسانی و با کمک هوش مصنوعی از بدافزارها پاک نگه می‌دارد؟
3. **جدول کاور درس**
4. **مقیاس کافه‌بازار: قلب تپنده اپلیکیشن‌های موبایل در ایران:**
* پتابایت‌ها دانلود ماهانه و ده‌ها هزار تیم توسعه‌دهنده در سرتاسر کشور.
5. **کارخانه بررسی خودکار برنامه‌ها (Automated App Review Pipeline):**
* دیکامپایل بایت‌کد و تحلیل ایستا (Static Analysis).
* شکار دسترسی‌های خطرناک در `AndroidManifest.xml`.
6. **سندباکس تست پویا (Dynamic Sandbox): اجرای آزمایشی در قفس شیشه‌ای:**
* اگر برنامه‌ای سعی کند پنهانی به سرورهای ناشناس پیامک بفرستد، چگونه در سندباکس رسوا می‌شود؟
7. **موتور جستجو و سیستم پیشنهادگر محتوا:**
* اصلاح خطاهای تایپی فارسی و ارائه پیشنهادات شخصی‌سازی‌شده در صفحه اصلی استور.
8. **مهندسی مدرن با AI در تیم‌های کافه‌بازار:**
* استفاده از ایجنت‌های هوش مصنوعی برای اتوماسیون پایپ‌لاین‌های بیلد و ممیزی PRها.
9. **درس‌های عملیاتی کافه‌بازار برای اپلیکیشن موبایل پورتفولیوی شما:**
* چطور پکیج خروجی Capacitor یا Expo خود را آماده کنیم تا بدون اخطار در کافه‌بازار پذیرفته شود.
10. **باکس نکته Quera (`<details class="violet">`):** اهمیت رعایت قانون شفافیت حریم خصوصی (Privacy Policy URL)؛ چرا گذاشتن لینک صفحه حریم خصوصی در صفحه استور الزامی است.
11. **باکس هشدار Quera (`<details class="red">`):** خطر کتابخانه‌های تبلیغاتی مشکوک؛ اضافه کردن یک پکیج نامعتبر به پروژه می‌تواند کل زحمات ساخت اپلیکیشن شما را به عنوان بدافزار زیر سوال ببرد.
12. **باکس رضایت‌بخش Quera (`<details class="green">`):** لذت دیدن اپلیکیشن خودساخته در میان نتایج جستجوی کافه‌بازار با نشان تایید اصالت و امنیت.
13. **جمع‌بندی درس‌نامه:** پایان بررسی کافه‌بازار؛ ورود به آخرین ایستگاه بررسی موردی شرکت‌های ایرانی: دیوار (پالایش آگهی‌ها و چت امن) در درس بعدی.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] مقیاس مهندسی کافه‌بازار و چالش‌های میزبانی هزاران اپلیکیشن تبیین شود.
- [ ] متدولوژی تحلیل ایستا و پویای فایل‌های APK به زبان فنی و شفاف تشریح گردد.
- [ ] نحوه کارکرد موتور جستجو و پیشنهادگر استور بررسی شود.
- [ ] راهنمای آماده‌سازی اپلیکیشن‌های دانشجویان برای انتشار موفق در استورها ارائه گردد.