Code With HSN
Photo
🌟 تحویل کارایی در وبینار رایگان "Art of Resource Optimization" در دنیای برنامهنویسی 🌟
اگر شما هم به دنبال کشف روشهای پیشرفته برای بهبود کارایی سیستمها و کاهش مصرف منابع مانند RAM و CPU هستید، این وبینار رایگان دقیقاً برای شماست. 📈
من در طول دو سال گذشته، توانستم سیستمهای حیاتی مثل Payment، Order، و Basket را با استفاده از تکنیکهای ریفکتورینگ و بهینهسازی بهبود های قابل توجهی را در آنها ایجاد کنم. این تلاشها و بقیه تلاش های ما، به ما کمک کرد تا سیستم بتواند بار بیشتری تحمل کند و به رشد بیسابقهای در فروش روزانه برسیم و آن را حدود ۲۹۲ درصد در طول این 2 سال افزایش دهیم! 🎉
در این وبینار به چه موضوعاتی خواهیم پرداخت:
🔹 تکنیکهای عملی بهینهسازی منابع را روی اپلیکیشنهای لایو در محیط پروداکشن بررسی میکنیم
🔹 یاد میگیریم که چطور اصول تئوری را با استفاده از .NET به شکل عملی پیادهسازی کنیم
🔹 با مثالهای واقعی از پروژههای بزرگ آشنا میشویم و روشهای بهینهسازی را تست میکنیم
🔹 یک سیستمی که حدودا 500 مگابایت دیتا کش میکند را بهبود میدهیم و به کمترین حالت خود میرسانیم
🔹 یاد میگیریم که چگونه به آپتیمایز کردن ریسورس ها فکر کنیم و راه حل پیدا کنیم
📌 ثبتنام: https://evnd.co/mlhVG
💯 با کد تخفیف: free-ram رایگان ثبت نام کنید
این رویداد فرصتی استثنایی برای یادگیری و بهبود مهارتهای شما در بهینهسازی سیستمهاست. منتظر حضور شما هستم!
اگر شما هم به دنبال کشف روشهای پیشرفته برای بهبود کارایی سیستمها و کاهش مصرف منابع مانند RAM و CPU هستید، این وبینار رایگان دقیقاً برای شماست. 📈
من در طول دو سال گذشته، توانستم سیستمهای حیاتی مثل Payment، Order، و Basket را با استفاده از تکنیکهای ریفکتورینگ و بهینهسازی بهبود های قابل توجهی را در آنها ایجاد کنم. این تلاشها و بقیه تلاش های ما، به ما کمک کرد تا سیستم بتواند بار بیشتری تحمل کند و به رشد بیسابقهای در فروش روزانه برسیم و آن را حدود ۲۹۲ درصد در طول این 2 سال افزایش دهیم! 🎉
در این وبینار به چه موضوعاتی خواهیم پرداخت:
🔹 تکنیکهای عملی بهینهسازی منابع را روی اپلیکیشنهای لایو در محیط پروداکشن بررسی میکنیم
🔹 یاد میگیریم که چطور اصول تئوری را با استفاده از .NET به شکل عملی پیادهسازی کنیم
🔹 با مثالهای واقعی از پروژههای بزرگ آشنا میشویم و روشهای بهینهسازی را تست میکنیم
🔹 یک سیستمی که حدودا 500 مگابایت دیتا کش میکند را بهبود میدهیم و به کمترین حالت خود میرسانیم
🔹 یاد میگیریم که چگونه به آپتیمایز کردن ریسورس ها فکر کنیم و راه حل پیدا کنیم
📌 ثبتنام: https://evnd.co/mlhVG
💯 با کد تخفیف: free-ram رایگان ثبت نام کنید
این رویداد فرصتی استثنایی برای یادگیری و بهبود مهارتهای شما در بهینهسازی سیستمهاست. منتظر حضور شما هستم!
👍4👏3
Code With HSN
🌟 تحویل کارایی در وبینار رایگان "Art of Resource Optimization" در دنیای برنامهنویسی 🌟 اگر شما هم به دنبال کشف روشهای پیشرفته برای بهبود کارایی سیستمها و کاهش مصرف منابع مانند RAM و CPU هستید، این وبینار رایگان دقیقاً برای شماست. 📈 من در طول دو سال گذشته،…
وبینار به زودی شروع میشه دوستان تشریف بیارید و برای علاقه مندان هم ارسال کنید
https://meet.google.com/cgo-irjj-hfv
https://meet.google.com/cgo-irjj-hfv
Google
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
👍1
HybridCache در .NET9
⬅️ خلاصه
احتمالا همه مون به کش خیلی علاقه داریم و میدونیم که 2 مکانیزم پایه داریم در کش
1- خواندن از کش
2- خواندن از سورس اصلی دیتا
احتمالا تا الان خیلی برای این مورد کد مینوشتید در .NET9 ویژگی جدیدی اضافه شده که میتونید باهاش به صورت قابل قبولی این دو کار رو ترکیب کنید
هم برای پروژه های Scale بالا مناسب هست هم برای پروژه هایی با Scale پایین چون هم In Memory میشه استفاده کردش هم به صورت Distributed
⬅️ کارکرد
1- نحوه رجیستر سرویس که میتونید از Deserializer و Serializer کتابخونه Protobuf استفاده کنید
2- نحوه استفاده و ست کردن توی کش:
اطلاعات بیشتر: لینک اصلی مقاله
⬅️ خلاصه
احتمالا همه مون به کش خیلی علاقه داریم و میدونیم که 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;
}
}
اطلاعات بیشتر: لینک اصلی مقاله
Docs
HybridCache library in ASP.NET Core
Learn how to use HybridCache library in ASP.NET Core.
👍4👌1
Code With HSN
Art of Resource Optimization.pdf
سلام دوستان!
ویدیو وبینار آپتیمایز RAM و CPU آمادهاست و میتونید در یوتیوب من تماشا کنید.
خوشحال میشم با Subscribe کردن از من حمایت کنید تا ویدیوهای جذابتر و مفیدتری براتون بیارم.
لینک ویدیو: https://youtu.be/BtN3EDexy0U
منتظرم نظرات و پیشنهاداتتون رو هم بشنوم! 🚀
ویدیو وبینار آپتیمایز RAM و CPU آمادهاست و میتونید در یوتیوب من تماشا کنید.
خوشحال میشم با Subscribe کردن از من حمایت کنید تا ویدیوهای جذابتر و مفیدتری براتون بیارم.
لینک ویدیو: https://youtu.be/BtN3EDexy0U
منتظرم نظرات و پیشنهاداتتون رو هم بشنوم! 🚀
YouTube
هنر آپتیمایز کردن منابع برنامه | Art of resource optimization webinar
🌟 چگونه منابع را بهینه کنیم و بهرهوری را افزایش دهیم؟ 🌟 ویدیو های دیگه کانال رو از دست ندید 💥
در این ویدیو رکورد شده جذاب، شما را به دنیای بهینهسازی منابع میبریم! تا از تجربیات واقعی در دنیای توسعه نرمافزار یاد بگیرید و تکنیکهایی را کشف کنید که میتوانند…
در این ویدیو رکورد شده جذاب، شما را به دنیای بهینهسازی منابع میبریم! تا از تجربیات واقعی در دنیای توسعه نرمافزار یاد بگیرید و تکنیکهایی را کشف کنید که میتوانند…
❤5🔥3
اگر پروژهای که توی وبینار توضیح دادم رو خواستید، الآن میتونید از روی گیتهاب دانلودش کنید. چند تا مشکل کوچیک داشت که همونها هم فیکس شدن.
اگه دوست داشتید، حتماً Star کنید 🌟!
https://github.com/hasanxdev/ArtOfResourceOptimization
اگه دوست داشتید، حتماً Star کنید 🌟!
https://github.com/hasanxdev/ArtOfResourceOptimization
GitHub
GitHub - hasanxdev/ArtOfResourceOptimization
Contribute to hasanxdev/ArtOfResourceOptimization development by creating an account on GitHub.
❤5👍2🔥1
Telegram
Code With HSN Files
🫂 ما یک دوستی داشتیم اومد گفت آقا ما هرکاری شما گفتی رو کردیم نه مشکل 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
⭐️ خب این موضوع نیاز داره یکم دانش راجب پردازنده ها داشته باشین پس یه سری توضیحات میدم.
⬅️ بیاین بدونیم 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