در دوره آموزشی ASP.Net Core Web API و 9 Angular دانشجو سرویس های REST و جدیدترین تکنولوژی مایکروسافت به نام ASP.NET Core را فرا می گیرد.

دوره آموزش ASP.Net Core و Angular

  • طول دوره: 45 ساعت
  • مدرس: مهندس رامشینی
  • تاریخ شروع: 1400/02/08
  • ساعت برگزاری: دوشنبه ها و چهارشنبه ها 17:00 الی 21:00
  • مبلغ دوره: 3,600,000 تومان

درباره دوره

در این دوره آموزشی به آموزش Angular9 ، آموزش Web API و ASP.NET Core می پردازیم.

سرفصل دوره آموزشی

بخش اول: معرفی فریم ورک های SPA و کار با Angular 9

هدف اصلی از این بخش ساخت SPA Client برای پروژه است. در این بخش تمامی تکنیک های مورد نیاز برای توسعه رابط کاربری برنامه با استفاده از angular 9 تدریس خواهد شد. در این بخش با ساخت 2 پروژه کاربردی، مفاهیم و مقدمات Angular به دانشجویان آموزش داده خواهد شد. همچنین در ساخت پروژه ها از طراحی بسیار زیبای Material Design استفاده خواهد شد.

راه اندازی محیط توسعه Angular

  • آشنایی با TypeScript, NPM, Angular CLI و نصب آن ها
  • ECMA 6
  • معرفی IDE های مناسب برای توسعه انگولار
  • معرفی افزونه های پرکاربرد VS Code جهت توسعه پروژه های Angular

مقدمات و مفاهیم اولیه ی Angular

  • آشنایی با ساختار و معماری انگولار
  • آشنایی با Module ، Component و Service
  • آشنایی با Template و View ها
  • آشنایی با مکانیزم Dependency Injection در Angular
  • آموزش Angular CLI و دستورات آن
    • ng new
    • ng serve
    • ng generate
    • ng build
    • ng test

Component ها و Directive ها در Angular

  • بررسی مفهوم Directive و انواع آن
  • آشنایی با Metadata و Annotation های Component ها
  • Component Selector و حالت های مختلف آن (ByTagName, ByCss, …)
  • نحوه تعیین Component Template
  • نحوه ی کار با CSS ها و اعمال CSS به آنها
  • بررسی انواع Two-Way Binding 
  • بررسی Life Cycle یک Component 
  • بررسی Directives های پرکاربرد Angular مانند NgIf, NgSwitch, NgStyle
  • آموزش Component Interaction و ارتباط بین کامپوننت ها
    • Input
    • Output
    • ViewChild

کار با فرم ها در Angular

  • آشنایی با Template Driven Form
  • آشنایی با Reactive Form
  • آموزش کار با FormGroup, FormControl
  • آموزش Validation فرم های Angular
  • آموزش کار با فایل و آپلود فایل در Angular

ارتباط با سرور در Angular

  • آشنایی با Observable ها و کتابخانه ی RxJS
  • نصب و اضافه کردن ماژول HttpClient
  • نحوه ارسال درخواست های Http مختلف
  • مدیریت خطاهای دریافتی از سرور
  • مکانیزم Retry در کتابخانه ی RxJs
  • آشنایی با Behavior Subject
  • شنایی با Interception و نحوه نوشتن Interceptor

Routing در Angular

  • آشنایی با Client-Side Routing در SPA ها
  • نصب و اضافه کردن ماژول Routing
  • نحوه تنظیم Route های مختلف
  • استفاده از RouterOutlet
  • استفاده از RouterLink
  • آشنایی با استراتژی های مختلف Routing
  • پاس دادن مقادیر با Route Parameters
  • کار با ActivatedRoute و همچنین Event های Router مانند NavigationStart
  • نحوه راه اندازی NestedRouting
  • نحوه کار با Routing Guards

بخش دوم: Asp.net core web api

هدف از این بخش آموزش مفاهیم .net core و web api است. همچنین مواردی همچون Archtecture و Security در این بخش مورد بحث و بررسی قرار خواهد گرفت. در این بخش با ایجاد پروژه های متنوع Use Case ها و تکنیک های متفاوت به دانشجویان آموزش داده خواهد شد.

بررسی مفاهیم REST

  • تعریف REST و RESTful API
  • بررسی 7 Constraint در REST
  • Client-Server
  • Uniform Interface
  • Layered System
  • Cache
  • Stateless
  • Code-on-demand
  • بررسی HATEAOS) Hypermedia As The Engine Of Application State)
  • بررسی ION Specification
  • بررسی Richardson Maturity Model
  • قوانین طراحی سرویس های REST
  • آشنایی با Verb های HTTP مانند Put, Delete, Get, Post, Options, Patch
  • بررسی موضوع Content-Negotiation

مقدمات ASP.NET Core 

  • آشنایی با .NET Core
  • معرفی NET Core
  • مزایا و قابلیت هایNET Core
  • آشنایی با .NET Core CLI
  • بررسی Middlewareها در NET Core
  • آشنایی با مکانیزم Routing
  • نحوه انجام Paging , Sorting و Filtering
  • آشنایی با Filter ها و نوشتن Custom Filter
  • آشنایی با Application Part ها
  • آشنایی با Package Manager ها و نحوه کار با آنها در Visual Studio 2019
  • آشنایی با Configuration Provider ها
  • مدیریت خطاها و Exception ها

مباحث پیشرفته ASP.NET Core

  • نحوه ی مستند سازی API و کار با ابزار Swagger
  • مدیریت تغییرات و استراتژی های Versioning
  • بررسی مکانیزم Caching و کار با Header های مخصوص به Cache
  • فشرده سازی Response ها
  • آشنایی با Asynchronous Programming و Controller های Async در NET Core

آموزش کامل Dependency Injection

  • نگاهی به اصول طراحی SOLID
  • آموزش اصل (DIP) Dependency Inversion Principle
  • loosely coupled components
  • آشنایی با مفهوم Dependency Injection (DI)
  • آموزش Inversion Of Control (IOC)
    • Constructor Injection
    • Property Injection
    • Method Injection
  • کار با Built-in DI Container .Net Core
  • تغییر دادن Built-in DI Container .Net Core
  • آشنایی با castle windsor
  • آشنایی با Autofac
  • آشنایی با انواع lifecycle ها
    • singleton
    • transient
    • scoped

معماری نرم افزار

  • آشنایی با معماری لایه ای
  • آشنایی با onion architecture و نحوه لایه بندی در آن
  • تحلیل، بررسی و پیاده سازی لایه های مختلف در معماری onion
  • پیاده سازی لایه Domain
  • مفهوم Business Logic و نحوه جداسازی آن از زیرساخت نرم افزار
  • پیاده سازی لایه Application
  • مفهوم Application Logic و وظایف لایه Application
  • پیاده سازی لایه Repository
  • پیاده سازی Generic Repository
  • پیاده سازی لایه Infrastructure
  • پیاده سازی لایه Presentation

دسترسی به داده ها با Entity Framework Core

  • آشنایی با EF Core
  • Installing EF Core
  • آشنایی با رویکرد های استفاده از EF Core
  • Database First
  • Code First
  • Introducing DBContext
  • تعریف DbSet ها
  • Setting Connection String
  • EF Core Migration
  • Adding Data To Database
  • Updating Data
  • Deleting Data
  • Query Data From Database
  • Mapping (Fluent API & Data Annotation)

Authentication & Authorization

  • آشنایی با Token Authentication
  • آشنایی با OAuth و OpenId Connect
  • آشنایی با انواع Token مانند ( Access Token, Id Token, Refresh Token )
  • آشنایی با Identity Server 4 و راه اندازی آن
  • آشنایی با انواع Grant-type ها در IdentityServer4
    • ClientCredentials
    • Authorization Code
    • Resource Owner Password
  • ارتباط بین کلاینت های مختلف با IdentityServer
  • برقراری امنیت Api به کمک IdentityServer
  • ایجاد Token برای احراز هویت و نحوه دریافت آن
  • پیاده سازی انواع سطح دسترسی و نقش های مختلف در سیستم

Git & Source Control

  • git چیست؟
  • آموزش Source Control
  • آشنایی با Source Control های مختلف مثل gitlab و github
  • تفاوت git و github
  • آموزش نحوه کار با سایت github.com
  • آموزش دستورات مهم و کاربردی git
    • init
    • status
    • commit
    • push
    • pull

راه اندازی و Host کردن یک پروژه ی ASP.NET Core

  • مفهوم CORS و نحوه فعال سازی آن درNET Core
  • بررسی روش های Hosting مختلف درNET Core
  • آشنایی با Kestrel
  • آشنایی با IWebHostBuilder و IHostBuilder
  • بررسی WebHost و GenericHost

پیش نیاز دوره

  • تسلط بر زبان #C و مفاهیم برنامه نویسی وب
  • تسلط بر HTML ، CSS و سابقه کار با Javascript