برنامه‌سازی وب

مدرس: دکتر حمید ضرابی زاده گواهی‌نامه: رسمی دوزبانه
ترم: تابستان ۱۴۰۴ پیش‌نیاز: برنامه‌سازی پایتون
زمان ارائه: یک‌شنبه ۱۷:۰۰ تا ۲۰:۰۰ محل برگزاری: کلاس مجازی

هدف کلی

هدف از این درس، آشنایی دانش‌جویان با مفاهیم پایه و اصول طراحی نرم‌افزارهای تحت وب است. در این درس، دانش‌جویان علاوه بر آشنایی با مبانی برنامه‌نویسی سمت کاربر و سمت کارگزار و نحوه‌ی تعامل این دو، با چارچوب جنگو (Django) به‌عنوان یکی از چارچوب‌های مطرح و پرکاربرد مبتنی بر زبان برنامه‌سازی پایتون برای توسعه‌ی حرفه‌ای و کارآمد نرم‌افزارهای تحت وب آشنا می‌شوند.

سرفصل‌ها

  • طراحی فرانت (۶ جلسه)
    • طراحی صفحات HTML، عناصر و ویژگی‌ها، فرمت‌بندی، لیست‌ها
    • فرم‌ها، عناصر معنایی، عناصر چندرسانه‌ای، توصیه‌های طراحی
    • سبک‌بندی با CSS، وراثت و آبشار، انتخاب‌کننده‌ها، درج فونت جدید
    • چیدمان صفحه، مدل جعبه‌ای، نمایش شناور، شبه‌کلاس‌ها، طراحی واکنش‌گرا
    • جاوا اسکریپت، مفاهیم جدید +ES6، ماژول‌ها، رده‌ها، تجزیه ساختاری
    • مدل DOM، ویرایش عناصر، رسیدگی به رویدادها، توابع ناهمگام، کاربردها
  • تعامل با سرور (۲ جلسه)
    • کارگزار وب پایتون، رابط CGI، پردازش فرم‌های ورودی، رابط WSGI
    • استفاده از AJAX، ارتباط با سرور، کار با API، تبادل داده با JSON
  • چارچوب جنگو (۱۰ جلسه)
    • مفاهیم اولیه، نصب و راه‌اندازی، مؤلفه‌ها، معماری کلی
    • ایجاد یک پروژه، تعریف مدل، راه‌اندازی مدیر، افزودن نما
    • لایه‌ی قالب‌، زبان تعریف قالب، قالب پایه، فیلترهای آماده
    • لایه‌ی مدل، نگاشت‌گر شیء-رابطه، روابط بین مدل‌ها، وراثت
    • پرس‌وجوی داده‌ها، انواع پرس‌وجو، مدیریت داده‌ها
    • لایه‌ی نما، نگاشت نشانی‌ها، اشیاء درخواست و پاسخ، نماهای عمومی
    • پردازش فرم‌ها، ابزارک‌های توکار، اعتبارسنجی
    • احراز هویت، کنترل دسترسی‌ها، مدیریت کاربرها و گروه‌ها
    • دکوراتورها، نحوه‌ی تعریف، آرگومان‌های متغیر، کاربردها در جنگو
    • مرحله‌ی استقرار، استفاده از داکر، تنظیم وب‌سرور، بسته‌بندی، بهینه‌سازی

ارزیابی

  • تمرین‌های عملی (۶ نمره)
  • پروژه‌ (۵ نمره)
  • آزمون پایانی (۱۰ نمره)

منابع

  1. J. Wolf. HTML and CSS: The Comprehensive Guide. Rheinwerk Computing, 2023.
  2. D. Flanagan. Javascript: The Definitive Guide. 7th Edition, O'Reilly Media, 2020.
  3. B. Shaw, S. Badhwar, and C. Guest. Web Development with Django. 2nd Edition, Packt Publishing, 2023.
  4. M. Fowler, D. Rice, M. Foemmel, E. Hieatt, R. Mee, and R. Stafford. Patterns of Enterprise Application Architecture. Pearson Addison-Wesley, 2003.