fa
Feedback
Библиотека шарписта | C#, F#, .NET, ASP.NET

Библиотека шарписта | C#, F#, .NET, ASP.NET

رفتن به کانال در Telegram

Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

نمایش بیشتر

📈 تحلیل کانال تلگرام Библиотека шарписта | C#, F#, .NET, ASP.NET

کانال Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 21 862 مشترک است و جایگاه 6 197 را در دسته فناوری و برنامه‌ها و رتبه 30 823 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 21 862 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 12 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -48 و در ۲۴ ساعت گذشته برابر -2 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.66% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 7.50% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 769 بازدید دریافت می‌کند. در اولین روز معمولاً 1 640 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 9 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند .net, шарписта, навигация, await, string تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 13 ژوئن, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

21 862
مشترکین
-224 ساعت
-257 روز
-4830 روز
آرشیو پست ها
🧑‍💻 Как отменить асинхронную операцию с помощью CancellationToken Одной из ключевых особенностей асинхронного программирова
🧑‍💻 Как отменить асинхронную операцию с помощью CancellationToken Одной из ключевых особенностей асинхронного программирования в C# является возможность отменить долгие или зависшие операции, используя 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, которое можно ловить и обрабатывать соответствующим образом. 🐸Библиотека шарписта #буст

🔥 Хороший ML-разработчик не начинает с нейросетей На собеседовании по ML System Design кандидату дают задачу «предсказать от
🔥 Хороший ML-разработчик не начинает с нейросетей На собеседовании по ML System Design кандидату дают задачу «предсказать отток», а он сразу лезет в нейросети. Красиво, модно, дорого. Но профи думает иначе: 💭 Логрегрессия? Градиентный бустинг? 💭 А сколько у нас данных и времени? 💭 Что с интерпретируемостью? Потому что не выбрать адекватную модель — это уже ошибка. Нейросети — это круто. Но без понимания классического ML вы просто «подключаете модельку», а не строите решения. ➡️ На курсе разберём: — линейные модели, деревья, PCA, кластеризацию — метрики, переобучение, bias vs variance — инженерные подводные камни, которые идут сразу после fit() 🎁 Скидка 10 000₽ по промокоду Earlybird, только до 27 июля. А ещё — подарок для первых 10 участников: специальный лонгрид по теме курса, чтобы вы могли начать погружение в материал уже сегодня. 🔗 Успей записаться — и начни карьеру в Data Science уже через 3 месяца!

🔄 Обновление MCP C# SDK В свежем обновлении Microsoft выводит разработку AI‑приложений на новый уровень. Разберём самое вкус
🔄 Обновление MCP C# SDK В свежем обновлении Microsoft выводит разработку AI‑приложений на новый уровень. Разберём самое вкусное в обновлении. • Диалоговый сбор данных Механизм, позволяющий вашим приложениям заранее задавать пользователю структурированные вопросы — например, «Введите количество элементов» (число), «Укажите путь к файлу» (строка) или «Разрешить доступ?» (флаг). • Структурированный вывод инструментов Позволяет инструментам явно описывать формат возвращаемых данных через JSON‑схему: какие поля будут, какого они типа и какие обязательны. • Улучшенные метаданные Расширенный блок _meta, включающий человекочитаемые поля name и title для каждого инструмента и подсказки. Как обновиться Чтобы начать пользоваться всеми этими возможностями, достаточно ввести в консоли проекта команду:
dotnet add package ModelContextProtocol --prerelease
После этого пересоберите приложение и убедитесь, что используемая версия пакета соответствует 2025‑06‑18. 🐸Библиотека шарписта #свежак

✏️ Промпт для создания абстракции Мы подготовили для вас полезный промпт, который поможет создать абстракцию для любой задачи. Используйте его, чтобы сделать ваш код более гибким, расширяемым и удобным для поддержки. Промпт:
Опиши, как создать абстракцию для задачи "[вставьте краткое описание задачи]" с использованием методик объектно-ориентированного проектирования. В ответе подробно изложи основные этапы проектирования абстракции, включая выявление ключевых классов и их ответственности, применение принципов SOLID и паттернов проектирования. Добавь пример кода на С# или диаграмму классов UML, иллюстрирующую предложенную абстракцию.
Хороший способ улучшить архитектуру вашего кода и овладеть лучшими практиками ООП. 🐸Библиотека шарписта #буст

👩‍💻 Управляем несколькими ветками одновременно Git worktrees — это возможность использовать несколько рабочих деревьев (wor
👩‍💻 Управляем несколькими ветками одновременно Git worktrees — это возможность использовать несколько рабочих деревьев (worktrees) для одного репозитория. В каждом таком дереве будет своя ветка, и вы можете работать с ними одновременно, без необходимости каждый раз переключаться с одной на другую. Как это работает 1. Вы создаете новый worktree для выбранной ветки. В результате появляется отдельный каталог, где будет находиться эта ветка:
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
Применяйте и властвуйте над ветками гита. 🐸Библиотека шарписта #буст

🤖 Как выбрать подходящий режим GitHub Copilot GitHub Copilot Chat от Microsoft теперь предлагает два режима — Ask Mode и Age
🤖 Как выбрать подходящий режим GitHub Copilot GitHub Copilot Chat от Microsoft теперь предлагает два режима — Ask Mode и Agent Mode. Оба инструмента предназначены для улучшения работы разработчиков, но каждый из них ориентирован на разные типы задач. Сами Microsoft помогают разобраться у себя в блоге какой режим выбрать вам. В Ask Mode Copilot помогает вам, предоставляя четкие ответы и примеры, но при этом не взаимодействует с кодом, находящимся в вашем проекте. Например, запрос «Что такое LINQ?». В Agent Mode Copilot не только предоставляет ответы, но и выполняет действия в вашем коде, что делает его незаменимым инструментом для более сложных задач. Как пример будет запрос «Отрефактори этот метод». ➡️ Блог разработчиков 🐸Библиотека шарписта #свежак

🛠 Кастомная обработка событий NEsper — это библиотека для .NET, предназначенная для сложной обработки событий. Она позволяет
🛠 Кастомная обработка событий NEsper — это библиотека для .NET, предназначенная для сложной обработки событий. Она позволяет анализировать потоки данных в реальном времени с минимальной задержкой, используя принципы, похожие на SQL, но для событий. Основные возможности: • Обрабатывайте события по мере их поступления, выявляйте аномалии или интересные паттерны без задержки. • Язык для описания правил обработки событий, чем-то похож на SQL, что делает его удобным для разработчиков. • Поддерживает распределённые системы и интегрируется с Кафкой и RabbitMQ. Пример использования:
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. Такой шустрый инструмент пригодится в финансах, мониторинге и для обнаружения аномалий. ➡️ Обработать все события 🐸Библиотека шарписта #буст

🍺 Подборка вакансий для шарпистов .NET Developer — 100 000 ₽, Удалёнка. Middle C# backend разработчик — до 2 000 $, Удалённо. C# / .NET Core Backend Разработчик — от 140 000 до 180 000 ₽, Удалёнка. Senior .NET Developer — от 225 000 до 365 000 ₽, Удалёнка. .NET‑разработчик (стажер) — Гибрид (Москва). Бустер — Удалённо (в любом городе мира). ➡️ Еще больше топовых вакансий — в нашем канале С# Jobs

Какой из методов интерфейса IEnumerator должен быть реализован для поддержки итерации в C#? 👾 — MoveNext() 👍 — MovePrevious() 🥰 — ResetCurrent() ⚡️ — Advance() Библиотека задач по C#

🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам. С 1 августа всё меняется: навсегда — останутся т
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам. С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас. -40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам) Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам. 📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA

📰 Новости семи прошлых дней Прошла неделя и мы снова собрали для вас то, что могло уйти из вашего инфополя. — .NET 10 Previe
📰 Новости семи прошлых дней Прошла неделя и мы снова собрали для вас то, что могло уйти из вашего инфополя. — .NET 10 Preview 6 Microsoft представила шестую предварительную версию .NET 10, снова улучшения и фиксы. — MCP-сервер на .NET и публикация его на NuGet С помощью новых шаблонов .NET 10 и SDK ModelContextProtocol разработчики могут создавать мощные серверы, расширяющие возможности AI, и делиться ими с сообществом через NuGet. — Как защитить поставки ПО Рекомендации по защите цепочки поставок программного обеспечения. Разумно ли внедрение Software Bill of Materials (SBOM), практик DevSecOps и принципа Zero Trust. — Ваш секретный козырь для резюмеКак продвинуть резюме в ТОП на HeadHunter 🐸Библиотека шарписта #свежак

🚦 Долгосрочное планирование: мираж или необходимость IT — это уникальная отрасль, где скорость изменений настолько велика, ч
🚦 Долгосрочное планирование: мираж или необходимость IT — это уникальная отрасль, где скорость изменений настолько велика, что планировать дольше, чем на спринт кажется безумием. Почему планирование — это опасная ловушка: • Сложно предсказать технологические тренды. • Чаще требуется гибкость и быстрота изменений, чем спланированный ком задач. • Конкуренты не спят и могут испортить ваши планы. Когда планирование полезно: • Крупные проекты не могут плавать вечно, им нужен фундамент и горизонт запланированных действий. • Долгосрочные планы показывают инвесторам, что компания думает о будущем и готова к масштабированию. 💬 Какой у вас горизонт планирования? Нужно ли долгосрочное планированbt в IT? Делитесь мыслями в комментариях 👇 🐸Библиотека шарписта #междусобойчик

🔥 Знакомьтесь, преподаватель нашего нового курса по ML — Мария Жарова. В карточках рассказали, чем Мария занимается и какие
+5
🔥 Знакомьтесь, преподаватель нашего нового курса по ML — Мария Жарова. В карточках рассказали, чем Мария занимается и какие советы даёт тем, кто хочет расти в IT и Data Science ☝️ А если вы уже поняли, что тянуть нечего, начните свой путь в ML правильно: с реальной практикой, поддержкой ментора и видимым результатом. 👉 Записывайтесь на курс

🐶 Ваш секретный козырь для резюме Фриланс и pet-проекты часто оказываются в тени при составлении резюме, но именно этот опыт
🐶 Ваш секретный козырь для резюме Фриланс и pet-проекты часто оказываются в тени при составлении резюме, но именно этот опыт может стать ключевым фактором, который выделит вас на фоне других кандидатов. Умение грамотно презентовать такой опыт и показать его ценность для постоянной работы — важный навык, который стоит развивать. ➡️ Узнайте, как превратить pet-проекты в мощное преимущество 🐸Библиотека шарписта

🤖 Знаете, чем настоящий AI отличается от чат-бота? Чат-бот просит перезагрузить роутер, а настоящий AI уже умеет читать ваши
🤖 Знаете, чем настоящий AI отличается от чат-бота? Чат-бот просит перезагрузить роутер, а настоящий AI уже умеет читать ваши эмоции в чате, включать музыку под ваше настроение, контролировать погрузку руды с точностью Терминатора и даже находить на КТ-снимках то, чего не заметит человеческий глаз. Современные компании для таких задач всё чаще используют Deep Learning — алгоритмы на основе нейросетей. Но чтобы попасть в эту лигу, нужен фундамент. И имя ему — Machine Learning. Наш новый курс по ML — это не волшебная таблетка. Это честный и структурированный путь в мир Data Science. Мы дадим вам базу, с которой вы: ✅ разберётесь, как мыслят машины (спойлер: матрицами!); ✅ научитесь строить работающие модели, а не карточные домики; ✅ получите трамплин для прыжка в Deep Learning. Хватит смотреть, как другие запускают ракеты. Пора строить свой собственный космодром. Начните с фундамента на нашем курсе по Machine Learning!

👨‍💻 Мгновенная валидация кода В стремительном темпе разработки важно улавливать ошибки сразу же после правки. Представьте, что можно запускать тесты каждый раз, когда вы сохраняете файл — без лишних кликов и ожидания. Команда дня:
dotnet watch test --filter "Category=Unit"
Эта команда активирует «наблюдение» за исходниками проекта и при каждом изменении автоматически запускает только те тесты, которые помечены категорией Unit. Вы сразу увидите результаты проверки критичных компонентов, не тратя время на полную прогонку всех тестов. Если вы хотите параллельно следить и за интеграционными тестами, достаточно изменить фильтр:
dotnet watch test --filter "Category=Integration"
Ещё и интегрировать со скриптами и конвейерами проще простого. 🐸Библиотека шарписта #буст

💡 ИИ в обучении: возможности и ловушки Сегодня технологии позволяют нам учиться с помощью нейронных сетей, но как не преврат
💡 ИИ в обучении: возможности и ловушки Сегодня технологии позволяют нам учиться с помощью нейронных сетей, но как не превратить процесс в бессмысленный «вайбкодинг» с GPT и действительно прокачать навыки. Один из наших подписчиков недавно спросил:
Как вообще что-то можно учиться у нейронки, если обучение превращается в вайбкодинг? Вопрос больше про процесс обучения, нежели про конкретную задачу.
Самый главный совет в такой ситуации — это тренировать выдержку. Если вы можете держать себя в руках, то у вас два пути: 1. Вместо нейросети пользоваться документацией. Когда вам нужно что-то реализовать сначала подумайте что вам нужно. Декомпозируйте проект на модули а модули на функции. После декомпозиции можно погуглить как это реализовать. Например, вы хотите принимать данные по REST, значит вам нужна точка входа в сервис. Гуглите как это сделать. Буквально: «Как передать данные по REST в приложение на .NET». Бегло смотрите по выдаче и находите названия библиотек или инструментов, небольшие куски реализации и ищите по ним документацию. Первое время это может быть тяжело, особенно после вайбкоддинга. 2. Просить у нейросети пояснение, а не решение. Прежде чем начать работу с нейросетью можно подготовить промпт. Если вы не хотите видеть реализацию, то так и напишите: «Мне не нужна реализация или готовые куски кода, я хочу увидеть тезисы, которые натолкнут меня на решение. Подсказывай мне библиотеки или паттерны». 💬 Как вы поддерживаете баланс между помощью нейронки и самостоятельным погружением? Поделитесь опытом в комментариях 👇 P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму. 🐸Библиотека шарписта #междусобойчик

👀 Запускаем Python из C# Бу, испугались? А мы да. Нашли видео, в котором запускается Python из C# кода, а в коде на Python з
👀 Запускаем Python из C# Бу, испугались? А мы да. Нашли видео, в котором запускается Python из C# кода, а в коде на Python запускаются либы, написанные на Си. Звучит пугающе и выглядит не менее устрашающе. ➡️ Смотреть видео 🐸Библиотека шарписта #буст