رزومه سهراب قیصری
سهراب قیصری
با من همیشه بروز باش!
مهارت های سهراب قیصری
csharp
sass
ef core
asp core
xamarin forms
azure devops
signalr
StimulSoft
Net6
.Net MAUI
CQRS
Ajax
Html5
Css
XUnit
redis
microservice
docker
Jquery
kubernetes
.net7
.net8
gRPC
rabbitmq
شبکه های اجتماعی سهراب قیصری
ویدیو های آموزش برنامه نویسی سهراب قیصری
CRUD Stored Procedure مجموعه ای از عبارات SQL است که به توسعه دهندگان این امکان را می دهد تا عملیات ایجاد، خواندن، به روز رسانی و حذف را روی جدول پایگاه داده به طور موثر و ایمن انجام دهند. ما در این آموزش به پیاده سازی CRUD Stored Procedure با استفاده از EF Core در دات نت 8 پرداخته ایم.
CRUD Stored Procedure مجموعه ای از عبارات SQL است که به توسعه دهندگان این امکان را می دهد تا عملیات ایجاد، خواندن، به روز رسانی و حذف را روی جدول پایگاه داده به طور موثر و ایمن انجام دهند. ما در این آموزش به پیاده سازی CRUD Stored Procedure در دات نت 8 پرداخته ایم.
.NET Aspire یک فریمورک برای ساخت برنامههای کاربردی قابل مشاهده، آماده تولید و توزیع شده است. در دوره آموزش جامع و پروژه محور .Net Aspire به پیاده سازی یک فروشگاه اینترنتی ساده می پردازیم و در نهایت برای استقرار از Kubernetes استفاده کرده ایم.
Dapper یک micro-ORM قدرتمند و کارآمد است که دسترسی به پایگاه داده در برنامه های NET Core را ساده می کند. در این دوره آموزشی به بررسی نحوه استفاده از Dapper و اجرای عملیات CRUD در یک برنامه Asp.net core Web API با دات نت 8 پردا خته ایم.
NET MAUI Blazor Hybrid یک فریمورک ترکیبی از قابلیتهای چند پلتفرمی .NET MAUI و قابلیتهای توسعه Blazor برای ایجاد برنامههایی است که میتوانند به صورت native روی چندین پلتفرم اجرا شوند. ما در این دوره به صورت جامع به آموزش استفاده از MAUI Blazor Hybrid برای ایجاد اپ های هیبریدی و ترکیبی پرداخته ایم.
الگوی طراحی Builder یک الگوی طراحی خلاقانه است که به ما اجازه می دهد اشیاء پیچیده یا complex را به صورت مرحله به مرحله ایجاد کنیم. در این آموزش به بررسی و نحوه استفاده از الگوی Builder در سی شارپ پرداخته ایم.
Channel در سی شارپ یک ساختمان Thread Safe برای انتقال داده بین Producer و Consumer به صورت ناهمزمان یا Async است. در این آموزش به بررسی و نحوه استفاده از Channel در سی شارپ پرداخته ایم.
این آموزش اجرای الگوی Retry را با استفاده از کتابخانه Polly، برای مدیریت خطا، انعطاف پذیری و افزایش تاب آوری در یک برنامه NET Core بررسی می کند. در این آموزش از Minimal API ها و دات نت 8 استفاده شده است.
Migration در Ef Core راهی برای همگام نگه داشتن دیتابیس با مدل داده های برنامه است. ما در این آموزش نحوه استفاده از مایگرشن در Asp.net core Web API را بررسی کرده ایم و سپس نحوه مدیریت مایگرشن ها به صورت خودکار را بررسی و پیاده سازی کرده ایم. در این آموزش از دات نت 8 و Minimal API ها استفاده شده است.
هش کردن پسورد به معنای اعمال یک الگوریتم یک طرفه encryption یا رمزگذاری است که منجر به ایجاد یک رشته cryptographic یا رمزنگاری شده می شود. ما در این آموزش به نحوه پیاده سازی هش کردن پسورد از طریق Salt با استفاده از الگوریتم PBKDF2 بدون هیچ پکیج اضافی در سی شارپ و دات نت 8 پرداخته ایم.
الگوی طراحی آداپتور یا Adapter Design Pattern یک الگوی طراحی برای ایجاد ارتباط بین اینترفیس های ناسازگار است. ما در این آموزش به پیاده سازی این الگو طراحی در Asp.net core Web API با استفاده از دات نت 8 پرداخته ایم. همچنین برای resolve کردن سرویس ها از Keyed Service استفاده کرده ایم.
Compression یا فشرده سازی پاسخ، تکنیکی است که در .NET Framework یا .NET Core استفاده می شود. این تکنیک با فشرده سازی حجم داده های ارسال شده توسط برنامه های کاربردی وب در سمت سرور را کاهش می دهد. این باعث کاهش ترافیک شبکه، سرعت بخشیدن به انتقال داده ها و بهبود تجربه کاربر می شود.
در روش سنتی برای حذف اطلاعات در پایگاه داده از روش hard delete یا حذف فیزیکی استفاده می کنند. حذف فیزیکی یک رکورد را برای همیشه از جدول پایگاه داده پاک می کند. در روش Soft Delete به جای حذف فیزیکی یک رکورد، یک حذف نرم افزاری آن را به عنوان حذف شده علامت گذاری می کند.
ما در این دوره آموزشی با استفاده از فریمورک Blazor در دات نت 8 و SignalR به پیاده سازی یک اپلیکیشن چت خواهیم پرداخت. همچنین در این دوره آموزشی از رندر خودکار یا Blazor Auto Render Mode استفاده خواهیم کرد. از امکانات این اپ می توان به احرازهویت، چت خصوصی، ایجاد گروه و چت گروهی اشاره کرد.
قدرت و عملکرد ASP.NET Core همراه با ویژگی های Blazor و دات نت، کاندیدای اصلی برای پروژه های جدید برنامههای کاربردی وب به صورت Full-Stack است. Blazor Web App یک فریمورک مدرن و پیشرفته همه کاره است. ما در این دوره Blazor Full stack Web UI را به صورت مقدماتی تا پیشرفته آموزش می دهیم.
معماری Vertical Slice یا برش عمودی یک الگوی معماری است که کدها را به جای الگوهای فنی بر اساس ویژگی ها سازماندهی می کند. ما در این آموزش معماری Vertical Slice یا برش عمودی در Asp.net Core را با استفاده از .net8 پیاده سازی کرده ایم.
معماری Multi-Tenancy یا چند اجاره ای در Asp.net Core معماری است که در آن یک پایگاه کد به چندین مشتری خدمات می دهد و در عین حال جداسازی داده ها را حفظ می کند. ما در این دوره به صورت رایگان نحوه پیاده سازی معماری Multi-Tenant در Asp.net core را با استفاده از EF Core به شما آموزش خواهیم داد.
Blazor WebAssembly یک فریمورک وب سمت کلاینت است که به توسعه دهندگان اجازه می دهد تا برنامه های وب تعاملی را با استفاده از C# و .NET ایجاد کنند. در این دوره Blazor WebAssembly را به صورت کامل و پروژه محور بررسی خواهیم کرد. این دوره به صورت فول استک می باشد.
در این دوره آموزشی جدیدترین آموزش های رایگان Asp.net Core، .NET MAUI، Web API، سی شارپ و دنیای دات نت را قرار خواهیم داد. .net core یکی از بهترین ابزارها جهت طراحی وب سایت و API نویسی است.
MAUI یک فریمورک مدرن از مایکروسافت برای ایجاد اپلیکیشن های Windows، macOS، iOS، Android و Linux است. ما در این دوره .NET MAUI را به صورت جامع،کاربردی و صفر تا صد برای ایجاد و توسعه اپلیکیشن های اندروید آموزش خواهیم داد. این دوره آموزشی بهترین و کامل ترین دوره MAUI است.
قدرت Minimal API ها را در ASP.NET Core کشف کنید و بیاموزید که چگونه Minimal API ها می توانند فرآیند توسعه و برنامه نویسی وب را متحول کنند. در این آموزش مزایا، ویژگی ها و اجرای عملی Minimal API ها را بررسی میکنیم و شما را قادر میسازیم تا برنامههای وب سبک، کارآمد و مقیاسپذیر را به راحتی بسازید.
ما در این دوره نحوه طراحی و استقرار میکروسرویس ها در ASP.NET Core را با استفاده از Docker، Docker Desktop و کوبرنتیز(kubernetes ) آموزش خواهیم داد. در این دوره با تکنولوژی های Ocelot، RabbitMQ، gRPC، دستورات داکر، کوبرنتیز و کار با دیتابیس های SQLServer، MySQL، MongoDb و Postgres آشنا خواهید شد.
Compiled Query یک نسخه از پیش کامپایل شده یک کوئری LINQ است که برای اجرای سریع تر در حافظه ذخیره می شود. Compiled Query ها عملکرد بیشتری نسبت به کوئری های استاندارد EF دارند. ما در این دوره نحوه ایجاد Compiled Query در EF Core 7 را آموزش و سپس از عملکرد آن بنچمارک خواهیم گرفت.
asp.net core Web API یک چارچوب قابل توسعه برای ساخت سرویس های مبتنی بر HTTP است. ما در این دوره نحوه ایجاد و پیاده سازی Web API و Minimal PAI در asp.net core 7 را به صورت جامع و کاربردی با معماری تمیز آموزش خواهیم داد. Web API یک پلت فرم ایده آل برای ساخت سرویس های RESTful و api نویسی در C# است.
Asp.net Core یکی از قدرتمندترین فریمورک های دنیا جهت برنامه نویسی و طراحی وب و API نویسی است. ما در دوره آموزش جامع Asp.net Core را به بصورت پیشرفته با استفاده از .net7 و جدیدترین تکنولوژی ها به صورت صفر تا صد، پروژه محور و با استفاده از معماری تمیز به شما آموزش خواهیم داد.
FluentValidation یک کتابخانه دات نت برای ساخت قوانین اعتبار سنجی است. با استفاده از FluentValidation می توانیم اعتبار سنجی پیشرفته و پیچیده ای ایجاد کنیم و یک جایگزین عالی برای Data Annotations است. ما در این دوره بصورت جامع نحوه استفاده از FluentValidation در Asp Core 7 را آموزش خواهیم داد.
gRPC یک چارچوب قدرتمند برای کار با Remote Procedure Call(RPC) است. ما در این دوره آموزشی نحوه استفاده از gRPC در Asp.net Core را به صورت جامع و کاربردی به شما آموزش خواهیم داد. دوره آموزشی gRPC در Asp.net Core بر پایه .net7 می باشد.
در EF Core 7 از ExecuteUpdate و ExecuteDelete برای Bulk Update و Bulk Delete یا بروزرسانی و حذف دسته ای استفاده می شود و این موضوع باعث افزایش کارایی سیستم می شود. ما در این آموزش نحوه Bulk Update و Bulk Delete در EF Core 7 را استفاده از ExecuteUpdate و ExecuteDelete به شما آموزش خواهیم داد.
اکثر پایگاه های داده رابطه ای از Json Columns که حاوی اسناد JSON هستند پشتیبانی می کنند. مایکروسافت در جدیدترین نسخه از EF Core خود یعنی EF Core 7 این قابلیت را اضافه کرده است. ما در این آموزش نحوه استفاده از ستون های Json یا Json Columns را در قالب یک پروژه Asp Core 7 به شما آموزش خواهیم داد.
Redis یک دیتابیس NoSql به صورت key-value است که توسط میلیون ها توسعه دهنده به عنوان پایگاه داده، حافظه کش توزیع شده، موتور استریم و Message Broker استفاده می شود. ما در این دوره نحوه استفاده از Redis و Message Broker آن را در Asp.net Core 7 با استفاده از داکر آموزش خواهیم داد.
در این آموزش با استفاده از View Location Expander در asp core mvc که توسط RazorViewEngine استفاده می شود View های موبایلی خود را با استفاده از IViewLocationExpander در asp core از View های پیش فرض جدا و به صورت داینامیک به مکان های مسیر اضافه خواهیم کرد.
از HttpClient و IHttpClientFactory در asp core می توان برای ایجاد درخواست های HTTP و مدیریت Response های وب استفاده کرد. ما در این دوره به آموزش استفاده از HttpClient و IHttpClientFactory در asp core خواهیم پرداخت و مزایا و معایب آن را بررسی خواهیم کرد.
Authorization در Asp.net Core به فرآیندی اشاره دارد که تعیین می کند کاربر مجاز به انجام چه کاری است. ما در این آموزش با استفاده از Identity ومدل Policy-Base در Asp.net Core یک سیستم احراز هویت داینامیک را پیاده سازی خواهیم کرد، سپس به نحوه پیاده سازی احراز هویت JWT در Asp.net Core خواهیم پرداخت.
زبان XAML پایه و اساس ایجاد اپلیکیشن های موبایل توسط فریمورک های Xamarin Forms و .Net MAUI است.ما در این آموزش به صورت رایگان زبان XAML را به صورت پایه در فریمورک های Xamarin Forms و .Net MAUI آموزش خواهیم داد.
web push notification ها notification هایی هستند که می توانند از طریق وب دسکتاپ و وب موبایل برای کاربران ارسال شوند. ما در این دوره آموزشی رایگان با استفاده از SignalR و Notifications API مرورگر، به پیاده سازی و ارسال نوتیفیکیشن در Asp Core خواهیم پرداخت.
اصول Solid در سی شارپ از اصول اولیه طراحی هستند. ما در این آموزش به صورت عملی نحوه استفاده از اصول SOLID در سی شارپ را به شما آموزش خواهیم داد و در پایان شما قادر خواهید بود با رعایت اصول SOLID در سی شارپ کدهای تمیزتر، قابل انعطاف تر و تست پذیر با قابلیت نگهداری بالا بنویسید.
Sass پایدارترین ،قدرتمندترین و حرفه ای ترین افزونه CSS در جهان است و با تمام نسخه های CSS سازگار است.ما در این دوره نحوه نصب و راه اندازی کامپایلر Sass در Visual Studio 2022 را آموزش و در ادامه به آموزش رایگان Sass در Asp Core خواهیم پرداخت و امکانات Sass را آموزش خواهیم داد.
به سیستمهای سازگار با REST، سیستمهای RESTful می گویند. در این آموزش با استفاده از Web API یک RESTful API در Asp Core 6 ایجاد و عملیات CRUD را در RESTful API ساخته شده پیاده سازی و سپس با ابزار Postman به API های خود درخواست ارسال و RESTful API خود را تست می کنیم.
Serilog یک کتابخانه logging ساختاری برای .Net است و به کتابخانه logging ترجیحی برای برنامههای .Net تبدیل شده است. راه اندازی Serilog بسیار آسان است. ما در این آموزش نحوه استفاده از Serilog در Asp.net Core 6 را آموزش و سپس نحوه استفاده از Sink های Serilog در Asp.net Core 6 را بررسی خواهیم کرد.
در این آموزش نحوه راه اندازی و استفاده از CKEditor 5 در Asp MVC را به شما قدم به قدم به صورت رایگان خواهیم آموخت و آن را برای استفاده شخصی سازی خواهیم کرد. CKEditor یک ویرایشگر آنلاین WYSIWYG است که برای ویرایش اسناد HTML در مرورگر استفاده می شود.
در زمان ثبت سرویس، وابستگی ها نیاز به تعریف طول عمر دارند. طول عمر سرویس، شرایطی را که تحت آن یک نمونه جدید از سرویس ایجاد می شود را مشخص می کند. ما در این آموزش LifeTime یا طول حیات تزریق وابستگی یا Dependency injection بصورت Scope،Transient و Singleton را در Asp Core بررسی و مقایسه می کنیم.
Background Task ها یا کارهای پس زمینه و همچنین کارهای زمان بندی شده را می توان با استفاده از Hosted service در یک برنامه وب ASP.NET Core اجرا کرد. در این آموزش با استفاده از Hosted service نحوه اجرای تسک ها در پس زمینه را پیاده سازی می کنیم.
PWA یا وب اپلیکیشن پیش رونده (Progressive Web Application) نوعی برنامه وب است که می تواند هم به عنوان صفحه وب و هم به عنوان برنامه تلفن همراه در هر دستگاهی کار کند. در این ویدیو نحوه تبدیل برنامه Asp.Net Core به PWA آموزش داده می شود.
Fluent API در EF Core قوی ترین روش نگاشت یا مپ کلاس های ما به دیتابیس بدون تغییر کلاس های موجودیت است. نگاشت Fluent API بالاترین اولویت را دارد و Annotation را لغو می کند. با Fluent API می توان موجودیتها را به چیزی غیر از آنچه که قراردادهای پیش فرض دیکته میکنند نگاشت کنیم.
روش کد فرست یا Code First در EF Core و asp core تکنیکی است که به ما کمک می کند تا از طریق کد و مایگریشن یک دیتابیس را ایجاد و جداول آن را کانفیگ و نگهداری کنیم. در روش code first بصورت مستقیم دیتابیس و جداول مربوط به آن را از طریق کد دات نت نگهداری می کنیم.
Lottie یک فرمت فایل انیمیشن مبتنی بر JSON است که به طراحان امکان میدهد انیمیشنها را بر روی هر پلتفرمی به آسانی اجرا کنند. Lottie فایلهای کوچکی هستند که روی هر دستگاهی کار میکنند و میتوانند بدون پیکسلسازی بزرگ یا کوچک شوند.
Cross-Site Scripting (XSS) یک آسیبپذیری امنیتی است که به مهاجم امکان میدهد اسکریپتهای سمت کلاینت را در صفحات وب قرار دهد. در این آموزش به نحوه جلوگیری از حمله XSS در Asp Core پرداخته می شود.
مقالات برنامه نویسی سهراب قیصری
Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.
Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.
الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه میدهد یک درخواست در امتداد زنجیرهای از کنترلکنندههای بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.
در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.
تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.
تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.
در این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر توسعه دهنده ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز برای برنامه های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.
الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم میکند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.
آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.
LinkedList یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ، LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.
به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.
.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.
پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.
صف (Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.
در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.
در سی شارپ از دیکشنری ها (Dictionary) میتوان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند.
از Hashtable میتوان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.
در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.
در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.
امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.
استفاده از حافظه کش می تواند به طور قابل توجهی عملکرد و مقیاس پذیری یک برنامه را با کاهش کار مورد نیاز برای تولید محتوا بهبود بخشد.ما در این آموزش به پیاده سازی In-Memory Caching در asp coe خواهیم پرداخت و در پایان نحوه استفاده از کش در asp core و سی شارپ را خواهید آموخت.