fa
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

نمایش بیشتر

📈 تحلیل کانال تلگرام Библиотека шарписта | 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)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

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 в статье 🐸Библиотека шарписта