٪85 تخفیف

دانلود کتاب آموزشی Django for Web Development جلد سوم

دسته‌بندی: برچسب: تاریخ به روز رسانی: 6 دی 1404 تعداد بازدید: 349 بازدید
ویژگی های محصول: پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۳۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۷۵,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

بخش 9. استفاده از Django REST Framework برای ساخت API

 

فصل 1. معرفی Django REST Framework (DRF)

  • توضیح چیستی و مزایای Django REST Framework
  • مقایسه DRF با دیگر فریم‌ورک‌های API مانند Flask و FastAPI
  • نصب و پیکربندی Django REST Framework در پروژه Django
    • نصب DRF با استفاده از pip
    • اضافه کردن ‘rest_framework’ به INSTALLED_APPS در فایل تنظیمات Django

فصل 2. طراحی و ساخت APIهای RESTful با Django

  • اصول طراحی RESTful API
    • HTTP methods: GET, POST, PUT, DELETE
    • Status Codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found
  • پیاده‌سازی API برای مدل‌های ساده (مثلاً لیست محصولات)
    • تعریف viewset و serializer برای مدل‌ها
    • استفاده از ModelViewSet برای ایجاد APIهای استاندارد CRUD
    • ثبت URLهای API در urls.py

فصل 3. کار با Serializer‌ها

  • مفهوم Serializer در DRF و نقش آن در تبدیل داده‌ها از/به فرمت JSON
  • تعریف یک Serializer ساده برای مدل‌ها
  • استفاده از ModelSerializer برای ساده‌سازی فرآیند ایجاد Serializer
  • افزودن اعتبارسنجی (Validation) به Serializerها
    • اعتبارسنجی داده‌های ورودی (مثل اعتبارسنجی طول رشته‌ها یا فرمت ایمیل)
  • سفارشی‌سازی Serializerها برای نیازهای خاص

فصل 4. استفاده از ViewSets و Routers

  • تفاوت بین ViewSet و APIView
  • استفاده از ModelViewSet و ReadOnlyModelViewSet
  • تعریف custom ViewSet برای عملیات خاص
  • استفاده از Router برای خودکارسازی URLها در DRF

فصل 5. امنیت API و احراز هویت

  • آشنایی با سیستم احراز هویت در DRF
    • استفاده از SessionAuthentication و TokenAuthentication
    • پیاده‌سازی JWT (JSON Web Token) برای احراز هویت در API
  • مجوزها و دسترسی‌ها (Permissions)
    • انواع مجوزها در DRF: IsAuthenticated, IsAdminUser, IsAuthenticatedOrReadOnly
    • سفارشی‌سازی مجوزها برای محدود کردن دسترسی کاربران به API
  • استفاده از Throttle برای محدود کردن تعداد درخواست‌ها به API

فصل 6. کار با روابط بین مدل‌ها در API

  • تعریف APIهای با روابط پیچیده (یک به یک، یک به چند، چند به چند)
    • استفاده از PrimaryKeyRelatedField, HyperlinkedRelatedField, و SerializerMethodField
  • نرمال‌سازی داده‌ها با استفاده از Nested Serializer
  • پیاده‌سازی APIهای پیچیده با استفاده از روابط بین مدل‌ها

فصل 7. تست کردن API

  • نوشتن تست‌های واحد برای APIها در DRF
  • استفاده از APIClient برای ارسال درخواست‌های HTTP به API در تست‌ها
  • بررسی وضعیت پاسخ‌ها و اعتبارسنجی داده‌های برگشتی در تست‌ها

فصل 8. بهینه‌سازی عملکرد API

  • پیاده‌سازی کش‌کردن (Caching) در APIها برای افزایش سرعت
  • استفاده از pagination برای مدیریت داده‌های زیادی که به طور همزمان بارگذاری می‌شوند
  • محدود کردن داده‌های ارسال شده با استفاده از query parameters

فصل 9. مستندسازی API

  • استفاده از ابزارهای مستندسازی خودکار API مانند drf-yasg یا Swagger
  • افزودن توضیحات و مستندات به APIها با استفاده از docstrings
  • پیکربندی و نمایش مستندات API در قالب Swagger UI

فصل 10. استقرار API

  • استقرار API ساخته‌شده در محیط‌های مختلف مانند Heroku یا AWS
  • استفاده از Nginx و Gunicorn برای اجرای API در محیط تولید
  • پیکربندی امنیتی برای API در محیط تولید (استفاده از HTTPS، محدود کردن دسترسی‌ها، و مانیتورینگ)

بخش 10. تست کردن و عیب‌یابی

 

فصل 1. نوشتن تست‌های واحد برای مدل‌ها و Viewها

  • آشنایی با مفهوم تست واحد (Unit Testing) در Django
  • نحوه نوشتن تست‌های واحد برای مدل‌ها (Models)
  • نوشتن تست برای Viewها (Function-based و Class-based Views)
  • استفاده از TestCase برای نوشتن تست‌ها
  • استفاده از setUp و tearDown برای آماده‌سازی داده‌ها قبل از تست و تمیزکاری پس از تست
  • تست کردن صحت عملکرد توابع و متدها

فصل 2. استفاده از ابزارهای تست در Django

  • آشنایی با ابزارهای داخلی Django برای تست
    • استفاده از Django Test Client برای شبیه‌سازی درخواست‌های HTTP
    • انجام تست‌های سطح درخواست (Request-Level Tests)
    • تست کردن الگوها (Templates)
  • استفاده از pytest به عنوان یک ابزار جایگزین برای تست‌های پیشرفته
    • راه‌اندازی و پیکربندی pytest در پروژه Django
    • استفاده از پلاگین‌های pytest برای تست بهتر

فصل 3. روش‌های عیب‌یابی در Django

  • استفاده از دستورالعمل‌های print() و logging برای پیدا کردن مشکلات
  • آشنایی با سیستم Logging در Django
    • تنظیمات پیش‌فرض و سفارشی‌سازی Logging در settings.py
    • استفاده از لاگ‌ها برای ردیابی و عیب‌یابی مشکلات
    • انواع لاگ‌ها (ERROR, WARNING, DEBUG)
  • استفاده از Django Debug Toolbar برای عیب‌یابی
    • نصب و پیکربندی Django Debug Toolbar
    • بررسی درخواست‌ها و پاسخ‌ها در زمان واقعی
    • مشاهده اطلاعات مربوط به پایگاه داده و زمان بارگذاری صفحات

فصل 4. بررسی لاگ‌ها و گزارش خطاها

  • نحوه مدیریت خطاها در Django با استفاده از Error Reporting
  • استفاده از سرویس‌هایی مانند Sentry برای گزارش خطا
  • روش‌های بررسی خطاهای تولید و زمان اجرا در محیط‌های مختلف
  • تجزیه و تحلیل مشکلات در لاگ‌های سرور

فصل 5. تست عملکرد و بهینه‌سازی

  • استفاده از ابزارهای مختلف برای بررسی عملکرد برنامه
    • استفاده از profiling برای شناسایی گلوگاه‌های عملکرد
    • بررسی زمان پاسخ سرور و بهینه‌سازی پایگاه داده
  • تست کردن بار و عملکرد با استفاده از ابزارهایی مانند Locust یا Apache JMeter

فصل 6. استفاده از Mocking در تست‌ها

  • مفهوم Mocking و استفاده از آن برای شبیه‌سازی رفتار اجزای مختلف سیستم
  • استفاده از unittest.mock برای ایجاد mock object
  • نحوه تست وابستگی‌ها و سرویس‌های خارجی بدون نیاز به اتصال به منابع واقعی

بخش 11. استقرار (Deployment) وب‌سایت

 

فصل 1. آماده‌سازی پروژه برای استقرار

  • تغییر تنظیمات پروژه برای محیط تولید
  • پیکربندی فایل‌های settings.py برای محیط تولید (DEBUG=False، ALLOWED_HOSTS، SECRET_KEY)
  • استفاده از .env یا فایل‌های پیکربندی برای ذخیره اطلاعات حساس
  • پیکربندی فایل‌های STATIC و MEDIA برای مدیریت منابع ایستا

فصل 2. انتقال پایگاه داده‌ها به محیط تولید

  • تنظیمات مربوط به پایگاه داده (انتقال به PostgreSQL، MySQL، یا هر پایگاه داده دیگر)
  • استفاده از Django Migrations برای به‌روزرسانی پایگاه داده‌ها
  • انجام بکاپ‌های منظم از پایگاه داده‌ها

فصل 3. تنظیمات امنیتی در محیط تولید

  • تنظیمات SSL/TLS برای ارتباط امن (HTTPS)
  • استفاده از ابزارهایی مانند Let’s Encrypt برای گواهی‌های SSL رایگان
  • پیاده‌سازی فایروال و محدودیت دسترسی به سرور
  • پیکربندی تنظیمات امنیتی در Django (مانند استفاده از X-Content-Type-Options, X-Frame-Options, Strict-Transport-Security و …)

فصل 4. استقرار پروژه در سرورهای ابری

  • استقرار در Heroku: راهنمای گام به گام برای استقرار پروژه Django بر روی Heroku
  • استقرار در DigitalOcean یا AWS EC2: نحوه راه‌اندازی سرور و استقرار Django
  • راه‌اندازی محیط‌های مجازی و نصب وابستگی‌ها

فصل 5. پیکربندی Nginx و Gunicorn برای اجرای Django

  • تنظیمات Gunicorn برای اجرای سرور Django در تولید
  • پیکربندی Nginx به‌عنوان Reverse Proxy برای مدیریت ترافیک ورودی و هدایت آن به Gunicorn
  • ایجاد فایل‌های تنظیمات برای Nginx و Gunicorn
  • بهینه‌سازی Nginx برای عملکرد بهتر (مانند استفاده از Cache و Compression)

فصل 6. مدیریت فایل‌های ایستا (Static Files) و رسانه‌ها (Media Files)

  • پیکربندی collectstatic برای جمع‌آوری فایل‌های استاتیک در محیط تولید
  • تنظیمات مناسب برای ذخیره‌سازی و نمایش فایل‌های رسانه‌ای در سرور
  • استفاده از CDN برای بهینه‌سازی بارگذاری فایل‌های استاتیک

فصل 7. تنظیمات پایگاه داده‌ها و منابع تولید

  • بهینه‌سازی پایگاه داده برای محیط تولید (ایجاد ایندکس‌ها، پیکربندی Connection Pooling)
  • نظارت بر منابع سرور (CPU، RAM، فضای دیسک)
  • استفاده از ابزارهای مانیتورینگ مانند New Relic یا Prometheus برای بررسی عملکرد سرور

فصل 8. پیکربندی ابزارهای مانیتورینگ و لاگ‌گیری

  • استفاده از ابزارهایی مانند Sentry برای مانیتورینگ خطاها و گزارش‌گیری
  • پیکربندی logrotate برای مدیریت فایل‌های لاگ
  • پیاده‌سازی لاگ‌گیری مناسب در Django برای رصد خطاها و درخواست‌ها

فصل 9. پیکربندی ایمیل و سرویس‌های ارتباطی

  • تنظیمات برای ارسال ایمیل در محیط تولید (SMTP، استفاده از سرویس‌های مانند SendGrid یا Mailgun)
  • پیکربندی ایمیل برای احراز هویت و بازیابی رمز عبور

فصل 10. استقرار و پشتیبان‌گیری مداوم

  • استفاده از ابزارهایی برای اتوماسیون استقرار مانند Docker، Kubernetes و CI/CD
  • پیاده‌سازی استراتژی‌های پشتیبان‌گیری خودکار از پایگاه داده‌ها و فایل‌های پروژه

فصل 11. مدیریت بار و مقیاس‌پذیری

  • استفاده از Load Balancer برای توزیع بار بین چندین سرور
  • مقیاس‌پذیری عمودی و افقی سرورهای Django
  • پیاده‌سازی کشینگ برای بهینه‌سازی عملکرد (مانند استفاده از Redis یا Memcached)

فصل 12. بروزرسانی‌های پس از استقرار و مدیریت سرور

  • نحوه بروزرسانی پروژه Django بدون توقف سرویس
  • انجام تست‌های پس از استقرار و نظارت بر عملکرد سرور
  • امنیت سرور و جلوگیری از حملات احتمالی

بخش 12. مفاهیم پیشرفته

 

فصل 1. پیاده‌سازی WebSockets و کار با Django Channels

  • معرفی WebSockets و کاربردهای آن در برنامه‌های وب
  • نصب و پیکربندی Django Channels برای پشتیبانی از WebSockets
  • پیاده‌سازی ارتباطات دوطرفه در Django با استفاده از WebSockets
  • ارسال و دریافت داده‌ها در زمان واقعی (Real-time Data)
  • استفاده از Consumer‌ها برای مدیریت درخواست‌های WebSocket
  • امنیت WebSocket و احراز هویت در ارتباطات WebSocket
  • نمونه‌سازی چت آنلاین با استفاده از Django Channels

فصل 2. پیاده‌سازی کش‌کردن داده‌ها (Caching) برای بهینه‌سازی عملکرد

  • اهمیت کش‌کردن و تاثیر آن در بهینه‌سازی عملکرد
  • انواع کش‌کردن در Django: کش‌کردن در سطح View، کش‌کردن در سطح Template و کش‌کردن داده‌ها
  • تنظیمات سیستم کش در Django (Memcached، Redis)
  • استفاده از Cache Middleware و Cache Decorators
  • کش‌کردن داده‌های مدل‌ها و Query‌ها برای بهینه‌سازی دسترسی به پایگاه داده
  • جلوگیری از کش‌کردن داده‌های حساس یا غیر پویا
  • مثال عملی: پیاده‌سازی کش‌کردن نتایج جستجو در وب‌سایت

فصل 3. معرفی ابزارهایی مانند Celery برای انجام وظایف پس‌زمینه‌ای (Background Tasks)

  • معرفی و نصب Celery در پروژه Django
  • پیاده‌سازی وظایف پس‌زمینه‌ای با استفاده از Celery (مانند ارسال ایمیل‌ها یا پردازش داده‌ها)
  • استفاده از Message Brokers مانند RabbitMQ یا Redis برای مدیریت صف‌ها
  • نحوه مدیریت و نظارت بر کارهای Celery
  • ایجاد و مدیریت زمان‌بندی وظایف (Periodic Tasks) با Celery
  • استفاده از Celery برای انجام عملیات طولانی‌مدت به‌طور غیرهمزمان
  • مثال عملی: ارسال ایمیل‌های تأیید ثبت‌نام به صورت پس‌زمینه‌ای

فصل 4. استفاده از سیستم‌های مدیریت فرم و پرداخت آنلاین (مانند Stripe یا PayPal)

  • پیاده‌سازی سیستم پرداخت آنلاین با استفاده از Stripe در Django
  • تنظیمات و پیکربندی Stripe API برای پردازش پرداخت‌ها
  • پیاده‌سازی فرم‌های پرداخت و امنیت تراکنش‌ها
  • پردازش پرداخت‌ها و مدیریت وضعیت پرداخت‌ها
  • استفاده از Webhooks برای دریافت اطلاعات وضعیت پرداخت از Stripe یا PayPal
  • پیاده‌سازی پرداخت با PayPal در Django
  • نمونه‌سازی سیستم خرید آنلاین با استفاده از Stripe

فصل 5. پشتیبانی از APIهای گراف‌کیوِری با GraphQL در Django

  • معرفی GraphQL و تفاوت‌های آن با REST
  • نصب و پیکربندی Graphene برای استفاده در پروژه Django
  • طراحی و ساخت یک API GraphQL با استفاده از Django
  • ایجاد Query‌ها، Mutation‌ها و Subscription‌ها در GraphQL
  • استفاده از Django ORM در GraphQL برای مدیریت داده‌ها
  • امنیت در APIهای GraphQL: احراز هویت و مجوزها
  • مثال عملی: پیاده‌سازی یک API GraphQL برای جستجو و ایجاد داده‌ها

فصل 6. پیاده‌سازی Multitenancy در Django

  • مفهوم Multitenancy و استفاده‌های آن در توسعه نرم‌افزار
  • پیاده‌سازی Multitenancy در Django با استفاده از مدل‌های جداگانه برای هر Tenant
  • استفاده از Subdomains یا URL Prefixes برای مدیریت Tenant‌ها
  • مدیریت داده‌های مشترک و اختصاصی برای هر Tenant
  • چالش‌ها و راه‌حل‌ها در پیاده‌سازی Multitenancy
  • مثال عملی: طراحی یک سیستم چند مستأجری برای یک سرویس SaaS

فصل 7. بهینه‌سازی کد و کاربردهای Asynchronous در Django

  • معرفی قابلیت‌های Asynchronous در Django (Asynchronous Views، Database Queries و Task Queues)
  • استفاده از async و await در View‌ها و Models
  • بهینه‌سازی پردازش‌ها با استفاده از Asynchronous I/O
  • استفاده از Django Channels برای پشتیبانی از درخواست‌های Asynchronous
  • چالش‌ها و بهترین شیوه‌ها برای پیاده‌سازی Asynchronous در Django
  • نمونه‌سازی یک سیستم پشتیبانی آنلاین با استفاده از Asynchronous Views

فصل 8. امنیت پیشرفته در Django

  • استفاده از HTTPS و SSL/TLS برای امن‌سازی ارتباطات
  • جلوگیری از حملات CSRF (Cross-Site Request Forgery)
  • پیاده‌سازی احراز هویت چندعاملی (Two-Factor Authentication)
  • محافظت از اپلیکیشن در برابر حملات XSS (Cross-Site Scripting) و SQL Injection
  • بهترین شیوه‌ها برای رمزنگاری داده‌ها و مدیریت کلیدها
  • بررسی و پیکربندی تنظیمات امنیتی Django (SECURE_SSL_REDIRECT، X_FRAME_OPTIONS و…)
  • مثال عملی: پیاده‌سازی احراز هویت چندعاملی با استفاده از Django

فصل 9. پیاده‌سازی قابلیت‌های Internationalization و Localization در Django

  • معرفی و پیکربندی Internationalization (i18n) و Localization (l10n)
  • ترجمه متون و ایجاد فایل‌های ترجمه در Django
  • مدیریت زمان و تاریخ بر اساس منطقه زمانی
  • نمایش داده‌ها بر اساس فرمت‌های مختلف منطقه (Currency، Date Formats)
  • استفاده از ترجمه‌ها در Template‌ها و Model‌ها
  • مثال عملی: طراحی یک وب‌سایت با پشتیبانی از چند زبان و منطقه زمانی

این سر فصل‌ها می‌توانند بسته به سطح دوره و هدف‌های آن تغییر کنند، اما به طور کلی این موارد معمولاً در دوره‌های آموزشی Django برای توسعه وب پوشش داده می‌شوند.

برند

نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت