اپلیکیشن اندرویدی فلشکارت آموزشی توسعه با Django Debug Toolbar و ابزارهای پروفایلینگ
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره توسعه با Django Debug Toolbar و ابزارهای پروفایلینگ
موضوع کلی: برنامه نویسی
موضوع میانی: جنگو (Django)
📋 سرفصلهای دوره
- 1. مقدمهای بر توسعه وب و فریمورکها
- 2. نصب و راهاندازی محیط توسعه Django
- 3. ساختار پروژه و اپلیکیشنهای Django
- 4. مرور معماری MVT در Django
- 5. ایجاد اولین پروژه Django و Hello World
- 6. مدلها و کار با Django ORM
- 7. مهاجرتهای پایگاه داده (Migrations)
- 8. نمایشها (Views) مبتنی بر تابع
- 9. نمایشها (Views) مبتنی بر کلاس (CBV)
- 10. سیستم قالببندی (Template) در Django
- 11. URL Routing و URL Namespacing
- 12. کار با فرمها و اعتبارسنجی آنها
- 13. احراز هویت و مدیریت کاربران Django
- 14. مدیریت فایلهای استاتیک و رسانه
- 15. معرفی Django Admin و سفارشیسازی
- 16. مقدمهای بر تستنویسی در Django
- 17. چرا به ابزارهای دیباگینگ و پروفایلینگ نیاز داریم؟
- 18. معرفی Django Debug Toolbar (DDT) و قابلیتهای آن
- 19. نصب و پیکربندی اولیه DDT در پروژه Django
- 20. افزودن `debug_toolbar` به `INSTALLED_APPS` و `MIDDLEWARE`
- 21. تنظیمات `INTERNAL_IPS` برای دسترسی به DDT
- 22. نحوه نمایش و پنهان کردن تولبار
- 23. مرور کلی بر پنلهای پیشفرض DDT
- 24. استفاده از حالت `DEBUG=True` در توسعه
- 25. نکات امنیتی در استفاده از DDT (فقط در توسعه)
- 26. پنل Versions: مشاهده اطلاعات سیستم و پکیجها
- 27. بررسی نسخههای Django و پایتون نصب شده
- 28. شناسایی پکیجها و وابستگیهای پروژه
- 29. پنل Time: رصد زمان اجرای درخواست
- 30. تفکیک زمان اجرای مراحل مختلف درخواست (Middleware, View)
- 31. تشخیص گلوگاههای زمانی اولیه در پردازش درخواست
- 32. پنل Settings: مشاهده تنظیمات پروژه Django
- 33. بررسی مقادیر مهمی چون `DEBUG`, `ALLOWED_HOSTS`
- 34. پیدا کردن تنظیمات خاص اپلیکیشنها و ماژولها
- 35. پنل Headers: بررسی هدرهای درخواست و پاسخ HTTP
- 36. درک هدرهای مهم HTTP (Content-Type, Cache-Control, etc.)
- 37. دیباگینگ مسائل مربوط به CORS و امنیتی هدرها
- 38. پنل Request: مشاهده جزئیات درخواست HTTP
- 39. بررسی متدهای HTTP (GET, POST, PUT, DELETE)
- 40. دسترسی به دادههای `request.GET` و `request.POST`
- 41. مشاهده اطلاعات Session و Cookie
- 42. درک دادههای مربوط به User Agent و IP Address
- 43. پنل SQL: رصد و تحلیل کوئریهای پایگاه داده
- 44. مشاهده تعداد کل کوئریهای اجرا شده
- 45. بررسی جزئیات هر کوئری (متن، زمان اجرا، Backtrace)
- 46. شناسایی کوئریهای تکراری و مشکل N+1
- 47. استفاده از `select_related` برای بهینهسازی JOIN
- 48. استفاده از `prefetch_related` برای بهینهسازی M2M/Reverse FK
- 49. توضیح `EXPLAIN` و تحلیل Plan اجرای کوئری
- 50. فیلتر و جستجو در لیست کوئریها
- 51. تحلیل Backtrace برای یافتن منشأ کوئریها
- 52. بهینهسازی ORM با استفاده از دادههای پنل SQL
- 53. پنل Static Files: رصد بارگذاری فایلهای استاتیک
- 54. تشخیص مسیرهای فایلهای استاتیک و مشکلات `STATIC_URL`
- 55. دیباگینگ مسائل مربوط به `collectstatic`
- 56. پنل Templates: بررسی تمپلتهای رندر شده
- 57. مشاهده Context ارسالی به تمپلت
- 58. تشخیص فایل تمپلت استفاده شده و سلسله مراتب وراثت
- 59. نمایش زمان رندر هر تمپلت و بخشهای آن
- 60. شناسایی تمپلتهای سنگین و نیازمند بهینهسازی
- 61. پنل Cache: رصد عملیات کشینگ Django
- 62. مشاهده Hit/Miss در کش
- 63. بررسی محتوای ذخیره شده در کش (Backend)
- 64. دیباگینگ مشکلات مربوط به کشینگ
- 65. پنل Signals: مشاهده سیگنالهای ارسال شده در Django
- 66. ردیابی سیگنالهای داخلی Django (pre_save, post_save, etc.)
- 67. دیباگینگ سیگنالهای سفارشی و رسیورهای آنها
- 68. پنل Logging: نمایش لاگهای برنامه Django
- 69. پیکربندی سیستم لاگینگ Django برای نمایش در DDT
- 70. مشاهده لاگهای سطح DEBUG, INFO, WARNING, ERROR
- 71. پنل Redirects: ردیابی ریدایرکتهای HTTP
- 72. پنل History: مشاهده تاریخچه درخواستهای اخیر
- 73. نوشتن پنلهای سفارشی برای Django Debug Toolbar
- 74. افزودن قابلیتهای جدید و خاص پروژه به DDT
- 75. تنظیمات پیشرفته و Middlewareهای سفارشی برای DDT
- 76. یکپارچهسازی DDT با ابزارهای دیگر (مثل Celery Beat)
- 77. استفاده از DDT در محیطهای غیروب (Shell, Management Commands)
- 78. مقدمهای بر پروفایلینگ کد و اهمیت آن
- 79. انواع پروفایلینگ (CPU, Memory, I/O) و متریکها
- 80. ابزارهای پروفایلینگ در پایتون: ماژول `time` و `timeit`
- 81. پروفایلینگ با `cProfile` برای تحلیل CPU Usage
- 82. تجزیه و تحلیل خروجی `cProfile` با `pstats`
- 83. بصریسازی نتایج `cProfile` با `snakeviz`
- 84. پروفایلینگ خط به خط کد با `line_profiler`
- 85. پروفایلینگ مصرف حافظه با `memory_profiler`
- 86. شناسایی لیکهای حافظه با `objgraph`
- 87. معرفی Django Silk: یک ابزار پروفایلینگ جامع برای Django
- 88. نصب و پیکربندی Django Silk در پروژه
- 89. بررسی درخواستها، پاسخها و زمان اجرای آنها در Silk
- 90. تحلیل دقیق کوئریهای SQL در Django Silk
- 91. اندازهگیری زمان اجرای بلاکهای کد سفارشی در Silk
- 92. استفاده از `django-debug-toolbar-requests` برای تاریخچه کاملتر
- 93. ادغام Django Debug Toolbar با Django Silk
- 94. بهینهسازی کوئریهای پایگاه داده: ایندکسها و انتخاب فیلدها
- 95. استراتژیهای کشینگ در Django: View, Template, Low-Level Cache
- 96. استفاده از `Celery` برای اجرای کارهای سنگین در پسزمینه
- 97. بهینهسازی کد پایتون و الگوریتمهای پرهزینه
- 98. بهینهسازی فایلهای استاتیک: فشردهسازی و استفاده از CDN
- 99. مانیتورینگ عملکرد برنامه در محیط Production (APM)
- 100. چک لیست نهایی برای توسعه و استقرار با عملکرد بالا
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.