Code With HSN – Telegram
Code With HSN
886 subscribers
72 photos
22 videos
1 file
90 links
من حسنم و اینجا تجربیاتم رو مینویسم براتون تا کمکتون کنم سنیور های واقعی باشین ❤️

یوتیوب من:
https://youtube.com/@hasanxdev
لینکدین:
https://linkedin.com/in/hasanxdev
گیت هابم:
https://github.com/hasanxdev

#CSharp
#EFCore
#ASPNETCore
#Programming
Download Telegram
Channel created
بزودی در این مکان اطلاع‌رسانی پست‌های چنل یوتیوب قرار خواهد گرفت 🎉
👏4
Code With HSN
Photo
🌟 تحویل کارایی در وبینار رایگان "Art of Resource Optimization" در دنیای برنامه‌نویسی 🌟
اگر شما هم به دنبال کشف روش‌های پیشرفته برای بهبود کارایی سیستم‌ها و کاهش مصرف منابع مانند RAM و CPU هستید، این وبینار رایگان دقیقاً برای شماست. 📈

من در طول دو سال گذشته، توانستم سیستم‌های حیاتی مثل Payment، Order، و Basket را با استفاده از تکنیک‌های ریفکتورینگ و بهینه‌سازی بهبود های قابل توجهی را در آنها ایجاد کنم. این تلاش‌ها و بقیه تلاش های ما، به ما کمک کرد تا سیستم بتواند بار بیشتری تحمل کند و به رشد بی‌سابقه‌ای در فروش روزانه برسیم و آن را حدود ۲۹۲ درصد در طول این 2 سال افزایش دهیم! 🎉

در این وبینار به چه موضوعاتی خواهیم پرداخت:
🔹 تکنیک‌های عملی بهینه‌سازی منابع را روی اپلیکیشن‌های لایو در محیط پروداکشن بررسی می‌کنیم
🔹 یاد می‌گیریم که چطور اصول تئوری را با استفاده از .NET به شکل عملی پیاده‌سازی کنیم
🔹 با مثال‌های واقعی از پروژه‌های بزرگ آشنا می‌شویم و روش‌های بهینه‌سازی را تست می‌کنیم
🔹 یک سیستمی که حدودا 500 مگابایت دیتا کش میکند را بهبود میدهیم و به کمترین حالت خود میرسانیم
🔹 یاد میگیریم که چگونه به آپتیمایز کردن ریسورس ها فکر کنیم و راه حل پیدا کنیم

📌 ثبت‌نام: https://evnd.co/mlhVG
💯 با کد تخفیف: free-ram رایگان ثبت نام کنید

این رویداد فرصتی استثنایی برای یادگیری و بهبود مهارت‌های شما در بهینه‌سازی سیستم‌هاست. منتظر حضور شما هستم!
👍4👏3
Art of Resource Optimization.pdf
803.5 KB
اسلاید هایی که ارائه شد
👍4
نظرتون راجب وبینار بگید
Anonymous Poll
65%
عالی
30%
خوب
4%
بد
👍2🔥2
HybridCache در .NET9

⬅️ خلاصه

احتمالا همه مون به کش خیلی علاقه داریم و میدونیم که 2 مکانیزم پایه داریم در کش
1- خواندن از کش
2- خواندن از سورس اصلی دیتا

احتمالا تا الان خیلی برای این مورد کد مینوشتید در .NET9 ویژگی جدیدی اضافه شده که میتونید باهاش به صورت قابل قبولی این دو کار رو ترکیب کنید

هم برای پروژه های Scale بالا مناسب هست هم برای پروژه هایی با Scale پایین چون هم In Memory میشه استفاده کردش هم به صورت Distributed

⬅️ کارکرد
1- نحوه رجیستر سرویس که میتونید از Deserializer و Serializer کتابخونه Protobuf استفاده کنید
builder.Services.AddHybridCache(options =>
{
options.DefaultEntryOptions = new HybridCacheEntryOptions
{
Expiration = TimeSpan.FromSeconds(10),
LocalCacheExpiration = TimeSpan.FromSeconds(5)
};
}).AddSerializer<SomeProtobufMessage,
GoogleProtobufSerializer<SomeProtobufMessage>>();

2- نحوه استفاده و ست کردن توی کش:
public class SomeService(HybridCache cache)
{
private HybridCache _cache = cache;

public async Task<string> GetSomeInfoAsync(string name, int id, CancellationToken token = default)
{
return await _cache.GetOrCreateAsync(
$"{name}-{id}", // Unique key to the cache entry
async cancel => await GetDataFromTheSourceAsync(name, id, cancel),
cancellationToken: token
);
}

public async Task<string> GetDataFromTheSourceAsync(string name, int id, CancellationToken token)
{
string someInfo = $"someinfo-{name}-{id}";
return someInfo;
}
}

اطلاعات بیشتر: لینک اصلی مقاله
👍4👌1
اگر پروژه‌ای که توی وبینار توضیح دادم رو خواستید، الآن می‌تونید از روی گیت‌هاب دانلودش کنید. چند تا مشکل کوچیک داشت که همون‌ها هم فیکس شدن.
اگه دوست داشتید، حتماً Star کنید 🌟!

https://github.com/hasanxdev/ArtOfResourceOptimization
5👍2🔥1
🫂 ما یک دوستی داشتیم اومد گفت آقا ما هرکاری شما گفتی رو کردیم نه مشکل cpu داریم و نه مشکل ram داریم ولی برنامه از کل ریسورس های سرورمون استفاده نمیکنه زیر بار crash میکنه خسته شدیم منم رفتم نگاه کردم دیدم راست میگه تهش رسیدم به معماری پردازنده 😶‍🌫️

⭐️ خب این موضوع نیاز داره یکم دانش راجب پردازنده ها داشته باشین پس یه سری توضیحات میدم.

⬅️ بیاین بدونیم x86 و x64 چیست:
درواقع این دو اشاره به معماری پردازنده ها دارند Intel اولین پردازنده های خودش را با نام هایی معرفی کرد که انتهای آنها 86 بود و اکثرا 32 بیت بودند (مثل: 80186، 80286 و 80386) بعد ها AMD پردازنده جدیدی معرفی کرد که مشتقی از پردازنده هایی با معماری شبیه Intel بود و اسمش را گذاشت AMD64 که معماری آن x86-64 بود
امروزه برای سادگی و اشاره برای معماری پردازنده ها به صورت خلاصه از عبارات x86 و x64 استفاده میکنند که به صورت تکنیکالی x86 رو میگن 32 بیت و x64 رو میگن 64 بیت

وقتی میگیم پردازنده 32 بیت هست یعنی هربار که میخواین به یک آدرسی اشاره کنید (*ptr) فقط میتونه از 32 بیت استفاده بشه مثلا اولین آدرس حافظه میشود 0x00000000 و دومین آدرس میشود 0x00000001 و آخرین آدرس که به صورت HEX است میشود 0xFFFFFFFF
حال با یک محاسبه ریاضی میتوانیم درک کنیم هر خونه حافظه که یک بیت است یعنی یا داخلش 0 است یا 1 (2 حالت میشه) که اگر 2 به توان 32 (32 بیت) برسد جمعا 4,294,967,296 آدرس خواهیم داشت در هر آدرس هم نهایتا یک بایت (8 بیت) میتواند ذخیره شود حالا 4,294,967,296 بایت را اگر دوبار تقسیم بر 1024 کنیم حاصل میشود 4,096 مگابایت

به صورت خلاصه سیستم های 64 بیتی میتوانند 2 به توان 64 آدرس درون خودشان داشته باشند یعنی
۲^۶۴ بایت = ۱۸۴۴ میلیارد گیگابایت (تقریباً ۱۷.۵ میلیون ترابایت)

(بله دوستان منابع در هیچ هایی بینهایت نیست همیشه محدودیت وجود دارد 😵‍💫)

حالا بیاین به جواب برسیم:
مشکل این بود که این داداشمون وقتی داشته پابلیش میگرفته خروجی پابلیشش رو روی معماری x86 زده 🥳 کلا هم نزدیک 4 گیگ اپلیکیشنش مصرف میکرد
به نظرم وقت این رسیده که برین یه نگاهی به این موضوع ساده بندازین و ببینید یه وقت اشتباه نکرده باشین ❤️
انواع کانفیگ های پابلیش برنامه

https://news.1rj.ru/str/hasanxdev_files/3
👍8👌1
بچها سلام خوشحالم که جمعمون داره 50 تایی میشه
به همین مناسبت میخوام یک کورس رکورد کنم که اینقدر درون CQRS عمیق بشیم تهش غرق بشیم ☠️
شاید خیلی هاتون CQRS رو درحد MediatR بشناسید در کورسی که رکورد خواهم کرد صحبت میکنیم، میتونیم چقدر بزرگ تر از یک کتابخونه MediatR بهش فکر کنیم

نظرتون چیه؟ لایکی... دیسلایکی...
راجب چه چیزایی دیگه دوره رکورد کنیم؟
توی کامنت‌ها بیاید صحبت کنیم! اگر محتوایی که تولید می‌کنم برای شما کاربردی نباشه، انگار دارم آب در هاون می‌کوبم. خوشحال می‌شم نظرتون رو بگید، چون باعث دلگرمی و پیشرفت همه مون هست.
👍27👌2
Code With HSN
بچها سلام خوشحالم که جمعمون داره 50 تایی میشه به همین مناسبت میخوام یک کورس رکورد کنم که اینقدر درون CQRS عمیق بشیم تهش غرق بشیم ☠️ شاید خیلی هاتون CQRS رو درحد MediatR بشناسید در کورسی که رکورد خواهم کرد صحبت میکنیم، میتونیم چقدر بزرگ تر از یک کتابخونه MediatR…
اشتباه نکنید! CQRS همیشه جواب نیست! ⚠️ اگه تنها ابزاری که دارید یک چکش باشه، همه چیز رو شبیه یه میخ می‌بینید!

کی گفته CRUD همیشه از CQRS بدتره؟ این تفکر معمولاً برمی‌گرده به افرادی که تازه با یه معماری آشنا شدن و همه مشکلات رو شبیه میخ می‌بینن که میخوان با چکش CQRS بزنن و حل کنن! 🛠

💡 دارم یه کورس رایگان رکورد می‌کنم که توش یه شیرجه عمیق می‌زنیم داخل CQRS. توی قسمت اول کلی درباره این صحبت کردیم که کجا باید CQRS استفاده کنیم و کجا نباید.

📚 از مفاهیم Basic شروع کردم و وارد مفاهیم عمیق‌تر میشم. اگه تا آخر باهام همراه بشید، مطمئنم یه استاد CQRS میشید که می‌تونید صاحب‌نظر باشید، نه فقط یه مصرف‌کننده! 🚀

🌟 اولین چیزی که برای انتخاب CQRS باید بدونید اینه که سیستم شما Read-Heavy هست یا Write-Heavy.
دومین مورد هم مزایا و معایب این پترنه که توی ویدیو حدودا در 15 دقیقه‌ کامل درباره‌ش گپ زدیم.

🎥 ویدیو رو می‌تونید اینجا ببینید:
👉 https://youtu.be/BPDmMmhHc-E
لایک، کامنت، و سابسکرایب یادتون نره، حمایتتون خیلی برام مهمه! ❤️

🔥 نظرتون درباره استفاده از CQRS چیه؟
برام بنویسید که چطور از این الگو در پروژه‌هاتون استفاده کردید و چرا فکر کردید بهترین سلوشنه؟ 👇

#CQRS #CRUDvsCQRS #SoftwareArchitecture #Microservices
👏54
بچها سلام 👋🏻،
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
Anonymous Poll
56%
موافقم محتوای کانال برای یک ماه بلاک نشه
44%
فقط تمرکز روی CQRS باشه و دیگر هیچ
یک جایگزین خفن برای Repository Pattern میتونه Specification Pattern باشه 🤯🔥
تو این ویدیو با پترن Specification آشنا می‌شیم که کدنویسی رو از نظر readability، maintainability و reusability به سطح جدیدی می‌بره! 🚀
اگه در برنامه هاتون از Repository Pattern برای Persistence Ignorance (PI) استفاده نمیکنید نشون میدم چطور میشه از Specification به جای Repository Pattern استفاده کرد. 🤔
بعدش UML رو بررسی می‌کنیم و در نهایت با استفاده از Expression Tree در .NET کد می‌زنیم و به EF Core می‌فرستیم. 🔥

این ویدیو رو ببینید و اگر می‌خواهید کدنویسی تمیز و کاربردی یاد بگیرید، حتما سابسکرایب کنید! 👨‍💻💻

لینک ویدیو: https://youtu.be/92uVAm9AS74
🔥72👍1
Code With HSN
بچها سلام 👋🏻،
💡 جهت اینکه تا یک ماه دو ماه درگیر CQRS نباشیم موافقین که در کنارش آموزش های دیگه رکورد کنیم؟ جوری که از کیفیت قسمت های CQRS کم نشه، و هر هفته یک قسمت از CQRS رکورد کنیم.
درود مجدد بچها 👋🏻،
بخاطر اینکه اینقدر مشتاق هستید هر هفته یک ویدیو رو کمترش میکنم، و بیشتر زمان میزارم هم CQRS رو تموم کنیم هم به بحث های جدید بپردازیم
عالی بودین مرسی که هستید هدف فقط آموزش رایگان با کیفیت بالاس ❤️
👍82🙏1
Code With HSN
درود مجدد بچها 👋🏻، بخاطر اینکه اینقدر مشتاق هستید هر هفته یک ویدیو رو کمترش میکنم، و بیشتر زمان میزارم هم CQRS رو تموم کنیم هم به بحث های جدید بپردازیم عالی بودین مرسی که هستید هدف فقط آموزش رایگان با کیفیت بالاس ❤️
دیشب تا ساعت ۳ صبح براتون CQRS Normal، Regular و Premium رو رکورد کردم. به CQRS Deluxe که رسیدم، دیگه واقعاً نکشیدم! 😅
فقط سه قسمت دیگه مونده که رکورد کنم و بعد میرم سراغ ادیت و آماده کردن برای Share کردن ایشالا امشب تمومه.

مرسی از حمایت بی‌نظیر ۱۰۶ نفرتون! باعث می‌شید مجبور بشم هر روز با انگیزه‌تر و باکیفیت‌تر رکورد کنم. 😁 البته کم‌کم کارم سخت‌تر هم میشه! 😶‍🌫️
19👏5🙏4❤‍🔥1👍1
Code With HSN
دیشب تا ساعت ۳ صبح براتون CQRS Normal، Regular و Premium رو رکورد کردم. به CQRS Deluxe که رسیدم، دیگه واقعاً نکشیدم! 😅 فقط سه قسمت دیگه مونده که رکورد کنم و بعد میرم سراغ ادیت و آماده کردن برای Share کردن ایشالا امشب تمومه. مرسی از حمایت بی‌نظیر ۱۰۶ نفرتون!…
چرا باید CQS را بشناسید؟ ساده‌سازی پروژه‌های کوچک بدون پیچیدگی اضافی!
آیا تا به حال به این فکر کرده‌اید که چرا برخی پروژه‌های کوچک بی‌دلیل پیچیده می‌شوند؟ 🤔 اینجاست که CQS (Command Query Separation) وارد می‌شود تا برای پروژه های کوچیک پیچیدگی های CQRS را وارد نکند!

در این ویدیو یاد می‌گیریم که چگونه با شناخت این اصل ساده، از پیچیدگی‌های غیرضروری جلوگیری کنیم. CQS که در سال 1988 توسط برتراند مایر معرفی شد، یکی از اصول مهم طراحی نرم‌افزار است که به خوانایی، ساده‌سازی منطق و بهبود تست‌پذیری کدها کمک می‌کند.

مفهوم CQS چیست؟
چه زمانی باید از آن استفاده کنیم؟
چگونه آن را به‌درستی پیاده‌سازی کنیم؟
تبدیل یک پروژه CRUD ساده به CQS

اگر می‌خواهید پروژه‌های خود را بهینه‌تر کنید و معماری نرم‌افزار بهتری داشته باشید، این ویدیو را از دست ندهید!

👈 لینک ویدیو: https://youtu.be/KYoZvEi-Pq4
📢 کانال تلگرام: t.me/hasanxdev

#CQS #CQRS #برنامه‌نویسی #CSharp #نرم‌افزار #معماری_نرم‌افزار #CodeWithHSN #برتراند_مایر
4🤩1🍾1
پترن CQRS Regular: الگوی کامل یا چالشی بی‌پایان؟ 🤔 بعد از بررسی معایب و اشتباهات رایج، حالا وقتش رسیده که به قلب CQRS Regular برسیم! ❤️ این ویدیو نه درباره انتقاد، بلکه درباره قدرت واقعی این الگو است. اگر فکر می‌کنید قبلاً همه چیز را درباره CQRS شنیده‌اید، باید این ویدیو و ویدیوهای بعدی را ببینید! 🎥

🔍 اگر ویدیوهای قبلی را دیده‌اید، آماده یک تغییر دیدگاه باشید! زیرا در این ویدیو CQRS Regular را پیاده‌سازی می‌کنیم که برای پروژه‌های نسبتا پیچیده مناسب است و از پیچیدگی کد جلوگیری می‌کند. ⚙️

در این ویدیو یاد خواهید گرفت:
چگونه CQRS Regular را پیاده‌سازی کنید؟
کی پیاده‌سازی کنید؟
چه محدودیت‌هایی در سطح معماری برنامه اعمال می‌کنید؟ 🚧
به چه قابلیت‌های جدیدی به نسبت CQS می‌رسید؟ 🚀

📲 لینک ویدیو: https://youtu.be/nbt3sNdPWQA
📲 کانال تلگرام: @hasanxdev

پلی لیست این دوره: https://www.youtube.com/playlist?list=PLGiSgN3ODieI7a1HeMHyC6ylluc2jhvDS

در صورت مفید بودن، لطفاً با دیگران Share کنید! 🔄
🎉2👌2