Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Show more📈 Analytical overview of Telegram channel Библиотека шарписта | C#, F#, .NET, ASP.NET
Channel Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) in the Russian language segment is an active participant. Currently, the community unites 21 862 subscribers, ranking 6 197 in the Technologies & Applications category and 30 823 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 21 862 subscribers.
According to the latest data from 12 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -48 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.66%. Within the first 24 hours after publication, content typically collects 7.50% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 769 views. Within the first day, a publication typically gains 1 640 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 9.
- Thematic interests: Content is focused on key topics such as .net, шарписта, навигация, await, string.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все самое полезное для C#-разработчика в одном канале.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/b60af5a4
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
Thanks to the high frequency of updates (latest data received on 13 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
CancellationToken.
CancellationToken — это объект, который передается в метод асинхронной операции. Он позволяет сигнализировать об отмене операции, если она больше не требуется.
Для создания токена отмены используется объект типа CancellationTokenSource, который предоставляет токен для отмены, а также метод Cancel(), который сигнализирует об отмене.
Пример отмены с помощью токена. Вызываем функцию и передаём в неё токен:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Создаем объект CancellationTokenSource
var cancellationTokenSource = new CancellationTokenSource();
// Получаем токен отмены
var cancellationToken = cancellationTokenSource.Token;
// Запускаем асинхронную задачу
var task = LongRunningOperation(cancellationToken);
// Через 3 секунды отменяем операцию
await Task.Delay(3000);
cancellationTokenSource.Cancel();
try
{
// Ожидаем завершения операции
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Операция была отменена.");
}
}
}
Сама функция:
// Асинхронная операция, которая может быть отменена
static async Task LongRunningOperation(CancellationToken cancellationToken)
{
Console.WriteLine("Операция началась.");
for (int i = 0; i < 10; i++)
{
// Проверка на отмену операции
if (cancellationToken.IsCancellationRequested)
{
Console.WriteLine("Операция отменена.");
throw new OperationCanceledException();
}
// Имитация работы
Console.WriteLine($"Шаг {i + 1}...");
await Task.Delay(1000); // Задержка в 1 секунду
}
Console.WriteLine("Операция завершена.");
}
}
При отмене операции метод выбрасывает исключение OperationCanceledException, которое можно ловить и обрабатывать соответствующим образом.
🐸Библиотека шарписта #бустdotnet add package ModelContextProtocol --prerelease
После этого пересоберите приложение и убедитесь, что используемая версия пакета соответствует 2025‑06‑18.
🐸Библиотека шарписта #свежакОпиши, как создать абстракцию для задачи "[вставьте краткое описание задачи]" с использованием методик объектно-ориентированного проектирования. В ответе подробно изложи основные этапы проектирования абстракции, включая выявление ключевых классов и их ответственности, применение принципов SOLID и паттернов проектирования. Добавь пример кода на С# или диаграмму классов UML, иллюстрирующую предложенную абстракцию.Хороший способ улучшить архитектуру вашего кода и овладеть лучшими практиками ООП. 🐸Библиотека шарписта #буст
git worktree add ../my-feature-branch my-feature-branch
2. После создания worktree вы можете работать с веткой, не вмешиваясь в другие ветки. Это удобно, когда нужно параллельно тестировать изменения или делать ревью PR, не мешая текущей работе.
Когда работа с веткой завершена, можно её удалить:
git worktree remove ../my-feature-branch
Практический пример
Если вам нужно протестировать PR, вы можете создать отдельный worktree для его ветки:
git worktree add ../pr-branch pr-branch
cd ../pr-branch
Применяйте и властвуйте над ветками гита.
🐸Библиотека шарписта #бустusing EsperTech.NEsper;
using EsperTech.NEsper.Client;
using EsperTech.NEsper.Config;
var config = new Configuration();
config.AddEventType("MyEvent", typeof(MyEvent));
var epService = EPServiceProviderManager.GetDefaultProvider(config);
var epStatement = epService.EPAdministrator.CreateEPL("select * from MyEvent where value > 100");
epStatement.Events += (sender, e) =>
{
foreach (var ev in e.NewEvents)
{
Console.WriteLine($"Detected event: {ev.Get("value")}");
}
};
В этом примере создаётся обработчик событий, который срабатывает, когда значение события превышает 100.
Такой шустрый инструмент пригодится в финансах, мониторинге и для обнаружения аномалий.
➡️ Обработать все события
🐸Библиотека шарписта #бустdotnet watch test --filter "Category=Unit"
Эта команда активирует «наблюдение» за исходниками проекта и при каждом изменении автоматически запускает только те тесты, которые помечены категорией Unit.
Вы сразу увидите результаты проверки критичных компонентов, не тратя время на полную прогонку всех тестов.
Если вы хотите параллельно следить и за интеграционными тестами, достаточно изменить фильтр:
dotnet watch test --filter "Category=Integration"
Ещё и интегрировать со скриптами и конвейерами проще простого.
🐸Библиотека шарписта #бустКак вообще что-то можно учиться у нейронки, если обучение превращается в вайбкодинг? Вопрос больше про процесс обучения, нежели про конкретную задачу.Самый главный совет в такой ситуации — это тренировать выдержку. Если вы можете держать себя в руках, то у вас два пути: 1. Вместо нейросети пользоваться документацией. Когда вам нужно что-то реализовать сначала подумайте что вам нужно. Декомпозируйте проект на модули а модули на функции. После декомпозиции можно погуглить как это реализовать. Например, вы хотите принимать данные по REST, значит вам нужна точка входа в сервис. Гуглите как это сделать. Буквально: «Как передать данные по REST в приложение на .NET». Бегло смотрите по выдаче и находите названия библиотек или инструментов, небольшие куски реализации и ищите по ним документацию. Первое время это может быть тяжело, особенно после вайбкоддинга. 2. Просить у нейросети пояснение, а не решение. Прежде чем начать работу с нейросетью можно подготовить промпт. Если вы не хотите видеть реализацию, то так и напишите: «Мне не нужна реализация или готовые куски кода, я хочу увидеть тезисы, которые натолкнут меня на решение. Подсказывай мне библиотеки или паттерны». 💬 Как вы поддерживаете баланс между помощью нейронки и самостоятельным погружением? Поделитесь опытом в комментариях 👇 P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму. 🐸Библиотека шарписта #междусобойчик
Available now! Telegram Research 2025 — the year's key insights 
