هیچ دوره ای در سبد خرید شما وجود ندارد
معرفی الگوی CQRS
در سالهای گذشته با پیشرفت های تکنولوژی کم کم تیمهای فنی به استفاده از الگوهای برنامه نویسی روز روی آورده اند و سعی میکنند از الگوهایی استفاده کنند که کارایی بهتری برای نرم افزارشان داشته باشد.یکی از این الگوها (CQRS (Command Query Responsibility Segregation است.
این الگو به دلیل کارایی بهتر نرم افزار یکی از الگوهای مورد علاقه ی تیم های بزرگ توسعه وب است.
با استفاده از این الگو میتوان وظیفه بخش Command که تغییرات در برنامه را انجام می دهند را از بخش Query که تغییرات ایجاد شده را به نمایش می گذارند جداسازی کرد! به همین سبب تکنولوژی های استفاده شده در هربخش هم قابل تفکیک هستند! پس در این وضعیت استفاده از دیتابیس های NOSQL که سرعت به مراتب بالاتری نسبت به دیتابیس های SQL دارند در بخش Query خیلی ساده خواهد بود!
پایگاه داده Redis
در این دوره از دیتابیس Redis (که سریع ترین دیتابیس Key Value دنیا است!) برای ذخیره سازی موقت داده ها برای افزایش سرعت بارگذاری سایت و بهینه سازی سرور استفاده شده است!
- ردیس یک دیتابیس NoSql برای ذخیره سازی داده ها بصورت Key – Value است (مشابه ساختار Json) و برای ذخیره سازی موقت داده ها استفاده میشود.
تکنولوژی هایی که در دوره استفاده میکنیم
- زبان برنامه نویسی سی شارپ و فریمورک asp.net core
- Visual Studio
- Postman
- Redis
- EventSourcing
- MediatR
- FluentValidation
- IOCContainer
- SimpleInjector
- ASP.NET In Memory Cache
پیش نیاز های آموزش Memory Cache در Asp.Net Core
- آشنایی با اصول شی گرایی
- آشنایی متوسط با فریمورک ASP.NET Core
- آشنایی با اصول مقدماتی WebAPI
این دوره برای چه کسانی مناسب است؟
این دوره دقیقا برای همه دوستانی که قصد دارند پروژه های واقعی رو پیاده سازی کنند و بتوانند در سطح استاندارد با رقبا رقابت داشته باشند مناسب است!
اصلی ترین معضل این روزهای سایت ها سئو بودن و کسب ربته برتر در رنکینگ گوگل ( ویکی پدیا ) است! با مفاهیم این دوره آموزشی میتوانید به شدت سرعت پروژه ها را افزایش دهید و به مراتب رتبه بهتری در گوگل و موتور های جستجو کسب کنید!
بازار کار این دوره
این دوره محدودیتی برای بازار کار ندارد و تمام دوستانی که قصد دارند Web API Back-end را پیاده سازی کنند از پروژه های کوچک تا بسیار بزرگ مناسب است زیرا مفاهیم برنامه نویسی اصولی برای بهتر شدن ساختار کدنویسی و حل مشکلات احتمالی برای همه پروژه ها نیاز است.
پروژه محور بودن دوره
در پروژه سعی شده است یک فریمورک بسیار ساده اختصاصی با قابلیت های ذکر شده ایجاد شود که در نهایت می تواند به ساختار کدنویسی دوستان جهت دهد.
سرفصل های آموزش Memory Cache در Asp.Net Core
- دمو دوره
- معرفی CQRS و چرایی استفاده از آن
- آموزش پیاده سازی SimpleInjector
- بررسی چگونگی کار CQRS و نحوه پیاده سازی آن
- پیاده سازی CQRS به وسیله اصول شی گرایی
- پیاده سازی CQRS به وسیله مدیاتور
- معرفی مفهوم Behavior در مدیاتور
- نحوه پیاده سازی Behavior ها در .NETCore
- اضافه کردن و استفاده کردن از FluentValidation
- تنظیمات نهایی در پیاده سازی CQRS
- معرفی دیتابیس ردیس و ساختار آن
- آموزش نصب و تنظیم دیتابیس ردیس روی ویندوز
- معرفی و توضیح Command های پرکاربرد ردیس
- پیاده سازی و ساخت یک سیستم Cache مبتنی بر In Memory Cache
- پیاده سازی و استفاده اولیه از ردیس در .NetCore
- پیاده سازی سیستم Cache با استفاده از دیتابیس ردیس
- معرفی Event Sourcing
- نحوه پیاده سازی مقدماتی Event Sourcing با CQRS و Redis
hamed.aslani206 دانشجوی دوره
سلام
لطفا دوره هایی که در سایت قرار میدید همزمان با تغییر تکنولوژی دوره رو هم بروز کنید.
الان که redis روی ویندوز اجرا نمیشه ، باید دنبال یه آموزش دیگه باشیم و این دوره که تهیه کردیم و کلی هم وقت گذاشتیم تقریبا به کار نیومد
_alirezajabari_ دانشجوی دوره
لینکی که برای دانلود redis گزاشتید دیگه وجود نداره کاش درستشو بزارید
سجاد سحرخوان مدرس دوره
سلام
وقت به خیر
ردیس به صورت مستقیم روی ویندوز اجرا نمیشه(حداقل خیلی وقته که این شکلی دیگه کار نمیکنه) برای استفاده از ردیس روی ویندوز از docker استفاده کنید و خیلی راحت یه ایمیج redis بیارین بالا و از کار کردن باهاش لذت ببرین
Za rei_azitaa
سلام توی این دوره event sourcing به طور کامل پیاده سازی میشه ؟برای grpc چطور؟
سجاد سحرخوان مدرس دوره
سلام
خیر. هیچکدام از این موارد جز سرفصل های دوره نیست
asghar
سلام
کاش یه آپدیت برای این اموزش میزاشتید و Auto Mapper رو کنار Mediatr آموزش میدادید.
حیفه این آموزش هست که کامل نشه.
faam89
ممنون از انتقاد پذیری و پاسخ شما به امید موفقیت روز افزون تان .
faam89
سلام وقتتون بخیر باشه آقای سحرخان 2 مورد بنظرم آمد برای بهبود بقیه آموزش های شما در این وبسایت مطرح کنم :
1- ابتدا قبل از بارگذاری کامل ویدیوهای تدریس مورد بازبینی کامل قرار دهید(البته باید بیشتر از تیم فنی دانشجویار عزیز گله کرد بازبینی حداقلی در حد کیفیت صدا و نه محتوا (که آن هم باید لحاظ می شد بطبع) واجب است) در این آموزش بخش” قسمت نهم – اضافه کردن و استفاده کردن از FluentValidation” کاملا با صدایی نامفهوم و آزار دهنده ضیط شده که کاملا از دیدن آن صرف نظر کردم .
2 – هدف کلی از یک آموزش میتوانند 2 وجه باشد 1- اصول 2-پروژه محور ، آموزش شما بیشتر بر پای مطرح سازی اصول بود که من هم می خواستم اصول پیاده سازی CQRS را کامل بیاموزم ولی بنظر من (البته با توجه به این که تقریبا همه ویدیوهای آموزشی در همه جای دنیا کامل نیست) ضعف و نواقص بسیار داشت (مثلا در بخش مثلا برای پیاده سازی کامند ها که استیت را تغییر میداد خیلی مختصر بود تقریبا در حد صفر و …) که امید است با ارائه یک بروز رسانی برای همین آموزش (مثلا یک پروژه بسیار ساده با پیاده سازی CRUD از هر دو نوع کامند و کوئری با سرچ در لیست وارد شده توسط خودمان ) و یا درآینده آموزشهای بعدی جبران شود انتظار ما از شما و تیم دانشجویار پروژه های پی بی نقص (یا حداقل یک سطح پایینتر) همانند درگاه پرداخت جناب عبدالله زاده چه در توضیح اصول چه در پیاده سازی و بروزرسانی مطالب گفته شده در آموزش قبلی شان می باشد .
با تشکر
سجاد سحرخوان مدرس دوره
سلام دوست عزیز؛
ممنونم بابت انتقادی که داشتید. همیشه سعی میکنم که روندی که در پیش دارم در حال تکامل باشه.
برای کیفیت صدا حتما بررسی مجدد میشه و اگر مشکلی بود رفع میکنیم.
راجع به موردی که در رابطه محتوا فرمودید هم باید بگم رویکرد کلی این دوره به صورت یادگیری اصول پیاده سازی CQRS بود. توی این دوره دو روش مختلف رو برای پیاده سازی گفتم که موردی که اصولی تر بود رو بیشتر روش بحث کردم و توضیح دادم. در اصل نیازی نبود که موردی که توی سیستم CQRS استفاده نمیشه در حالت واقعی رو زمان زیادی رو صرفش کنیم. صرف گفتن اون سیستم برای درک بیشتر کارکرد Mediator بود. پس اگر بیش از ندازه وارد اون سیستم و پیچیدگی هاش میشدیم از هدف اصلی دور میشدیم.
برای پروژه محور بودن هم اگر دقت کنید ما تقسیم بندی درخواست ها رو به صورت query و command و معیار تقسیم رو توضیح دادم. نحوه پیاده سازی CRUD هیچ تفاوتی نمیکنه با برنامه های عادی و به همین دلیل بود که توی پیشنیاز ها آشنایی متوسط با ASP.NET Core رو قرار دادیم. چون حداقل انتظار برای شروع این دوره این بود که آشنایی با عملیات CRUD رو توی ASP.NET Core داشته باشند دوستان. هرچند که توی مینی پروژه ای که کار میکنیم باز هم این موارد پوشش داده شده است.
به هر حال ممنونم از انتقادتون
navid.shatel دانشجوی دوره
موافقم