آموزشگاه کبیری

( شعبه شهریار )

عنوان دوره:

برنامه نویسی وب (مقدماتی و پیشرفته)


مدت دوره:

130 ساعت


روزهای برگزاری:

روزهای زوج (به منظور هماهنگی با اکثریت دانشجویان دوره، روزهای برگزاری دوره قابل تغییر میباشد)


ساعت تشکیل کلاس:

17 الی 20 (به منظور هماهنگی با اکثریت دانشجویان دوره، ساعات برگزاری دوره قابل تغییر میباشد)


این دوره برای اشخاصی در نظر گرفته شده که میخواهند مهارت برنامه نویسی وب و طراحی و پیاده سازی سایت را تکمیل نمایند، به طوریکه هر گونه پروژه ای را در بستر وب بتوانند پیاده سازی نمایند و دیگر در پیاده سازی انواع سایت ها و وب اپلیکیشن ها، هیچگونه محدودیتی نداشته باشند.


پس از این دوره شما قادر خواهید بود هرگونه پروژه در قالب وب را (اعم از انواع سایت ها و وب اپلیکیشن ها) انجام دهید.


  • جاوا اسکریپت (Java Script):
    • زبان های برنامه نویسی تحت وب و دسته بندی آنها
    • زبان های سمت سرور در مقابل زبان های سمت کاربر
    • تشریح فرایند ارسال و دریافت درخواست ها در دنیای وب
    • تاریخچه مختصری از جاوااسکریپت و نحوه پیدایش آن
    • تفاوت زبان های کامپایلری با زبان های مفسری
    • جی کوئری چیست ؟
    • در مورد XML, Ajax , JSON و کاربرهای آن ها
    • دلایل استفاده از xml و json و اهمیت استفاده از این دو ابزار
    • تشریح کاربرد XML در فایل های مجموعه آفیس مایکروسافت به عنوان یک نمونه
    • مزیت ها و موارد استفاده جاوااسکریپت
    • کاربردهای مختلف جاوااسکریپت
    • سرفصل های دوره و تشریح آن
    • منابع، ابزار و نرم افزارهای مورد نیاز!
    • نمایش مثال های مختلف از کاربرد جاوااسکریپت در صفحات وب
    • تگ script در html و استفاده از کدهای جاوااسکریپت
    • دو روش بکارگیری جاوااسکریپت در صفحات وب و نکات آن
    • فرمت فایل های جاوااسکریپت و نحوه لود آن ها در صفحات وب
    • نکاتی در مورد محل لود فایل های جاوااسکریت در صفحات وب
    • توضیح در مورد تگ noscript
    • استاندارد تعین فرمت ها
    • رعایت نظم و فرورفتگی ها (Indentation) در کدنویسی
    • استفاده از سمی کالن ; در پایان دستورات
    • کامنت ها در زبان جاوااسکریپت
    • معرفی انواع داده های موجود در زبان جاوااسکریپت
    • نوع داده ای عددی
    • نوع داده ای رشته
    • نوع داده ای بولین
    • نوع داده ای آرایه
    • نوع داده ای اشیاء
    • توضیح در مورد اشیاء و برنامه نویسی شی گرا
    • ذکر مثال هایی از اشیاء، متدها و ویژگی های پیش ساخته در زبان جاوااسکریپت
    • معرفی متغیر ها و وظیفه آنها در برنامه نویسی
    • نحوه تعریف متغیر و مقدار دهی به آن
    • نحوه تعین نوع متغیر در جاوااسکریپت به صورت خودکار
    • ذکر مثال هایی از انواع مختلف متغیر ها و چاپ مقادیر آن ها
    • معرفی دستور typeof برای تشخیص نوع متغیر
    • معرفی مقادیر NaN و undefined وnull  در جاوااسکریپت و مفهوم آن ها
    • نحوه تعریف چند متغیر با یک دستور var در یک خط
    • نحوه برخورد جاوااسکریپت با تعریف دوباره متغیر ها!!!
    • نحوه خواندن اطلاعات اعضای ارایه ها و اشیاء در جاوااسکریپت
    • تمرین : تشخیص مقادیر چند عبارت!
    • Scope محلی و سراسری
    • عملگرهای محاسباتی و ریاضی در جاوااسکریپت
    • عملگرهای انتساب در جاوااسکریپت
    • عملگرهای مربوط به رشته ها در جاوااسکریپت
    • عملگر های مقایسه ای در جاوااسکریپت و اهمیت آن ها
    • عملگر شرطی سه گانه (:?)
    • عملگرهای منطقی (and,or,not) و اهمیت و کاربرد فراوان انها در جاوااسکریپت
    • تشریح عملگرهای منطقی و توضیح جدول محاسبات آن ها
    • اولویت عملگرها در زبان جاوااسکریپت
    • ایجاد اولویت دلخواه با استفاده از پرانتزها
    • معرفی توابع دریافت ورودی از کاربر در زبان جاوااسکریپت
    • معرفی توابع confirm, prompt و ویژگی innerHtml و  value
    • معرفی توابع نمایش خروجی در زبان جاوااسکریپت و نحوه استفاده از آنها
    • معرفی توابع alert , document.write , console.log و ویژگی  innerHtmlو  value
    • معرفی ساختارهای شرطی در زبان جاوااسکریپت
    • دلایل و اهداف استفاده از ساختار های شرطی در زبان های برنامه نویسی
    • ساختار شرطی if و نحوه استفاده از آن
    • آشنایی به آرایه ها، ایندکس ها و مقادیر آنان
    • آشنایی به نحوه استفاده، تغیر و اضافه و حذف کردن عناصر آرایه
    • آرایه های دو بعدی و سه بعدی
    • آشنایی با اشیاء، ویژگی ها و متدها
    • نحوه استفاده از متد ها و ویژگی های اشیاء در جاوااسکریپت
    • ساختار های کنترلی و حلقه های مختلف در جاوااسکریپت
    • آشنایی با حلقه های While, Do..While
    • حلقه For و .in
    • آشنایی با Break
    • آشنایی با Continue
    • کدنویسی و ذکر مثال هایی از حلقه های مختلف
    • مینی پروژه : چاپ اعضای آرایه ی دو بعدی با ظاهری مناسب
    • متد های شی window و عدم نیاز به نام بردن خود شئ window برای استفاده از آن ها
    • تعریف توابع دلخواه در جاوااسکریپت، نکات و ترفندها
    • اشیاء و برنامه نویسی شیءگرا در جاوااسکریپت
    • ForEach()
    • .of
    • .in
    • سه روش مختلف ایجاد اشیاء در جاوااسکریپت
    • مدل شی گرایی جاوااسکریپت
    • (classless – prototype) و تفاوت آن با مدل های دیگر
    • constructor ها در جاوااسکریپت و مفهوم آن
    • کیورد this و کاربرد آن
    • نحوه تعریف کلاس(شئ) جدید در جاوااسکریپت
    • نحوه صحیح تعریف ویژگی های یک شئ درون آن
    • نحوه تعریف و افزودن متدها برای یک شئ
    • نحوه حذف و اضافه کردن متد و ویژگی به اشیاء
    • نحوه پاس دادن پارامتر ها به کانستراکتور شئ
    • ویژگی prototype و دسترسی به تعریف اصلی (اولیه) اشیاء در جاوااسکریپت
    • ذکر مثال هایی از اشیاء پیش ساخته در جاوااسکریپت و متدها و ویژگی ها آنان
    • مینی پروژه : تغیر پس زمینه صفحه وب به صورت رندم با کلیک رو بر روی یک دکمه
    • مینی پروژه : تولید کننده دکمه!!! ایجاد دکمه ای برای تولید دکمه های رنگارنگ و افزودن آنها به صفحه وب
    • اشیاء، توابع و متدهای پیش فرض در جاوا اسکریپت
    • نمایش اعداد با دقت خاص
    • نمایش اعداد با تعداد ارقام ثابت
    • تبدیل اعداد به رشته
    • دریافت مقادیر متغیر های عددی
    • کلاس Date و کار با تاریخ و زمان در جاوااسکریپت
    • نحوه ایجاد یک شئ تاریخ در جاوااسکریپت و کار با آن
    • دریافت بخش های مختلف از تاریخ و زمان سیستم کاربر (سال، ماه، روز، هفته، ساعت، دقیقه و …)
    • تغیر بخش های مختلف از شئ تاریخ و زمان (سال، ماه، روز، هفته، ساعت، دقیقه و …)
    • کلاس String و کار با رشته ها در جاوااسکریپت
    • کلاس Array و کار با آرایه ها در جاوااسکریپت
    • تبدیل انواع داده ای در جاوااسکریپت
    • توضیح جدول تبدیل داده ها و ضرورت مطالعه آن
    • نحوه تبدیل انواع داده ها به رشته
    • نحوه تبدیل انواع داده ها به عدد
    • نحوه تبدیل انواع داده ها به بولین
    • نحوه تبدیل آرایه به رشته
    • نحوه تبدیل رشته به آرایه
    • رویدادها و کنترل رفتار کاربران در جاوااسکریپت
    • Event
    • متد addEventListener
    • متد removeEventListener
    • detachEvent
    • مینی پروژه : نمایش ابعاد پنجره مرورگر در حین تغیر سایز آن توسط کاربر
    • مینی پروژه : نمایش موقعیت اسکرول صفحه وب در حین اسکرول کردن توسط کاربر
    • مینی پروژه : طراحی و کدنویسی یک بازی جذاب، گرفتن مگس توسط عنکبوت با استفاده از دکمه های جهت کیبرد
    • مدل BOM و تعامل جاوااسکریپت با مرورگر کاربر
    • مدل DOM، تغییر در تگ های صفحه وب و شیء Element
    • شیء Document و انجام تغییراتپویا در صفحه وب
    • توابع زمانی، خطایابی و تشخیص جلسه خطا در جاوااسکریپت
    • مینی پروژه : انجام اسکرول نرم (smooth scroll) با جاوااسکریپت و تغیر تابع scrollTo  پیش فرض
    • مینی پروژه : ایجاد دکمه انتقال به بالا با قابلیت اسکرول نرم و محو/نمایان شدن خودکار
    • مینی پروژه : ایجاد منوی چسبان با جاوااسکریپت به شکل جالب و زیبا
  • جی کوئری (Jquery):
    • آشنایی با جی کوئری و قواعد نوشتاری آن
    • دستکاری و انجام تغییرات در صفحات وب با جی کوئری
    • مدیریت رویدادها و نکات مهم در کدنویسی جی کوئری
    • انیمیشن ها، متدهای فیلترینگ و پیمایش در جی کوئری
    • عبارات منظم و اعتبار سنجی فرم ها
    • XML و JSON
    • آموزش کدنویسی AJAX با جاوااسکریپت خالص
    • آموزش کدنویسی AJAX با کتابخانه جی کوئری
    • آموزش نحوه صحیح نوشتن افزونه های جی کوئری
    • پروژه طراحی پلاگین Closable
    • کدنویسی پلاگین اعتبارسنجی فرم ها
    • طراحی و پیاده سازی Modal

 

  • PHP:
    • قرارداد ها، شروع کدنویسی حساب شده و مفاهیم پایه!
    • انواع مختلف داده ها و متغیرها در PHP
    • انجام اعمال مختلف بر روی داده ها و متغیرها
    • شرط ها و عبارت های منطقی
    • ساختارهای کنترلی :حلقه ها و آرایه ها
    • تعامل Html, PHP و جاوااسکریپت: با AJAX حرفه ای شوید!
    • کار با فرم ها و داده های ورودی کاربران
    • آرایه های سوپرگلوبال PHP و کاربرد آنها
    • تعریف توابع دلخواه توسط برنامه نویس
    • توابع تاریخ و زمان
    • کار با رشته ها
    • آرایه ها
    • کار با فایل ها
  • اصول طراحی پایگاه داده
  • پایگاه داده و سیستم مدیریت پایگاه داده (DBMS) چیست؟
  • انواع مختلف پایگاه داده
  • پایگاه داده رابطه ای (Relational Database)
  • مدل ER و مفاهیم پایه ی آن (Entity Relationship Model)
  • تشریح مفاهیم دیتابیس (جدول، رابطه، کلیدها، فیلدها و رکوردها)
  • ایندکس ها، کلید اصلی و کلید خارجی
  • نرمال سازی جداول پایگاه داده
  • طراحی پایگاه داده برای یک فروشگاه اینترنتی
  • Engineهای ذخیره سازی جداول و معایب و مزایای هرکدام (InnoDB Vs MyISAM)
  • معرفی ویژگی های مختلف یک فیلد (نام، نوع، سایز، مقدارپیشفرض و …)
  • انواع داده ها در SQL
  • ساخت جداول پایگاه داده (Create)
  • حذف جداول پایگاه داده (Drop)
  • خواندن اطلاعات جداول پایگاه داده (Select)
  • درج و ویرایش پایگاه داده (Insert & Update)
  • حذف مقادیر از جدول پایگاه داده (Delete)
  • ایجاد نسخه های Backup از پایگاه داده و جداول آن
  • Restore کردن پایگاه داده از بکاپ های گرفته شده
  • نحوه اجرای دستورات SQL در محیط PhpMyAdmin
  • روش های اتصال به پایگاه داده از طریق PHP با رابط های mysql, mysqli و PDO
  • آشنایی کلی با رابط MySQL
  • نحوه اتصال پایگاه داده از طریق MySQL
  • عدم استفاده از رابط MySQL بخاطر منسوخ شدن آن از نسخه PHP 5.5 به بعد
  • آشنایی کلی با رابط MySQLi
  • تشریح نحوه اتصال به پایگاه داده از طریق رابط MySQLi
  • آشنایی کلی با PDO
  • تشریح نحوه اتصال به پایگاه داده از طریق PDO
  • اجرای کوئری های دلخواه بر روی دیتابیس از طریق PHP و رابط MySQLi
  • پروژه: ایجاد صفخه ای برای اجرای بیش از ۲۰ کوئری مختلف SQL بر روی پیگاه داده با شیوه ای جالب
  • Cookieها و Sessionها در PHP و تفاوت کاربرد آنها
  • تشریح کاربردهای کوکی و موارد استفاده از آن
  • توضیح در مورد آرایه Cookie_$
  • کار با کوکی ها در PHP
  • ایجاد و تنظیم کوکی ها
  • خواندن و استفاده از کوکی ها
  • حذف و از بین بردن کوکی ها
  • نحوه تعیین زمان انقضای کوکی ها
  • مشاهده و مدیریت دستی کوکی ها در مرورگرهای مختلف
  • تشریح کاربرد Session و موارد استفاده از آن
  • ایجاد و تنظیم Sessionها
  • خواندن و استفاده از سشن ها
  • حذف و از بین بردن سشن ها
  • هش کردن اطلاعات حساس (مثل رمزهای عبور ) برای امنیت بیشتر
  • مقایسه ی الگوریتم های مختلف هش کردن اطلاعات
  • پروژه :نمایش تعداد بازدید کاربر از صفحات مختلف سایت و نمایش کل بازدیدهای او
  • پروژه : احراز هویت (Authentication) کاربران و پیاده سازی فرایند ورود و خروج با Sessionها
  • اصول خطایابی و Debug کردن برنامه ها
  • سطوح مختلف خطاها و پیام ها در زبان PHP
  • انواع مختلف خطاها در زبان PHP
  • خطاهای نوشتاری و تجزیه ای (Syntax Errors)
  • خطاهای مهلک (Fetal Errors)
  • خطاهای هشداری (Warning Errors)
  • خطاهای اطلاعاتی (Notice Errors)
  • روش اصولی رفع خطاهای مختلف در PHP
  • خطاهای رایج و راه حل رفع آنها در زبان PHP
  • مشکلات نوشتاری در زبان PHP
  • مشکل نمایش سورس PHP در مرورگر
  • مشکل عدم نمایش خروجی کدهای PHP (فعال سازی نمایش ارورها)
  • مشکل در ورود پارامترهای مناسب برای توابع
  • مشکل عدم امکان تعریف دوباره ی توابع تکراری
  • مشکل عدم امکان دسترسی به ویژگی ها و متدهای یک متغیر که Object نیست.
  • مشکل شروع شدن سشن در مکان دیگر
  • اشتباه در استفاده از عملگر انتساب به جای عملگر تست برابری
  • مشکل در نحوه ی استفاده از عملگرهای == و ===
  • مشکلات موجود در کوئری های SQL
  • مشکل ارسال چندباره Header و دلایل بروز آن
  • مشکل نمایش کاراکترهای فارسی به شکل علامت سوال ؟؟؟؟؟  در فایل ها و پایگاه داده ها

 

  • امنیت در PHP
    • شناخت انواع حملات و مشکلات امنیتی
    • دلایل ایجاد ناامنی در برنامه های PHP و راه حل رفع آنها
    • عدم اعتماد به داده های کاربران
    • مشکلات در پیکربندی سرور
    • مشکلات ناشی از فعال بودن register_globals و نحوه غیرفعال سازی آن
    • عدم تنظیم صحیح نحوه ی گزارش خطاها
    • مشکلات موجود به دلیل عدم انتخاب encoding استاندارد
    • ساختار نامناسب برنامه برای لود کردن فایل ها، عدم استفاده از نام ها و مقادیر پیشفرض
    • حذف فایل های نصب اسکریپت ها پس از اتمام مراحل نصب
    • قابل پیشبینی بودن رفتار ، ساختار و کدهای شما و مشکلات آن
    • غیرفعال سازی و یا استفاده ی صحیح از Powerful Commandsها در PHP
    • انتخاب نوع و سایز مناسب برای ستون های جداول پایگاه داده
    • پسوردهای ضعیف و مشکلات ناشی از آن
    • خصوصیت های یک پسورد مطمئن و قوی
    • مشکلات امنیتی مربوط به دیتابیس و تزریق SQL یا SQL Injection
    • مشکلات ناشی از کد و داده های خطرناک (Cross-Site Scripting-XSS)
    • مشملات ناشی از دزدیده شدن Sessionها و Cookieها
    • حملات CSRF و راهکارهای مقابله با آن
    • کهنه بودن ورژن نرم افزارها و اسکریپت ها
    • استفاده از فریم ورک های معروف برای رفع بسیاری از نگرانی های امنیتی
    • مشکلات موجود در هاست های اشتراکی، تهیه ی هاست از شرکت های معتبر و متخصص
    • آماده ی حمله ی هکرها باشید ! چه مسائلی را باید همیشه رعایت کنم و به یاد داشته باشم ؟
    • آشنایی بیشتر با الگوریتم های کدگذاری و Hash کردن
  • شیءگرایی در PHP و اصول برنامه نویسی Object Oriented
  • مشکلات و محدودیت های برنامه نویسی Functional
  • تشریح مفهوم شیءگرایی و مزیت های آن
  • شناخت عناصر مهم در برنامه نویسی شیء گرا
  • طبقه بندی ها (Classes)
  • ویژگی ها (Properties)
  • عملیات و متدها (Methods)
  • اشیاء (Objects or Instances)
  • نحوه ایجاد یک کلاس در زبان PHP
  • عناصر تشکیل دهنده یک کلاس (ویژگی ها و متدها)
  • مفهوم کلمات کلیدی Public, Private و Protected در تعریف ویژگی ها و متدهای کلاس
  • نحوه تعریف ویژگی های کلاس
  • نحوه ساختن نمونه ها (Instances) از یک کلاس تعریف شده: (کلمه کلیدی new)
  • متد سازنده (Constructor) در برنامه نویسی شیءگرای PHP
  • متد تخریب کننده (Destructor) در برنامه نویسی شیءگرای PHP
  • مفهوم متدهای getter و setter در کلاس ها
  • مفهوم عناصر استاتیک و کلمات کلیدی Self و Static در کلاس های PHP
  • تشریح تفاوت بین this$ و self
  • نحوه ی ارث بری کلاس ها در زبان PHP (به ارث بردن ویژگی های کلاس فرزند از کلاس پدر)
  • دسترسی به عناصر کلاس پدر با کلید Parent
  • Override کردن متدهای کلاس پدر
  • کلیدهای const و final و دلایل استفاده از آنها
  • آشنایی با مدل MVC
    • توضیح دلایل استفاده از MVC
    • تشریح مفاهیم View, Model و Controller در مدل MVC و وظایف هر بخش
    • معرفی چند مورد از فریم ورک های MVC معروف PHP
    • آشنایی با مفهوم فریم ورک
  • کدایگنایتر (Codeigniter)
    • معرفی و نصب فریم ورک کد ایگنایتر
    • بررسی ساختار کدایگنایتر
    • اتصال به دیتابیس در کدایگنایتر
    • ثبت اطلاعات در دیتابیس با استفاده از Query Builder Class
    • ثبت اطلاعات در دیتایس با استفاده از Standard Query
    • بازیابی اطلاعات از دیتابیس به سه روش آرایه ای ، شی گرایی و تکی
    • به روز رسانی ، حذف در پایگاه داده و استفاده از توابع گروهی
    • ایجاد فرم و اعتبارسنجی فرم با استفاده از کتابخانه Form Validation
    • نحوه ساخت کد Captcha در فرم با استفاده از CAPTCHA Helper
    • ارسال ایمیل با استفاده از Email Helper و Email Library
    • کار با کوکی ها با استفاده ازCookie Helper
    • کار با سشن ها با استفاده از Session Helper
    • Text Helper  , Date Helper  ,  Security Helper
    • مقابله با حملات XSS با استفاده از Security Class
    • رمز نگاری اطلاعات با استفاده از Encrypt Class

جهت آشنایی با مدرس این دوره کلیک نمایید

بایگانی

دسته‌ها