این کتاب یک منبع خیلی خوب برای هرکسی است که قصد دارد در فریمورک ASP.NET Core مسلط شود، با تکیه بر مفاهیم پیشرفته و مثالهای عملی. پیشنهاد میکنم هر کسی که علاقهمند به یک راهنمایی کامل و ارزشمند است، این کتاب را مطالعه کند.
👍3
ابزار Hybrid Cache در .NET 9: بهبود عملکرد و سادگی در مدیریت کش
در دنیای توسعه نرمافزار، کشینگ یکی از مهمترین تکنیکها برای بهبود عملکرد و کاهش بار روی سرور است. در .NET 9، مایکروسافت ویژگی جدیدی به نام Hybrid Cache معرفی کرده است که ترکیبی از کش حافظه داخلی (In-Memory Cache) و کش توزیعشده (Distributed Cache) است. این ویژگی نه تنها عملکرد را بهبود میبخشد، بلکه مدیریت کش را نیز سادهتر میکند. در این مقاله، به بررسی Hybrid Cache، فواید آن، و نحوه استفاده از آن در یک سناریوی واقعی میپردازیم.
ابزار Hybrid Cache چیست؟
ابزار Hybrid Cache یک کتابخانه جدید در .NET 9 است که دو لایه کش را با هم ترکیب میکند:
کش L1 (کش حافظه داخلی): برای دسترسی سریع به دادهها در حافظه محلی.
کش L2 (کش توزیعشده): برای ذخیره دادهها در یک کش توزیعشده مانند Redis یا SQL Server، که برای محیطهای توزیعشده و چند سروری مناسب است.
این ترکیب باعث میشود که دادهها ابتدا از کش حافظه داخلی خوانده شوند و در صورت عدم وجود، از کش توزیعشده بازیابی شوند. این رویکرد نه تنها تأخیر را کاهش میدهد، بلکه از بار اضافی روی کش توزیعشده نیز جلوگیری میکند.
فواید Hybrid Cache
1. بهبود عملکرد: با استفاده از کش حافظه داخلی، دسترسی به دادههای پرکاربرد بسیار سریعتر میشود.
2. سادگی در مدیریت: دیگر نیازی به انتخاب بین کش حافظه داخلی و توزیعشده نیست. Hybrid Cache به طور خودکار این کار را انجام میدهد.
3. حمایت از تگها: میتوانید دادهها را با تگها گروهبندی کنید و به راحتی آنها را حذف یا بهروزرسانی کنید.
4. محافظت در برابر Stampede: هنگامی که چندین درخواست همزمان برای دادهای که در کش وجود ندارد ارسال میشود، Hybrid Cache از اجرای چندین باره کد جلوگیری میکند و فقط یک درخواست را پردازش میکند.
5. پیکربندی انعطافپذیر: میتوانید زمان انقضا و سایر تنظیمات را برای هر دو لایه کش به صورت جداگانه تنظیم کنید.
نحوه استفاده از Hybrid Cache در .NET 9
نصب و پیکربندی
برای شروع، باید بسته NuGet مربوط به Hybrid Cache را نصب کنید:
سپس، سرویس Hybrid Cache را در برنامه خود اضافه کنید:
مثال عملی: کش کردن اطلاعات محصولات
فرض کنید یک API دارید که اطلاعات محصولات را از یک پایگاه داده بازیابی میکند. با استفاده از Hybrid Cache، میتوانید این اطلاعات را کش کنید تا درخواستهای بعدی سریعتر پاسخ داده شوند.
در دنیای توسعه نرمافزار، کشینگ یکی از مهمترین تکنیکها برای بهبود عملکرد و کاهش بار روی سرور است. در .NET 9، مایکروسافت ویژگی جدیدی به نام Hybrid Cache معرفی کرده است که ترکیبی از کش حافظه داخلی (In-Memory Cache) و کش توزیعشده (Distributed Cache) است. این ویژگی نه تنها عملکرد را بهبود میبخشد، بلکه مدیریت کش را نیز سادهتر میکند. در این مقاله، به بررسی Hybrid Cache، فواید آن، و نحوه استفاده از آن در یک سناریوی واقعی میپردازیم.
ابزار Hybrid Cache چیست؟
ابزار Hybrid Cache یک کتابخانه جدید در .NET 9 است که دو لایه کش را با هم ترکیب میکند:
کش L1 (کش حافظه داخلی): برای دسترسی سریع به دادهها در حافظه محلی.
کش L2 (کش توزیعشده): برای ذخیره دادهها در یک کش توزیعشده مانند Redis یا SQL Server، که برای محیطهای توزیعشده و چند سروری مناسب است.
این ترکیب باعث میشود که دادهها ابتدا از کش حافظه داخلی خوانده شوند و در صورت عدم وجود، از کش توزیعشده بازیابی شوند. این رویکرد نه تنها تأخیر را کاهش میدهد، بلکه از بار اضافی روی کش توزیعشده نیز جلوگیری میکند.
فواید Hybrid Cache
1. بهبود عملکرد: با استفاده از کش حافظه داخلی، دسترسی به دادههای پرکاربرد بسیار سریعتر میشود.
2. سادگی در مدیریت: دیگر نیازی به انتخاب بین کش حافظه داخلی و توزیعشده نیست. Hybrid Cache به طور خودکار این کار را انجام میدهد.
3. حمایت از تگها: میتوانید دادهها را با تگها گروهبندی کنید و به راحتی آنها را حذف یا بهروزرسانی کنید.
4. محافظت در برابر Stampede: هنگامی که چندین درخواست همزمان برای دادهای که در کش وجود ندارد ارسال میشود، Hybrid Cache از اجرای چندین باره کد جلوگیری میکند و فقط یک درخواست را پردازش میکند.
5. پیکربندی انعطافپذیر: میتوانید زمان انقضا و سایر تنظیمات را برای هر دو لایه کش به صورت جداگانه تنظیم کنید.
نحوه استفاده از Hybrid Cache در .NET 9
نصب و پیکربندی
برای شروع، باید بسته NuGet مربوط به Hybrid Cache را نصب کنید:
dotnet add package Microsoft.Extensions.Caching.Hybrid
سپس، سرویس Hybrid Cache را در برنامه خود اضافه کنید:
var builder = WebApplication.CreateBuilder(args);
// افزودن سرویس Hybrid Cache
builder.Services.AddHybridCache(options =>
{
options.DefaultEntryOptions = new HybridCacheEntryOptions
{
Expiration = TimeSpan.FromMinutes(30), // زمان انقضا برای کش توزیعشده
LocalCacheExpiration = TimeSpan.FromMinutes(5) // زمان انقضا برای کش حافظه داخلی
};
});
// افزودن Redis به عنوان کش توزیعشده
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = builder.Configuration.GetConnectionString("RedisConnectionString");
});
مثال عملی: کش کردن اطلاعات محصولات
فرض کنید یک API دارید که اطلاعات محصولات را از یک پایگاه داده بازیابی میکند. با استفاده از Hybrid Cache، میتوانید این اطلاعات را کش کنید تا درخواستهای بعدی سریعتر پاسخ داده شوند.
public class ProductService
{
private readonly HybridCache _cache;
public ProductService(HybridCache cache)
{
_cache = cache;
}
public async Task<Product> GetProductAsync(int productId, CancellationToken cancellationToken = default)
{
var cacheKey = $"product-{productId}";
return await _cache.GetOrCreateAsync(
cacheKey,
async cancel =>
{
// شبیهسازی بازیابی اطلاعات از پایگاه داده
return await FetchProductFromDatabaseAsync(productId, cancel);
},
cancellationToken: cancellationToken
);
}
private async Task<Product> FetchProductFromDatabaseAsync(int productId, CancellationToken cancellationToken)
{
// شبیهسازی یک عملیات زمانبر
await Task.Delay(1000, cancellationToken);
return new Product { Id = productId, Name = "Sample Product", Price = 99.99 };
}
}
حذف دادهها از کش
برای حذف دادهها از کش، میتوانید از متد
مثال Real-World:
کش کردن اطلاعات کاربران در یک سیستم احراز هویت
در یک سیستم احراز هویت، اطلاعات کاربران مانند نقشها و دسترسیها میتوانند به طور مکرر مورد استفاده قرار گیرند. با استفاده از Hybrid Cache، میتوانید این اطلاعات را کش کنید تا درخواستهای بعدی سریعتر پردازش شوند.
نتیجهگیری
ابزاز Hybrid Cache در .NET 9 یک ابزار قدرتمند برای بهبود عملکرد و سادگی در مدیریت کش است. با ترکیب کش حافظه داخلی و کش توزیعشده، این ویژگی به توسعهدهندگان اجازه میدهد تا برنامههای خود را بهینهتر و مقیاسپذیرتر کنند. با استفاده از مثالهای ارائهشده، میتوانید به راحتی این ویژگی را در پروژههای خود پیادهسازی کنید و از مزایای آن بهرهمند شوید.
برای اطلاعات بیشتر به مستندات رسمی مایکروسافت مراجعه کنید.
برای حذف دادهها از کش، میتوانید از متد
RemoveAsync
استفاده کنید: public async Task RemoveProductFromCacheAsync(int productId, CancellationToken cancellationToken = default)
{
var cacheKey = $"product-{productId}";
await _cache.RemoveAsync(cacheKey, cancellationToken);
}
مثال Real-World:
کش کردن اطلاعات کاربران در یک سیستم احراز هویت
در یک سیستم احراز هویت، اطلاعات کاربران مانند نقشها و دسترسیها میتوانند به طور مکرر مورد استفاده قرار گیرند. با استفاده از Hybrid Cache، میتوانید این اطلاعات را کش کنید تا درخواستهای بعدی سریعتر پردازش شوند.
public class UserService
{
private readonly HybridCache _cache;
public UserService(HybridCache cache)
{
_cache = cache;
}
public async Task<UserInfo> GetUserInfoAsync(string userId, CancellationToken cancellationToken = default)
{
var cacheKey = $"user-info-{userId}";
return await _cache.GetOrCreateAsync(
cacheKey,
async cancel =>
{
// بازیابی اطلاعات کاربر از پایگاه داده
return await FetchUserInfoFromDatabaseAsync(userId, cancel);
},
new HybridCacheEntryOptions
{
Expiration = TimeSpan.FromMinutes(60),
LocalCacheExpiration = TimeSpan.FromMinutes(10)
},
cancellationToken
);
}
private async Task<UserInfo> FetchUserInfoFromDatabaseAsync(string userId, CancellationToken cancellationToken)
{
// شبیهسازی یک عملیات زمانبر
await Task.Delay(500, cancellationToken);
return new UserInfo { UserId = userId, Roles = new[] { "Admin", "Editor" } };
}
}
نتیجهگیری
ابزاز Hybrid Cache در .NET 9 یک ابزار قدرتمند برای بهبود عملکرد و سادگی در مدیریت کش است. با ترکیب کش حافظه داخلی و کش توزیعشده، این ویژگی به توسعهدهندگان اجازه میدهد تا برنامههای خود را بهینهتر و مقیاسپذیرتر کنند. با استفاده از مثالهای ارائهشده، میتوانید به راحتی این ویژگی را در پروژههای خود پیادهسازی کنید و از مزایای آن بهرهمند شوید.
برای اطلاعات بیشتر به مستندات رسمی مایکروسافت مراجعه کنید.
Docs
HybridCache library in ASP.NET Core
Learn how to use HybridCache library in ASP.NET Core.
👍5🔥3
Forwarded from OfferingOne
📣 موقعیت شغلی Full-Stack Developer
🔺شرح موقعیت شغلی
شرکت آفرینگان به عنوان ارائه دهنده خدمات منابع انسانی، در جستجوی یک فرد بسیار توانمند در حوزه برنامه نویسی جهت کار (دورکاری) در یک شرکت امریکایی پیشرو در زمینه هوش مصنوعی برای توسعه یک جعبه ابزار در زمینه پردازش تصویر است. مهارت بک اند در زمینه Python یا Net. یا # C و فرانت اند JavaScript و TypeScript ضروری است.
لازم به ذکر است که در این موقعیت شغلی توانایی کد نویسی و دانش الگوریتم مورد نیاز است.
🤝نوع همکاری: تمام وقت، ریموت
📄سابقه شغلی مرتبط: حداقل ۶ سال
💰حقوق: دلاری بسیار خوب، رنج بالا و متناسب با توانمندیهای فرد
سابقه کار روی پروداکت های پیچیده مزیت محسوب میشود.
🔗 در صورت نیاز به دریافت اطلاعات بیشتر و ارسال رزومه با ادمین در ارتباط باشید.
@OfferingOne
در صورتی که فردی متناسب با این شغل می شناسید لطفا معرفی کنید.
📣 کانال آفرینگان برای اطلاع از فرصتهای شغلی
t.iss.one/offeringOneJobs
📌همچنین می توانید لینکدین ما را هم دنبال کنید
https://www.linkedin.com/company/offeringone/
#برنامه_نویس #فول_استک #آفرینگان #فرصت_شغلی #استخدام
#Full_stack #Front_end #Back_end #developer
🔺شرح موقعیت شغلی
شرکت آفرینگان به عنوان ارائه دهنده خدمات منابع انسانی، در جستجوی یک فرد بسیار توانمند در حوزه برنامه نویسی جهت کار (دورکاری) در یک شرکت امریکایی پیشرو در زمینه هوش مصنوعی برای توسعه یک جعبه ابزار در زمینه پردازش تصویر است. مهارت بک اند در زمینه Python یا Net. یا # C و فرانت اند JavaScript و TypeScript ضروری است.
لازم به ذکر است که در این موقعیت شغلی توانایی کد نویسی و دانش الگوریتم مورد نیاز است.
🤝نوع همکاری: تمام وقت، ریموت
📄سابقه شغلی مرتبط: حداقل ۶ سال
💰حقوق: دلاری بسیار خوب، رنج بالا و متناسب با توانمندیهای فرد
سابقه کار روی پروداکت های پیچیده مزیت محسوب میشود.
🔗 در صورت نیاز به دریافت اطلاعات بیشتر و ارسال رزومه با ادمین در ارتباط باشید.
@OfferingOne
در صورتی که فردی متناسب با این شغل می شناسید لطفا معرفی کنید.
📣 کانال آفرینگان برای اطلاع از فرصتهای شغلی
t.iss.one/offeringOneJobs
📌همچنین می توانید لینکدین ما را هم دنبال کنید
https://www.linkedin.com/company/offeringone/
#برنامه_نویس #فول_استک #آفرینگان #فرصت_شغلی #استخدام
#Full_stack #Front_end #Back_end #developer
👍1
Forwarded from TondTech (مسعود بیگی)
صبح شنبه تونو با این مقاله هوتن شروع کنید که چند جا در #رسمیو برامون نجات دهنده بود.
https://www.linkedin.com/posts/hootanht_microservices-systemdesign-softwarearchitecture-activity-7291205813237383168-9e17
https://www.linkedin.com/posts/hootanht_microservices-systemdesign-softwarearchitecture-activity-7291205813237383168-9e17
Linkedin
پترن 𝗢𝘂𝘁𝗯𝗼𝘅 چیه و چرا انقدر مهمه؟ | Hootan Hemmati
پترن 𝗢𝘂𝘁𝗯𝗼𝘅 چیه و چرا انقدر مهمه؟
حتماً تا حالا برات پیش اومده که بخوای پیام یا دادهای رو از یک سرویس به سرویس دیگه بفرستی، اما نگران باشی که اگه اون سرویس مقصد موقتاً از کار بیفته، تکلیف پیامت چی میشه؟ یا اینکه اگه هنگام آپدیت پایگاه دادهات خطایی رخ بده،…
حتماً تا حالا برات پیش اومده که بخوای پیام یا دادهای رو از یک سرویس به سرویس دیگه بفرستی، اما نگران باشی که اگه اون سرویس مقصد موقتاً از کار بیفته، تکلیف پیامت چی میشه؟ یا اینکه اگه هنگام آپدیت پایگاه دادهات خطایی رخ بده،…
👍5
Forwarded from Learning With M (Masoud DaneshPour)
امروز میخوام در مورد Exchange ها در RabbitMQ براتون بگم. Exchange ها مثل پستچیهای پیامرسان عمل میکنن و تصمیم میگیرن پیامها رو چطوری به صفها (Queue) برسونن. بیاید ببینیم هر کدوم چیکار میکنن:
Direct Exchange 🎯
کارش چیه؟
پیامها رو فقط به صفهایی میفرسته که کلید مسیریابی (Routing Key) دقیقاً همون چیزی باشه که تعیین کردیم.
کی استفاده کنیم؟
وقتی میخوایم پیامها رو دقیقاً به یک صف خاص برسونیم. مثلاً پیامهای "سفارش جدید" فقط به صف "پردازش سفارش" برن.
مثال:
Routing Key: order.created ➡️ Queue: order_queue
Fanout Exchange 📢
کارش چیه؟
پیامها رو به همه صفهای متصل شده میفرسته، بدون توجه به کلید مسیریابی.
کی استفاده کنیم؟
وقتی میخوایم یک پیام رو به چندین صف ارسال کنیم. مثلاً ارسال اطلاعرسانی به همه گروه های کاربران.
مثال:
پیام: "تخفیف ویژه!" ➡️ Queue: user_group1_queue, user_group2_queue, user_group3_queue
Topic Exchange 🌐
کارش چیه؟
پیامها رو بر اساس الگوهای کلید مسیریابی ارسال میکنه. مثلاً میتونیم از wildcard (* و #) استفاده کنیم.
کی استفاده کنیم؟
وقتی میخوایم پیامها رو بر اساس موضوعهای مختلف دستهبندی کنیم. مثلاً خطاهای سیستم (error.*) یا لاگهای عمومی (log.#).
مثال:
Routing Key: error.database ➡️ Queue: error_queue
Direct Exchange 🎯
کارش چیه؟
پیامها رو فقط به صفهایی میفرسته که کلید مسیریابی (Routing Key) دقیقاً همون چیزی باشه که تعیین کردیم.
کی استفاده کنیم؟
وقتی میخوایم پیامها رو دقیقاً به یک صف خاص برسونیم. مثلاً پیامهای "سفارش جدید" فقط به صف "پردازش سفارش" برن.
مثال:
Routing Key: order.created ➡️ Queue: order_queue
Fanout Exchange 📢
کارش چیه؟
پیامها رو به همه صفهای متصل شده میفرسته، بدون توجه به کلید مسیریابی.
کی استفاده کنیم؟
وقتی میخوایم یک پیام رو به چندین صف ارسال کنیم. مثلاً ارسال اطلاعرسانی به همه گروه های کاربران.
مثال:
پیام: "تخفیف ویژه!" ➡️ Queue: user_group1_queue, user_group2_queue, user_group3_queue
Topic Exchange 🌐
کارش چیه؟
پیامها رو بر اساس الگوهای کلید مسیریابی ارسال میکنه. مثلاً میتونیم از wildcard (* و #) استفاده کنیم.
کی استفاده کنیم؟
وقتی میخوایم پیامها رو بر اساس موضوعهای مختلف دستهبندی کنیم. مثلاً خطاهای سیستم (error.*) یا لاگهای عمومی (log.#).
مثال:
Routing Key: error.database ➡️ Queue: error_queue
👍2❤1
Forwarded from Yaser Moradi
سلام به همگی!
لینک پادکست اخیرم تو رادیو بیدار
چرا C# .NET یکی از بهترین گزینهها، هم برای Cross platform development و هم full-stack development هست؟
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=433s
امکانات پروژه اپن سورس bit Boilerplate که کمک میکنه به داشتن یه تجربه عالی برای زدن هر نوعی از اپ با C#, HTML, CSS
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=1408s
نحوه شروع به کار عملی با bit Boilerplate
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=2402s
چند دمو از خروجی bit Boilerplate
سایت SEO-Friendly مبتنی بر Blazor WebAssembly با حجم کمتر از ۲.۵ مگ
https://bitplatform.dev
یه ادمین پنل خفن برای Android, iOS, Windows, macOS, Web
https://adminpanel.bitplatform.dev
کلی کمپوننت باحال و سریع و سبک برای Blazor
https://blazorui.bitplatform.dev
نسخه خیلی اولیه از یه E-Commerece مبتنی بر Blazor WebAssembly، سریع و سبک
https://sales.bitplatform.dev
لینک پادکست اخیرم تو رادیو بیدار
چرا C# .NET یکی از بهترین گزینهها، هم برای Cross platform development و هم full-stack development هست؟
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=433s
امکانات پروژه اپن سورس bit Boilerplate که کمک میکنه به داشتن یه تجربه عالی برای زدن هر نوعی از اپ با C#, HTML, CSS
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=1408s
نحوه شروع به کار عملی با bit Boilerplate
https://www.youtube.com/watch?v=8pS0yCrVsT4&t=2402s
چند دمو از خروجی bit Boilerplate
سایت SEO-Friendly مبتنی بر Blazor WebAssembly با حجم کمتر از ۲.۵ مگ
https://bitplatform.dev
یه ادمین پنل خفن برای Android, iOS, Windows, macOS, Web
https://adminpanel.bitplatform.dev
کلی کمپوننت باحال و سریع و سبک برای Blazor
https://blazorui.bitplatform.dev
نسخه خیلی اولیه از یه E-Commerece مبتنی بر Blazor WebAssembly، سریع و سبک
https://sales.bitplatform.dev
YouTube
پادکست شماره ۹۶ رادیو بیدار bit platform Future of C# development توسط یاسر مرادی
07:13 Why C# Excels in Cross-Platform & Full-Stack Development?
23:28 bitPlatform & bit Boilerplate: Features That Supercharge Development
40:02 Getting Started with bit Boilerplate: A Hands-On Guide
اپیزود ۹۶ رادیو بیدار BIDAR.ca
این جلسه با حضور یاسر…
23:28 bitPlatform & bit Boilerplate: Features That Supercharge Development
40:02 Getting Started with bit Boilerplate: A Hands-On Guide
اپیزود ۹۶ رادیو بیدار BIDAR.ca
این جلسه با حضور یاسر…
❤6
Forwarded from refhub
مهندسان عزیز روزتون مبارک
به مناسبت روز مهندس، یه کد تخفیف 30 درصدی براتون گذاشتیم
اولش باSOFTDAY شروع میشه، اما برای ادامه ش باید معمای زیر رو حل کنید :
یه برنامهنویس داره یه تابع رمزنگاری مینویسه. این تابع یه رشته میگیره و سه مرحله داره:
1- جمع مقدار ASCII همهی کاراکترهای رشته رو حساب میکنه.
2- عدد بهدستاومده رو در خودش ضرب میکنه (به توان ۲ میرسونه).
3- از نتیجه، یه عدد فیبوناچی پیدا میکنه که ازش بزرگتر یا مساویشه، بعد اختلافشون رو حساب میکنه.
اگه ورودی تابع کلمهی 'Debug' باشه، خروجی عددش چیه؟ این عدد، سه رقم آخر کد تخفیفت میشه!
با ❤️ رفهاب
https://RefHub.ir
به مناسبت روز مهندس، یه کد تخفیف 30 درصدی براتون گذاشتیم
اولش با
یه برنامهنویس داره یه تابع رمزنگاری مینویسه. این تابع یه رشته میگیره و سه مرحله داره:
1- جمع مقدار ASCII همهی کاراکترهای رشته رو حساب میکنه.
2- عدد بهدستاومده رو در خودش ضرب میکنه (به توان ۲ میرسونه).
3- از نتیجه، یه عدد فیبوناچی پیدا میکنه که ازش بزرگتر یا مساویشه، بعد اختلافشون رو حساب میکنه.
اگه ورودی تابع کلمهی 'Debug' باشه، خروجی عددش چیه؟ این عدد، سه رقم آخر کد تخفیفت میشه!
با ❤️ رفهاب
https://RefHub.ir
👍1
امروز میخوام یه گنجینهی واقعی رو بهتون معرفی کنم. اگر دنبال یادگیری مهارتهای جدید تو دنیای تکنولوژی هستید، این ریپوها مال شماست!
مایکروسافت یه عالمه دورهی رایگان و جذاب برای مبتدیها تدارک دیده، اونم تو زمینههای مختلف! بیاین یه نگاهی بهشون بندازیم:
هوش مصنوعی:
هوش مصنوعی برای مبتدیان (AI-For-Beginners): صفر تا صد هوش مصنوعی رو یاد بگیر!
https://github.com/microsoft/AI-For-Beginners
هوش مصنوعی مولد برای مبتدیان (generative-ai-for-beginners): دنیای جذاب هوش مصنوعی مولد رو کشف کن.
https://github.com/microsoft/generative-ai-for-beginners
هوش مصنوعی مولد برای مبتدیان با دات نت (generative-ai-for-beginners-dotnet): هوش مصنوعی مولد با دات نت رو تجربه کن.
https://github.com/microsoft/Generative-AI-for-beginners-dotnet
ایجنتهای هوش مصنوعی برای مبتدیان (ai-agents-for-beginners): ساختن ایجنت های هوش مصنوعی رو یاد بگیر.
https://github.com/microsoft/ai-agents-for-beginners
کتاب آشپزی سمانتیک کرنل (SemanticKernelCookBook): با سمانتیک کرنل کار کن.
https://github.com/microsoft/SemanticKernelCookBook
توسعه وب:
توسعه وب برای مبتدیان (Web-Dev-For-Beginners): از صفر تا یه توسعهدهندهی وب حرفهای!
https://github.com/microsoft/Web-Dev-For-Beginners
آشنایی با جاوا اسکریپت و نود برای مبتدیان (beginners-intro-javascript-node): جاوا اسکریپت و نود جی اس رو یاد بگیر.
https://github.com/microsoft/beginners-intro-javascript-node
یادگیری ماشین:
یادگیری ماشین برای مبتدیان (ML-For-Beginners): یادگیری ماشین رو ساده و جذاب یاد بگیر.
https://github.com/microsoft/ML-For-Beginners
علم داده:
علم داده برای مبتدیان (Data-Science-For-Beginners): علم داده رو با مثالهای عملی یاد بگیر.
https://github.com/microsoft/Data-Science-For-Beginners
اینترنت اشیا:
اینترنت اشیا برای مبتدیان (IoT-For-Beginners): وارد دنیای هیجانانگیز اینترنت اشیا شو!
https://github.com/microsoft/IoT-For-Beginners
بقیه موارد:
بش برای مبتدیان (bash-for-beginners): کار با خط فرمان لینوکس رو یاد بگیر.
https://github.com/microsoft/bash-for-beginners
پلتفرم پاور برای مبتدیان (Power-Platform-For-Beginners): با پلتفرم پاور برنامه نویسی بدون کد رو تجربه کن.
https://github.com/microsoft/Power-Platform-For-Beginners
سری آموزش راست برای مبتدیان (beginners-series-rust): برنامه نویسی با زبان راست رو یاد بگیر.
https://github.com/microsoft/beginners-series-rust
سری آموزش بلاکچین برای مبتدیان (beginners-series-blockchain): با بلاکچین اشنا بشو.
https://github.com/microsoft/beginners-series-blockchain
این ریپوها پر از مطالب آموزشی، پروژههای عملی و تمرینهای جذابن.
#یادگیری #برنامه_نویسی #هوش_مصنوعی #مایکروسافت #رایگان
مایکروسافت یه عالمه دورهی رایگان و جذاب برای مبتدیها تدارک دیده، اونم تو زمینههای مختلف! بیاین یه نگاهی بهشون بندازیم:
هوش مصنوعی:
هوش مصنوعی برای مبتدیان (AI-For-Beginners): صفر تا صد هوش مصنوعی رو یاد بگیر!
https://github.com/microsoft/AI-For-Beginners
هوش مصنوعی مولد برای مبتدیان (generative-ai-for-beginners): دنیای جذاب هوش مصنوعی مولد رو کشف کن.
https://github.com/microsoft/generative-ai-for-beginners
هوش مصنوعی مولد برای مبتدیان با دات نت (generative-ai-for-beginners-dotnet): هوش مصنوعی مولد با دات نت رو تجربه کن.
https://github.com/microsoft/Generative-AI-for-beginners-dotnet
ایجنتهای هوش مصنوعی برای مبتدیان (ai-agents-for-beginners): ساختن ایجنت های هوش مصنوعی رو یاد بگیر.
https://github.com/microsoft/ai-agents-for-beginners
کتاب آشپزی سمانتیک کرنل (SemanticKernelCookBook): با سمانتیک کرنل کار کن.
https://github.com/microsoft/SemanticKernelCookBook
توسعه وب:
توسعه وب برای مبتدیان (Web-Dev-For-Beginners): از صفر تا یه توسعهدهندهی وب حرفهای!
https://github.com/microsoft/Web-Dev-For-Beginners
آشنایی با جاوا اسکریپت و نود برای مبتدیان (beginners-intro-javascript-node): جاوا اسکریپت و نود جی اس رو یاد بگیر.
https://github.com/microsoft/beginners-intro-javascript-node
یادگیری ماشین:
یادگیری ماشین برای مبتدیان (ML-For-Beginners): یادگیری ماشین رو ساده و جذاب یاد بگیر.
https://github.com/microsoft/ML-For-Beginners
علم داده:
علم داده برای مبتدیان (Data-Science-For-Beginners): علم داده رو با مثالهای عملی یاد بگیر.
https://github.com/microsoft/Data-Science-For-Beginners
اینترنت اشیا:
اینترنت اشیا برای مبتدیان (IoT-For-Beginners): وارد دنیای هیجانانگیز اینترنت اشیا شو!
https://github.com/microsoft/IoT-For-Beginners
بقیه موارد:
بش برای مبتدیان (bash-for-beginners): کار با خط فرمان لینوکس رو یاد بگیر.
https://github.com/microsoft/bash-for-beginners
پلتفرم پاور برای مبتدیان (Power-Platform-For-Beginners): با پلتفرم پاور برنامه نویسی بدون کد رو تجربه کن.
https://github.com/microsoft/Power-Platform-For-Beginners
سری آموزش راست برای مبتدیان (beginners-series-rust): برنامه نویسی با زبان راست رو یاد بگیر.
https://github.com/microsoft/beginners-series-rust
سری آموزش بلاکچین برای مبتدیان (beginners-series-blockchain): با بلاکچین اشنا بشو.
https://github.com/microsoft/beginners-series-blockchain
این ریپوها پر از مطالب آموزشی، پروژههای عملی و تمرینهای جذابن.
#یادگیری #برنامه_نویسی #هوش_مصنوعی #مایکروسافت #رایگان
GitHub
GitHub - microsoft/AI-For-Beginners: 12 Weeks, 24 Lessons, AI for All!
12 Weeks, 24 Lessons, AI for All! Contribute to microsoft/AI-For-Beginners development by creating an account on GitHub.
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
“آنچه که در جستن آنی، آنی
وانچه که در طلب آنی، آنی”
- مولانا
وانچه که در طلب آنی، آنی”
- مولانا
🔥3😱2
Media is too big
VIEW IN TELEGRAM
ابزار /trae.ai یه IDE رایگان و جایگزین Cursor هست. بهصورت کاملاً رایگان و بدون محدودیت به Cloud 3.7 دسترسی دارین!
https://www.trae.ai/
https://www.trae.ai/
❤4
Big Archive for System Design – 2024 Edition (Completely Free) is now available!
The PDF contains 𝐀𝐋𝐋 of our technical posts with diagrams published in 2024.
What’s included in the PDF?
- REST API Vs. GraphQL
- Linux file system explained
- My recommended materials for cracking your next technical interview
- How Git Commands work
- Top 4 Most Popular Use Cases for UDP
- How Does a Typical Push Notification System Work?
- How can Cache Systems go wrong? 20
- REST API Cheatsheet
- Top 8 Programming Paradigms
- Data Pipelines
- API Vs SDK
- Key Use Cases for Load Balancers
- And many hundreds more
The PDF contains 𝐀𝐋𝐋 of our technical posts with diagrams published in 2024.
What’s included in the PDF?
- REST API Vs. GraphQL
- Linux file system explained
- My recommended materials for cracking your next technical interview
- How Git Commands work
- Top 4 Most Popular Use Cases for UDP
- How Does a Typical Push Notification System Work?
- How can Cache Systems go wrong? 20
- REST API Cheatsheet
- Top 8 Programming Paradigms
- Data Pipelines
- API Vs SDK
- Key Use Cases for Load Balancers
- And many hundreds more
👍3
DotNet | دات نت
Big Archive for System Design – 2024 Edition (Completely Free) is now available! The PDF contains 𝐀𝐋𝐋 of our technical posts with diagrams published in 2024. What’s included in the PDF? - REST API Vs. GraphQL - Linux file system explained - My recommended…
System Design PDFs (2024 Edition - Latest).pdf
49.2 MB
👍4
Coding Interview Patterns: Nail Your Next Coding Interview
Coding interviews are tough, and they're only getting tougher, typically demanding months of preparation. What we all want is a way to master algorithms and data structures without having to spend countless hours sifting through endless, unfocussed resources. Introducing "Coding Interview Patterns," your complete guide to mastering the key patterns needed to ace your next coding interview.
What’s inside?
An insider’s perspective on what interviewers are truly looking for and why.
101 real coding interview problems with detailed solutions.
Intuitive explanations that guide you through each problem as if you were solving it in a live interview.
1000+ diagrams to illustrate key concepts and patterns.
Table of Contents
Chapter 1: Two Pointers
Chapter 2: Hash Maps and Sets
Chapter 3: Linked Lists
Chapter 4: Fast and Slow Pointers
Chapter 5: Sliding Windows
Chapter 6: Binary Search
Chapter 7: Stacks
Chapter 8: Heaps
Chapter 9: Intervals
Chapter 10: Prefix Sums
Chapter 11: Trees
Chapter 12: Tries
Chapter 13: Graphs
Chapter 14: Backtracking
Chapter 15: Dynamic Programming
Chapter 16: Greedy
Chapter 17: Sort and Search
Chapter 18: Bit Manipulation
Chapter 19: Math and Geometry
Coding interviews are tough, and they're only getting tougher, typically demanding months of preparation. What we all want is a way to master algorithms and data structures without having to spend countless hours sifting through endless, unfocussed resources. Introducing "Coding Interview Patterns," your complete guide to mastering the key patterns needed to ace your next coding interview.
What’s inside?
An insider’s perspective on what interviewers are truly looking for and why.
101 real coding interview problems with detailed solutions.
Intuitive explanations that guide you through each problem as if you were solving it in a live interview.
1000+ diagrams to illustrate key concepts and patterns.
Table of Contents
Chapter 1: Two Pointers
Chapter 2: Hash Maps and Sets
Chapter 3: Linked Lists
Chapter 4: Fast and Slow Pointers
Chapter 5: Sliding Windows
Chapter 6: Binary Search
Chapter 7: Stacks
Chapter 8: Heaps
Chapter 9: Intervals
Chapter 10: Prefix Sums
Chapter 11: Trees
Chapter 12: Tries
Chapter 13: Graphs
Chapter 14: Backtracking
Chapter 15: Dynamic Programming
Chapter 16: Greedy
Chapter 17: Sort and Search
Chapter 18: Bit Manipulation
Chapter 19: Math and Geometry
❤4