Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Библиотека шарписта | C#, F#, .NET, ASP.NET
تُعد قناة Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 21 511 مشتركاً، محتلاً المرتبة 6 134 في فئة التكنولوجيات والتطبيقات والمرتبة 30 392 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 511 مشتركاً.
بحسب آخر البيانات بتاريخ 04 نوفمبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -119، وفي آخر 24 ساعة بمقدار -2، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 15.13%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.46% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 3 255 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 604 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 05 نوفمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
dotnet tool install -g csharpreplMemoryCache — структура данных для кеширования объектов в памяти.
• Простой пример:
public async Task<IActionResult> GetBlogPost(int id)
{
var cacheKey = $"BlogPost_{id}";
if (!_memoryCache.TryGetValue(cacheKey, out BlogPost blogPost))
{
blogPost = await _blogRepository.GetBlogPostByIdAsync(id);
_memoryCache.Set(cacheKey, blogPost);
}
return Ok(blogPost);
}
• Пример упрощенного использования MemoryCache:
public async Task<IActionResult> GetBlogPost(int id)
{
var cacheKey = $"BlogPost_{id}";
var blogPost = await _memoryCache.GetOrCreateAsync(cacheKey, async entry =>
{
return await _blogRepository.GetBlogPostByIdAsync(id);
});
return Ok(blogPost);
}
📌 IDistributedCache используется для кеширования между несколькими сервисами и/или для сохранения данных на длительный срок (переживание перезагрузок сервера).
• Пример регистрации Redis в качестве провайдера кеша:
builder.Services.AddStackExchangeRedisCache(options => { ... });
• Пример регистрации SQL Server в качестве провайдера кеша:
builder.Services.AddDistributedSqlServerCache(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("DistCache_ConnectionString");
options.SchemaName = "dbo";
options.TableName = "TestCache";
});
• Пример использования IDistributedCache:
public class SomeService(IDistributedCache cache)
{
public async Task<SomeInformation> GetSomeInformationAsync(string name, int id, CancellationToken token = default)
{
var key = $"someinfo:{name}:{id}";
var bytes = await cache.GetAsync(key, token);
SomeInformation info;
if (bytes is null)
{
info = await SomeExpensiveOperationAsync(name, id, token);
bytes = SomeSerializer.Serialize(info);
await cache.SetAsync(key, bytes, token);
}
else
{
info = SomeSerializer.Deserialize<SomeInformation>(bytes);
}
return info;
}
private async Task<SomeInformation> SomeExpensiveOperationAsync(string name, int id, CancellationToken token = default)
{
// ... Реализация
}
}
📌 HybridCache совмещает функции MemoryCache и DistributedCache. Простой пример использования:
public class SomeService(HybridCache cache)
{
public async Task<SomeInformation> GetSomeInformationAsync(string name, int id, CancellationToken token = default)
{
return await cache.GetOrCreateAsync(
$"someinfo:{name}:{id}",
async cancel => await SomeExpensiveOperationAsync(name, id, cancel),
token: token
);
}
}
✅ HybridCache поддерживает явное удаление по ключу, настройку сериализации и позволяет избежать некоторых проблем IDistributedCache.StringSyntax (.NET 7+) позволяет нам сообщить Visual Studio, с каким типом строки (например, регулярное выражение, формат datetime, JSON и т. д.) мы работаем, чтобы получить корректный IntelliSense и подсветку синтаксиса.
#dotnet #tip #visualstudio by Dave Callan
sudo apt update
sudo apt install dotnet8
👉 ПодробнееTouchBehavior (ранее известного как TouchEffect`), изменения в работе `Snackbar на Windows, а также новые возможности, включая изменение цвета навигационной панели на Android.
Если вы использовали Xamarin Community Toolkit в своих приложениях Xamarin.Forms, вы, вероятно, знакомы с TouchEffect. В .NET MAUI эффекты были устаревшими, и их следовало заменить на PlatformBehaviors. Именно это и было сделано для реализации данной функциональности в .NET MAUI.
TouchBehavior позволяет взаимодействовать с любым визуальным элементом в вашем приложении на основе касаний, кликов мыши и событий наведения. Реализация TouchBehavior дает возможность настраивать различные визуальные свойства элемента, к которому он прикреплен, такие как цвет фона, непрозрачность, поворот и масштаб. Кроме того, TouchBehavior позволяет реализовывать жесты длительного нажатия и выполнять код при длительном нажатии на любой визуальный элемент.
👉 Подробнее