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

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

Открыть в Telegram

Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Больше

📈 Аналитический обзор Telegram-канала Библиотека шарписта | C#, F#, .NET, ASP.NET

Канал Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 21 687 подписчиков, занимая 5 949 место в категории Технологии и приложения и 30 265 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 21 687 подписчиков.

Согласно последним данным от 31 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -56, а за последние 24 часа — -12, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 17.05%. В первые 24 часа после публикации контент обычно набирает 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) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

21 687
Подписчики
-1224 часа
-177 дней
-5630 дней
Архив постов
🧑‍💻 Каналы в .NET – скрытая жемчужина для асинхронной обработки Каналы в .NET – это асинхронные очереди в памяти, которые п
🧑‍💻 Каналы в .NET – скрытая жемчужина для асинхронной обработки Каналы в .NET – это асинхронные очереди в памяти, которые позволяют передавать данные быстро и без задержек. Разберём как их использовать. ➖ Что такое каналы Каналы — это быстрая и эффективная альтернатива очередям для перемещения данных внутри приложения. Они позволяют передавать данные между потоками без блокировок. Где они полезны • Фоновые задачи: например, отправка email после регистрации. • Внутрипроцессные очереди: без необходимости поднимать Redis или Kafka. • Обработка событий в реальном времени: без задержек и потерь данных. ➡️ Чтобы узнать про каналы подробнее посмотрите видео 🐸Библиотека шарписта

📈 IT-найм 2025: почему сеньоры будут на вес золота, а джуны — без работы? Времена «мастеров на все руки» в IT подходят к кон
📈 IT-найм 2025: почему сеньоры будут на вес золота, а джуны — без работы? Времена «мастеров на все руки» в IT подходят к концу. Работодатели все чаще отдают предпочтение кандидатам с опытом работы на конкретном стеке и с продолжительным опытом в конкретной отрасли, будь то финтех, е-ком, ритейл, фудтех и т. д. Все потому, что рынок требует специалистов с глубоким пониманием специфики отрасли, способных решать задачи в рамках строгих ограничений. Рассказываем, какие специалисты будут востребованы в 2025 году и как ими стать. 👉 Читать статью

💡 Оркестрация фоновых задач в .NET Temporal.io — это инструмент для управления сложными рабочими процессами, который обеспеч
💡 Оркестрация фоновых задач в .NET Temporal.io — это инструмент для управления сложными рабочими процессами, который обеспечивает автоматическое восстановление, управление состоянием и предсказуемость выполнения задач. 🛠 Как использовать Temporal.io в .NET 1. Добавляем Temporal в .NET проект
dotnet add package Temporalio
2. Настраиваем клиент 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 = надежная система, где даже долгие процессы не теряются, не ломаются и автоматически восстанавливаются 📎 Подробнее в статье 🐸Библиотека шарписта

Как применять сторителлинг на IT-собеседовании Чтобы выделиться среди других кандидатов, можно использовать сторителлинг — ин
Как применять сторителлинг на IT-собеседовании Чтобы выделиться среди других кандидатов, можно использовать сторителлинг — инструмент, который помогает не только запомниться работодателю, но и показать свои софт-скиллы и опыт в выгодном свете. ➡️ Что внутри статьи: ▪️ Почему сторителлинг работает лучше сухого перечисления навыков. ▪️ Советы по созданию историй для IT-собеседований. ▪️ Готовые примеры успешных историй. 🔗 Читать статью 🔵 Чтобы подготовиться к IT-собеседованию, попробуйте наш курс «Алгоритмы и структуры данных»

📈 IT-найм 2025: почему сеньоры будут на вес золота, а джуны — без работы? Времена «мастеров на все руки» в IT подходят к кон
📈 IT-найм 2025: почему сеньоры будут на вес золота, а джуны — без работы? Времена «мастеров на все руки» в IT подходят к концу. Работодатели все чаще отдают предпочтение кандидатам с опытом работы на конкретном стеке и с продолжительным опытом в конкретной отрасли, будь то финтех, е-ком, ритейл, фудтех и т. д. Все потому, что рынок требует специалистов с глубоким пониманием специфики отрасли, способных решать задачи в рамках строгих ограничений. Рассказываем, какие специалисты будут востребованы в 2025 году и как ими стать. 👉 Читать статью

Вам нравится читать контент на этом канале? Возможно, вы задумывались о том, чтобы купить на нем интеграцию? Следуйте 3 простым шагам, чтобы сделать это: 1) Нажмите на ссылку: Вход 2) Пополняйтесь удобным способом 3) Размещайте публикацию Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.

💡 Shuffle() в действии До сих пор в LINQ не было встроенного метода для случайного перемешивания коллекций. Разработчикам пр
💡 Shuffle() в действии До сих пор в LINQ не было встроенного метода для случайного перемешивания коллекций. Разработчикам приходилось использовать разные неэффективные методы. В новом PR был добавлен метод Shuffle() в IEnumerable<T>. Будем ждать в одном из следующих релизов .NET Пример будущего кода:
var shuffledItems = items.Shuffle();
Подробности: 🔗 Обсуждение необходимости метода 🔗 Реализация в .NET 🐸Библиотека шарписта

Как классическая классификация ML помогает в реальном мире 🤖 Классификация в ML — это метод обучения, в котором модель обуча
Как классическая классификация ML помогает в реальном мире 🤖 Классификация в ML — это метод обучения, в котором модель обучается на размеченных данных и предсказывает, к какому классу относится новый объект. ✅ Фильтрация спама – чтобы в почте оставалось только важное. ✅ Рекомендации фильмов – Netflix знает, что ты любишь! ✅ Кредитный скоринг – банки решают, дать ли тебе займ. ✅ Предсказание мэтчей – как на нашем вебинаре по speed dating. 14 февраля мы разберём на практике задачу классификации: - Как выбрать оптимальные признаки - Что делать с несбалансированными данными - Как интерпретировать результаты модели 🔥 Если уже работаешь с ML или только начинающий программист – приходи на наш вебинар, в котором мы разберем «как предсказывать мэтч на speed dating» . Приходи!

🤔 Какие вебинары вам действительно нужны? Привет, шарписты! 👋 Мы готовим новые вебинары и хотим сделать их максимально полезными для вас. Это поможет нам не только создавать актуальный контент, но и развивать проект, находя новые точки контактов для вас. Ваши ответы дадут нам понимание, какие темы и форматы действительно важны, а также помогут сделать вебинары интереснее и продуктивнее. Заполнение займет всего пару минут, а нам это очень поможет! Спасибо, что участвуете в нашем развитии! 💙 👉 Пройти опрос

🧑‍💻 Мокирование последовательных вызовов в Moq Когда один и тот же метод вызывается несколько раз в тестах, часто требуется
🧑‍💻 Мокирование последовательных вызовов в Moq Когда один и тот же метод вызывается несколько раз в тестах, часто требуется вернуть разные значения при каждом вызове. Например, первый вызов возвращает 1, второй — 2, а третий выбрасывает исключение. Для подобных задач можно использовать SetupSequence(). 🛠 Как это работает Допустим, у нас есть интерфейс IMyInterface с методом MyMethod(), который вызывается несколько раз. Вместо обычного Setup() мы используем SetupSequence(), чтобы задать разные результаты:
var mock = new Mock<IMyInterface>();  
mock.SetupSequence(m => m.MyMethod())  
    .Returns(1)  
    .Returns(2)  
    .Throws(new Exception("Ошибка"));
Это удобно при тестировании кеширования, ретраев, обработки ошибок или сложных зависимостей. ➡️ Подробнее о SetupSequence и примерах использования 🐸Библиотека шарписта

🖥 Windows Terminal Preview 1.23 – что нового в обновлении Вышла новая версия превью терминала Windows! В этом обновлении разработчики сосредоточились на переносе множества настроек в графический интерфейс, а также внесли исправления ошибок и улучшения доступности. Ключевые нововведения: 1️⃣ Обновления интерфейса настроек: Многие параметры, ранее доступные только в файле settings.json, теперь можно настроить непосредственно через интерфейс. 2️⃣ Новая вкладка "Совместимость": Добавлена страница настроек "Совместимость", где можно разрешить фоновую работу терминала, включить отладочные функции и изменить режим измерения текста. 3️⃣ Настройка меню новой вкладки: Теперь пользователи могут кастомизировать меню новой вкладки прямо через интерфейс настроек. Cтабильная версия Windows Terminal обновлена до 1.22, включающей поддержку Sixel и панель сниппетов из предыдущей превью-версии. Установить Windows Terminal Preview можно со страницы релизов на GitHub или с помощью winget. 👉 Подробности читайте в официальном блоге

🛠 Асинхронное взаимодействие микросервисов в .NET Одним из самых популярных брокеров сообщений является RabbitMQ, а MassTran
🛠 Асинхронное взаимодействие микросервисов в .NET Одним из самых популярных брокеров сообщений является RabbitMQ, а MassTransit — это удобная библиотека для работы с ним в .NET. Сейчас разберем, как связать эти инструменты и создать отказоустойчивую систему обмена сообщениями. Какие инструменты нужны • RabbitMQ. Брокер сообщений, который позволяет сервисам отправлять и получать сообщения асинхронно, используя очереди. • MassTransit. Библиотека для .NET, которая предоставляет простой и удобный API для работы с брокерами сообщений. Как использовать их вместе 1️⃣ Устанавливаем RabbitMQ RabbitMQ можно развернуть в Docker:
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;
    }
}
💾 Сохраняйте мини-гайд себе, чтобы не потерять 📎 Подробный гайд в источнике 🐸Библиотека шарписта

⚙️ Гибридное кэширование Гибридный кэш это баланс между скоростью и масштабируемостью. Он объединяет два уровня хранения данн
⚙️ Гибридное кэширование Гибридный кэш это баланс между скоростью и масштабируемостью. Он объединяет два уровня хранения данных: 1️⃣ Кэш в памяти. Хранит часто используемые данные локально, обеспечивая моментальный доступ. 2️⃣ Распределенный кэш: Redis, SQL Server Cache. Используется для хранения данных, доступных нескольким серверам. То есть это метод, при котором данные сначала проверяются в локальном кэше, а если их там нет, запрашиваются из распределенного кэша, например, Redis. Настройка гибридного кэша в .NET Чтобы реализовать гибридное кэширование можно использовать HybridCache, который сочетает кэш в памяти и Redis. 1️⃣ Настроить локальный кэш 2️⃣ Добавить Redis как распределенный кэш 3️⃣ Реализовать логику работы с кэшем, используя стратегию «сначала память, потом Redis» ➡️ Подробнее о реализации HybridCache 🐸Библиотека шарписта

🤩 AI-коммиты в Visual Studio: теперь с кастомизацией Visual Studio позволяет генерировать и настраивать AI-коммиты. Можно за
🤩 AI-коммиты в Visual Studio: теперь с кастомизацией Visual Studio позволяет генерировать и настраивать AI-коммиты. Можно задать длину, формат и количество строк, чтобы коммиты соответствовали стандартам команды. ➖ Как настроить Перейти в Tools > Options > Copilot и настроить шаблоны и параметры ➡️ Подробнее в блоге Microsoft 🐸Библиотека шарписта

Swipe right or swipe left Что делать, если твои мэтчи в жизни не такие точные, как твой код? Спокойно, 14 февраля в 19:00 по
Swipe right or swipe left Что делать, если твои мэтчи в жизни не такие точные, как твой код? Спокойно, 14 февраля в 19:00 по МСК мы разберём, как ML анализирует speed dating и предсказывает match. 📌 Мы возьмем реальные данные со speed dating. 📌 Обучим модель, которая скажет: match или swipe left. 📌 Разберём, какие признаки реально важны (спойлер: работа в IT — не прям гарантия успеха (наши маркетологи подтверждают 😥). 💡 Приходи, если хочешь прокачать свой Python, ML и, возможно, станешь идеальной парой, как самый стильные форсы. 👉 Записаться

💻 Управление пакетами в .NET Благодаря NuGet разработчики могут сосредоточиться на коде, а не на поиске и подключении библио
💻 Управление пакетами в .NET Благодаря NuGet разработчики могут сосредоточиться на коде, а не на поиске и подключении библиотек. Это стандарт в экосистеме .NET, который упрощает разработку как для одиночных программистов, так и для команд. Почему NuGet важен • Автоматическое управление зависимостями – избавляет от ручного скачивания библиотек • Центральный репозиторий – тысячи готовых пакетов, включая Newtonsoft.Json, Entity Framework и Serilog • Лёгкая интеграция с .NET CLI, Visual Studio и CI/CD Что такое api.nuget.org/v3/index.json. Этот URL — официальный репозиторий пакетов NuGet, поддерживаемый Microsoft Работа с NuGet в .NET CLI Установка пакета:
dotnet add package Newtonsoft.Json
Обновление пакетов:
dotnet restore
Удаление пакета:
dotnet remove package Newtonsoft.Json
➡️ Подробнее на официальном сайте 🐸Библиотека шарписта

⚙️ SQL-конструктор для .NET KnightMoves.SqlObjects: объектно-ориентированный SQL-конструктор для .NET, который позволяет писать запросы максимально близко к чистому SQL, но с удобством C#. ➖ Как это работает Вместо строкового SQL-запроса создаются объекты, которые позволяют собирать SQL-инструкции интуитивно:
using KnightMoves.SqlObjects;

var sql = TSQL
    .SELECT()
    .STAR()
    .FROM("Products")
    .Build();

Console.WriteLine(sql);
В итоге получится запрос:
SELECT * FROM Products;
➡️ Документация библиотеки 🐸Библиотека шарписта

🚀 Обновленный CodeBehind Вышел CodeBehind 4.0, который добавляет новые возможности для удобного разделения логики и разметки
🚀 Обновленный CodeBehind Вышел CodeBehind 4.0, который добавляет новые возможности для удобного разделения логики и разметки в Blazor. Основные изменения:Обновленный BlazorComponentBase — улучшена поддержка жизненного цикла компонентов. ➖ Удобный Dependency Injection — сервисы передаются напрямую в код-бихайнды. Source Generators — автоматическая генерация кода для снижения рутины. Гибкая обработка событий — больше контроля и возможностей. Автоматическая синхронизация состояний — меньше бойлерплейта. ➡️ Подробный обзор обновления 🐸Библиотека шарписта

📊 Мониторинг .NET приложений Grafana + Prometheus – это мощное решение для сбора и визуализации метрик, а с Docker его настр
📊 Мониторинг .NET приложений Grafana + Prometheus – это мощное решение для сбора и визуализации метрик, а с Docker его настройка становится еще проще. Как настроить мониторинг? 1️⃣ Настраиваем Prometheus – это инструмент для сбора метрик. Он периодически опрашивает эндпоинты приложения и сохраняет данные.
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 — с его помощью развернём оба сервиса одной командой. 📎 Подробное руководство в статье 🐸Библиотека шарписта

🔒 JWT и OAuth для защиты API в .NET Открытые уязвимости могут привести к утечке данных, взлому системы или несанкционированн
🔒 JWT и OAuth для защиты API в .NET Открытые уязвимости могут привести к утечке данных, взлому системы или несанкционированному доступу. Разберём ключевые методы защиты API в .NET 1️⃣ JWT: безопасная аутентификация с токенами Один из самых популярных способов авторизации – это JSON Web Token. Токен создаётся сервером после успешного входа пользователя и передаётся клиенту. При каждом запросе клиент отправляет этот токен в заголовке, а сервер проверяет его подлинность. Чтобы сделать JWT безопасным, важно установить короткий срок действия токена и использовать обновляемые refresh-токены. Также стоит подписывать токены с надёжным ключом, а при необходимости применять асимметричное шифрование. 2️⃣ OAuth: делегированный доступ без передачи пароля OAuth 2.0 — это способ предоставить доступ к данным без передачи логина и пароля. Приложение получает токен доступа, а не сами учётные данные пользователя. Для мобильных приложений обязательно нужно использовать PKCE (Proof Key for Code Exchange), чтобы предотвратить перехват кода авторизации. А ещё не стоит выдавать токен с бессрочным сроком действия, иначе это может привести к утечкам. 📎 Лучшие практики защиты API в статье 🐸Библиотека шарписта