میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!


ای اس پی دات نت کور وب ای پی آی

آموزش ای اس پی دات نت کور وب ای پی آی (ASP.NET Core Web Api)

ASP.NET Core 1.0، که پیشتر با نام ASP.NET 5 معرفی شده بود، بازنویسی کامل ASP.NET است که با ایده‌ی کاملا ماژولار بودن، تهیه شده‌ است و از طریق آن، قابلیت به روز رسانی منظم و توزیع آسان از طریق NuGet، میسر خواهد شد. به علاوه در آن، بسیاری از الگوهای برنامه نویسی شیء‌گرا مانند Dependency Injection، به صورت built-in و از ابتدا پشتیبانی می‌شوند. ASP.NET Core 1.0 مدل برنامه نویسی ASP.NET MVC و Web API را به صورت یکپارچه ارائه می‌دهد و دیگر خبری از ارائه‌ی مجزای این‌ ها نخواهد بود و دقیقا بر مبنای مفاهیم برنامه نویسی این دو بنا شده‌ است.


مزیت اصلی این دوره؟
به جای اینکه ماه ها وقت صرف کنین تحقیق کنین، مطالعه کنین و موارد کاربردی و مهم API نویسی رو یاد بگیرین توی این دوره همشو یک جا و سریع یاد میگیرین و تو وقتتون صرفه جویی میشه. همچنین یک پله هم به Senior Developer شدن نزدیک میشین

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

آموزش ای اس پی دات نت کور وب ای پی آی (ASP.NET Core Web Api)

ASP.NET Core چیست ؟
ASP.NET Core یک فریم ورک جدید برای ساخت برنامه مدرن همچون برنامه های تحت وب و برنامه های موبایلی می باشد که توسط شرکت مایکروسافت ارائه شده است. برنامه های نوشته شده با این فریم ورک قابلیت اجرا شدن در ویندوز، لینوکس و مک را دارند. این فریم ورک ویژگی های Web API و MVC را به فریم ورک برنامه نویسی وب متصل می سازد. ASP.NET Core 1.0 یک باز نویسی از فریم ورک فعلی ASP.NET 4.6 است که تقریبا قابلیت های یکسانی با نسخه ۴٫۶ دارد اما بسیار سبک تر و ماژولارتر است.
منظور از Cross Platform این است که برنامه های ایجاد شده می توانند بر روی چندین پلتفرم اجرا شوند. برنامه های ASP.NET Core هم بر روی .NET Core و .NetFramework اجرا می شوند. این تکنولوژی با هدف بهینه سازی فریم ورک های مبتنی بر محاسبات ابری پیاده سازی شده است که میزان بار اضافی بر روی سرور را بسیار کاهش می دهد. این تکنولوژی باعث می شود تا در زمان طراحی و پیاده سازی میزان انعطاف پذیری برنامه های توسعه دهندگان افزایش یابد.

چرا ASP.NET Core ؟
در لیست زیر برخی از مهم ترین ویژگی های فریم ورک ASP.NET Core را مشاهده می کنید:

  • متن باز و رایگان
  • Cross Platform
  • سبک، قدرتمند و ساده
  • امکان دسترسی به محیط محاسبات ابری
  • ارتقاء سطح ماژولار بودن
  • پشتیبانی و سازگاری کامل با NuGet Package
  • یکپارچه سازی فریم ورک های سمت کاربر مدرن و BackEnd
  • و سایر موارد

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی
  • لایه بندی اصولی پروژه (Project Layering and Architecture)  : در این دوره لایه بندی اصولی یک پروژه را از ابتدا شروع و هر بخش را بررسی می کنیم. همچنین مباحث Repository و UOW رو هم بررسی می کنیم.
  • احراز هویت (Authentication)
    • ASP.NET Core Identity  : احراز هویت توسط Identity + سفارشی سازی
    • (Json Web Token) JWT  : احراز هویت توسط Jwt + یکپارچه سازی آن با Identity
    • (Json Web Encryption) JWE  : ایمن سازی توکن ها بوسیله  رمزنگاری توکن (JWE)
    • Security Stamp : جلوگیری از اعتبارسنجی توکن به هنگام تغییر دسترسی های کاربر جهت امنیت بیشتر
    • Claims : کار با Claim ها و تولید خودکار آنها توسط ClaimsFactory
  • Logging (ثبت خطا ها)
    • Elmah : استفاده از Elmah برای لاگ خطا ها در Memory, XML File و Database
    • NLog : استفاده از NLog برای لاگ خطا ها در File و Console
    • Custom Middleware  : نوشتن یک میدلویر سفارشی جهت لاگ تمامی خطا (Exception) ها
    • Custom Exception  : نوشتن Exception برای مدیریت ساده تر خطا ها
    • Sentry : ثبت خطا ها در سیستم مدیریت لاگ sentry.io (مناسب برای پروژه های بزرگ)
  • تزریق وابستگی (Dependency Injection )
    • ASP.NET Core IOC Container  : استفاده از Ioc container داخلی Asp Core
    • Autofac : استفاده از محبوب ترین کتابخانه  Autofac (Ioc Container)
    • Auto Registeration  : ثبت خودکار سرویس ها توسط یک تکنیک خلاقانه با کمک Autofac
  • ارتباط با دیتابیس (Data Access)
    • Entity Framework Core  : استفاده از EF Core
    • Auto Entity Registration  : ثبت Entity های DbContext به صورت خودکار توسط Reflection
    • Pluralizing Table Name  : جمع بندی نام جداول EF Core به صورت خودکار توسط کتابخانه Pluralize.NET و Reflection
    • Automatic Configuration  : اعمال کانفیگ های EntityTypeConfiguration (FluentApi) به صورت خودکار توسط Reflection
    • Sequential Guid  : بهینه سازی مقدار دهی identity برای Guid به صورت خودکار توسط Reflection
    • Repository : توضیحاتی در مورد معماری اصولی Repository در EF Core
    • Data Intitializer  : یک معماری اصولی برای Seed کردن مقادیر اولیه به Database
    • Auto Migrate : آپدیت Database به آخرین Migration به صورت خودکار
    • Clean String : اصلاح و یک دست سازی حروف "ی" و "ک" عربی به فارسی و encoding اعداد فارسی در DbContext به صورت خودکار به هنگام SaveChanges
  • Versioning : نسخه بندی و مدیریت نسخه های پروژه + سفارشی سازی و ایجاد یک معماری حرفه ای
  • ابزار (Swashbuckle) Swagger
    • Swagger UI : ساخت یک ظاهر شکیل به همراه داکیومنت Aciton ها و Controller های پروژه و امکان تست API ها توسط Swagger UI
    • Versioning : یکپارچه سازی اصولی Swagger با سیستم نسخه گذاری (Versioning)
    • JWT Authentication  : یکپارچه سازی Swagger با سیستم احراز هویت بر اساس Jwt
    • OAuth Authentication  : یکپارچه سازی Swagger با سیستم احراز هویت بر اساس OAuth
    • Auto Summary Document Generation  : تولید خودکار داکیومنت (توضیحات) برای API های پروژه
    • Advanced Customization  : سفارشی سازی های پیشرفته در Swagger
  • دیگر قابلیت ها
    • API Standard Resulting  : استاندارد سازی و یک دست سازی خروجی API ها توسط ActionFilter
    • Automatic Model Validation  : اعتبار سنجی خودکار
    • AutoMapper : جهت Mapping اشیاء توسط کتابخانه محبوب AutoMapper
    • Auto Mapping : سفارشی سازی وایجاد  یک معماری حرفه ای  برای Mapping اشیا توسط Reflection
    • Generic Controller  : ساخت کنترلر برای عملیات CRUD بدون کد نویسی توسط ارث بری از CrudController
    • Site Setting : مدیریت تنظیمات پروژ توسط Configuration و ISnapshotOptions
    • Postman : آشنایی و کار با Postman جهت تست API ها
    • Minimal Mvc : حذف سرویس های اضافه MVC برای افزایش پرفرمنس در API نویسی
    • Best Practices : اعمال Best Practices ها جهت بهینه سازی، افزایش پرفرمنس و کدنویسی تمیز و اصولی
    • و چندین نکته مفید دیگر ...

برای یادگیری ASP.NET Core Web Api چه چیز را باید از قبل بدانیم !
قبل از اینکه مطالعه ی آموزش ASP.NET Core Web Api (ای اس پی دات نت کور وب ای پی آی) را شروع کنید، شما باید دانش پایه ای(حداقلی) از موارد زیر را داشته باشید

  1. مایکروسافت اس‌کیوال سرور - (Microsoft SQL Server)
  2. ای اس پی ام وی سی - (ASP.NET MVC)
  3. لینکیو - (LINQ)

موردی یافت نشد