Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека шарписта | C#, F#, .NET, ASP.NET
کانال Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 21 687 مشترک است و جایگاه 5 949 را در دسته فناوری و برنامهها و رتبه 30 265 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 21 687 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 31 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -56 و در ۲۴ ساعت گذشته برابر -12 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 17.05% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 7.97% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 3 698 بازدید دریافت میکند. در اولین روز معمولاً 1 728 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 23 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند .net, шарписта, навигация, await, string تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Все самое полезное для C#-разработчика в одном канале.
Наши курсы: https://clc.to/y3LDtw
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 01 سپتامبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
dotnet add package Temporalio2. Настраиваем клиент Temporal.io
var client = await TemporalClient.ConnectAsync(new TemporalClientConnectOptions
{
TargetHost = "localhost:7233"
});
TargetHost — это адрес сервера Temporal, который управляет процессами.
3. Создаем Workflow
[Workflow]
public class MyWorkflow
{
public async Task<string> RunAsync(string name)
{
return $"Hello, {name}!";
}
}
Workflow — это логика, которая будет управляться Temporal.
4. Запускаем Workflow из .NET-кода
var handle = await client.StartWorkflowAsync(
(MyWorkflow wf) => wf.RunAsync("Temporal.io"),
new WorkflowOptions("my-workflow"));
Console.WriteLine($"Workflow started: {handle.Id}");
Temporal автоматически отслеживает состояние процесса, перезапускает его при сбоях и масштабирует при необходимости.
Temporal.io + .NET = надежная система, где даже долгие процессы не теряются, не ломаются и автоматически восстанавливаются
📎 Подробнее в статье
🐸Библиотека шарпистаShuffle() в IEnumerable<T>. Будем ждать в одном из следующих релизов .NET
Пример будущего кода:
var shuffledItems = items.Shuffle();
Подробности:
🔗 Обсуждение необходимости метода
🔗 Реализация в .NET
🐸Библиотека шарпистаSetupSequence().
🛠 Как это работает
Допустим, у нас есть интерфейс IMyInterface с методом MyMethod(), который вызывается несколько раз. Вместо обычного Setup() мы используем SetupSequence(), чтобы задать разные результаты:
var mock = new Mock<IMyInterface>();
mock.SetupSequence(m => m.MyMethod())
.Returns(1)
.Returns(2)
.Throws(new Exception("Ошибка"));
Это удобно при тестировании кеширования, ретраев, обработки ошибок или сложных зависимостей.
➡️ Подробнее о SetupSequence и примерах использования
🐸Библиотека шарпистаdocker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
2️⃣ Настраиваем MassTransit
Необходимо зарегистрировать MassTransit и подключить его к RabbitMQ:
builder.Services.AddMassTransit(x =>
{
x.UsingRabbitMq((context, cfg) =>
{
cfg.Host("localhost", "/", h =>
{
h.Username("guest");
h.Password("guest");
});
});
});
Этот код создает подключение к RabbitMQ, которое позволяет сервису отправлять и получать сообщения.
3️⃣ Создаем производителя
Производитель отправляет сообщения в очередь, используя MassTransit:
public async Task SendMessage(IBus bus, string message)
{
var endpoint = await bus.GetSendEndpoint(new Uri("queue:order-queue"));
await endpoint.Send(new OrderCreated { OrderId = Guid.NewGuid(), Message = message });
}
4️⃣ Создаем потребителя
Потребитель автоматически получает и обрабатывает сообщения из очереди:
public class OrderConsumer : IConsumer<OrderCreated>
{
public Task Consume(ConsumeContext<OrderCreated> context)
{
Console.WriteLine($"Получено сообщение: {context.Message.Message}");
return Task.CompletedTask;
}
}
💾 Сохраняйте мини-гайд себе, чтобы не потерять
📎 Подробный гайд в источнике
🐸Библиотека шарпистаapi.nuget.org/v3/index.json.
Этот URL — официальный репозиторий пакетов NuGet, поддерживаемый Microsoft
➖ Работа с NuGet в .NET CLI
Установка пакета:
dotnet add package Newtonsoft.JsonОбновление пакетов:
dotnet restore
Удаление пакета:
dotnet remove package Newtonsoft.Json➡️ Подробнее на официальном сайте 🐸Библиотека шарписта
using KnightMoves.SqlObjects;
var sql = TSQL
.SELECT()
.STAR()
.FROM("Products")
.Build();
Console.WriteLine(sql);
В итоге получится запрос:
SELECT * FROM Products;
➡️ Документация библиотеки
🐸Библиотека шарпистаglobal:
scrape_interval: 5s # Интервал опроса метрик
scrape_configs:
- job_name: 'dotnet_app'
metrics_path: '/metrics' # Эндпоинт, откуда брать метрики
static_configs:
- targets: ['host.docker.internal:5000'] # Адрес .NET приложения
2️⃣ Запускаем Grafana — она подключается к Prometheus и строит дашборды с данными о загрузке CPU, памяти и запросах.
3️⃣ Используем Docker Compose — с его помощью развернём оба сервиса одной командой.
📎 Подробное руководство в статье
🐸Библиотека шарписта