Media is too big
VIEW IN TELEGRAM
استرس تست یکی از روشهای تست نرمافزار است که معمولاً برای بررسی مقاومت و پایداری سیستمها تحت شرایط فشار و بار زیاد استفاده میشود. در واقع با استرس تست میخوایم ببینیم که اپلیکیشنی که توسعه دادیم در دنیای واقعی چه تعداد ریکوئست رو میتونه هندل کنه و چه کار هایی میتونیم بکنیم که این تعداد ریکوئست رو افزایش بدیم و پرفورمنس بهتری داشته باشیم.
در این ویدیو به بررسی ابزار K6 Stress Test پرداختیم و از یک Web API Application رو که از EF Core استفاده میکنه تست گرفتیم. بعد با یه تغییر کوچیک، پرفورمنس رو ۲۰ درصد افزایش دادیم
Join: https://t.iss.one/DotNetIsFun
در این ویدیو به بررسی ابزار K6 Stress Test پرداختیم و از یک Web API Application رو که از EF Core استفاده میکنه تست گرفتیم. بعد با یه تغییر کوچیک، پرفورمنس رو ۲۰ درصد افزایش دادیم
Join: https://t.iss.one/DotNetIsFun
فیچر Output Caching به طور ناقص توی ASP NET Core 7 معرفی شد ( ناقص از این جهت که فقط از Memory Cache پشتیبانی میکرد)
خدا رو شکر این فیچر توی ASP NET Core 8 به بلوغ کامل رسید. این هفته در موردش یه ویدیو آموزشی خواهیم داشت
Join: https://t.iss.one/DotNetIsFun
خدا رو شکر این فیچر توی ASP NET Core 8 به بلوغ کامل رسید. این هفته در موردش یه ویدیو آموزشی خواهیم داشت
Join: https://t.iss.one/DotNetIsFun
Media is too big
VIEW IN TELEGRAM
فیچر Output Caching که توی ASP NET Core 7 معرفی شد جزو اون دسته از فیچر های لحظه آخری بود. فقط از مموری کش پشتیبانی میکرد که این قضیه چالش ها و مشکلات خاص خودش رو بوجود میاورد. ولی توی ASP NET Core 8 یک آپدیت خیلی مهم روی Output Caching اومد که توی این ویدیو بهش میپردازیم
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
قدرت Expression رو توی سی شارپ دست کم نگیرید! به کمک Expression ها کار های خیلی باحالی میتونیم بکنیم که یکی از اون کارها ساختن Specification هست. توی این هفته یک ویدیو راجب Expression ها و Specification Pattern خواهیم داشت. منتظر باشید😉
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
Telegram
.NET Fun
Let's Connect!
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Media is too big
VIEW IN TELEGRAM
در این ویدیو به بررسی Specification Pattern پرداختیم. الگویی که بوسیله اون میتونیم شرایط و منطق های پیچیده بیزنسی رو ترکیب کنیم، جداگانه ویرایش کنیم و یا از یک Specification چند جای مختلف استفاده کنیم. در این ویدیو ساختار کلاس Specification رو از صفر به وسیله Expression ها در سی شارپ می سازیم و سپس توی EF Core ازش استفاده میکنیم.
پن: موقع ترکیب Expression ها من کوتاه یه اشاره کردم که چرا پارامتر رو از Left Expression پاس دادیم.این یک اجبار هست و اگر غیر این عمل کنیم Expression هامون درست کار نمیکنن، ولی چرا؟ جواب کاملش رو تونستید زیر این پست بگید😉
Join : https://t.iss.one/DotNetIsFun
پن: موقع ترکیب Expression ها من کوتاه یه اشاره کردم که چرا پارامتر رو از Left Expression پاس دادیم.این یک اجبار هست و اگر غیر این عمل کنیم Expression هامون درست کار نمیکنن، ولی چرا؟ جواب کاملش رو تونستید زیر این پست بگید😉
Join : https://t.iss.one/DotNetIsFun
اولین ورژن استیبل بلیزور که با NET Core 3.1 معرفی شد هیچی نداشت. کامیونیتیش داشت تازه جون میگرفت و ما عملا ۸۰ درصد وابسته جاوا اسکریپت بودیم. همون موقع روی یکی از پروژه های شخصیم دغدغم استفاده از گوگل کپچا بود و طبق معمول دیدم هیچ معادلی براش توی بلیزور نیست. سریع شروع کردم به نوشتن یه پکیچ براش و دوستم سجاد آفاقی هم که دستی توی فوتوشاپ داشت یه لوگو براش ساخت. هیچ وقت یادم نمیره که ورژن ۱ این پکیج رو چقدر ضایع و فقط با توجه به نیاز خودم نوشته بودم( ولی کار رو راه مینداخت). الان ورژن ۴ اش هست و نزدیک به ۲۲ هزار بار دانلود شده و به جرئت میتونم بگم کامل ترین پکیچ برای گوگل کپچا توی بلیزور هست. دوست داشتید یه نگاهی بهش داشته باشید. ۱۰۰ ستاره شدن این پروژه یکی از اهدافی هست که دارم
https://github.com/babaktaremi/GoogleCaptchaComponent
Join:https://t.iss.one/DotNetIsFun
https://github.com/babaktaremi/GoogleCaptchaComponent
Join:https://t.iss.one/DotNetIsFun
GitHub
GitHub - babaktaremi/GoogleCaptchaComponent: 🤖 Implementation of google reCaptcha as a blazor component with support of reCaptcha…
🤖 Implementation of google reCaptcha as a blazor component with support of reCaptcha-V2 and reCaptcha-V3 and server validation - GitHub - babaktaremi/GoogleCaptchaComponent: 🤖 Implementation of go...
بنظر من ، اگه بخواهیم یه چیزی رو کامل یاد بگیریم باید بدون هیچ پکیج یا لایبرری خارجی اون رو توی یه پروژه شخصی پیاده کنیم. نمونش هم Outbox pattern . درسته که Masstransit این پترن رو داخل خودش داره، اما برای درک بهترش باید یه نمونه خیلی ساده از outbox pattern رو بدون اون پیاده سازی کرد که این هفته بهش میپردازیم
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
یه جایگزین جذاب برای Swagger داریم! ویدیوی آموزشش فردا (شنبه) ساعت 11 صبح منتشر میشه.
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
Media is too big
VIEW IN TELEGRAM
همونطور که میدونید، با اومدن NET 9 کلا swagger حذف میشه و توی تمپلیت های خود ASP NET Core دیگه خبری ازش نیست و باید از لایبرری خود مایکروسافت برای OpenApi documentation استفاده کرد که درحال حاضر هیچ پلنی برای توسعه UI Panel براش نیست. پروژه Swagger هم الان نزدیک به دوسال هست که کلا رها شده و دیگه maintain نمیشه. پنل swagger یکی از پرکاربردی ترین قسمت های web api هست که تست و توسعه رو برای ما و برنامه نویس های فرانت خیلی راحتتر میکنه. توی این ویدیو به بررسی و معرفی یک جایگزین خیلی خوب برای swagger ui میپردازیم که خیلی راحت اون رو میتونیم با OpenApi ادغام کنیم.
پن: NSwag نیست😁
join: https://t.iss.one/DotNetIsFun
پن: NSwag نیست😁
join: https://t.iss.one/DotNetIsFun
قسمت جدید از سری پادکست های Code Lodge رسید . در این قسمت دوتا از دوستای با سواد و خوبم، رامبد و بهنیا، در مورد تست نویسی صحبت میکنن. این اپیزود نکاتی داشت که بشخصه برای خود من بسیار جالب بود. برای لینک های این قسمت به کانال Code Lodge مراجعه کنید.
لینک کانال:
https://t.iss.one/CodeLodge
لینک کانال:
https://t.iss.one/CodeLodge
Forwarded from CodeLodge
مهاجرت از کد بیس قدیمی/ چرا و چگونه؟
در این دورهمی آنلاین با هم به زوایای مختلف مهاجرت از کدبیس های قدیمی نگاه خواهیم کرد:
✅ کی و کجا واقعا نیاز به Migration هست (دلایل)؟
✅ اهمیت Migration برای سرویس هایی که بهش نیاز دارند
✅ چه روش هایی برای Migration هست؟
✅ مراحل و فرآیند
✅ چالش ها و راهکارها
✅ پرسش و پاسخ
سه شنبه 1 خرداد 1403 / ساعت 7 تا 8 عصر
میزبانان شما در این برنامه : محمدکریمی، نبی کرم پور، بابک طارمی، ایمان صفری، بهنیا آزاد، رامبد سواحلی مقدم، مسعود بیگی
برای ثبت نام رایگان در میت اینجا کلیک کنید
#CodeLodge
#Migration #Legacy #CodeBase
@CodeLodge
در این دورهمی آنلاین با هم به زوایای مختلف مهاجرت از کدبیس های قدیمی نگاه خواهیم کرد:
✅ کی و کجا واقعا نیاز به Migration هست (دلایل)؟
✅ اهمیت Migration برای سرویس هایی که بهش نیاز دارند
✅ چه روش هایی برای Migration هست؟
✅ مراحل و فرآیند
✅ چالش ها و راهکارها
✅ پرسش و پاسخ
سه شنبه 1 خرداد 1403 / ساعت 7 تا 8 عصر
میزبانان شما در این برنامه : محمدکریمی، نبی کرم پور، بابک طارمی، ایمان صفری، بهنیا آزاد، رامبد سواحلی مقدم، مسعود بیگی
برای ثبت نام رایگان در میت اینجا کلیک کنید
#CodeLodge
#Migration #Legacy #CodeBase
@CodeLodge
اولین دورهمی آنلاین Code Lodge ساعاتی پیش برگزار شد. از همهتون بابت استقبال گرمتون ممنونیم! شروعی قوی برای مسیری هیجانانگیزی که در تیم Code Lodge در نظر گرفتیم. حتماً Code Lodge رو توی شبکههای اجتماعی دنبال کنید تا از اتفاقات جذابی که قراره بیفته جا نمونید.
LinkedIn: https://www.linkedin.com/company/codelodge/
Telegram: https://t.iss.one/CodeLodge
Event Calendar: https://lu.ma/CodeLodge
LinkedIn: https://www.linkedin.com/company/codelodge/
Telegram: https://t.iss.one/CodeLodge
Event Calendar: https://lu.ma/CodeLodge
خب توی سی شارپ ۱۳ تایپ جدید داریم! با اومدن Extension Types دیگه فقط محدود به نوشتن Extension Method نیستیم و میتونیم یک فیلد یا پراپرتی رو بعنوان Extension برای یک تایپ خاص تعریف کنیم. حتی میتونیم یک تایپ خاص رو Implicit طور از یک تایپ دیگه بعنوان اکستنشن تعریف کنیم. سینتکس عجیبی داره ولی بنظرم خیلی کاربردی میتونه باشه:
Join: https://t.iss.one/DotNetIsFun
public implicit extension PersonExtension for Person
{
public bool IsLead
=> this.Organization
.Teams
.Any(team => team.Lead == this);
}
Join: https://t.iss.one/DotNetIsFun
Telegram
.NET Fun
Let's Connect!
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
کلیپ مربوط به Outbox Pattern هم ضبط شد و فردا منتشر میشه ( حدودای ساعت ۱۱ صبح) سعی کردم توی یک ساعت هم Outbox Pattern رو توضیح داده باشم و هم اون رو کامل توی یک پروژه پیاده سازی کرده باشیم. ( جدا از بحث کانال و برنامه نویسی، بردن تیم محبوبت یه جون به جونات اضافه میکنه😁😁❤️)
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
Telegram
.NET Fun
Let's Connect!
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Media is too big
VIEW IN TELEGRAM
به کمک Outbox Pattern میتونیم این تضمین رو بدیم که event ها از دست نمیرن و حتی اگه سرویس مربوط به اون event مشکل داشته باشه، ما اون رو جایی ثبت کردیم و میتونیم روی Retry داشته باشیم و اینجوری سرویسی قابل اطمینان خواهیم داشت که موقع بوجود اومدن مشکل در سرویس های دیگه، به کار خودش بدون مشکل ادامه خواهد داد و فلو های نصفه و نیمه درش بوجود نخواهد اومد. در این ویدیو حدودا یک ساعته به بررسی این پترن میپردازیم و به کمک EF Core و MediatR این پترن رو از صفر پیاده سازی میکنیم
سرفصل ها:
- Project Structure
- Detecting the problem
- Creating Outbox Entity Using EF Core and Conversion
- Registering Outbox messages
- Creating Outbox message handler
- Creating Outbox message publisher
- Automating message publishing
Code: https://github.com/babaktaremi/Outbox.Pattern.Sample
پن: اگه از این قسمت خوشتون اومد با دادن ⭐️به پروژه ای که لینکش رو گذاشتم حمایت کنید.
Join: https://t.iss.one/DotNetIsFun
سرفصل ها:
- Project Structure
- Detecting the problem
- Creating Outbox Entity Using EF Core and Conversion
- Registering Outbox messages
- Creating Outbox message handler
- Creating Outbox message publisher
- Automating message publishing
Code: https://github.com/babaktaremi/Outbox.Pattern.Sample
پن: اگه از این قسمت خوشتون اومد با دادن ⭐️به پروژه ای که لینکش رو گذاشتم حمایت کنید.
Join: https://t.iss.one/DotNetIsFun
بات دانلود دوره های پولی رو که یادتون نرفته؟؟ یه دوره خیلی خفن راجب گیت تحت عنوان Git Branching And Merging از Pluralsight داره داخلش آپلود میشه که رایگان میتونید دانلود کنید.
آدرس بات: @DotNetFunBot
آدرس بات: @DotNetFunBot
Forwarded from CodeLodge
در این قسمت از سری پادکستهای Code Lodge، به موضوع تست نویسی و اهمیت آن در توسعه نرمافزار میپردازیم. تست نویسی، فرآیندی ضروری برای تضمین کیفیت و عملکرد نرمافزارها است که با اجرای صحیح آن، میتوان از بروز خطاها و مشکلات جلوگیری کرد. در این اپیزود، به بررسی اصول و مبانی تست نویسی، دلایل اهمیت آن و روشهای انجام آن خواهیم پرداخت. همچنین، تلاش میکنیم تا با ارائه تجربیات و نکات عملی، به درک بهتری از تست نویسی و چگونگی اجرای موثر آن برسیم.
میزبانهای شما در این اپیزود:
رامبد مقدم
بهنیا آزاد
این ایپزود را می توانید از طریق لینک های زیر هم بشنوید :
- 🔗Spotify
- 🔗Amazon
- 🔗Castbox
-🔗Apple podcast
-🔗 Shenoto
#Codelodge
#Software
#Testing
#softwareDeveloper
#SoftwareEngineer
@codeLodge
میزبانهای شما در این اپیزود:
رامبد مقدم
بهنیا آزاد
این ایپزود را می توانید از طریق لینک های زیر هم بشنوید :
- 🔗Spotify
- 🔗Amazon
- 🔗Castbox
-🔗Apple podcast
-🔗 Shenoto
#Codelodge
#Software
#Testing
#softwareDeveloper
#SoftwareEngineer
@codeLodge
همیشه چالش رو دوست داشتم. این Stack up ای که Pluralsight داره خیلی باحاله. یه سوال رو اشتباه جواب بدی باید فرداش از اول با سوالات جدید شروع کنی. ایشالا دفعه بعد اول!
Join: https://t.iss.one/DotNetIsFun
Join: https://t.iss.one/DotNetIsFun
هفته پیش تقریبا ۲۰ تا پیام داشتم که راجب Saga Pattern صحبت کنیم
به روی چشم. هفته بعد یک ویدیو مفصل راجبش خواهیم داشت
Join : https://t.iss.one/DotNetIsFun
به روی چشم. هفته بعد یک ویدیو مفصل راجبش خواهیم داشت
Join : https://t.iss.one/DotNetIsFun
Telegram
.NET Fun
Let's Connect!
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Linkedin: https://www.linkedin.com/in/babak-taremi
Github: https://github.com/babaktaremi
Twitter: https://twitter.com/BabakTaremi
Telegram: @bob_tm
دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
کارای ضبط و ادیت Saga Pattern هم انجام شد و چهارشنبه منتشر میشه. نزدیک به 7 ساعت برای آماده سازی ساختار پروژه و مثال مناسبش وقت گذاشتم که اگه مرحله مرحله ضبطش میکردم میتونستم به عنوان دوره (میکروسرویس پیشرفته) مثل خیلیا با خدا تومن قیمت بفروشم😂
ولی هدف من این نیست که الکی یه چیزی رو با مسائل بی ربط پر کنم و بفروشمش. اینجا دور هم جمع شدیم که اصل مطلبی که قراره راجبش صحبت کنیم رو درست یاد بگیریم. هدف هم همین خواهد بود که تا حد ممکن مطالب رو رایگان (یا با قیمت معقول) منتشر کنم که همه بتونن ازش استفاده کنن. حمایت شما و معرفی کردن کانال به دوستاتون بزرگترین دارایی و دلگرمی منه❤️
Github Repository:https://github.com/babaktaremi/OrderManagement.Saga.Example
Join: https://t.iss.one/DotNetIsFun
ولی هدف من این نیست که الکی یه چیزی رو با مسائل بی ربط پر کنم و بفروشمش. اینجا دور هم جمع شدیم که اصل مطلبی که قراره راجبش صحبت کنیم رو درست یاد بگیریم. هدف هم همین خواهد بود که تا حد ممکن مطالب رو رایگان (یا با قیمت معقول) منتشر کنم که همه بتونن ازش استفاده کنن. حمایت شما و معرفی کردن کانال به دوستاتون بزرگترین دارایی و دلگرمی منه❤️
Github Repository:https://github.com/babaktaremi/OrderManagement.Saga.Example
Join: https://t.iss.one/DotNetIsFun