💎 How EF Core Translates Linq into SQL - Part 47
🌀 اگه بخواید بدونید که انتیتی فریمورک واقعا چطور یه کوئری Linq رو به SQL ترجمه میکنه، این ویدیو دقیقا جواب این سوال رو میخواد بده که تو فاز کامپایل یک کوئری چه اتفاقاتی داره میوفته و چه مجیکی پشت داستانش هست.
00:00 Previous Session
04:00 Pre-Processing Expression Visitors
12:00 Translator Expression Visitor
13:00 SQL World Expression
15-30 Post-Processing and QuerySqlGenerator
پ.ن. شاید این ویدیو برای همه مناسب نباشه، اگه واقعا میخواید متوجه بشید که اون پشت ها چه خبره این ویدیو روببینید.
❤️ و اینکه واقعا ممنونم از محبتتون و لایک ها و کامنت هایی که میزارید کلی انرژی میگیریم.
🕶 مدت ویدیو : 23 دقیقه
📺 لینک ویدیو :
https://youtu.be/q7Wb1PFDP1U
🌀 اگه بخواید بدونید که انتیتی فریمورک واقعا چطور یه کوئری Linq رو به SQL ترجمه میکنه، این ویدیو دقیقا جواب این سوال رو میخواد بده که تو فاز کامپایل یک کوئری چه اتفاقاتی داره میوفته و چه مجیکی پشت داستانش هست.
00:00 Previous Session
04:00 Pre-Processing Expression Visitors
12:00 Translator Expression Visitor
13:00 SQL World Expression
15-30 Post-Processing and QuerySqlGenerator
پ.ن. شاید این ویدیو برای همه مناسب نباشه، اگه واقعا میخواید متوجه بشید که اون پشت ها چه خبره این ویدیو روببینید.
❤️ و اینکه واقعا ممنونم از محبتتون و لایک ها و کامنت هایی که میزارید کلی انرژی میگیریم.
🕶 مدت ویدیو : 23 دقیقه
📺 لینک ویدیو :
https://youtu.be/q7Wb1PFDP1U
👍31😍3🔥2
💎 کمتر از یک سال شده که کانال یوتیوب رو راه اندازی کردم، و اولش واقعیتش اینقدر برام جدی نبود که الان هست، وقتی این آمار ها و این همه لطف دوستان رو میبینه که کلی کلی لایک و کامنت های باحال میفرستند.
🌗 امیدوارم که کمک خیلی خیلی کوچیکی کرده باشم به کامینیتی دات نت توی ایران، و اینکه محتوی هایی که تولید کردم بدرد بخور بوده باشه.
❤️ نکته ی خیلی خفنش اینه که نزدیک 1100 نفر رفیق جدید پیدا کردم تو همین چند ماه.
🌗 امیدوارم که کمک خیلی خیلی کوچیکی کرده باشم به کامینیتی دات نت توی ایران، و اینکه محتوی هایی که تولید کردم بدرد بخور بوده باشه.
❤️ نکته ی خیلی خفنش اینه که نزدیک 1100 نفر رفیق جدید پیدا کردم تو همین چند ماه.
❤87👍4🔥3👏2🙏2
💎 پس از اینکه ساعتها وقت گذاشتیم که یک باگ را درست کنیم یا یک ویژگی رو توسعه بدیم، آخرین چیزی که ما توسعهدهندگان میخواهیم انجام دهیم، اینه که در قسمت متن کامیت گیت کارهای خودمون رو توضیح بدیم.
🌗 اما معمولا به یه تکست ساده و بدون فرمت بسنده میکنیم اما برای اینکه بدونیم چرا این قسمت مهم هست قسمت های زیر رو در نظر بگیرید:
🌀 تیم شما خیلی راحت تر میتونن Pull Request های شما رو درک کنند و میتونه بهشون خیلی کمک کنه.
🌀تاریخچه گیت شما یک داستان رو داره توصیف میکنه که هم "چی" تغییر کرده و هم "چرا" تغییر کرده.
🌀شما به راحتی میتوانید مبدأ یک باگ یا تغییری که باعت ایجاد باگ شده است را پیدا کنید. ( کامنت محمد عزیز رو بخونید )
🌀 ریپازیتوری شما در آینده و برای افرادی که بعدا به تیم شما جوین میشن بهراحتی قابل درک و مشارکت است. (با این کار داریم، و یه پروژه هم داریم روش کار میکنیم، که بزودی معرفی میکنیمش)
🌗 اما معمولا به یه تکست ساده و بدون فرمت بسنده میکنیم اما برای اینکه بدونیم چرا این قسمت مهم هست قسمت های زیر رو در نظر بگیرید:
🌀 تیم شما خیلی راحت تر میتونن Pull Request های شما رو درک کنند و میتونه بهشون خیلی کمک کنه.
🌀تاریخچه گیت شما یک داستان رو داره توصیف میکنه که هم "چی" تغییر کرده و هم "چرا" تغییر کرده.
🌀شما به راحتی میتوانید مبدأ یک باگ یا تغییری که باعت ایجاد باگ شده است را پیدا کنید. ( کامنت محمد عزیز رو بخونید )
🌀 ریپازیتوری شما در آینده و برای افرادی که بعدا به تیم شما جوین میشن بهراحتی قابل درک و مشارکت است. (با این کار داریم، و یه پروژه هم داریم روش کار میکنیم، که بزودی معرفی میکنیمش)
👍28❤4
💎 داشتم با یکی از دوستان صحبت میکردم در مورد اینکه چرا و در چه شرایطی متد Update توی انتیتی فریمورک یک آنتی پترن هست؟
🌀 زمانی رو فرض کنید که میخواهید قسمتی از یک انتیتی رو آپدیت کنید مثلا فقط نام و نام خانوادگی و کد ملی و شماره موبایل ، انتیتی User رو میخواهیم آپدیت کنیم اما این انتیتی احتمالا بیشتر از اینها Column دارد، اگر در این شرایط شما از متد Update استفاده کرده اید، شما دارید یک آنتی پترن رو توی کدهای خودتون نگه میدارید. چرا ؟
چون این متد تمامیه فیلد های اون جدول رو آپدیت میکنه. و تمام مقادیر رو به IsModified فلگ میزنه و براش کوئری آپدیت میسازه.
🌗 پس اگر در این شرایط هستید از این متد استفاده نکنید.
🕶 متد Update فقط در شرایطی که کل انتیتی تغییر کرده است باید استفاده شود.
🌀 زمانی رو فرض کنید که میخواهید قسمتی از یک انتیتی رو آپدیت کنید مثلا فقط نام و نام خانوادگی و کد ملی و شماره موبایل ، انتیتی User رو میخواهیم آپدیت کنیم اما این انتیتی احتمالا بیشتر از اینها Column دارد، اگر در این شرایط شما از متد Update استفاده کرده اید، شما دارید یک آنتی پترن رو توی کدهای خودتون نگه میدارید. چرا ؟
چون این متد تمامیه فیلد های اون جدول رو آپدیت میکنه. و تمام مقادیر رو به IsModified فلگ میزنه و براش کوئری آپدیت میسازه.
🌗 پس اگر در این شرایط هستید از این متد استفاده نکنید.
🕶 متد Update فقط در شرایطی که کل انتیتی تغییر کرده است باید استفاده شود.
👍37❤5🤔1
💎 EF Core Internal ; Compiled Query - Part 48
🌀 نوبتی هم باشه نوبت Compiled Query ها و API که کلاس EF برامون فراهم میکنه که مدام فاز گشتن توی کش و یا کامپایل رو انجام ندیم، مناسب کوئری هایی هست که خیلی ازشون استفاده میکنیم مثل مکانیزم های Pooling، که حتی نمیخواهیم هزینه فاز پیدا کردن کوئری در کش رو هم پرداخت کنیم. پس در این شرایط بهتره که بریم سراغ این API.
00:00 Previous Session
07:00 Problem
10:00 Compiled Query
14:00 Compiled Query in EF Core Source Code
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/G_45AAFplEY
🌀 نوبتی هم باشه نوبت Compiled Query ها و API که کلاس EF برامون فراهم میکنه که مدام فاز گشتن توی کش و یا کامپایل رو انجام ندیم، مناسب کوئری هایی هست که خیلی ازشون استفاده میکنیم مثل مکانیزم های Pooling، که حتی نمیخواهیم هزینه فاز پیدا کردن کوئری در کش رو هم پرداخت کنیم. پس در این شرایط بهتره که بریم سراغ این API.
00:00 Previous Session
07:00 Problem
10:00 Compiled Query
14:00 Compiled Query in EF Core Source Code
🕶 مدت ویدیو : 21 دقیقه
📺 لینک ویدیو :
https://youtu.be/G_45AAFplEY
❤25👍5🔥1
💎 تفاوت <Func<T> , Expression<TDelegate>
🌀 فانک ها در واقع یک Executable Code هستند و در واقع یه Represent ای از فانکشن هستند.
🌀 در نقطه مقابل وقتی اکسپرشن که قسمتی از "𝐒𝐲𝐬𝐭𝐞𝐦.𝐋𝐢𝐧𝐪.𝐄𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬" است رو دورش میگیریم، در واقع داریم اون لمبدا رو به شکل Tree در میاریم و اکسپرشن ها در واقع یه represent 𝐥𝐚𝐦𝐛𝐝𝐚 𝐞𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬 در قالب درخت هستش.
🌗 حالا از این کجا استفاده میکنیم ؟
مثلا انتیتی فریمورک از این اکسپرشن برای اینکه کد رو ترجمه کنه به TSQL استفاده میکنه.
برای اطلاعات بیشتر :
https://youtube.com/playlist?list=PLN5rV4x2x5Xc_A6UwalFsX6XkMkX7fcAE&si=8fzNgLRwWgwhDr7w
🌀 فانک ها در واقع یک Executable Code هستند و در واقع یه Represent ای از فانکشن هستند.
🌀 در نقطه مقابل وقتی اکسپرشن که قسمتی از "𝐒𝐲𝐬𝐭𝐞𝐦.𝐋𝐢𝐧𝐪.𝐄𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬" است رو دورش میگیریم، در واقع داریم اون لمبدا رو به شکل Tree در میاریم و اکسپرشن ها در واقع یه represent 𝐥𝐚𝐦𝐛𝐝𝐚 𝐞𝐱𝐩𝐫𝐞𝐬𝐬𝐢𝐨𝐧𝐬 در قالب درخت هستش.
🌗 حالا از این کجا استفاده میکنیم ؟
مثلا انتیتی فریمورک از این اکسپرشن برای اینکه کد رو ترجمه کنه به TSQL استفاده میکنه.
برای اطلاعات بیشتر :
https://youtube.com/playlist?list=PLN5rV4x2x5Xc_A6UwalFsX6XkMkX7fcAE&si=8fzNgLRwWgwhDr7w
👍26❤7
BetterHealthCheck.pdf
880.9 KB
💎 چک کردن اینکه یه سرویس بالاست، و یا اینکه ارتباطش با دیتابیس، ردیس ، ربیت و غیره برقراره در خیلی جاها مهم میشه، و بایستی یه روشی داشته باشیم که بتونیم تمام این ارتباطات رو تست و از بالا بودن و در دسترسی بودن آن ها اطمینان داشته باشیم.
🌀 خوب اولین راه اینه که برای هر ارتباط یکی یکی خودمون HealthCheck های جداگانه ای بنویسیم. اما یه راه دیگش که تر تمیز تره، میتونیم از پکیج aspnetcore.healthchecks استفاده کنیم و حتی یه رابط کاربری هم داشته باشیم که این چک هارو در قالب یه گزارش بهمون نشون بده.
🌗 برای اطلاع بیشتر میتونید این لینک رو دنبال کنید
https://lnkd.in/ex5AvfSM
🌀 خوب اولین راه اینه که برای هر ارتباط یکی یکی خودمون HealthCheck های جداگانه ای بنویسیم. اما یه راه دیگش که تر تمیز تره، میتونیم از پکیج aspnetcore.healthchecks استفاده کنیم و حتی یه رابط کاربری هم داشته باشیم که این چک هارو در قالب یه گزارش بهمون نشون بده.
🌗 برای اطلاع بیشتر میتونید این لینک رو دنبال کنید
https://lnkd.in/ex5AvfSM
❤21👌12👍5
💎 Advanced features of the MediatR package - Pipeline Behaviors
🌀 تو این ویدیو اول نشون میدیم که ساختار درونی پکیج خفن MediatR چجوری داره کار میکنه، IPipelineBehavior چه اجزایی دارند و چطوری میشه از این پایلاین برای بحث Validation استفاده کرد. بهتره بریم تو ویدیو و دقیق تر بررسیش کنیم.
00:00 MediatR Framework
04:00 Validation on RequestHandler
08:00 PipelineBehavior in MediatR
12:00 FluenValidation on Behavior
14:00 Demo
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/rO0gKGMMzIw
🌀 تو این ویدیو اول نشون میدیم که ساختار درونی پکیج خفن MediatR چجوری داره کار میکنه، IPipelineBehavior چه اجزایی دارند و چطوری میشه از این پایلاین برای بحث Validation استفاده کرد. بهتره بریم تو ویدیو و دقیق تر بررسیش کنیم.
00:00 MediatR Framework
04:00 Validation on RequestHandler
08:00 PipelineBehavior in MediatR
12:00 FluenValidation on Behavior
14:00 Demo
🕶 مدت ویدیو : 37 دقیقه
📺 لینک ویدیو :
https://youtu.be/rO0gKGMMzIw
👍18❤7🔥4
💎 Better HealthCheck in Asp.net Core 8
🌀 وقتی یه سیستمی بزرگ میشه و ارتباطات زیادی به خودش میبینه، و بعضا این ارتباطات مهم هم میشن، از جنس اینکه من باید ارتباطم با ربیت، با ردیس برقرار باشه حتما. در این شرایط نیازه که مازاد بر اینکه خود سرویس بالا باشه، ارتباطات هم چک بشه. خوب استفاده از مکانیزم HealthCheck بهترین گزینه برای انجام این کاره. تو این ویدیو پکیجی رو معرفی میکنیم که خیلی راحت میتونید ارتباطاتتون رو هم چک بکنید.
00:00 Problem
03:00 Add Custom HealthCheck
04:00 AspNetCore.HealthChecks Package
08:00 Test with Redis and SqlServer
🕶 مدت ویدیو : 10 دقیقه
📺 لینک ویدیو :
https://youtu.be/vIzaEqlUmSs
🌀 وقتی یه سیستمی بزرگ میشه و ارتباطات زیادی به خودش میبینه، و بعضا این ارتباطات مهم هم میشن، از جنس اینکه من باید ارتباطم با ربیت، با ردیس برقرار باشه حتما. در این شرایط نیازه که مازاد بر اینکه خود سرویس بالا باشه، ارتباطات هم چک بشه. خوب استفاده از مکانیزم HealthCheck بهترین گزینه برای انجام این کاره. تو این ویدیو پکیجی رو معرفی میکنیم که خیلی راحت میتونید ارتباطاتتون رو هم چک بکنید.
00:00 Problem
03:00 Add Custom HealthCheck
04:00 AspNetCore.HealthChecks Package
08:00 Test with Redis and SqlServer
🕶 مدت ویدیو : 10 دقیقه
📺 لینک ویدیو :
https://youtu.be/vIzaEqlUmSs
👍18❤10🔥2
💎 Identity Resolution and AsNoTracking in EF Core - Part 49
🌀 خوب کم کم دیگه داریم به پایان خط نزدیک میشیم و یه بخشی که شاید خیلی کمتر بهش پرداخته میشه بحث Identity Resolution هست و اینکه اصلا این چیکار میکنه و همچنین AsNoTrackingWithIdentityResolution داره چه کاری انجام میده و مهم تر اینکه کی باید ازشون استفاده کنیم.
00:00 Previous Session
02:40 Identity Resolution
06:40 Demo Of Identity Resolution
09:00 AsNoTracking
10:26 AsNoTracking vs AsNoTrackingWithIdentityResolution
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/PhY1Ij-2j3E
🌀 خوب کم کم دیگه داریم به پایان خط نزدیک میشیم و یه بخشی که شاید خیلی کمتر بهش پرداخته میشه بحث Identity Resolution هست و اینکه اصلا این چیکار میکنه و همچنین AsNoTrackingWithIdentityResolution داره چه کاری انجام میده و مهم تر اینکه کی باید ازشون استفاده کنیم.
00:00 Previous Session
02:40 Identity Resolution
06:40 Demo Of Identity Resolution
09:00 AsNoTracking
10:26 AsNoTracking vs AsNoTrackingWithIdentityResolution
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/PhY1Ij-2j3E
❤22👍9🔥2
🌗 درمورد ۱۰ باور غلط در معماری مایکروسرویس ها صحبت کنیم؟ به صورت ویس های ۵ دقیقه ای؟ و در نهایت یه ویدیوش کنیم.
اگه حالش رو داری یه لایکی بده. اگه نه دیس رو بزن.
🎃 ببینم به ۱۰٪ میرسیم یا نه.
۱۰٪ رو رد کردیم، دمتون گرممم. پس میریم که درستش کنیم. اما شما به لایک ها ادامه بدید، ببینیم چند چندیم. ❤️🙏
اگه حالش رو داری یه لایکی بده. اگه نه دیس رو بزن.
🎃 ببینم به ۱۰٪ میرسیم یا نه.
۱۰٪ رو رد کردیم، دمتون گرممم. پس میریم که درستش کنیم. اما شما به لایک ها ادامه بدید، ببینیم چند چندیم. ❤️🙏
👍267👏3❤2🌚2🔥1
🌗 چرا هر صنعتی به سرعت در حال تبدیل شدن به یک صنعت نرم افزاری جدید است؟ به این دلیله که یک تکامل واقعی داروینی در حال رخدادن هست
- ساختن و تطبیق خود در مقابل مردن.
🌀 مثال جذابی که شاید در اوایل سال 2000 میبینیم، اینه که آمازون شرکت نرم افزاری نبوده، و تو خرده فروشی کار میکرده و تقریبا همه با جف بزوس (مدیر عامل آمازون) اختلاف نظر داشتند، چون جف بزوس همیشه و در همه جا میگفته که آمازون یک کمپانی خرده فروشی نیست، آمازون یک کمپانیه نرم افزاری هست. (در اون زمان و شروع کار واقعا دید عجیبی داشته، چون داشتند از خرده فروشی پول در میاوردند.)
🌀 حتی در جای دیگه ای میگه، بیزینس ما اون چیزی نیست که درون جعبه های قهوه ای هست، بیزینس ما اون نرم افزاریه که این باکس هارو داره ارسال میکنه.
"این قوی ترین و یا باهوش ترین گونه ها نیستند که زنده می مانند، بلکه آنهایی که بیشترین واکنش را به تغییر دارند، زنده می مانند."
🐟 چارلز داروین
- ساختن و تطبیق خود در مقابل مردن.
🌀 مثال جذابی که شاید در اوایل سال 2000 میبینیم، اینه که آمازون شرکت نرم افزاری نبوده، و تو خرده فروشی کار میکرده و تقریبا همه با جف بزوس (مدیر عامل آمازون) اختلاف نظر داشتند، چون جف بزوس همیشه و در همه جا میگفته که آمازون یک کمپانی خرده فروشی نیست، آمازون یک کمپانیه نرم افزاری هست. (در اون زمان و شروع کار واقعا دید عجیبی داشته، چون داشتند از خرده فروشی پول در میاوردند.)
🌀 حتی در جای دیگه ای میگه، بیزینس ما اون چیزی نیست که درون جعبه های قهوه ای هست، بیزینس ما اون نرم افزاریه که این باکس هارو داره ارسال میکنه.
"این قوی ترین و یا باهوش ترین گونه ها نیستند که زنده می مانند، بلکه آنهایی که بیشترین واکنش را به تغییر دارند، زنده می مانند."
🐟 چارلز داروین
👍41👌6❤4
iCodeNext
🌗 چرا هر صنعتی به سرعت در حال تبدیل شدن به یک صنعت نرم افزاری جدید است؟ به این دلیله که یک تکامل واقعی داروینی در حال رخدادن هست - ساختن و تطبیق خود در مقابل مردن. 🌀 مثال جذابی که شاید در اوایل سال 2000 میبینیم، اینه که آمازون شرکت نرم افزاری نبوده، و…
🌗 شما نیاز دارید که مثل یه شخص نرم افزاری فکر کنید، این شخص نرم افزاری لزوما یک توسعه دهنده نیست. این شخص میتونه کسی باشه که وقتی با یه مشکلی روبرو میشه، میپرسه که چطور یه نرم افزار میتونه این موضوع رو حل کنه.
بخاطر همینه، شخص نرم افزاری بودن یه مایندست هست، نه یه اسکیل ست.
🌀 مثالی که میشه زد شرکت تسلاست. تسلا بجای استفاده از چندین دکمه روی داشبورد که هر دکمه کاری رو انجام بده همه رو با یه نرم افزار و یه موس و چند دکمه ساده روی اسکرین مدیریت کرده .
پس هر کمپانی ای میتونه یه کمپانی نرم افزاری بشه، تنها کاری که باید انجام بده اینه که بره توی فاز ساخت و بهبود مستمر به صورت داخلی، شما نیازی نیست که ایلان ماسک و یا جک دروسی باشید. تنها چیزی که شما باید بهش ایمان داشته باشید، قدرت ساخت و تکرار مستمر هست، و باید بدونید که قانون داروین هم کنار شماست.
ولی این رو باید بدونید که در ابتدا باید یه چیزی رو بسازیم و بعد بهترش کنیم اینجاست که به این قانون برمیگردیم.
🌗 ساختن و تطبیق پیدا کردن و یا مردن.
بخاطر همینه، شخص نرم افزاری بودن یه مایندست هست، نه یه اسکیل ست.
🌀 مثالی که میشه زد شرکت تسلاست. تسلا بجای استفاده از چندین دکمه روی داشبورد که هر دکمه کاری رو انجام بده همه رو با یه نرم افزار و یه موس و چند دکمه ساده روی اسکرین مدیریت کرده .
پس هر کمپانی ای میتونه یه کمپانی نرم افزاری بشه، تنها کاری که باید انجام بده اینه که بره توی فاز ساخت و بهبود مستمر به صورت داخلی، شما نیازی نیست که ایلان ماسک و یا جک دروسی باشید. تنها چیزی که شما باید بهش ایمان داشته باشید، قدرت ساخت و تکرار مستمر هست، و باید بدونید که قانون داروین هم کنار شماست.
ولی این رو باید بدونید که در ابتدا باید یه چیزی رو بسازیم و بعد بهترش کنیم اینجاست که به این قانون برمیگردیم.
🌗 ساختن و تطبیق پیدا کردن و یا مردن.
👍27👌5❤1
💎 Dispatch Proxy and AOP in .Net
🐟 در واقع یه تایپ جدیدیه که از ابتدای دات نت کور بوده و یه مکانیزم درست کردن پراکسی روی آبجکت هاییه که میخواید.
قبلا این نوع پراکسی هارو با ریل پراکسی انجام میدادن اما عملا این تایپ یه جایگزین عالی براش محسوب میشه.
🕶 مدت ویدیو : 30 دقیقه
📺 لینک ویدیو :
https://youtu.be/0pXk9y97Vlk
🐟 در واقع یه تایپ جدیدیه که از ابتدای دات نت کور بوده و یه مکانیزم درست کردن پراکسی روی آبجکت هاییه که میخواید.
قبلا این نوع پراکسی هارو با ریل پراکسی انجام میدادن اما عملا این تایپ یه جایگزین عالی براش محسوب میشه.
🕶 مدت ویدیو : 30 دقیقه
📺 لینک ویدیو :
https://youtu.be/0pXk9y97Vlk
❤18👍7
💎 Network is not reliable - Microservices #1
🌀 توی ویدیوهای 5 دقیقه ای میخوام در مورد 10 فرضیه اشتباهی و یا فرضیه ای که اصلا در طراحی دیده نمیشه رو یکبار باهم مرور کنیم. و در نهایت برای هر کدوم راهکار مناسبی بدیم. پس بریم فرضیه اول که نتوریک همیشه قابل اعتماد نیست.
00:00 Network is not Reliable
02:00 Problem
04:00 Solution- Retry Pattern and circuit
breakers
04:30 Polly
🕶 مدت ویدیو : 5 دقیقه
📺 لینک ویدیو :
https://youtu.be/UelkhEqZHv0
🌀 توی ویدیوهای 5 دقیقه ای میخوام در مورد 10 فرضیه اشتباهی و یا فرضیه ای که اصلا در طراحی دیده نمیشه رو یکبار باهم مرور کنیم. و در نهایت برای هر کدوم راهکار مناسبی بدیم. پس بریم فرضیه اول که نتوریک همیشه قابل اعتماد نیست.
00:00 Network is not Reliable
02:00 Problem
04:00 Solution- Retry Pattern and circuit
breakers
04:30 Polly
🕶 مدت ویدیو : 5 دقیقه
📺 لینک ویدیو :
https://youtu.be/UelkhEqZHv0
👍19❤7👌2
💎 Generics and Constraints on type parameters C#
🌀 خیلی وقت بود از سی شارپ محتوی درست نکرده بودم، حالا که دوستان خواستند در مورد جنریک ها صحبت کنم، یه ویدیو رو استارت کنیم با محدودیت هایی که روی پرامتر های جنریک میتونیم بزاریم و هر کدوم چه کاربردی دارند. مثلا : new() , و یا : struct
00:00 What is Generic Type
06:00 Where T : struct
07:00 Where T : class
09:00 Where T : new
12:00 Where T : notnull
17:00 Where T : class, new()
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/CEDndxVAWYs
🌀 خیلی وقت بود از سی شارپ محتوی درست نکرده بودم، حالا که دوستان خواستند در مورد جنریک ها صحبت کنم، یه ویدیو رو استارت کنیم با محدودیت هایی که روی پرامتر های جنریک میتونیم بزاریم و هر کدوم چه کاربردی دارند. مثلا : new() , و یا : struct
00:00 What is Generic Type
06:00 Where T : struct
07:00 Where T : class
09:00 Where T : new
12:00 Where T : notnull
17:00 Where T : class, new()
🕶 مدت ویدیو : 18 دقیقه
📺 لینک ویدیو :
https://youtu.be/CEDndxVAWYs
❤35👍10🔥2
💎 Latency is not zero - Microservices #2
🌀 قسمت دوم رو به این اختصاص دادیم که بین سرویس ها وقتی داریم کال انجام میدیم، تاخیر 0 نیست، و مهم ه برامون. هرچند بعضی از افراد دنبال میانگین کال کردن ها هستند که مثلا روی 60 میلی ثانیه هستیم و اوکیه، اما اینجا قضیه "دم دراز" یا Long Tail بوجود میاد که میتونه سرویس شما رو به معنای واقعی بکشه.
00:00 Latency is not zero
01:00 T local vs T remote
03:00 fine-grained services
04:30 long tail
🕶 مدت ویدیو : 7 دقیقه
📺 لینک ویدیو :
https://youtu.be/kcRmnUqIadc
🌀 قسمت دوم رو به این اختصاص دادیم که بین سرویس ها وقتی داریم کال انجام میدیم، تاخیر 0 نیست، و مهم ه برامون. هرچند بعضی از افراد دنبال میانگین کال کردن ها هستند که مثلا روی 60 میلی ثانیه هستیم و اوکیه، اما اینجا قضیه "دم دراز" یا Long Tail بوجود میاد که میتونه سرویس شما رو به معنای واقعی بکشه.
00:00 Latency is not zero
01:00 T local vs T remote
03:00 fine-grained services
04:30 long tail
🕶 مدت ویدیو : 7 دقیقه
📺 لینک ویدیو :
https://youtu.be/kcRmnUqIadc
❤18👍5🔥2
iCodeNext
این دیاگرام هم بد نیست داشته باشیم و اگه حال داشتید روش صحبت کنیم.
وقتی پست بالایی رو گذاشتم، نبی عزیز پیشنهاد داد که یه ایونت ۲ ساعته براش برگزار کنیم، که خیلی مشتی بود.
تاریخ و ساعت :
سه شنبه هفتهی بعدی که میشه ۲۴ بهمن، ساعت ۹ شب
مدت زمان : ۲ ساعت
هزینه : رایگان
لینک ثبت نام :
https://lu.ma/1qvwy339
فقط چون ظرفیت محدود هست، لطفا اگر ۱۰۰ درصد شرکت میکنید، ثبت نام کنید. دمتون گرم
ممنون میشم اگه دوستانی که توی چنل نیستن، این پیام رو براشون بفرستید
🙏🙏🙏
ظرفیت به ۹۸ عدد رسید. ممنون از شرکتتون، واقعا فکر نمیکردم اینقدر سریع پر بشه. مشتی هستید ❤️❤️❤️
تاریخ و ساعت :
سه شنبه هفتهی بعدی که میشه ۲۴ بهمن، ساعت ۹ شب
مدت زمان : ۲ ساعت
هزینه : رایگان
لینک ثبت نام :
https://lu.ma/1qvwy339
فقط چون ظرفیت محدود هست، لطفا اگر ۱۰۰ درصد شرکت میکنید، ثبت نام کنید. دمتون گرم
ممنون میشم اگه دوستانی که توی چنل نیستن، این پیام رو براشون بفرستید
🙏🙏🙏
ظرفیت به ۹۸ عدد رسید. ممنون از شرکتتون، واقعا فکر نمیکردم اینقدر سریع پر بشه. مشتی هستید ❤️❤️❤️
👍19❤12🔥2👏2