
آموزش طراحی وب با ASP.NET Core MVC (تحت پروژه سایت اشتراک فیلم)
( فیلم آموزشی ) ،توسط مهندس بهنام میرزابیگی
به کلیک سایت خوش اومدی ،
اینجا میتونی هر فیلم آموزشی که مد نظر داری رو پیدا کنی.
آموزش های کلیک سایت کاملا از صفر تا صد طراحی شده و تمامی آموزش ها به زبان فارسی و مناسب جهت ورود به بازار کار تولید شده.
پس از دیدن آموزش ها ، بدون تردید شما آماده ورود به بازار کار و کسب درآمد خواهید شد.
برای شروع ، ابتدا فیلم معرفی دوره رو مشاهده نمایید.
سپس میتوانید در ادامه همین صفحه ، سایر قسمت های این مجموعه را دانلود نمایید.
برای مشاهده فیلم با سرعت بالا ، از آی پی ایران استفاده نمایید.

معرفی سرفصل های این دوره:
توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.
- آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از ASP.NET CORE MVC 3.0 و Visual Studio 2019
- آموزش صفر تا صد طراحی قالب های Rsponsive
- آمورش پیش نیازهای دوره شامل سی شارپ و بوت استرپ به شکلی نوین با استفاده از ASP.NET CORE Razor Pages 2.2
این مجموعه آموزشی قصد دارد به صورتی جذاب و پروژه محور، طراحی وب سایت را با استفاده از آخرین نسخه ASP.NET Core MVC و زبان برنامه نویسی سی شارپ به شما آموزش دهد. از ویژگی های ممتاز این دوره بروز بودن و جامع بودن آن است که به جرات می توان گفت کمتر دوره آموزشی تا این حد بر روی جامعیت و بروز بودن مطالب متمرکز شده است.
در این دوره علاوه بر آموزش طراحی وب سایت های Responsive با استفاده از َASP.NET Core MVC شما زبان برنامه نویسی سی شارپ را نیز در محیط ASP.NET Core Razor Pages خواهید آموخت و به این ترتیب از همان ابتدای دوره طراحی وب سایت را آغاز خواهید کرد و به تدریج دانش خود را در این زمینه افزایش می دهید.
از جمله مطالبی که در این مجموعه آموزشی خواهید آموخت می توان به موارد زیر اشاره کرد. البته مطالب آموزش داده شده در این مجموعه بسیار فراتر از این موارد است و در زیر تنها بخشی از مطالب آموزش داده شده را مشاهده خواهید کرد.
شما عزیزان می توانید برای مشاهده ریز مطالب این دوره آموزشی در ذیل این قسمت تمامی فصول و بخش های موجود در هر فصل را به همراه ریز مطالب آموزش داده شده در هر بخش مشاهده نمایید.
گزیده ای از مطالب آموزش داده شده در این دوره:
- آموزش کامل سی شارپ، از جمله:
- مفهوم متغیرها و ثابت ها
- انواع داده در سی شارپ
- ساختار های کنترلی
- ساختارهای تکرار
- کلاس ها
- اینترفیس ها
- عبارت های لامدا
- ساختار های داده
- LINQ
- متدهای ناهمگام
- کار با فایل ها
- پردازش رشته ها
- استثنا و رسیدگی به استثنا
- و ...
- آموزش Bootstrap
- معرفی الگوی MVC
- معرفی Model
- معرفی View
- معرفی Controller
- معرفی Layout ها
- معرفی Partial View
- معرفی View Component
- آموزش Ajax و نحوه استفاده از آن در برنامه های ASP.NET Core MVC
- آموزش jQuery و نحوه استفاده از آن در برنامه های ASP.NET Core MVC
- آموزش Entity Framework Core
- آموزش الگوهای Repository و Unit of Work
- آموزش ASP.NET Routing System
- بررسی روابط بین موجودیت ها روش های مختلف بارگذاری داده های مرتبط
- آموزش بین المللی سازی شامل جهانی سازی و بومی سازی
- معرفی مفاهیم IoC، DIP، DI و IoC Container
- معرفی مفهوم تزریق وابستگی در ASP.NET Core MVC
- آموزش Tag Helper ها
- معرفی Model Binding
- آموزش ASP.NET Core Identity
- آموزش Deployment و راه اندازی وب سایت بر روی سرور واقعی
- و ...


بخش های رایگان این مجموعه آموزشی:
آشنایی با ASP.NET Core MVC ( بخش 1 ) دانلود مستقیم معرفی و نصب Visual Studio ( بخش 2 ) دانلود مستقیم معرفی و نصب NET Core SDK. و شروع کار با ASP.NET Core Razor Pages ( بخش 3 ) دانلود مستقیم معرفی و نصب Bootstrap با استفاده از LibMan و شروع کار با Bootstrap ( بخش 4 ) دانلود مستقیم آموزش Bootstrap ( بخش 5 ) دانلود مستقیم نصب NET Core 3. و Visual Studio 2019 ( بخش 66 ) دانلود مستقیم انواع بازگشتی در Controller ها و انتخاب View ( بخش 71 ) دانلود مستقیم Tag Helper ها ( بخش 87 ) دانلود مستقیم استفاده از AJAX در ASP.NET Core MVC ( بخش 106 ) دانلود مستقیم کار با Fluent API ( بخش 120 ) دانلود مستقیم ایجاد سرویس در برنامه ( بخش 138 ) دانلود مستقیم اعتبارسنجی در سمت کلاینت ( بخش 148 ) دانلود مستقیم فعالسازی ASP.NET Core Identity ( بخش 150 ) دانلود مستقیم اعتبارسنجی رمز عبور ( بخش 154 ) دانلود مستقیم آپلود فایل ( بخش 158 ) دانلود مستقیم کار با فیلتر ها ( بخش 173 ) دانلود مستقیم( آشنایی با ASP.NET Core MVC )
2. اهداف جانبی
3. پیش نیازهای دوره
4. آشنایی با فناوری های مایکروسافت
5. آشنایی با NET Core.
6. آشنایی با ASP.NET Core
7. آشنایی با الگوی MVC
8. بررسی پیاده سازی های مختلف MVC در ASP.NET Core
9. آشنایی با ASP.NET Core Razor Pages
10. آشنایی با ASP.NETCore MVC
( معرفی و نصب Visual Studio )
2. ساخت یک برنامه ساده با استفاده از ویرایشگر Notepad
3. کامپایل و اجرای برنامه ساخته شده با استفاده از محیط خط فرمان
4. بررسی لزوم استفاده از محیط های توسعه یکپارچه
5. معرفی محیط توسعه یکپارچه
6. معرفی مایکروسافت Visual Studio
7. بررسی نسخه های مختلف Visual Studio
8. بررسی تفاوتهای نسخه های مختلف Visual Studio
9. آموزش نصب Visual Studio
10. بررسی اجمالی Workload های مختلف Visual Studio
( معرفی و نصب NET Core SDK. و شروع کار با ASP.NET Core Razor Pages )
2. معرفی NET Core SDK.
3. معرفی NET Core Runtime.
4. بررسی تفاوت بین NET Core SDK. و NET Core Runtime.
5. آموزش نصب NET Core SDK.
6. ایجاد پروژه Web Application
7. بررسی لزوم انجام تنظیمات لازم برای فعالسازی MVC
8. انجام تنظیمات لازم برای استفاده از MVC
9. آموزش ساخت صفحه در ASP.NET Core Razor Pages
10. بررسی صفحات Razor
11. نحوه کامپایل و اجرای پروژه در Visual Studio
( معرفی و نصب Bootstrap با استفاده از LibMan و شروع کار با Bootstrap )
2. لزوم ساخت اینترفیس های Responsive
3. معرفی کتابخانه Bootstrap
4. بررسی اجمالی امکانات Bootstrap
5. معرفی LibMan
6. بررسی امکانات LibMan
7. بررسی نحوه مدیریت کتابخانههای سمت کلاینت با استفاده از LibMan
8. نحوه اضافه کردن Bootstrap به پروژه با استفاده از LibMan
9. نحوه اضافه کردن Bootstrap به صفحات پروژه
10. نحوه فعالسازی فایلهای استاتیک در ASP.NET Core
11. نحوه استفاده و استایل دادن به صفحات با استفاده از Bootstrap
( آموزش Bootstrap )
2. نحوه استفاده از کلاسهای مختلف Bootstrap برای تغییر رنگ متن
3. نحوه استفاده از کلاسهای Bootstrap برای تغییر رنگ پس زمینه عناصر
4. بررسی کلاس های Spacing در Bootstrap
5. معرفی Grid System در Bootstrap
6. بررسی کلاسهای مختلف container در Bootstrap
7. بررسی کلاسهای row و col در Bootstrap
8. نحوه استفاده از Grid System در Bootstrap
9. معرفی Breakpoint ها در Bootstrap
10. نحوه استفاده از Breakpoint ها در Bootstrap
( مدیریت کتابخانه های سمت کلاینت و معرفی Fontawsome )
2. معرفی اجمالی Jquery
3. معرفی Popper.js
4. نحوه اضافه کردن فایلهای Javascript مورد نیاز Bootstrap با استفاده از LibMan
5. نحوه بروزرسانی کتابخانههای سمت کلاینت با استفاده از LibMan
6. بررسی کتابخانههای مختلف مورد استفاده برای آیکن
7. معرفی کتابخانه Fontawsome
8. اضافه کردن کتابخانهها از طریق فایل سیستم با استفاده از LibMan
9. اضافه کردن کتابخانه Fontawsome از طریق فایل سیستم با استفاده از LibMan
10. بررسی روشهای مختلف استفاده از Fontawsome
11. نحوه اضافه کردن Fontawsome به پروژه
( آموزش کاربردی طراحی وب سایت با استفاده از ASP.NET Core Razor Pages )
2. آموزش کاربردی طراحی وب سایت Responsive با استفاده از Bootstrap
3. معرفی ابزار Developer Tools در Chrome
4. نحوه طراحی Navbar با استفاده از Bootstrap
5. بررسی Color Scheme های مختلف در طراحی Navbar
6. بررسی کلاسهای مختلف سایه در Bootstrap
7. نحوه جستجو آیکن مورد نظر در سایت Fonrawsome
8. نحوه اضافه کردن آیکن به صفحه با استفاده از Fontawsome
9. بررسی مفهوم فایلهای Reset
10. بررسی کاربرد فایلهای Reset
( استفاده از کلاس های مختلف Bootstrap و بهره گیری از Developer Tools در Chrome )
2. نحوه استفاده از ویژگی Collapse در Bootstrap
3. نحوه ایجاد کلید Collapse در Bootstrap
4. بررسی حالتهای مختلف استفاده از Collapse در Bootstrap
5. نحوه استفاده از کلاسهای Spacing در Bootstrap
6. نحوه شبیه سازی Device های مختلف با استفاده از Chrome
7. نحوه ایجاد Device های سفارشی در Developer Tools
8. بررسی خاصیت offset در Bootstrap
9. معرفی کلاس jumbotron در Bootstrap
10. نحوه ایجاد jumbotron با استفاده از Bootstrap
( استایل دادن به صفحات با استفاده از CSS و Bootstrap )
2. نحوه اضافه کردن فایل سفارشی CSS به صفحه
3. بررسی اهمیت ترتیب اضافه کردن فایلهای CSS به صفحه
4. معرفی Media Query در CSS
5. نحوه استفاده از Media Query در CSS
6. معرفی متغیر ها در CSS
7. نحوه معرفی و استفاده از متغیر ها در CSS
8. معرفی تابع calc در CSS
9. نحوه استفاده از تابع calc در CSS
10. بررسی کلاسهای مختلف Typography در Bootstrap
11. معرفی کلاس card در Bootstrap
12. نحوه استفاده از کلاس card در Bootstrap
13. آشنایی با flexbox
14. معرفی ابزار flex در Bootstrap
15. بررسی کلاسهای مختلف flex در Bootstrap
16. نحوه استفاده از کلاسهای مختلف flex در Bootstrap
17. بررسی کلاسهای مختلف Button در Bootstrap
( استفاده از Layout ها و ViewStart در ASP.NET Core )
2. بررسی کلاسهای مختلف float در Bootstrap
3. نحوه کپی کردن کل عنصر در Developer Tools
4. بررسی مفهوم Layout در ASP.NET Core
5. نحوه ایجاد فایلهای Layout
6. نحوه ارجاع دادن یک فایل layout در صفحه
7. معرفی مفهوم فایلهای ViewStart
8. نحوه ایجاد فایلهای ViewStart
9. بررسی قراردادهای مورد استفاده در فراخوانی فایلهای ViewStart
در این فصل مطالب گسترده ای در مورد برنامه نویسی و زبان برنامه نویسی سی شارپ به شما آموزش داده خواهد شد.
بعد از اتمام این فصل شما ساختارهای اصلی زبان سی شارپ را در کنار مطالب گسترده دیگری از جمله ساختارهای داده، کار با فایل ها، پردازش رشته ها، رسیدگی به استثناها، LINQ و مطالبی از این دست که قسمت های بسیار مهمی در برنامه نویسی هستند خواهید آموخت و با ویژگی های جدید این زبان آشنا خواهید شد.
( معرفی زبان برنامه نویسی سی شارپ )
2. مقایسه محتوای ثابت و پویا
3. بررسی چالش های استفاده از محتوای پویا
4. بررسی لزوم استفاده از زبانهای برنامه نویسی در طراحی وب سایت
5. معرفی زبان برنامه نویسی سی شارپ
6. بررسی روشهای درج کدهای سی شارپ در صفحات Razor
7. معرفی کاراکتر گذار در صفحات Razor
8. نحوه درج دستورات سی شارپ در صفحات Razor
9. معرفی Razor View Engine
10. آشنایی اجمالی با مدل در صفحات Razor
11. معرفی خاصیت ViewData
12. نحوه انتقال اطلاعات از مدل به صفحات Razor
( معرفی مفهوم متغیر ها )
2. نحوه اعلان متغیر ها در سی شارپ
3. نحوه ذخیره سازی اطلاعات در متغیر ها
4. نحوه پردازش متغیر ها
5. نحوه نمایش مقادیر متغیر ها به کاربر
6. بررسی کلاسهای Table در Bootstrap
7. نحوه ایجاد یک جدول در Bootstrap
8. معرفی مفهوم ثابت ها در سی شارپ
9. نحوه اعلان و مقداردهی اولیه به ثابت ها در سی شارپ
10. بررسی روشهای مختلف نام گذاری
11. بررسی روش نام گذاری camelCase
12. بررسی روش نام گذاری pascalCase
13. بررسی روش نام گذاری snake_case
14. بررسی روش نام گذاری kebab-case
15. بررسی قراردادهای مورد استفاده در نام گذاری متغیر ها و ثابت ها
( بررسی انواع داده در سی شارپ )
2. معرفی حافظه Stack
3. معرفی حافظه Heap
4. مقایسه حافظه Stack و Heap
5. بررسی مفهوم نوع در سی شارپ
6. بررسی مفهوم فضای نام در سی شارپ
7. بررسی نحوه ایجاد یک نوع در سی شارپ
8. بررسی انواع داده در سی شارپ
9. معرفی انواع مقداری در سی شارپ
10. معرفی انواع ارجاعی در سی شارپ
11. مقایسه انواع مقداری و ارجاعی در سی شارپ
12. بررسی انواع مقداری در سی شارپ
13. بررسی انواع ارجاعی در سی شارپ
14. بررسی انواع مقداری ساده در سی شارپ
15. معرفی نوع داده اعداد صحیح
16. معرفی اعداد صحیح علامت دار
17. معرفی اعداد صحیح بدون علامت
18. نحوه اعلان متغیرهای از نوع اعداد صحیح
( بررسی انواع مقداری در سی شارپ )
2. بررسی انواع مختلف اعداد حقیقی
3. معرفی نوع داده نقطه شناور در اعداد حقیقی
4. بررسی انواع مختلف نقطه شناور
5. معرفی نوع داده Decimal
6. مقایسه انواع مختلف اعداد حقیقی
7. بررسی کاربردهای انواع مختلف اعداد حقیقی
8. نحوه اعلان و مقداردهی متغیرهای از نوع اعداد حقیقی
9. معرفی نوع داده کاراکتر
10. بررسی نحوه ذخیره سازی کاراکترها در حافظه
11. بررسی جدول یونیکد
12. نحوه اعلان و مقداردهی متغیرهای از نوع کاراکتر
13. معرفی نوع داده منطقی
14. نحوه اعلان و مقداردهی متغیرهای از نوع داده منطقی
15. معرفی نوع داده شارشی
16. نحوه اعلان نوع داده شمارشی
17. نحوه اعلان و استفاده از متغیرهای از نوع داده شمارشی
18. بررسی کاربردهای نوع داده شمارشی
( بررسی انواع مقداری در سی شارپ )
2. نحوه اعلان نوع داده ساختار
3. نحوه ایجاد متغیرهای از نوع ساختار
4. بررسی اجمالی سطح دسترسی در ساختارها
5. نحوه ایجاد اعضای دادهای در ساختارها
6. نحوه ایجاد اعضای عملیاتی در ساختارها
7. معرفی کلاس Math در NET.
8. معرفی انواع مقداری تهی پذیر
9. نحوه معرفی انواع مقداری تهی پذیر
10. معرفی استنتاج نوع
11. نحوه استفاده از استنتاج نوع در معرفی متغیرها
( بررسی لیترال ها در سی شارپ )
2. تفاوت لیترال ها با ثابت ها و متغیرها
3. بررسی انواع لیترال ها
4. بررسی لیترال های صحیح
5. بررسی لیترال های حقیقی
6. بررسی لیترال های کاراکتری
7. بررسی لیترال های رشته ای
8. بررسی لیترال های منطقی
9. نحوه تبدیل متغیرها به یکدیگر
10. معرفی تبدیل ضمنی
11. معرفی تبدیل صریح
( پردازش فرم ها در ASP.NET Core Razor Pages )
2. بررسی کلیدواژه های متناظر انواع داده NET. در سی شارپ
3. ایجاد سلسله مراتب آدرس در Razor Pages
4. بررسی قراردادهای دسترسی به زیرپوشه های پوشه Pages در Razor Pages
5. بررسی فرمها در Bootstrap
6. نحوه ایجاد فرم با استفاده از کلاسهای Bootstrap
7. نحوه ارسال فرم به صفحات Razor
8. نحوه پردازش اطلاعات فرم پست شده در Razor Pages
9. نحوه تبدیل مقادیر رشته ای ارسال شده در فرمها به انواع داده متناسب
( بررسی جملات، عبارات و عملگرها در سی شارپ )
2. بررسی مفهوم بلاک کد در سی شارپ
3. موارد استفاده از بلاک کد
4. آشنایی با عبارت ها در سی شارپ
5. معرفی عملگر و عملوند
6. بررسی روش اعلان چند متغیر در یک خط
7. بررسی مفهوم تقدم عملگرها
8. بررسی مفهوم وابستگی عملگر
9. بررسی عملگرهای اولیه
10. بررسی عملگرهای یگانه
11. بررسی نیاز به کامپایل مجدد در زمان تغییر در کدهای سمت سرور و سمت کلاینت
( بررسی عملگرها در سی شارپ )
2. بررسی تفاوت تقسیم صحیح و حقیقی
3. بررسی عملگرهای مقایسهای
4. بررسی عملگرهای تساوی
5. بررسی عملگر AND شرطی
6. بررسی عملگر OR شرطی
7. بررسی رویه مقایسه در AND و OR شرطی توسط برنامه
8. بررسی عملگر انتساب
9. بررسی عملگرهای انتساب ترکیبی
10. بررسی قوانین وابستگی عملگرها
( بررسی ساختارهای کنترلی در سی شارپ )
2. شناسایی متد درخواست صفحه با استفاده از کلاس خاصیت Request در فایلهای Razor
3. استفاده از ساختارهای شرطی در فایلهای Razor
4. استفاده از متغیرها در داخل رشتهها
5. به دست آوردن ساعت کنونی با استفاده از ساعت سرور
6. بررسی ساختار کنترلی if
7. بررسی ساختار کنترلی if-else
8. بررسی ساختار کنترلی if-elseif-else
9. بررسی if های تو در تو
10. بررسی ساختار کنترلی switch-case
( بررسی ساختارهای تکرار در سی شارپ )
2. معرفی حلقه for
3. نحوه استفاده از حلقه های for
4. بررسی کاربردهای حلقه های for
5. معرفی حلقه while
6. نحوه استفاده از حلقه های while
7. معرفی کلیدواژه break
8. بررسی کاربرد break
9. معرفی کلیدواژه continue
10. بررسی کاربرد continue
11. معرفی حلقه do-while
12. نحوه استفاده از حلقه do-while
13. بررسی کاربردهای حلقه do-while
14. معرفی اجمالی حلقه foreach
( معرفی مفهوم کلاس در سی شارپ )
2. بررسی مفهوم حالت یا state کلاس
3. بررسی مفهوم عملیات یا actions کلاس
4. بررسی مفهوم شی و نمونه گیری از کلاس
5. نحوه اعلان کلاس
6. معرفی اجمالی مفهوم فیلد
7. معرفی اجمالی مفهوم متد
8. نحوه معرفی فیلدها در کلاس
9. نحوه معرفی متدها در کلاس
10. نحوه نمونه گیری از کلاس
11. نحوه فراخوانی متدهای کلاس
12. نحوه بازگشت مقدار توسط متدها
13. نحوه استفاده از مقادیر بازگشتی متدها در برنامه
( معرفی اعضای استاتیک و نمونه در کلاس )
2. بررسی مفهوم عضو نمونهای یا Instance Member در کلاس
3. مقایسه اعضای دادهای استاتیک و نمونهای
4. مقایسه اعضای عملیاتی استاتیک و نمونهای
5. نحوه دسترسی به اعضای دادهای استاتیک
6. نحوه دسترسی به اعضای دادهای نمونه
7. نحوه فراخوانی اعضای عملیاتی استاتیک
8. نحوه فراخوانی اعضای عملیاتی نمونه
9. نحوه بررسی طول عمر متغیرهای استاتیک
10. نحوه خاتمه دادن به وب سایت اجرا شده
( بررسی سطح دسترسی اعضا و معرفی فیلد ها در سی شارپ )
2. بررسی مفهوم سطح دسترسی اعضای کلاس
3. بررسی اجمالی انواع محتلف سطح دسترسی
4. بررسی سطح دسترسی خصوصی یا private
5. بررسی سطح دسترسی عمومی یا public
6. بررسی سطح دسترسی محافظت شده یا protected
7. بررسی سطح دسترسی داخلی یا internal
8. معرفی فیلدها
9. بررسی فیلدهای استاتیک
10. بررسی فیلدهای نمونه
11. بررسی فیلدهای فقط خواندنی
12. بررسی ثابت ها
13. مقایسه فیلدهای فقط خواندنی و ثابت ها
14. بررسی کاربردهای ثابت ها و فیلدهای فقط خواندنی
( معرفی مفهوم متدها در سی شارپ )
2. معرفی متدهای نمونه
3. معرفی متدهای استاتیک
4. نحوه معرفی متدها
5. بررسی مفهوم فضای نام
6. معرفی کلیدواژه using
7. نحوه استفاده از کلیدواژه using
8. معرفی کلیدواژه this
9. بررسی کاربرد کلیدواژه this
10. معرفی پارامتر
11. بررسی لزوم استفاده از پارامترها
12. نحوه رفع مشکل تشابه نام پارامترها و فیلد ها
13. بررسی مفهوم فراخوانی متدها
14. معرفی مفهوم متغیر محلی
15. معرفی مفهوم آرگومان
16. بررسی روشهای مختلف ارسال آرگومان
( امضای متد و سربارگذاری متد ها )
2. نحوه اختیاری کردن پارامترهای یک متد
3. بررسی مفهوم امضای متد
4. بررسی اجزای مؤثر در تعیین امضای متد
5. معرفی مفهوم سربارگذاری متدها
6. نحوه سربارگذاری متدها
( بررسی انواع پارامترها در سی شارپ )
2. معرفی پارامترهای مقداری
3. نحوه معرفی پارامترهای مقداری
4. نحوه ارسال آرگومان به پارامترهای مقداری
5. نحوه رفع ابهام نمونه گیری از کلاسهای هم نام در فضاهای نام مختلف
6. بررسی مفهوم طول عمر متغیرهای محلی
7. بررسی چگونگی اعمال تغییرات روی متغیرهای ارجاعی ارسال شده به پارامترهای مقداری در متدها
8. بررسی چگونگی اعمال تغییرات روی متغیرهای مقداری ارسال شده به پارامترهای مقداری در متدها
9. معرفی پارامترهای ارجاعی
10. نحوه معرفی پارامترهای ارجاعی
11. نحوه ارسال آرگومان به پارمترهای ارجاعی
12. معرفی پارامترهای خروجی
13. نحوه معرفی پارمترهای خروجی
14. نحوه ارسال آرگومان به پارامترهای خروجی
15. مقایسه پارامترهای ارجاعی و خروجی
( معرفی مفهوم سازنده و خاصیت در سی شارپ )
2. بررسی زمان ارجرای سازنده های نمونه
3. معرفی مفهوم سازنده پیشفرض در کلاس
4. بررسی سربارگذاری سازنده ها
5. بررسی مفهوم سازنده های استاتیک
6. بررسی زمان اجرای سازنده های استاتیک
7. معرفی مفهوم خاصیتها یا Property ها
8. بررسی تفاوت خاصیتها و فیلدها
9. معرفی مفهوم دریافتکننده (get)
10. معرفی مفهوم تنظیم کننده (set)
11. بررسی قرادادهای مورد استفاده در ترتیب قرار گرفتن اعضای کلاس
12. معرفی مفهوم خاصیتهای فقط خواندنی
13. نحوه ایجاد خاصیتهای فقط خواندنی
( معرفی مفهوم آرایه در سی شارپ )
2. بررسی لزوم استفاده از آرایه
3. معرفی مفهوم ایندکس در آرایه
4. معرفی مفهوم نوع عناصر آرایه
5. نحوه اعلان آرایه یک بعدی
6. نحوه دسترسی به اعضای آرایه
7. نحوه پیمایش آرایه
8. نحوه مقداردهی به عناصر آرایه
9. نحوه خواندن عناصر آرایه
10. نحوه به دست آوردن طول آرایه
( بررسی ساختار داده آرایه های چند بعدی و آرایه های ناهموار )
2. نحوه اعلان آرایه دو بعدی
3. بررسی ساختار داده آرایه چند بعدی
4. نحوه اعلان آرایه چند بعدی
5. نحوه دسترسی به عناصر آرایه دو بعدی
6. نحوه دسترسی به عناصر آرایه چند بعدی
7. بررسی خطای ایندکس خارج از برد آرایه
8. بررسی کاربرد آرایه های چند بعدی
9. نحوه مقداردهی به عناصر آرایه چند بعدی
10. نحوه پیمایش آرایه چند بعدی
11. نحوه به دست آوردن طول هر یک از ابعاد آرایه
12. معرفی مفهوم آرایه ناهموار یا Jagged Array
13. نحوه اعلان آرایه نا هموار یا آرایه ای از آرایه ها
14. نحوه اعلان آرایه ای از آرایه های چند بعدی
15. نحوه پیمایش آرایه های نا هموار
( بررسی حلقه foreach، آرایه ای از پارامترها و مقداردهی اولیه آرایه ها )
2. نحوه استفاده از حلقه foreach
3. بهره گیری از استنتاج نوع در زمان استفاده از حلقه foreach
4. بررسی استفاده از آرایه ای از پارامتر ها در متد ها
5. نحوه اعلان آرایه ای از پارامترها
6. نحوه ارسال آرگومان به متد پذیرنده آرایه ای از پارامترها
7. مقداردهی اولیه آرایه ها
8. استفاده از استنتاج نوع در زمان اعلان آرایه
9. مقدار دهی اولیه آرایه های چند بعدی
10. مقداردهی اولیه آرایه ای از آرایه ها
( معرفی مفهوم نوع داده اینترفیس در سی شارپ )
2. بررسی مفهوم نوع داده اینترفیس
3. بررسی تفاوت اینترفیس ها و کلاسها
4. نحوه تعریف اینترفیس ها
5. نحوه پیادهسازی اینترفیس ها
6. بررسی تبدیل ضمنی کلاسهای پیادهسازی کننده اینترفیس به اینترفیس
7. نحوه استفاده از انتزاع در متدها با استفاده از اینترفیس ها
8. فراهم کردن پیادهسازی های مختلف برای یک اینترفیس
9. کاهش در هم تنیدگی کدها با استفاده از اینترفیس
( معرفی نوع داده نماینده در سی شارپ )
2. بررسی مفهوم نماینده ها
3. نحوه اعلان نماینده ها
4. ارسال یک متد به عنوان پارامتر به متدی دیگر
5. نحوه انتساب یک متد به یک متغیر از نوع نماینده
( معرفی مفهوم عبارت های لامدا در سی شارپ )
2. معرفی عبارت های لامدا
3. معرفی عملگر لامدا
4. نحوه اعلان توابع بی نام با استفاده از عبارت های لامدا
5. نحوه تعریف بلاک های لامدا
6. نحوه تعریف عبارت های لامدا
7. ساده سازی فهرست متغیر ها در عبارت های لامدا
8. کاربردهای عبارت لامدا
9. جمعبندی انواع داده در سی شارپ
10. استفاده از انواع دیگر در کلاسها
11. نحوه اعلان انواع در کلاس
12. بررسی سطح دسترسی انواع تعریف شده در کلاسها
13. نحوه نمونه گیری از انواع تعریف شده در کلاسها
14. بررسی سطح دسترسی انواع تعریف شده در فضای ها نام
( معرفی مفهوم صفت و Reflection در سی شارپ )
2. نحوه ایجاد کلاسهای صفت
3. قراداهای مورد استفاده در تعریف کلاسهای صفت
4. نحوه برچسب گذاری انواع با استفاه از صفتها
5. معرفی Reflection
6. بهره گیری از Reflection
7. خواندن صفتهای کلاس
8. خواندن صفتهای متد
9. استفاده از کلیدواژه typeof
10. دستیابی به متد یک کلاس با استفاده از Reflection
11. استفاده از کلیدواژه nameof
( بررسی مفهوم کاراکتر و رشته در سی شارپ )
2. بررسی مفهوم رمزگذاری کاراکتر
3. نحوه ارایه کاراکترها در کامپیوتر
4. معرفی سیستمهای رمزگذاری ASCII
5. معرفی سیستم رمزگذاری Unicode
6. معرفی استاندارهای مختلف سیستم رمزگذاری Unicode
7. بررسی نحوه نمایش کاراکترها در حافظه بر اساس رمزگذاری ASCII
8. بررسی نحوه نمایش کاراکترها بر اساس استاندارهای مختلف سیستم رمزگذاری Unicode
9. معرفی رشتهها
10. بررسی مفهوم تغییر ناپذیری رشته ها
( کار با رشته ها در سی شارپ )
2. مقایسه برای دو رشته با استفاده از متد استاتیک Equals در کلاس String
3. مقایسه برابری دو رشته با استفاده از عملگر تساوی
4. مقایسه برابری بدون در نظر گرفتن بزرگ و کوچک بودن حروف
5. مقایسه دو رشته بر اساس ترتیب الفبا
6. مقایسه دو رشته بدون در نظر گرفتن بزرگ و کوچک بودن حروف
( کار با رشته ها در سی شارپ )
2. بزرگ کردن تمامی حروف رشته
3. کوچک کردن تمامی حروف رشته
4. جستجو به دنبال اولین رخداد یک زیر رشته در رشته ای دیگر
5. جستجو به دنبال آخرین رخداد یک زیر رشته در رشته ای دیگر
6. استخراح یک زیر رشته از رشته ای دیگر
7. جداسازی رشتهها با استفاده از آرایه ای از کاراکترها
8. انتقال اطلاعات با استفاده از خاصیتها و فیلدها از مدل به نما در صفحات Razor
9. دسترسی به اعضای عمومی مدل با در نما با استفاده از خاصیت Model
10. استفاده از دستور foreach در صفحات Razor
11. حذف زیر رشتههای خالی در زمان جداسازی رشتهها
12. جایگزین کردن یک زیر رشته با زیر رشته ای دیگر در یک رشته
13. حذف کاراکترهای اضافی از ابتدا و انتهای یک رشته
14. قالب بندی رشتهها با استفاده از متد Format
15. قالب بندی رشتهها با استفاده از ویژگی Interpollation
( کار با رشته ها با استفاده از کلاس StringBuilder )
2. بررسی مشکل الحاق رشتههای معرفی شده با string در حلقه ها
3. نحوه محاسبه اختلاف بین دو تاریخ
4. ساختار داخلی کلاس StringBuilder
5. نحوه استفاده از کلاس StringBuilder
6. بررسی خاصیتهای Capacity و Length
7. نحوه استفاده از متد Append در کلاس StringBuilder
8. نحوه استفاده از متد Insert در کلاس StringBuilder
9. نحوه استفاده از متد Remove در کلاس StringBuilder
10. نحوه استفاده از متد Clear در کلاس StringBuilder
( فرمت بندی و تجزیه رشته ها )
2. بررسی فرمت بندی رشتهها با استفاده از Interpollation
3. بررسی متد ToString
4. تبدیل انواع مقداری ساده به رشته
5. تبدیل آرایه ها به رشته
6. تبدیل اشیاء به رشته
7. بررسی تجزیه داده
8. تبدیل رشته به اعداد
9. تبدیل رشته به تاریخ
10. بررسی مفهوم فرهنگ
11. نحوه کار کردن با کلاس CultureInfo
12. نحوه تغییر دادن فرهنگ کنونی برنامه
13. تبدیل رشته به تاریخ با در نظر گرفتن فرهنگ
14. تبدیل رشته به تاریخ با استفاده از متد ParseExact
15. نحوه تبدیل رشته به تاریخ با استفاده از فرمت تاریخ
( بررسی مفهوم جریان در سی شارپ )
2. بررسی انواع جریان ها
3. بررسی کلاسهای قابل استفاده در جریان های باینری
4. نحوه ایجاد جریان با استفاده از کلاس FileStream
5. بررسی FileMode های مختلف در استفاده از FileStream
6. نحوه خواندن یک جریان باینری با استفاده از کلاس FileStream
7. بررسی مفهوم بافر
8. نحوه نوشتن در یک جریان باینری با استفاده از کلاس FileStream
9. بررسی لزوم آزاد سازی یک جریان بعد از اتمام کار
10. آزاد سازی صریح یک جریان
11. آزاد سازی جریان با استفاده از کلیدواژه Using
( کار با فایل های باینری )
2. نحوه به تبدیل یک رشته به دنباله ای از بایت ها بر اساس یک رمزگذاری خاص
3. درج فضای نام یک کلاس به صورت اتوماتیک
4. نحوه نادیده گرفتن کاراکتر های کنترلی در رشتهها
5. معرفی کلاس BinaryWriter
6. تفاوت کلاس BinaryWriter و FileStream
7. نحوه استفاده از کلاس BinaryWriter
8. نوشتن مقادیر از انواع اولیه با استفاده از BinaryWriter
9. نحوه استفاده از کلاس BinaryReader
10. نحوه خواندن انواع اولیه با استفاده از BinaryReader
( کار با فایل های متنی )
2. تفاوت جریان های متنی و باینری
3. نحوه آپلود فایل در Razor Pages
4. استفاده از اینترفیس IFormImage
5. نحوه اضافه کردن اینترفیس IHostingEnvironment
6. معرفی اجمالی مفهوم تزریق وابستگی
7. به دست آوردن ریشه وب سایت
8. ترکیب چندین رشته برای به دست آوردن یک مسیر با استفاده از متد Combine
9. کپی فایل آپلود شده در یک فایل
10. معرفی کلاس StreamWriter
11. نحوه نوشتن رشته در یک فایل با استفاده از StreamWriter
( کار با فایل های متنی )
2. نحوه استفاده از خاصیتهای خودکار
3. معرفی کلاس StreamReader
4. نحوه استفاده از StreamReader
5. خواندن محتوای فایل با استفاده از StreamReader
6. بررسی تفاوت رشته خالی و null
7. نحوه فراخوانی سازنده یک کلاس از طریق سازنده ای دیگر
8. بررسی خطای ارجاع تهی Null Reference
9. یادآوری نحوه استفاده از کلیدواژه های continue و break در حلقه ها
10. نحوه به دست آوردن فاصله بین دو تاریخ
11. کار با بازه های زمانی
12. استفاده از قطعه کد prop در Visual Studio
( بررسی مفهوم ساختار داده )
2. لزوم استفاده از ساختارهای داده مختلف در موقعیت های مختلف
3. بررسی تفاوت آرایه استاتیک و آرایه پویا
4. ایجاد ساختار داده آرایه پویا
5. پیادهسازی آرایه پویا با استفاده از آرایه استاتیک
6. مدیریت آرایه استاتیک داخلی در ساختار داده آرایه پویا
7. اضافه کردن عنصر به آرایه پویا
8. به دست آوردن یک عنصر از آرایه پویا با ایندکس
9. نحوه استفاده از قطعه کد foreach در Visual Studio
( معرفی مفهوم عمومی ها، ساختار داده انتزاعی و بررسی ساختار داده لیست )
2. نحوه ایجاد یک کلاس Generic
3. نحوه استفاده از کلاسهای Generic
4. بررسی مفهوم نوع داده انتزاعی (ADT)
5. بررسی مشکل غیر قابل تغییر بودن تعداد اعضای آرایه
6. بررسی ADT لیست
7. بررسی پیادهسازی های مختلف ADT لیست
8. بررسی ساختار داده لیست پیوندی
9. بررسی لیست پیوندی منفرد
10. بررسی لیست پیوندی مضاعف
11. بررسی ساختار داده لیست
12. بررسی کلاس LinkedList
13. بررسی کلاس List
14. بررسی موقعیت های استفاده از لیست پیوندی
15. بررسی موقعیت های استفاده از لیست
( کار با ساختار داده لیست )
2. بررسی متد Add در کلاس List
3. بررسی خاصیت Capacity در کلاس List
4. بررسی خاصیت Count در کلاس List
5. بررسی متد Insert در کلاس List
6. بررسی متد Contains در کلاس List
7. بررسی متتد Remove در کلاس List
8. بررسی متد RemoveAt در کلاس List
9. بررسی متد IndexOf در کلاس List
10. بررسی مفهوم ایندکس کننده ها در یک کلاس
11. نحوه معرفی یک ایندکس کننده در کلاس
12. نحوه استفاده از ایندکس کننده های یک کلاس
13. نحوه overload کردن ایندکس کننده های یک کلاس
14. بررسی نحوه پیمایش اعضای لیست
15. بررسی کلاس LinkedList
16. بررسی متد Append در کلاس LinkedList
17. بررسی خاصیت Count در کلاس LinkedList
18. بررسی کلاس LinkeListNode
19. بررسی خاصیتهای Next، Previous، List و Value در کلاس LinkedListNode
20. بررسی خاصیت First و Last در کلاس LinkedList
21. بررسی متد Find در کلاس LinkedList
22. بررسی متدهای AddFirst و AddLast در کلاس LinkedList
23. بررسی متدهای AddBefore و AddAfter در کلاس LinkedList
24. بررسی متد Contains در کلاس LinkedList
25. بررسی متد Remove در کلاس LinkedList
26. بررسی متدهای RemoveFirst و RemoveLast در کلاس LinkedList
( بررسی ساختار داده پشته )
2. بررسی رفتار LIFO
3. بررسی رفتار Push در نوع داده انتزاعی پشته
4. بررسی رفتار Pop در نوع داده انتزاعی پشته
5. ایجاد یک پشته با استفاده از کلاس Stack
6. نحوه دسترسی به تک تک کاراکترهای یک رشته
7. اضافه کردن یک عنصر به Stack با استفاده از متد Push
8. به دست آوردن تعداد عناصر موجود در Stack با استفاده از خاصیت Count
9. نحوه استخراج عنصر موجود در بالای Stack با استفاده از متد Pop
10. نحوه بررسی عنصر بالای پشته بدون حذف با استفاده از متد Peek
( بررسی ساختار داده صف و دیکشنری )
2. بررسی نوع داده انتزاعی صف
3. بررسی متد Enqueue در نوع داده انتزاعی صف
4. بررسی متد Dequeue در نوع داده انتزاعی صف
5. بررسی تفاوت صف و پشته
6. ایجاد یک صف با استفاده از کلاس Queue
7. اضافه کردن یک عنصر به صف با استفاده از متد Enqueue در کلاس Queue
8. استخراج عنصر ابتدای صف با استفاده از متد Dequeue در کلاس Queue
9. نحوه به دست آوردن تعداد عناصر موجود در صف با استفاده از خاصیت Count در کلاس Queue
10. بررسی ساختار داده انتزاعی دیکشنری
11. نحوه گسترش آرایه ها با استفاده از دیکشنری
12. ایجاد یک دیکشنری با استفاده از کلاس Dictionary
13. نحوه وارد کردن یک زوج کلید مقدار به دیکشنری
14. نحوه بازیابی مقدار یک عنصر از دیکشنری با استفاده از کلید
( بررسی پیاده سازی های مختلف دیکشنری )
2. معرفی تابع درهم ساز
3. بررسی مشکل تصادم در جداول درهم
4. بررسی پیچیدگی زمانی دیکشنری پیادهسازی شده با جدول درهم
5. بررسی موارد استفاده از دیکشنری پیادهسازی شده با جدول درهم
6. بررسی نحوه پیادهسازی دیکشنری با استفاده از درخت متعادل باینری
7. بررسی مفهوم درخت و نحوه پیادهسازی آن با لیست های پیوندی
8. بررسی مفهوم درختهای دودویی
9. بررسی مفهوم درخت متعادل دودویی
10. بررسی عملکرد درخت متعادل دودویی در زمان درج و جستجوی عناصر
11. بررسی موارد استفاده از دیکشنری پیاه سازی شده با درخت متعادل دودویی
12. بررسی تفاوت دیکشنری پیادهسازی شده با جدول درهم و درخت متعادل دودویی
( کار با دیکشنری و بررسی ساختار داده مجموعه )
2. نحوه اضافه کردن زوج کلید مقدار جدید به دیکشنری با استفاده از متد Add
3. نحوه اضافه کردن زوج کلید مقدار جدید با استفاده از ایندکسر
4. نحوه پیمایش عناصر دیکشنری با استفاده از foreach
5. به دست آوردن کلید ها و مقادیر زوج های دیکشنری
6. نحوه ایجاد یک دیکشنری با استفاده از کلاس SortedDictionary
7. تفاوت بین کلاسهای Dictionary و SortedDictionary
8. استفاده از اینترفیس Idictionary برای انتزاع
9. نحوه به دست آوردن تعداد عناصر موجود در دیکشنری با استفاده از خاصیت Count
10. نحوه بررسی موجود بودن یک کلید در دیکشنری با استفاده از متد ContainsKey
11. نحوه بررسی موجود بودن یک مقدار در دیکشنری با استفاده از متد ContainsValue
12. نحوه حذف عناصر از دیکشنری با استفاده از متد Remove
13. بررسی ساختار داده مجموعه
14. بررسی پیادهسازی های مختلف مجموعه
15. نحوه ایجاد یک مجموعه
( بررسی اصول برنامه نویسی شی گرا و معرفی اصل وراثت )
2. معرفی مفهوم وارثت
3. نحوه ایجاد یک سلسله مراتب از وارثت
4. نحوه به مشتق کردن یک کلاس از کلاس پایه
5. بررسی رفتار وراثت در کلاسهای پایه و مشتق شده
( بررسی مفهوم کلاس پایه )
2. بررسی نحوه دسترسی به کلاس پایه با استفاده از کلیدواژه base
3. بررسی لزوم فراخوانی سازنده کلاس پایه در کلاس مشتق شده
4. بررسی مفهوم سازنده پیشفرض
5. بررسی نحوه ایجاد سازنده پیشفرض به صورت ضمنی توسط کامپایلر
6. نحوه فراخوانی سازنده کلاس پایه در کلاس مشتق شده
7. بررسی ارتباط بین تعدیل کننده های کلاس و وارثت
8. بررسی سطح دسترسی private
9. بررسی سطح دسترسی protected
10. بررسی سطح دسترسی public
11. بررسی سطح دسترسی internal
12. بررسی سطح دسترسی protected internal
13. بررسی سطح دسترسی private protected
( بررسی اصل انتزاع در برنامه نویسی شی گرا )
2. بررسی روشهای مختلف پیادهسازی انتزاع
3. نحوه پیادهسازی انتزاع با استفاده از وراثت
4. بررسی مفهوم تبدیل به سمت بالا (Upcasting)
5. بررسی مفهوم تبدیل به سمت پاییت (Downcasting)
6. بررسی وراثت کلاسهای بدون کلاس پایه از کلاس object به صورت ضمنی
7. بررسی خاصیت تراگذری در وراثت
8. بررسی شرایط موفقیت در عملیات تبدیل به سمت پایین
9. بررسی نوع زمان کامپایل یک شی
10. بررسی نوع زمان اجرای یک شی
11. نحوه تبدیل یک شی به صورت ضمنی به یکی از انواع والد
12. نحوه تبدیل یک شی به صورت صریح به یکی از انواع فرزند
( بررسی اصل انتزاع در برنامه نویسی شی گرا )
2. نحوه ایجاد نقشهای مختلف با استفاده از اینترفیس
3. نحوه استفاده از اینترفیس ها به منظور ایجاد انتزاع
4. نحوه ایجاد اشیاء از نوع یک اینترفیس
5. بررسی تبدیل ضمنی کلاس پیادهسازی کننده یک اینترفیس به اینترفیس
( بررسی اصل کپسوله سازی در برنامه نویسی شی گرا )
2. بررسی ابعاد کپسوله سازی
3. بررسی قواعد مخفی سازی اطلاعات در اصل کپسوله سازی
4. بررسی قواعد ترکیب داده و رفتار در یک شی در اصل کپسوله سازی
5. بررسی مفهوم چندریختی
6. بررسی مقدار دهی اولیه فیلدهای کلاس به صورت ضمنی توسط کامپایلر
7. بررسی مفهوم متدهای مجازی
8. بررسی نحوه ایجاد متدهای مجازی
9. نحوه بازنویسی متدهای مجازی در کلاس مشتق شده
10. بررسی روش برخورد با کلاسهای مشتق شده به عنوان کلاس پایه
11. بررسی نحوه اجرای متدهای بازنویسی شده با استفاده از نوع زمان اجرای اشیاء
( بررسی مفهوم کلاس های انتزاعی )
2. نحوه تعریف متدهای abstract
3. نحوه ایجاد کلاسهای abstract
4. کاربردهای کلاس abstract
5. شباهتها و تفاوتهای کلاسهای abstract و اینترفیس ها
6. نحوه مخفی کردن یک متد به ارث رسیده در کلاس به ارث برنده
7. تفاوت فراخوانی متدهای بازنویسی شده و متدهای مخفی کننده
8. بررسی قوانین بازنویسی متدها
9. بررسی موارد استفاده از چندریختی
10. بررسی نوع زمان اجرا و نوع زمان کامپایل یک شی
( بررسی مقداردهی اولیه اشیا و دسته و تطابق الگو )
2. بررسی مقداردهی اولیه دسته ها
3. بررسی مقداردهی اولیه دسته های ایندکس شده
4. بررسی نحوه تطابق الگو با استفاده از کلیدواژه is
5. بررسی نحوه تطابق الگو در ساختارهای کنترلی
6. نحوه تعدیل تطابق الگو با استفاده از کلیدواژه when
( معرفی مفهوم انواع بی نام )
2. تفاوت خاصیتهای فقط خواندنی با خواصیت های دارای دریافتکننده خصوصی
3. بررسی روشهای مقدار دهی اولیه به خاصیتهای فقط خواندنی
4. نحوه مقدار دهی اولیه به خاصیتها
5. نحوه تعریف انواع بی نام
6. نحوه استفاده از انواع بی نام
7. بررسی فقط خواندنی بودن خاصیتهای تعریف شده در انواع بی نام
8. نحوه تعریف آرایه ای از انواع بی نام
9. نحوه تعریف آرایه ها با استفاده از استنتاج نوع
10. بررسی الزام یکسان بودن انواع در تعریف آرایه با استفاده از استنتاج نوع
( بررسی مفهوم متدهای توسعه )
2. بررسی کاربردهای متدهای توسعه
3. بررسی مفهوم کلاسهای sealed
4. بررسی مفهوم کلاسهای static
5. نحوه معرفی متدهای توسعه
6. نحوه استفاده از متدهای توسعه
7. معرفی اینترفیس IEnumerable
8. بررسی مفهوم متدهای پارامتریک
9. نحوه پارامتریک کردن متدها
10. نحوه فراخوانی متدهای پارامتریک
11. نحوه اضافه کردن متدهای های توسعه به اینترفیس ها
( معرفی LINQ و کار با آن )
2. بررسی نماینده های Action
3. معرفی کلیدواژه yield
4. نحوه استفاده از کلیدواژه yield return
5. معرفی LINQ
6. بررسی مفهوم منبع داده
7. بررسی کاربردهای LINQ
8. بررسی روشهای مختلف استفاده از LINQ
9. نحوه مشخص کردن منبع داده در LINQ
10. نحوه نگاشت اعضای یک منبع داده به نوعی خاص با استفاده از LINQ
( کار با LINQ )
2. نحوه فیلتر کردن دادهها با LINQ
3. نحوه مرتب سازی دادهها با استفاده از LINQ
4. بررسی مفهوم گروه بندی دادهها
5. نحوه گروه بندی دادهها با استفاده از LINQ
6. بررسی اینترفیس IGrouping
7. نحوه پیمایش گروه بندی های ایجاد شده توسط LINQ
8. بررسی مفهوم join کردن منابع داده
9. نحوه join کردن منابع داده با استفاده از LINQ
10. نحوه استفاده از استنتاج نام اعضا در انواع بی نام
( معرفی متدهای ناهمگام در سی شارپ )
2. بررسی مفهوم Thread
3. بررسی مفهوم Thread Pool
4. بررسی لزوم استفاده از متدهای ناهمگام
5. بررسی مفهوم متدهای ناهمگام
6. نحوه دانلود فایلها با استفاده از Url
7. نحوه تولید رشتههای منحصر به فرد
8. نحوه معرفی متدهای ناهمگام
9. بررسی کلاس Task
10. نحوه مشخص کردن نوع بازگشتی متدهای ناهمگام
11. نحوه منتظر ماندن برای اجرای یک متد ناهمگام در برنامه با استفاده از await
12. نحوه کار با خروجی متدهای ناهمگام
( معرفی مفهوم Exception )
2. بررسی علل ایجاد Exception
3. نحوه رسیدگی به Exception
4. بررسی سلسله مراتب رسیدگی به Exception
5. معرفی ساختار try-catch
6. نحوه استفاده از ساختار try-catch
7. بررسی کاربردهای ساختار try-catch
( رسیدگی و پرتاب Exception )
2. معرفی بلاک finally
3. بررسی کاربرد بلاک finally
4. نحوه استفاده از بلاک finally در کنار ساختار try-catch
5. نحوه دریافت شی از کلاس Exception در بلاک catch
6. بررسی خاصیت Message در کلاسهای استثناء
7. بررسی خاصیت StackTrace در کلاسهای استثناء
8. بررسی خاصیت Source در کلاسهای استثناء
9. بررسی لزوم استفاده از Exception ها در برنامه
10. بررسی سلسله مراتب کلاسهای Exception در پلتفورم NET.
11. معرفی کلاس Exception
12. معرفی کلاس SystemException
13. معرفی کلاس ApplicationException
14. نحوه اعلان کلاسهای Exception سفارشی در برنامه
15. معرفی کلیدواژه throw
16. نحوه پرتاپ Exception در متدها
17. معرفی خاصیت InnerException در کلاسهای Exception
18. جمعبندی فصل سوم
در این فصل ASP.NET Core MVC 3 با استفاده از Visual Studio 2019 آموزش داده می شود و شما ضمن انجام تنظیمات لازم برای کار با MVC با سیستم مسیریابی ASP.NET Core آشنا می شوید، Model هایی را ایجاد کرده و با استفاده از Controller ها به آن ها دسترسی پیدا می کنید و با انواع خروجی Controller ها آشنا می شوید.
مفاهیم مختلفی چون View، View Component، Tag Helper و Partial View معرفی خواهد شد و نمونه هایی از آن ها را ایجاد و در طراحی های خود از آن ها استفاده می کنید و هم چنین با روش های مختلف ارسال اطلاعات از Controller به View آشنا می شوید و View Model هایی را ایجاد و مورد استفاده قرار می دهید.
در ابتدا با مفاهیم اولیه تزریق وابستگی به صورت اجمالی آشنا شده و به صورت عملیاتی از آن استفاده می کنید و در انتهای فصل به تزریق وابستگی بازگشته و به صورت کامل با IoC، DIP، DI و IoC Container ها آشنا خواهید شد و تزریق وابستگی در ASP.NET Core به صورت کامل آموزش داده می شود.
با jQuery و AJAX به صورت کامل آشنا شده و از آن ها استفاده می کنید.
با مفاهیم اولیه پایگاه داده و Entity Framework Core آشنا شده و ضمن آشنایی با نمودار ER به ترسیم مدل داده ای برنامه پرداخت و به صورت عملیاتی با استفاده از EFCore آن را پیاده سازی نموده و از الگوی Repository و Unit of Work استفاده خواهید کرد.
( نصب NET Core 3. و Visual Studio 2019 )
2. آموزش نصب Visual Studio 2019
3. معرفی NET Core SDK 3.0.
4. آموزش نصب NET Core SDK 3.0.
5. بررسی لزوم نصب Visual Studio 2019 برای استفاده از NET Core 3.0.
6. بررسی قابلیتهای جدید Visual Studio 2019
7. بررسی قابلیت جستجوی امکانات Visual Studio 2019
8. بررسی قابلیت Document Health و Code Cleanup در Visual Studio 2019
( ایجاد پروژه و انجام تنظیمات و معرفی انباره )
2. انجام تنظیمات لازم برای فعالسازی MVC
3. بررسی کلاس Startup
4. معرفی اجمالی مفهوم Middleware
5. ایجاد ساختارهای پوشه ای مورد نیاز برای MVC
6. معرفی مفهوم مدل
7. معرفی مفهوم حالت برنامه
8. معرفی مفهوم منطق برنامه
9. معرفی مفهوم انباره
10. معرفی مفهوم لایه دسترسی به داده
11. معرفی مفهوم لایه منطق برنامه
( Controller و Routing )
2. بررسی قراردادهای ساخت Controller
3. نحوه ایجاد یک Controller
4. معرفی مفهوم Action Method ها
5. معرفی اجمالی Model Binding
6. معرفی مفهوم مسیریابی در ASP.NET Core
7. نحوه دسترسی به اکشن متدهای یک کنترلر
8. نحوه معرفی یک مسیر در ASP.NET Core
9. نحوه ارسال آرگومان به متد با بیان صریح نام پارامتر
10. نحوه ایجاد یک مسیر پیشفرض در ASP.NET Core MVC
11. نحوه جلوگیری از دسترسی به اکشن متد ها از بیرون
( Model Binding و Dependency Injection )
2. نحوه دریافت مقادیر موجود در Query String در اکشن متدها
3. نحوه دریافت مقادیر موجود در Query String ها با معرفی مسیر
4. بررسی اولویت بندی مسیرهای معرفی شده در سیستم مسیریابی
5. نحوه معرفی نرم افزارهای میانی برای محیط های مختلف
6. نحوه معرفی سرویس در ASP.NET Core
7. معرفی اجمالی مفهوم تزریق وابستگی یا Dependency Injection
8. بررسی نحوه عملکرد تزریق وابستگی در ASP.NET
9. نحوه تزریق سرویس ها به Controller ها
10. نحوه ایجاد لایههایی از انتزاع در Controller ها
( نما (View) )
2. بررسی وظایف نما با View
3. بررسی قراردادهای مرتبط با نما یا View
4. یادآوری مدیریت کتابخانههای سمت کلاینت با استفاده از LibMan
5. یادآوری نحوه اضافه کردن Bootstrap با استفاده از LibMan
6. یادآوری نحوه اضافه کردن Bootstrap در Layout
7. بررسی تفاوت بین نسخه های minimize و نسخه های کامل فایلهای css و js
8. یادآوری نحوه اضافه کردن Fontawsome با استفاده از LibMan
9. بررسی لزوم اضافه کردن فونتهای سفارشی
10. نحوه اضافه کردن فونت به پروژه
11. نحوه استفاده از فونتهای سفارشی
12. نحوه اضافه کردن فایلهای StyleSheet
( انواع بازگشتی در Controller ها و انتخاب View )
2. معرفی اینترفیس IActionResult
3. آشنایی با متدهای برگشت دهنده IActionResult
4. نحوه برگشت کدهای وضعیت HTTP در اکشن متدها
5. نحوه Redirect با استفاده از اکشن متدها
6. نحوه برگشت محتوای HTML از طریق اکشن متدها
7. نحوه برگشت پاسخ فرمت بندی شده مانند JSON با از طریق اشکن متدها
8. آشنایی با Overload های متد View
9. بررسی مسیر قراردادی برای قرار دادن فایلهای View مربوط به یک اکشن متد
10. نحوه انتخاب View مورد نظر در اکشن متد
11. معرفی Razor View
12. نحوه ایجاد Razor View
13. نحوه ایجاد ViewStart در MVC
( نوار منو (Navbar) )
2. نحوه استفاده از flex در طراحی View
3. نحوه استفاده از کامپوننت Navbar در طراحی View
4. طراحی Navbar با استفاده از Bootstrap و Flex
5. نحوه مشخص کردن Color Scheme با توجه به رنگ Navbar
6. نحوه قرار دادن آیتم های Navbar در وسط صفحه
7. بررسی نحوه مشخص کردن چینش آیتم های Flex در یک Flex Container
( مدیریت کتابخانه های سمت سرور با NuGet )
2. نحوه ترازبندی نوشته و آیکن کنار نوشته
3. معرفی NuGet برای مدیریت کتابخانههای سمت سرور
4. نحوه استفاده از NuGet
5. معرفی نرمافزار میانی BrowserLink
6. نحوه فعالسازی و استفاده از BrowserLink
( flex، position و transition )
2. بررسی خاصیت position در css
3. بررسی مقدار static در خاصیت position در css
4. بررسی مقدار fixed در خاصیت position در css
5. بررسی مقدار relative در خاصیت position در css
6. بررسی مقدار absolute در خاصیت position در css
7. آشنایی با tarnsition ها در css
8. نحوه اعمال transition برای یک خاصیت در یک عنصر
9. بررسی پشتیبانی مرورگرها از transition ها
10. افزایش دامنه پشتیبانی مرورگر ها از transition با اضافه کردن پیشوندهای متناسب
11. نحوه اعمال خاصیتهای css بر روی placeholder ها
( طراحی Layout )
2. نحوه ایجاد کلیدهای Outline در Bootstrap
3. قراردادن آیکن در کنار متن کلید ها
4. ترازبندی عمودی آیکن و متن در یک کلید
5. استفاده از flex برای قرار دادن چندین آیتم در کنار یکدیگر به صورت Responsive
6. نحوه قراردادن دو عنصر روی یک دیگر با استفاده از خاصیت Position
7. نحوه ایجاد لوگوی دارای انیمیشن تغییر رنگ با استفاده از css
8. استفاده از flex برای تغییر چینش عناصر بر اساس خاصیت direction صفحه
9. بررسی نحوه پشتیبانی مرورگرهای مختلف از تکنیک ایجاد لوگویی دارای انیمیشن رنگ
10. بررسی مشکل padding عنصر والد در زمان استفاده از position مطلق
( طراحی footer )
2. کار با لیست های ul
3. نحوه قرار دادن li های یک ul در دو ستون
4. کار با کلاسهای w
5. طراحی قسمتهای دیگر footer
( طراحی footer )
2. راه حل اصولی کاهش سایز عکس در صفحه
3. نحوه تبدیل عنصر a به یک عنصر بلاک
4. نحوه قرار دادن آیکن و نوشته بیش از یک خط در یک کلید
5. نحوه ایجاد تورفتگی بین دو عنصر
6. مشخص کردن نمایش یا عدم نمایش یک عنصر در Breakpoint های مختلف
7. نحوه استفاده از margin در Breakpoint های مختلف
8. نحوه بررسی ظاهر وب سایت در Breakpoint های مختلف
( طراحی footer )
2. نحوه تغییر چینش آیتم های موجود در صفحه در breakpoint های مختلف
3. نحوه ایجاد کلیدهای دایرهای
4. نحوه ایجاد transition در زمان hover بر روی کلید های دایرهای
( طراحی Responsive )
2. نحوه بررسی طراحی وب سایت در Breakpoint های مختلف
3. انتقال ستونهای یک row به سطر جدید با استفاده از کلاسهای w
4. نحوه مخفی کردن یک عنصر در Breakpoint مشخص
5. نحوه ترازبندی یک ستون در وسط یک row
6. معرفی و استفاده از کلاس no-gutters در bootstrap
7. نزدیک کردن آیتم های فلکس با استفاده از margin
8. نحوه اعمال ترازبندی متن در Breakpoint های مختلف
9. نحوه استفاده از offset در Bootstrap
( کار با فایل ها و ایجاد سرویس )
2. نحوه تغییر کلاسهای پیادهسازی کننده یک سرویس در MVC
3. نحوه استفاده از تزریف وابستگی در کلاسهای مختلف
4. نحوه استفاده از کلیدواژه yield return
5. پیادهسازی یک دیتابیس ساده با استفاده از فایلهای متنی
6. استفاده از تزریق وابستگی برای دسترسی به سرویس ها در کنترلر
( انتقال اطلاعات از View به Controller )
2. بررسی مفهوم دادههای قویاً دارای نوع
3. بررسی مفهوم دادههای به سستی دارای نوع
4. معرفی مفهوم View Model
5. بررسی تفاوت Bussiness Model و View Model
6. بررسی ViewData برای انتقال اطلاعات
7. بررسی ViewBag برای انتقال اطلاعات
8. بررسی تفاوت بین ViewData و ViewBag
9. نحوه استفاده از عملگر as برای تبدیل نوع
10. معرفی مفهوم نماهای قویاً دارای نوع
11. بررسی فواید استفاده از نمایای قوبا دارای نوع
12. بررسی بهترین روش برای ارسال اطلاعات از کنترل کننده به نما
13. بررسی نوع داده dynamic
14. نحوه استفاده از View Model برای انتقال اطلاعات از کنترل کننده به نما
( تکنیک Background )
2. نحوه ایجاد و استفاده از فایلهای ViewImports
3. استفاده از تکنیک Background برای نمایش Thumbnail ها در کنار هم به صورت Responsive
4. نحوه ایجاد یک tفهرست از Thumbnail ها در کنار هم به صورت Responsive
5. استفاده از تکنیک Fade برای Truncate کردن متن
6. بررسی خاصیت word-wrap در css
7. بررسی خاصیت white-space در css
( نمایش مدت زمان ویدیو )
2. فارسی کردن اعداد با استفاده از متدهای توسعه
3. نمایش مدت زمان ویدیو به صورت هوشمند بر اساس صفر یا ناصفر بودن مقدار ساعت
4. بررسی عملگر انتساب شرطی
5. نحوه استفاده از Padding بر روی رشتهها در سی شارپ
6. استفاده از Padding و اعمال دو رقمی بودن ثانیه و دقیقه در صورت لزم
7. اضافه کردن دسته ویدیو در پایین عنوان ویدیو
( Partial View )
2. بررسی لزوم استفاده از نمای جزیی
3. بررسی فواید استفاده از نمای جزیی
4. بررسی قرار دادهای مرتبط با نماهای جزیی
5. نحوه ایجاد نماهای جزیی
6. نحوه فراخوانی نماهای جزیی با استفاده از Html Helper
7. معرفی مفهوم Html Helper
8. بررسی کاربردهای Html Helper ها
9. بررسی نحوه استفاده از ViewData در نماهای جزیی
10. معرفی عملگر تلفیق یا Coalescing
11. نحوه استفاده از عملگر تلفیق
12. بررسی مفهوم فرآیند View Discovery
13. نحوه رندر کردن نمای جزیی با استفاده از مسیر فایل
( رندر کردن Partial View )
2. نحوه رندر کردن نمای جزیی به صورت مستقیم در خروجی
3. بررسی تفاوت بین متدهای PartialAsync و RenderPartialAsync
4. بررسی متدهای Synchronous برای رندر کردن نماهای جزیی
5. بررسی لزوم عدم استفاده از متدهای Synchrounous برای رندر کردن نماهای جزیی
6. بررسی مفهوم Tag Helper ها
7. بررسی کاربردهای Tag Helper ها
8. نحوه فعالسازی Tag Helper ها در پروژه
9. نحوه استفاده از دستور addTagHelper
10. بررسی نحوه استفاده از Tag Helper ها برای رندر کردن نماهای جزیی
( Bundle، Minify و section )
2. بررسی لزوم Minify و Bundle کردن فایلهای سمت کلاینت
3. نحوه نصب Bundler & Minifier در Visual Studio
4. نحوه Minify کردن و Bundle کردن فایلهای سمت سرور
5. بررسی نحوه تغییر در فایلهای bundle و minify شده
6. معرفی مفهوم section ها در ASP.NET
7. بررسی موارد استفاده از section ها
8. نحوه استفاده از section ها
9. نحوه معرفی یک section در content page ها
( Tag Helper ها )
2. بررسی قراردادهای مرتبط با Tag Helper ها
3. معرفی کلاس پایه TagHelper
4. بررسی نوع TagHelperContext
5. بررسی نوع TagHelperOutput
6. نحوه تغییر Tag خروجی با استفاده از TagHelper ها
7. نحوه فعالسازی TagHelper های ایجاد شده در فایلهای نما
8. نحوه تعیین TagMode در خروجی TagHelper
9. نحوه تعیین عنصر هدف در کلاسهای TagHelper
10. نحوه مشخص کردن Tag Structure در TagHelper ها
11. نحوه اضافه کردن Attribute به تگ های خروجی در TagHelper ها
12. نحوه دریافت اطلاعات از نما در TagHelper ها
13. نحوه مشخص کردن محتوای خروجی با استفاده از TagHelper ها
14. نحوه تعیین چندین الگوی match برای یک کلاس TagHelper
15. نحوه حذف کردن یک Attribute از تگ خروجی با استفاده از TagHelper ها
( View Component )
2. بررسی لزوم استفاده از کامپوننت های نما
3. بررسی تفاوت کامپوننت های نما و نماهای جزیی
4. بررسی تفاوت بین کامپوننت های نما و کنترلر ها
5. بررسی ویژگیهای کامپوننت های نما
6. بررسی قراردادهای مرتبط با کامپوننت های نما
7. بررسی متد Invoke در View Component ها
8. نحوه انتخاب نما در کامپوننت های نما
9. بررسی نحوه ایجاد نما برای کامپوننت های نما
10. نحوه فراخوانی View Component ها
( View Component )
2. نحوه استفاده از ViewData و ViewBag برای ارسال اطلاعات به نمای View Component ها
3. بررسی ماندگاری تغییرات اعمال شده در ViewData در نمای View Component ها
4. نحوه فراخوانی View Component ها با استفاده از Tag Helper ها
5. بررسی نحوه فعالسازی استفاده از View Component ها به عنوان Tag Helper ها
6. نحوه ارسال پارامتر به کامپوننت نما در زمان استفاده از آن به عنوان Tag Helper
7. نحوه تعیین کردن نام کامپوننت نما با استفاده از Attribute ها
8. نحوه استفاده از تزریق وابستگی در کامپوننت های نما
( منوی آبشاری (Dropdown) )
2. نحوه اعمال پردازش بر روی دسته ها در کامپوننت های نما
3. نحوه ارسال اطلاعات به کامپوننت نما با استفاده از مدل های نما
4. بکارگیری کامپوننت Dropdown در Bootstrap
5. بررسی نیازمندی های کامپوننت Dropdown
6. بررسی مشخصات Container مورد استفاده برای Dropdown ها
7. نحوه اتصال یک کلید به یک Dropdown
8. نحوه قراردادن Dropdown در محل مورد نظر
9. بررسی کلاسهای ترازبندی Dropdown ها
10. نحوه ترازبندی Dropdown به صورت دقیق نسبت به یک کلید
( منوی آبشاری (Dropdown) )
2. پیادهسازی منوی Dropdown دسته ها
3. نحوه قرار دادن آیکن و نوشته در زیر هم با استفاده از Flex
4. نحوه ترازبندی عناصر به صورت عمودی Flex
5. نحوه ترازبندی آیتم ها به صورت افقی با استفاده از Flex
6. تغییر اندازه Dropdown های Bootstrap
7. تغییر نسبی محل قرار گیری Dropdown های Bootstrap
8. نحوه استفاده از last-child
9. بررسی مشکل padding های اضافی در ستونهای Bootstrap
10. بررسی کلاس no-gutters در Bootstrap
( آموزش jQuery )
2. بررسی کاربردهای jQuery
3. بررسی لزوم استفاده از jQuery در پروژه
4. بررسی ترفند مورد استفاده برای نمایش Preview در زمان نگه داشتن Mouse بر روی Thumbnail
5. بررسی اجمالی Ajax
6. بررسی اجمالی کاربرد های Ajax در پروژه
7. بررسی پیش نیاز های استفاده از jQuery
8. بررسی نحو jQuery
9. معرفی ابزار Console در Developer Tools
10. بررسی رخداد Document Ready در jQuery
11. بررسی اجمالی مفهوم Event و Event Listener
12. بررسی لزوم استفاده از رخداد Document Ready
( jQuery Selector و jQuery Events )
2. بررسی روشهای مختلف انتخاب عناصر
3. نحوه انتخاب عناصر با استفاده از نام عنصر
4. نحوه انتخاب عناصر با استفاده از نام کلاس
5. نحوه انتخاب عناصر با استفاده از شناسه عنصر
6. نحوه انتخاب عناصر با ترکیب انتخاب کننده ها
7. نحوه انتخاب عناصر با استفاده از Attribute ها
8. نحوه انتخاب عناصر با استفاده از مقدار Attribute ها
9. نحوه انتخاب عناصر با استفاده از نوع عنصر
10. بررسی مفهوم رخداد ها در jQuery
11. بررسی برخی رخدادها به صورت نمونه
12. بررسی مفهوم رسیدگی به رخدادها
13. بررسی روشهای مختلف رسیدگی به رخدادها
14. بررسی متد preventDefault
15. نحوه تنظیم مقدار برای یک Attribute خاص از یک عنصر
16. نحوه دریافت مقدار یک Attribute خاص
( اسلایدر (تصاویر متحرک) )
2. بررسی خاصیت flex-grow
3. بررسی خاصیت flex-shrink
4. نحوه بررسی چگونگی اعمال خاصیتهای flex با استفاده از Dev Tools
5. بررسی خاصیت flex-wrap
6. بررسی اثر متقابل flex-wrap و flex-shrink
7. بررسی اثر متقابل flex-grow و max-width
8. نحوه ترکیب flex-grow و flex-shrink و flex-wrap برای ساخت اسلایدر
9. بررسی خاصیت overflow
10. بررسی ترفندهای ایجاد اسلایدر
( ECMAScript )
2. معرفی ECMAScript
3. نحوه فعالسازی ویژگیهای جدید JavaScript
4. بررسی مشخصه های معرفی متغیرها و ثابت ها در ES6
5. بررسی متدهای مختلف به دست آوردن عرض و ارتفاع یک عنصر در JavaScript
6. نحوه بررسی ابعاد یک عنصر در Dev Tools
7. بررسی قابلیت string interpolation در JavaScript
8. نحوه اعمال مقدار دهی های position در عناصر
9. بررسی تفاوت بین selector های عناصر پسین و عناصر فرزند یک عنصر در css
10. نحوه مقداردهی خاصیتهای css یک عنصر با استفاده از jQuery
11. نحوه ایجاد انیمیشن بر روی یک عنصر با استفاده از jQuery
( JavaScript )
2. بررسی انواع داده در JavaScript
3. بررسی انواع Primitive در JavaScript
4. بررسی مفهوم Dynamically Typed در زبانهای برنامه نویسی
5. بررسی نوع Object در JavaScript
6. نحوه تعریف شی در JavaScript
7. بررسی منطق عملکرد Slider
8. بررسی روشهای مختلف تعریف اشیاء در JavaScript
9. نحوه تعریف خاصیت در اشیاء در JavaScript
10. نحوه تعریف متد در اشیاء در JavaScript
11. پیادهسازی شی Slider
12. نحوه تعریف اشیاء همنوع مستقل از هم در JavaScript
( ادامه اسلایدر )
2. ایجاد تابع Next برای Slider
3. بررسی منطق تابع Prev در Slider
4. ایجاد تابع Prev در Slider
5. تبدیل رشته به عدد در JavaScript
6. تنظیم مقدار یک attribute در عناصر با استفاده از JavaScript
( کلید های اسلایدر )
2. کار با موقعیت های relative و absolute
3. بررسی خاصیت z-index
4. قرار دادن کلید ها بر روی محتوا
5. تنظیم محل دقیق قرار گرفتن عناصر با توجه به عناصر دیگر
6. نحوه انتخاب چندین عنصر مختلف با یک Query در jQuery
7. نحوه اضافه کردن box-shadow به عناصر
8. نحوه تغییر radius برخی گوشههای یک عنصر
9. برسی pseudo code مربوط به focus و تأثیر آن بر button
10. مخفی کردن کلیدهای Slider به صورت اتوماتیک در زمان لازم
11. نحوه ایجاد Event Listener برای تغییر سایز مرورگر
( طراحی صفحه اول )
2. نحوه استفاده از Quick Launch
3. ایجاد View Component برای Slider
4. اعمال خاصیتهای css مورد نیاز برای Slider
5. استفاده از اسلایدر در صفحه اول
6. نحوه دسترسی به آخرین عنصر از عناصر یک کلاس در css
( jQuery Prototype )
2. نحوه ایجاد استقلال بین عناصر دارای یک کلاس در jQuery
3. معرفی Prototype در JavaScript
4. نحوه اضافه کردن یک تابع جدید به توابع موجود در jQuery
5. نحوه دسترسی به تک تک عناصر انتخاب شده توسط selector در تابع اضافه شده به jQuery
6. نحوه دسترسی به parent در jQuery
7. نحوه دسترسی به عناصر sibling در jQuery
8. ایجاد TagHelper برای فاصله زمانی
9. ایجاد متد توسعه برای به دست آوردن فاصله زمانی بر روی کلاس DateTime
10. مرتب سازی بر اساس تاریخ در LINQ
( ویدیوهای ویژه )
2. اعمال limit بر روی تعداد دادهها در LINQ
3. اعمال offset بر روی دادهها در LINQ
4. مخفی کردن عناصر با استفاده از jQuery
5. اضافه کردن کلاسی خاص به یک عنصر در jQuery
6. حذف کلاسی خاص از یک عنصر در jQuery
7. به دست آوردن والدهای یک عنصر در jQuery
8. فیلتر کردن والدهای یک عنصر با استفاده از نام کلاس در jQuery
( آموزش AJAX )
2. کاربردهای AJAX
3. تفاوت AJAX با زبانهای برنامه نویسی
4. بررسی نحوه کار AJAX
5. بررسی نحوه استفاده از JavaScript برای ایجاد درخاست های AJAX
6. معرفی شی XMLHttpRequest
7. معرفی متد open در شی XMLHTTPRequest
8. معرفی متد send در شی XMLHttpReqeust
9. نحوه معرفی Event Listener در شی XMLHttpRequest
10. بررسی خاصیت status در شی XMLHttpRequest
11. بررسی خاصیت sttausText در شی XMLHttpRequest
12. بررسی خاصیت responseText در شی XMLHttpRequest
( JavaScript AJAX )
2. نحوه اضافه کردن Event Listener برای یک عنصر در JavaScript
3. نحوه ایجاد درخواست های AJAX با استفاده از JavaScript
4. نحوه تنظیم درخواست Ajax با استفاده از JavaScript
5. نحوه ارسال درخواست Ajax با استفاده از JavaScript
6. نحوه ایجاد Event Listener برای رخدادهای XMLHttpReqeust
7. بررسی رخداد load در XMLHttpRequest
8. بررسی رخداد loadstart در XMLHttpRequest
9. بررسی رخداد readystatechange در XMLHttpRequest
10. بررسی خاصیت readystate در XMLHttpRequest
11. استفاده از رخداد load در window برای جلوگیری از اجرای اسکریپت قبل از بارگذاری کامل صفحه
12. نحوه ایجاد درخواست های AJAX در IE7 به پایین
( jQuery AJAX )
2. نحوه استفاده از متد ajax برای ایجاد در خواست AJAX در jQuery
3. نحوه تنظیم کردن درخواست AJAX در متد ajax
4. بررسی خاصیت success در تنظیمات متد ajax
5. بررسی شی jqXHR
6. بررسی خاصیت async در تنظیمات به متد ajax
7. بررسی خاصیت method در تنظیمات متد ajax
8. بررسی خاصیت data در تنظیمات متد ajax
9. بررسی خاصیت error در تنظیمات متد ajax
10. بررسی خاصیت dataType در تنظیمات متد ajax
11. بررسی cache در ajax
12. بررسی خاصیت complete در ajax
13. بررسی خاصیت timeout در تنظیمات متد ajax
14. بررسی خاصیت beforesend در تنظیمات ajax
15. بررسی متد done در شی jqXHR
16. بررسی متد fail در شی jqXHR
17. بررسی متد always در شی jqXHR
18. بررسی خروجی متد ajax
( jQuery AJAX )
2. نحوه استفاده از متد load برای ایجاد درخواست های AJAX
3. کاربردهای متد load برای ایجاد درخواست AJAX در jQuery
4. بررسی پارامترهای متد load
5. قرار دادن عنصر با شناسه خاص در عنصر خروجی با استفاده از متد load
6. معرفی متد get برای ایجاد درخواست های AJAX در jQuery
7. نحوه استفاده از متد get
8. بررسی کاربردهای متد get
9. بررسی تفاوت متد load و متد get برای ایجاد درخواست های AJAX در jQuery
10. معرفی متد post برای ایجاد درخواست های AJAX در jQuery
11. نحوه استفاده از متد post
12. تفاوت متد post و متد get
( استفاده از AJAX در ASP.NET Core MVC )
2. نحوه تشخیص رسیدن scroll به انتهای صفحه با استفاده از jQuery
3. نحوه اضافه کردن Event Listener برای scroll کردن صفحه
4. نحوه به دست آوردن ارتفاع قسمتی از بالای صفحه که طی scroll کردن مخفی شده است
5. نحوه به دست آوردن ارتفاع کل صفحه با استفاده از jQuery
6. نحوه به دست آوردن ارتفاع قسمت قابل مشاهده صفحه با استفاده از jQuery
7. اضافه کردن عناصر به انتهای عناصر موجود در یک والد
8. بررسی مشکل Event Binding برای عناصر جدید بارگذاری شده توسط AJAX
9. تبدیل رشته به HTML DOM object در jQuery
( پایگاه داده رابطهای )
2. بررسی مفهوم پایگاه داده
3. بررسی مفهوم پایگاه داده رابطهای
4. بررسی مفهوم داده و اطلاعات
5. بررسی مفهوم جدول در پایگاه داده رابطهای
6. بررسی مفهوم Heading و Body در جداول پایگاه داده رابطهای
7. بررسی مفهوم row یا سطر در پایگاه داده رابطهای
8. بررسی مفهوم column یا ستون در پایگاه داده رابطهای
9. بررسی مفاهیم Attribute، Tuple و Relation در پایگاه داده رابطهای
10. بررسی مفهوم Primary Key و Foreign Key در پایگاه داده رابطهای
11. بررسی مفهوم ارتباط یا Relationship در پایگاه داده رابطه ای
( Object/Relational Mapping )
2. بررسی مفهوم نگاشت شی رابطهای یا Object/Relational Mapping (OR/M)
3. معرفی Entity Framework Core
4. بررسی قابلیتهای Entity Framework Core
5. بررسی مدل تأمین کننده پایگاه داده در EF Core
6. نحوه دسترسی به Local SQLServer
7. نحوه نصب تأمین کننده پایگاه داده
8. نصب تأمین کننده SQLServer
( ساخت دیتابیس و جدول )
2. معرفی کلاس Context
3. معرفی اجمالی Change Tracking
4. بررسی رویکردهای مختلف کار با پایگاه داده در EF Core
5. معرفی رویکرد Database-First
6. معرفی ابزار Scaffold در EF Core
7. بررسی مفهوم Schema در پایگاه داده رابطهای
8. ساخت پایگاه داده جدید در SQLServer
9. بررسی مفهوم Collation در پایگاه داده
10. نحوه تغییر Collation در SQLServer
11. بررسی نگاشت انواع داده در NET. و SQLServer
12. نحوه ساخت جدول جدید در SQLServer
( رویکرد Database-First )
2. کار با Windows Power Shell
3. نحوه استفاده از ابزارهای خط فرمان dotnet
4. نحوه استفاده از ابزارهای خط فرمان ef
5. بررسی ابزار scaffold در ef
6. نحوه استفاده از ابزار scaffold
7. معرفی connection string
8. بررسی مشکلات محتمل در زمان scaffold
9. بررسی کلاس context ایجاد شده توسط ابزار scaffold
10. بررسی کلاس DbContextOptions
11. بررسی کلاس DbSet
12. بررسی متد OnConfiguring در کلاس context
13. بررسی متد OnModelCreating
14. بررسی کلاسهای entity ایجاد شده توسط ابزار scaffold
15. بررسی کلاسهای partial
16. نحوه مهندسی معکوس پایگاه داده و ساخت مدل با استفاده از Data Annotations
( رویکرد Code-First )
2. نحوه ایجاد کلاس context
3. بررسی کلاس DbContextOptions
4. بررسی روشهای مختلف تنظیم کردن کلاس Context
5. نحوه تنظیم کردن کلاس Context با استفاده از متد OnConfiguring
6. معرفی ابزار Migrations در ef
7. نحوه ایجاد migration در ef
8. بررسی مشکلات محتمل در زمان استفاده از ابزار migrations
9. بررسی فایلهای ایجاد شده در زمان ایجاد یک migrations جدید
10. نحوه اعمال migration ایجاد شده بر روی پایگاه داده
( کار با کلاس context )
2. معرفی Seed Data
3. نحوه نمونه گیری از کلاس context در کنترلر
4. نحوه کار با کلاس DbContextOptionsBuilder
5. نحوه ساخت و ارسال تنظیمات به سازنده کلاس Context
6. اضافه کردن دستهای از اشیاء به کلاس Context
7. نحوه ماندگار کردن تغییرات اعمال شده در Context بر روی پایگاه داده
8. معرفی تنظیمات IDENTITY_INSERT در پایگاه داده
9. برررسی متد ExecuteSqlCommand در خاصیت Database در کلاس Context
10. آشنایی کلی با SQL
11. آشنایی با دستورات insert، delete، update و select در SQL
( معرفی Transaction )
2. نحوه مشخص کردن یک Transaction به صورت صریح در SQL
3. نحوه اعمال یک Transaction در SQL با استفاده از دستور COMMIT
4. نحوه برگرداندن تغییرات اعمال شده در یک Transaction با استفاده از دستور ROLLBACK
5. نحوه شروع یک Transaction در EFCore
6. بررسی نحوه اعمال تغییرات در پایگاه داده توسط متد SaveChanges در کلاس Context
7. بررسی تأثیر شروع یک Transaction برا چندین فراخوانی متد SaveChanges
8. نحوه اعمال یک Transaction در EFCore
9. نحوه کار با پایگاه داده از طریق کلاس Context
10. نحوه اضافه کردن کلاس Context به عنوان سرویس به پروژه
11. پیادهسازی اینترفیس های Repository با استفاده از کلاس Context
12. بررسی مفهوم بارگذاری دادههای مرتبط در EFCore
( بررسی ChangeTracker و روشهای مختلف Data Model )
2. بررسی نحوه دنبال کردن تغییرات در EFCore
3. بررسی کلاس EntityEntry
4. نحوه دریافت یک نمونه از EntityEntry با استفاده از کلاس context
5. بررسی خاصیت State در کلاس EntityEntry
6. بررسی وضعیتهای ممکن یک موجودیت در هر لحظه از زمان در EFCore
7. بررسی روشهای مختلف معرفی Data Model
8. بررسی استفاده از قرارداد در معرفی Data Model
9. بررسی استفاده از نشانه گذاری داده در معرفی Data Model
10. بررسی استفاده از Fluent API در معرفی Data Model
( نمودار رابطه-موجودیت (ERD) )
2. معرفی ابزار ترسیم ERD
3. نحوه ایجاد یک ERD
4. نحوه ایجاد Entity در ERD
5. معرفی کلید اولیه یا Primary Key
6. بررسی قرارداد های معرفی Primary Key در EFCore
7. بررسی Data Annotation برای معرفی Primary Key در EFCore
8. معرفی کلاس ModelBuilder
9. معرفی متد Entity در کلاس ModelBuilder
10. بررسی Fluent API برای معرفی Primary Key در EFCore – متد HasKey
( ارتباط (Relationship) )
2. بررسی قرارداد در معرفی Alternate Key در EFCore
3. بررسی استفاده از Fluent API در معرفی Alternate Key در EFCore
4. معرفی Index
5. بررسی قرارداد در معرفی Index در EFCore
6. بررسی استفاده از Fluent API در معرفی Index در EFCore – متد HasIndex
7. نحوه Unique کردن Index در EFCore – متد IsUnique
8. معرفی مفهوم Relationship یا ارتباط
9. معرفی موجودیت وابسته یا Dependent Entity در یک ارتباط
10. معرفی موجودیت اصلی یا Principal Entity در یک ارتباط
11. معرفی خاصیت کلید خارجی یا Foreign Key Property
12. معرفی Principal Key در یک ارتباط
13. معرفی خاصیت هدایتکننده یا Navigation Property
14. بررسی انواع خاصیتهای هدایتکننده – ارجاعی، دستهای، مقابل
( انواع ارتباط بین موجودیت ها )
2. معرفی خاصیت سایه یا Shadow Property
3. نحوه ایجاد خاصیت سایه در EFCore
4. نحوه دسترسی به خاصیت سایه با استفاده از کلاس context
5. نحوه دسترسی به خاصیت سایه با استفاده از کلاس EF – متد استاتیک Property
6. بررسی قرارداد های نام گذاری خاصیت سایه
7. بررسی روشهای مختلف معرفی ارتباط بین موجودیت ها در EFCore
8. بررسی نحوه معرفی ارتباط بین موجودیت ها با استفاده از قرارداد در EFCore
9. بررسی نحوه معرفی ارتباطات کاملاً تعریف شده
10. بررسی نحوه معرفی ارتباط بدون خاصیت کلید خارجی
11. بررسی نحوه معرفی ارتباط با خاصیت هدایتکننده منفرد
( ایجاد ارتباط بین موجودیت ها )
2. بررسی صفت ForeingKey و سناریو های مورد استفاده
3. بررسی صفت Inverse Property و سناریو های مورد استفاده
4. نحوه استفاده از Fluent API در معرفی ارتباط بین موجودیت ها
5. نحوه مشخص کردن خاصیتهای هدایتکننده در ارتباط با استفاده از Fluent API
6. نحوه مشخص کردن خاصیت هدایتکننده خارجی با استفاده از Fluent API
7. بررسی نمادهای معرفی درجه یا Cardinality ارتباط در نمودار ER
8. نحوه ایجاد روابط یک به چند در نمودار ER
9. نحوه ایجاد روابط چند به چند در نمودار ER
10. ایجاد موجودیت پل یا Bridge برای ایجاد ارتباط چند به چند در ER
11. معرفی مفهوم کلید اولیه ترکیبی یا Composite Primary key
( پیادهسازی نمودار رابطه موجودیت (Entity Relationship Diagram) )
2. معرفی اینترفیس ICollection
3. مقایسه اینترفیس های IEnumerable، ICollection و Ilist
4. نحوه مشاهده ارجاع های یک متد یا خاصیت در کد
5. تغییر نام یک خاصیت به صورت خودکار در Visual Studio
6. نحوه تعریف کلید اولیه ترکیبی یا Composite Primary Key در EFCore
7. نحوه Drop کردن دیتابیس با استفاده از ابزارهای خط فرمان EFCore
8. بررسی کوئری های ایجاد شده در زمان اعمال update پایگاه داده در EFCore
( کار با Fluent API )
2. بررسی موضوع عدم توانایی ذخیره سازی خاصیتهای هدایتکننده در دیتابیس های رابطهای
3. نحوه ایجاد یک خاصیت در سایه با استفاده از Fluent API – متد Property
4. نحوه اختیاری و اجباری کردن ارتباط بین دو موجودیت
5. نحوه تنظیم ارتباط بین دو موجودیت با استفاده از Fluent API
6. نحوه مشخص کردن خاصیتهای هدایتکننده با استفاده از Fluent API
7. نحوه مشخص کردن خاصیتهای هدایتکننده دستهای و ارجاعی در Fluent API
8. بررسی نحوه تشخیص موجودیت های مستقل و وابسته در ارتباطات یک به چند و یک به یک
9. نحوه مشخص کردن خاصیت کلید خارجی با استفاده از Fluent API
10. نحوه مشخص کردن خاصیت کلید اولیه با استفاده از Fluent API
11. نحوه تغریف ارتباطات با خاصیت هدایتکننده منفرد در Fluent API
12. نحوه تعریف ارتباط بین دو موجودیت در صورت عدم وجود خاصیتهای هدایتکننده در طرفین
( ورود اطلاعات اولیه (Seed Data) با استفاده از Fluent API )
2. نحوه مشخص کردن Seed Data برای موجودیت های دارای Shadow Property
3. نحوه Project کردن یک دسته از اشیاء به یک نوع بی نام
4. نحوه واردن کردن رشته اتصال پایگاه داده در فایل appsettings.json
5. معرفی اینترفیس IConfiguration
6. نحوه دسترسی به تنظیمات برنامه با استفاده از تزریق وابستگی
7. نحوه دسترسی به تنظیمات مورد نظر با استفاده از اینترفیس IConfiguration
( مستثنی کردن از مدل داده – مفهوم درخت عبارت )
2. بررسی نحوه شامل شدن خاصیتها در مدل داده در EFCore
3. نحوه مستثنی کردن یک نوع یا خاصیت از مدل داده با استفاده از Data Annotations
4. نحوه مستثنی کردن یک نوع یا خاصیت از مدل داده با استفاده از Fluent API
5. بررسی Overwrite شدن مستثنی کردن انواع و خاصیتها Data Annotations توسط Fluent API
6. نحوه حذف Migrations ایجاد شده
7. یادآوری مفهوم عبارت یا Expression
8. معرفی و بررسی مفهوم درخت عبارت یا Expression Tree
9. بررسی کاربرد درخت عبارت در EFCore
10. بررسی روشهای ساخت درخت عبارت
( درخت عبارت (Expression Tree) و اینترفیس IQueryable )
2. نحوه ساخت درخت عبارت با استفاده از عبارت های لامدا
3. تفاوت درخت عبارت و نماینده ها
4. بررسی درخت عبارت ایجاد شده توسط عبارت های لامدا
5. بررسی نوع شمارشی ExpressionType
6. معرفی کلاس BinaryExpression
7. معرفی کلاس ConstantExpression
8. نحوه ایجاد درخت عبارت به صورت دستی
9. نحوه کامپایل و اجرای درخت عبارت
10. معرفی اینترفیس IQueryable
11. تفاوت اینترفیس IQueryable و Ienumerable
12. بررسی زمان اجرای کوئری های اینترفیس IQueryable
( الگوی Repository )
2. کاربردهای الگوی Repository
3. فواید استفاده از الگوی Repository
4. بررسی روش پیادهسازی الگوی Repository
5. بررسی مفهوم عملیات CRUD
6. نحوه طراحی اینترفیس عمومی برای Repository
7. نحوه پیادهسازی اینترفیس عمومی Repository
8. نحوه دسترسی به DbSet یک Entity به صورت پویا – متد Set در کلاس Context
9. بررسی نوع صحیح برگشتی برای متدهای Repository
10. نحوه تغییر وضعیت موجودیت ها در کلاس Context
( پیادهسازی الگوی Repository )
2. اضافه کردن متدهای مخصوص هر Repository به اینترفیس
3. پیادهسازی اینترفیس های Repository مربوط به موجودیت ها
4. مشتق کردن کلاسهای پیادهسازی کننده Repository های خاص از کلاس Repository عمومی
5. تأمین کلاس context کلاس پایه در کلاسهای مشتق شده Repository
6. دسترسی به کلاس context موجود در کلاس پایه Repository
7. دسترسی به کلاس context خاص در کلاسهای پیادهسازی کننده Repository موجودیت ها
8. بررسی مشکل استفاده از الگوی Repository صرف
9. بررسی اجمالی روش درست استفاده از الگوی Repository در کنار الگوی Unit Of Work
( الگوی Unit of Work )
2. کاربردهای الگوی Unit of Work
3. فواید استفاده از الگوی Unit of Work
4. ایجاد اینترفیس Unit of Work
5. معرفی اینترفیس IDisposable
6. پیادهسازی اینترفیس Unit of Work
7. استفاده از Unit of Work در پروژه
8. معرفی Unit of Work به عنوان سرویس
( بارگذاری دادههای مرتبط )
2. بررسی روشهای مختلف بارگذاری دادههای مرتبط
3. معرفی Eager Loading
4. معرفی Explicit Loading
5. معرفی Lazy Loading
6. بررسی تفاوت انواع مختلف بارگذاری دادههای مرتبط
7. روش استفاده از Eager Loading
8. معرفی متد Include
9. بررسی روشهای مختلف Lazy Loading
10. راه اندازی Lazy Loading با استفاده از Proxy
11. راه اندازی Lazy Loading با استفاده از IlazyLoader
12. بارگذاری دادههای مرتبط با استفاده از Explicit Loading
( تزریق وابستگی (Dependency Injection) )
2. تعریف اصل طراحی
3. بررسی مفهوم Coupling
4. بررسی مفهوم Loose Coupling
5. بررسی مفهوم Tight Coupling
6. بررسی کلاسهای Tightly Coupled Classes
7. معرفی مفهوم وابستگی یا Dependency
8. بررسی مشکلات کلاسهای Tightly Coupled
9. بررسی مراحل رسیدن به Loose Coupling
( پیادهسازی IoC با استفاده از DI )
2. بررسی اجمالی الگوهای پیادهسازی کننده IoC
3. معرفی الگوی Factory
4. پیادهسازی IoC با استفاده از الگوی Factory
5. بررسی مشکلات الگوی Factory
6. معرفی اصل DIP
7. پیادهسازی DIP با استفاده از انتزاع
8. بررسی فواید پیادهسازی DIP
9. معرفی الگوی Dependency Injection
10. بررسی لزوم استفاده از DI
11. معرفی مفهوم کلاس کلاینت در DI
12. معرفی مفهوم کلاس سرویس در DI
13. معرفی مفهوم کلاس تزریق کننده در DI
14. بررسی روشهای مختلف DI
15. معرفی روش تزریق سازنده یا Constructor Injection در DI
16. معرفی روش تزریق خاصیت یا Property Injection در DI
17. معرفی روش تزریق متد یا Method Injection در DI
18. بررسی لزوم استفاده از IoC Container ها در DI
( تزریق وابستگی در ASP.NET Core )
2. بررسی لزوم استفاده از IoC Container ها
3. بررسی مراحل مختلف عملیات IoC Container ها
4. بررسی نحوه استفاده از تزریق وابستگی در ASP.NET Core
5. بررسی مزایای استفاده از اینترفیس ها در برنامه
6. بررسی نحوه ثبت وابستگیها در ASP.NET Core
7. معرفی الگوی Explicit Dependency
8. نحوه استفاده از متدهای توسعه برای معرفی مجموعهای از سرویس ها در ASP.NET Core
9. بررسی نحوه انجام تزریق وابستگی توسط ASP.NET Core
10. معرفی مفهوم گراف وابستگی یا Dependency Graph
( چرخه عمر (Life Cycle) )
2. معرفی چرخه عمر گذرا یا Transient
3. نحوه ایجاد سرویس های گذارا
4. بررسی موارد استفاده از سرویس های گذرا
5. معرفی چرخه عمر دامنه یا Scoped
6. نحوه ایجاد سرویس های دامنه
7. بررسی موارد استفاده از سرویس های دامنه
8. معرفی چرخه عمر یگانه یا Singleton
9. نحوه ایجاد سرویس یگانه
10. بررسی موارد استفاده از سرویس های یگانه
11. بررسی روشهای مختلف معرفی سرویس ها
12. نحوه معرفی سرویس با نگاشت اینترفیس به پیادهسازی
13. نحوه معرفی سرویس با معرفی Factory Method
14. نحوه معرفی سرویس با استفاده ار Concrete Class ها
15. نحوه معرفی سرویس های Singleton با ارسال یک نمونه ساخته شده
16. بررسی روشهای مختلف DI در ASP.NET Core
17. بررسی تزریق اکشن متد یا Action Method Injection در ASP.NET Core
18. بررسی درخواست وابستگی به صورت دستی در ASP.NET Core
در این فصل مبحث بسیار مهم ASP.NET Core Identity را به صورت پیشرفته بررسی نموده و با مفاهیم Authentication و Authorization آشنا خواهیم شد و با Role ها و Claim ها کار خواهیم کرد.
در نهایت چند مبحث دیگر شامل نرم افزارهای میانی و فیلتر ها را به صورت تکمیلی بررسی نموده و بخش آپلود ویدیو را راه اندازی می کنیم.
( آشنایی با سیستم مسیریابی )
2. آشنایی با سیستم مسیریابی در ASP.NET Core MVC
3. بررسی عملکردهای مختلف سیستم مسیریابی در ASP.NET Core MVC
4. بررسی لزوم و فواید استفاده از سیستم مسیریابی در ASP.NET Core MVC
5. معرفی مفهوم URL Schema
6. معرفی الگوی URL
7. معرفی مفهوم قطعه یا segment
8. معرفی متغیر قطعه یا segment variable
9. بررسی رفتار پیشفرض الگوی URL
( مسیریابی مبتی بر قرارداد )
2. معرفی مفهوم مسیریابی مبتی بر قرارداد
3. معرفی اینترفیس IRouteBuilder
4. معرفی متد MapRoute
5. بررسی مفهوم مقادیر پیشفرض در مسیرها
6. بررسی روشهای مختلف معرفی مقادیر پیشفرض در مسیرها
( انواع قطعه )
2. معرفی متغیر قطعه
3. نحوه معرفی متغیر قطعه
4. بررسی متغیر های پیشفرض در ASP.NET Core MVC Routing System
5. روشهای مختلف دسترسی به مقدار متغیر قطعه
6. معرفی قطعه ثابت
7. بررسی ترتیب مسیر در ASP.NET Core MVC Routing System
( متغیرهای اختیاری و محدود کردن مسیرها )
2. نحوه معرفی متغیرهای اختیاری در ASP.NET Core MVC Routing System
3. بررسی رفتار الگوهای URL داری متغیرهای اختیاری
4. معرفی متغرهای Catchall در سیستم مسیریابی
5. نحوه معرفی مسیرهای با طول متغیر در سیستم مسیریابی
6. بررسی رفتار الگوی URL با طول مسیر متغیر
7. بررسی مفهوم محدود کردن مسیر ها
8. بررسی رفتار الگوی URL دارای محدودیت
9. بررسی روشهای مختلف ایجاد محدودیت در مسیرها
10. بررسی محدودیتهای built-in در ASP.NET Core MVC
( ترکیب محدودیتها و محدودیتهای سفارشی )
2. روشهای مختلف ترکیب محدودیتها در سیستم مسیریابی
3. معرفی اینترفیس IRouteConstraint
4. بحث پیرامون روشهای مختلف معرفی محدودیتها
5. نحوه ایجاد محدودیتهای سفارشی
6. نحوه اعمال محدودیت سفارشی با استفاده از Class
7. نحوه اعمال محدودیت سفارشی به صورت Inline
8. نحوه ایجاد Mapping بین نوع Inline و کلاس محدودیت
( مسیریابی با استفاده از صفت )
2. معرفی کلاس RouteAttribute
3. نحوه ایجاد مسیر با استفاده از صفت
4. بررسی مسیر ایجاد شده با استفاده از صفت
5. معرفی توکن در مسیریابی با استفاده از صفتها
6. مزایای استفاده از توکن در مسیریابی با استفاده از صفتها
7. نحوه ایجاد محدودیت در مسیریابی با استفاده از صفتها
8. نحوه اختیاری کردن متغیرهای قطعه در مسیریابی با استفاده از صفتها
9. نحوه استفاده از محدودیتهای سفارشی در مسیریابی با استفاده از صفت ها
10. بحث پیرامون باطل شدن تنظیمات پیشفرض در زمان استفاده از صفت Route
( ایجاد سرویس در برنامه )
2. معرفی وب سرور Kestrel
3. معرفی متغیرهای محیطی
4. نحوه ایجاد سرویس جدید در ASP.NET Core MVC
5. نحوه ایجاد یک لایه از انتزاع برای کار با یک سرویس
6. طراحی صفحه نمایش ویدیوها
7. نحوه تزریق وابستگی در فایلهای نما
8. بررسی Anchor TagHelper
( طراحی صفحه مشاهده ویدیو )
2. نحوه استخراج section ها توسط اینترفیس IConfiguration
3. نحوه کار با اینترفیس IConfigurationSection
4. طراحی صفحه مشاهده ویدیو
5. نحوه دریافت تنظیمات در فایلهای نما
6. راه اندازی جستجو با استفاده از ajax
7. بررسی تکنیک های نمایش نتایج جستجو
8. استفاده از کتابخانههای سمت کلاینت برای scroll سفارشی
( Model Binding )
2. بررسی نحوه عملکرد Model Binding
3. بررسی منابع تأمین داده در Model Binding
4. بررسی ترتیب جستجوی منابع داده توسط Model Binding
( تأمین داده در Model Binding )
2. بررسی نحوه رفتار برنامه در صورت عدم تأمین داده توسط Model Binding
3. بررسی نحوه تأمین دادههای پیچیده توسط Model Binding
4. معرفی و نحوه استفاده از Label TagHelper
5. معرفی و نحوه استفاده از Input TagHelper
6. معرفی صفت UIHint و نحوه استفاده از آن
( تأمین انواع پیچیده توسط Model Binding )
2. بررسی نحوه تأمین داده خاصیتهای پیچیده در انواع پیچیده
3. معرفی صفت Bind و نحوه استفاده از آن
4. نحوه مشخص کردن پیشوند Binding برای خاصیتهای یک کلاس
5. نحوه مستثنی کردن خاصیتهای یک کلاس از فرآیند Binding در سطح مدل
6. نحوه مستثنی کردن خاصیتهای یک کلاس از فرآیند Binding در سطح اکشن متد
( تأمین دادههای دستهای توسط Model Binding )
2. بررسی نحوه تأمین دستهای از دادهها توسط Model Binding
3. بررسی نحوه تأمین دستهای از انواع پیچیده توسط Model Binding
4. بررسی نحوه مشخص کردن منبع داده به صورت صریح در فرآیند Binding
5. بررسی نحوه مشخص کردن منبع داده به صورت صریح در سطح مدل در فرآیند Binding
6. بررسی نحوه مشخص کردن منبع داده به صورت صریح در سطح اکشن متد در فرآیند Binding
7. بررسی نحوه مشخص کردن Header به عنوان منبع تأمین داده در فرآیند Binding
8. بررسی نحوه مشخص کردن Body به عنوان منبع تأمین داده در فرآیند Binding
9. بررسی نحوه مشخص کردن نام برای جستجوی داده در منبع داده توسط فرآیند Binding
10. بررسی نحوه استفاده از خروجی Json در ASP.NET Core MVC
( اعتبارسنجی مدل )
2. بررسی لزوم اعتبارسنجی مدل
3. بررسی روشهای مختلف اعتبارسنجی مدل
4. نحوه اعتبارسنجی مدل به صورت صریح
5. آشنایی با خاصیت ModelState در کلاس پایه کنترل کننده
6. آشنایی با کلاس ModelStateDictionary
7. نحوه بررسی معتبر بودن مدل در اکشن متد
8. نحوه بررسی معتبر بودن یک خاصیت در اکشن متد
9. بررسی خطاهای اعتبارسنجی ایجاد شده توسط فرآیند Model Binding
( نمایش خطای اعتبارسنجی مدل به کاربر )
2. بررسی نحوه مشخص کردن عناصر دارای خطای اعتبارسنجی
3. نحوه نمایش خطاهای اعتبارسنجی در سطح مدل
4. نحوه نمایش خطاهای اعتبارسنجی در سطح خاصیت
5. آشنایی به ValidationSummaryTagHelper
6. آشنایی به ValidationMessageTagHelper
7. نحوه تغییر پیامهای پیشفرض اعتبار سنجی در فرآیند Model Binding
( اعتبارسنجی در سطح مدل )
2. بررسی فواید استفاده از اعتبارسنجی در سطح مدل
3. بررسی صفتهای اعتبارسنجی Built-In در ASP.NET Core
4. نحوه پیادهسازی اعتبارسنجی در سطح مدل
5. نحوه تغییر پیامهای اعتبارسنجی در سطح مدل
6. نحوه استفاده از Placeholder ها در تنظیم پیامهای اعتبارسنجی
7. معرفی صفت Display و نحوه تغییر نام خاصیت در زمان نمایش
8. بررسی تفاوت بین خطاهای اعتبارسنجی فرآیند Model Binding و Model Validation
( اعتبارسنجی سفارشی )
2. آشنایی با کلاس ValidationAttribute
3. آشنایی با کلاس ValidationResult
4. نحوه اعتبارسنجی سفارشی در سطح مدل
5. آشنایی با اینترفیس IValidatableObject
( اعتبارسنجی در سمت کلاینت )
2. فواید استفاده از اعتبارسنجی در سمت کلاینت
3. لزوم استفاده از اعتبارسنجی در سمت سرور در زمان اعتبارسنجی سمت کلاینت
4. بررسی نحوه عملیاتی شدن اعتبارسنجی در سمت کلاینت و ملزومات آن
5. نحوه فعالسازی اعتبارسنجی در سمت کلاینت
6. نحوه اعتبارسنجی سفارشی در سمت کلاینت
7. بررسی مفهوم Adapter در بحث صفتهای اعتبارسنجی
8. بررسی مفهوم Adapter Provider در بحث صفتهای اعتبارسنجی
9. بررسی مفهوم اعتبارسنجی از راه دور
10. نحوه انجام اعتبارسنجی از راه دور
( سیستم هویت سنجی )
2. بررسی لزوم استفاده از سیستم هویت سنجی
3. فواید استفاده از ASP.NET Core Identity
4. بررسی مفهوم ناحیه (area) در ASP.NET Core MVC
5. بررسی نحوه راه اندازی ASP.NET Core Identity
6. بررسی مفهوم کلاس کاربری
7. آشنایی با کلاس IdentityUser
8. آشنایی با کلاس IdentityDbContext
9. بررسی تغییرات dotnetcore 3 preview 4 نسبت به نسخه های قبلی dotnetcore
10. نصب Visual Studio 2019 Community
11. نصب ابزارهای خط فرمان در dotnet core 3 preview 4
( فعالسازی ASP.NET Core Identity )
2. نحوه ایجاد ناحیه در پروژه
3. نحوه پشتیبانی از ناحیه جدید در سیستم مسیریابی
4. نحوه ایجاد کلاس کاربری
5. آشنایی با کلاسIdentityUser
6. نحوه ایجاد کلاس Context برای Identity
7. آشنایی باکلاس IdentityDbContext
8. نحوه انجام تنظیمات لازم برای استفاده از Identity
( آشنایی با احراز هویت و تعیین مجوز )
2. بررسی Migrations ایجاد شده
3. نحوه اعمال Migration بر روی دیتابیس
4. بررسی مفهوم Authentication
5. بررسی مفهوم Authorization
6. نحوه ایجاد محدودیت برای اکشن متد ها و کنترل کننده ها
7. نحوه استفاده از Authorization در Pipeline
8. بررسی عملکرد Authorization در Pipeline
9. بررسی آدرس پیشفرض برای Login و روشهای مختلف رسیدگی به آن
10. نحوه تغییر آدرس پیشفرض Login و Logout
( ساخت کاربر جدید )
2. طراحی فرم ثبت نام کاربر
3. نحوه اعمال اعتبارسنجی در سطح مدل برای اطلاعات دریافتی از کاربر
4. نحوه محدود کردن تمام اکشن متدهای یک کلاس کنترل کننده
5. نحوه اعطای مجوز دسترسی عمومی برای اکشن متدها
6. آشنایی با Form Tag Helper
7. ایجاد اکشن متد ساخت کاربر
8. آشنایی با کلاس UserManager
9. نحوه ایجاد کاربر در ASP.NET Core Identity
10. نحوه رسیدگی به خطاهای ساخت کاربر
11. آشنایی به توکن Antiforgery
( تغییر پیامهای هویت سنجی )
2. تغییر در ظاهر فرم ثبت نام
3. نحوه تغییر پیامهای Identity
4. آشنایی با کلاس IdentityErrorDescriber
5. نحوه تغییر ErrorDescriber در Identity
( اعتبارسنجی رمز عبور )
2. نحوه تغییر سیاستهای رمز عبور
3. نحوه ایجاد اعتبارسنجی رمز عبور سفارشی
4. نحوه استفاده از اعتبارسنجی سفارشی
5. نحوه ترکیب اعتبارسنجی سفارشی و اعتبارسنجی ASP.NET Core Identity
( اعتبارسنجی جزییات کاربر )
2. بررسی سیاستهای پیشفرض اعتبارسنجی جزییات کاربری
3. نحوه تغییر سیاستهای اعتبارسنجی جزییات کاربری
4. نحوه ایجاد اعتبارسنجی سفارشی جزییات کاربری
5. نحوه اعمال اعتبارسنجی سفارشی در برنامه
6. نحوه ترکیب اعتبارسنجی سفارشی و عملکردهای موجود در ASP.NET Core Identity
( احراز هویت کاربر )
2. آشنایی با خاصیت User در شی HttpContext
3. آشنایی با اینترفیس IPrincipal
4. آشنایی با اینترفیس IIdentity
5. بررسی نحوه احراز هویت کاربر
6. ایجاد View Model برای دریافت اطلاعات ورود
7. بحث پیرامون Return Url
8. ایجاد اکشن متد برای احراز هویت کاربر
9. نحوه احراز هویت کاربر در برنامه
10. نحوه اضافه کردن نرمافزار میانی احراز هویت
( ایجاد پنل کاربری )
2. ساخت کانال در زمان ثبت نام
3. طراحی کامپوننت نما برای نمایش منوی آبشاری کاربری
4. ایجاد Layout برای پنل کاربری
5. ایجاد منوهای پنل کاربری
( آپلود فایل )
2. نحوه طراحی فرم برای دریافت فایل از کاربر
3. نحوه مشخص کردن پوشه wwwroot برای ذخیره فایلها با استفاده از ایترفیس IwebHostEnvironment
4. نحوه ذخیره فایلهای آپلود شده با استفاده از فرم
5. آشنایی با TempData و نحوه استفاده از آن
( مشخص کردن منوی فعال )
2. نحوه مشخص کردن html attribute متناسب با خاصیت موجود در کلاس Tag Helper
3. نحوه استفاده از تزریق وابستگی خاصیت در کلاس Tag Helper
4. آشنایی با کلاس View Context
5. نحوه دریافت متغیرهای مسیریابی با استفاده از کلاس View Context
6. نحوه خارج کردن خاصیت یک کلاس Tag Helper از ارتباط با attribute های تگ
7. نحوه دریافت کلاس یک تگ
8. نحوه اضافه کردن کلاس جدید به تگ
9. نحوه حذف کردن attribute های یک تگ
( بروزرسانی مشخصات کاربر )
2. ایجاد اکشن متد برای نمایش مشخصات کاربر
3. ایجاد مد نما برای دریافت اطلاعات مشخصات کاربری
4. دریافت کاربر کنونی با استفاده از UserManager
5. ایجاد اکشن متد برای بروزرسانی مشخصات کاربر
6. نحوه اعتبارسنجی مشخصات کاربر
7. نحوه اعتبارسنجی رمز عبور
8. نحوه بروزرسانی رمز عبور کاربر
9. نحوه هش کردن رمز عبور
( تعیین مجوز مبتنی بر نقش )
2. بررسی مفهوم نقش یا Role
3. بررسی وظایف ASP.NET Core Identity در ارتباط با نقش ها
4. نحوه بررسی عضویت یک کاربر در یک Role
5. نحوه اضافه کردن کاربر پیشفرض به برنامه
6. نحوه ایجاد نقش
7. نحوه اضافه کردن کاربر به یک نقش
8. آشنایی با سرویس RoleManager
( صفحه بندی )
2. طراحی کامپوننت نما برای صفحه بندی محتوا
3. نحوه استفاده از skip و take برای صفحه بندی
4. نحوه ایجاد کلیدهای صفحه بندی
5. نحوه نمایش کلید فعال مرتبط با صفحه فعال
6. نمایش کلیدهای قبل و بعد
( ویرایش مشخصات کاربر توسط Administrator )
2. طراحی مدل نما برای نمایش و ویرایش مشخصات کاربر
3. بهبود تجربه کاربر با حفظ اطلاعات صفحه بندی بین اکشن متدهای مختلف
4. نحوه دریافت تمامی نقشهای موجود در برنامه
5. نحوه دریافت نقشهای کاربر
6. مدیریت نقشهای کاربر به صورت پویا
7. نحوه حذف کاربر
( الزام تأیید ایمیل )
2. بررسی روال کار برای تأیید ایمیل توسط کاربر در زمان ثبت نام
3. نحوه جلوگیری از ورود کاربرانی را ایمیل تأیید نشده
4. بررسی تنظیمات مختلف ورود به وب سایت
5. بررسی خطاهای مختلف ورود کاربر
6. بررسی نکات امنیتی در نمایش پیامهای خطای ورود به کاربر
7. نحوه تولید توکن تأیید ایمیل
8. نحوه استفاده از URL Helper برای تولید لینک
( تأیید ایمیل )
2. ارسال ایمیل از طریق Gmail
3. آشنایی با کلاس SmptClient
4. نحوه بهره گیری از ایمیل سرور موجود در هاست برای ارسال ایمیل
5. طراحی اکشن متد تأیید آدرس ایمیل
( تعیین مجوز مبتنی بر ادعا )
2. معرفی مفهوم مبتنی ادعا
3. بررسی فواید استفاده از ادعا
4. بررسی اطلاعات وجود در یک ادعا
5. بررسی مفهوم سیاست
6. نحوه مشاهده ادعاهای مرتبط با یک کاربر
7. آشنایی با نوع ادعا
( کار با ادعا ها )
2. نحوه معرفی سیاست جدید
3. بررسی متدهای موجود در ASP.NET Core برای معرفی سیاست
4. نحوه اعمال سیاست در اکشن متد
5. نحوه تغییر اکشن متد رسیدگی کننده به دسترسی های غیر مجاز
6. بررسی نحوه حذف ادعا ها از طریق برنامه
7. بررسی نحوه به روز رسانی ادعا ها از طریق برنامه
8. نحوه مشاهده ادعای از نوع خاص