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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека шарписта | C#, F#, .NET, ASP.NET

تُعد قناة Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 21 860 مشتركاً، محتلاً المرتبة 6 187 في فئة التكنولوجيات والتطبيقات والمرتبة 30 800 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 860 مشتركاً.

بحسب آخر البيانات بتاريخ 14 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -44، وفي آخر 24 ساعة بمقدار 5، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.77‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.38‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 2 793 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 614 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 8.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 15 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

21 860
المشتركون
+524 ساعات
-207 أيام
-4430 أيام
أرشيف المشاركات
🛠 Асинхронное взаимодействие микросервисов в .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 в статье 🐸Библиотека шарписта

⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда. В еженеде
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда. В еженедельных письмах ты найдешь: ● Языки программирования и фреймворки для бэкенда ● Архитектура и проектирование серверных приложений ● Базы данных и управление данными ● Безопасность и защита данных ● Облачные технологии и DevOps ● API и интеграции ● Тестирование и отладка ● Инструменты и утилиты для бэкенд-разработчиков ● Лучшие практики и паттерны проектирования 👉Подписаться👈

⚡️ Скачивание больших файлов в ASP.NET MVC В ASP.NET можно эффективно скачивать большие файлы с помощью потоковой передачи, и
⚡️ Скачивание больших файлов в ASP.NET MVC В ASP.NET можно эффективно скачивать большие файлы с помощью потоковой передачи, избегая загрузки всего файла в память. ❗️ Основные проблемы при скачивании больших файлов: • Перегрузка памяти (OutOfMemoryException) если файл загружается полностью в память перед отправкой. • Высокая нагрузка на сервер при одновременной загрузке большого числа файлов. • Медленная передача данных без использования потоковой передачи. ✅ Как правильно скачивать файлы Используем FileStreamResult, который позволяет передавать файл через поток:
public ActionResult DownloadLargeFile()
{
    string filePath = Server.MapPath("~/App_Data/LargeFile.zip");
    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    
    return new FileStreamResult(fs, "application/octet-stream")
    {
        FileDownloadName = "LargeFile.zip"
    };
}
➡️ Подробнее о других методах в статье 🐸Библиотека шарписта

🆚 System.Text.Json против Newtonsoft.Json Если вам нужна максимальная производительность и низкое потребление памяти, а ваш
🆚 System.Text.Json против Newtonsoft.Json Если вам нужна максимальная производительность и низкое потребление памяти, а ваш проект работает на современных версиях .NET (особенно в ASP.NET или Blazor), выбирайте System.Text.Json. Если же вам важны расширенные возможности – динамическая работа с JSON, поддержка JObject, гибкие настройки сериализации и удобные атрибуты, или если ваш проект уже использует Newtonsoft.Json, лучше оставить его ➡️ Подробное сравнение с примерами кода 🐸Библиотека шарписта

🧑‍💻 Венгерская нотация в C# Венгерская запись – это соглашение об именовании переменных, при котором к именам добавляются п
🧑‍💻 Венгерская нотация в C# Венгерская запись – это соглашение об именовании переменных, при котором к именам добавляются префиксы, отражающие тип данных или назначение. Программисты на C использовали обозначения вроде «sz» для строк с завершающим нулём, «i» для индексов, «dw» для 32-битных числовых значений. В C# необходимость в указании типа в имени переменной стоит менее остро благодаря строгой статической типизации и поддержке интеллектуальных функций IDE. Примеры:szMessage Префикс «sz» означает строку, заканчивающуюся нулевым символом (zero-terminated string). • bIsReady Префикс «b» обозначает логический тип (boolean), а остальная часть имени описывает назначение переменной. • pData Префикс «p» указывает, что переменная является указателем (pointer). • m_strName Здесь «m_» означает, что переменная является полем (member) класса, а «str» – строкового типа (string) 🐸Библиотека шарписта

Венгерская нотация в C# Венгерская запись – это соглашение об именовании переменных, при котором к именам добавляются префикс
Венгерская нотация в C# Венгерская запись – это соглашение об именовании переменных, при котором к именам добавляются префиксы, отражающие тип данных или назначение. Истоки этой нотации восходят к ранним дням разработки WinAPI, когда программисты на C использовали обозначения вроде «sz» для строк с завершающим нулём, «i» для индексов, «dw» для 32-битных числовых значений. Со временем венгерская запись получила распространение в проектах Microsoft, где внимание уделялось безопасности и надежности работы низкоуровневых систем. С появлением современных языков программирования и мощных средств разработки ситуация изменилась. В C# строгая статическая типизация и поддержка интеллектуальных функций IDE делают необходимость в явном указании типа в имени переменной менее острой.

📚 ТОП-11 книг по базам данных в 2025 году Хотите разобраться в базах данных, но не знаете, с чего начать? Мы подготовили под
📚 ТОП-11 книг по базам данных в 2025 году Хотите разобраться в базах данных, но не знаете, с чего начать? Мы подготовили подборку из 11 лучших книг, которые помогут вам освоить раздичные базы данных, паттерны и антипаттерны, а также оптимизацию запросов. 🔗 Читайте в статье

✌️🤖 Как обмануть робота: 9 инструментов для прохождения системы автоматической фильтрации резюме Многие компании используют
✌️🤖 Как обмануть робота: 9 инструментов для прохождения системы автоматической фильтрации резюме Многие компании используют системы автоматического отбора резюме (ATS). Это фильтрует заявки по ключевым словам и формату, из-за чего даже подходящие кандидаты будут «отброшены». Работу получают те, кто знает, как работает система. ➡️ Подробнее в статье

🔐 AES-шифрование в C# Advanced Encryption Standard — широко используемый алгоритм симметричного шифрования, применяемый в ра
🔐 AES-шифрование в C# Advanced Encryption Standard — широко используемый алгоритм симметричного шифрования, применяемый в различных приложениях и сервисах для защиты конфиденциальных данных. В C# AES реализуется с помощью встроенного пространства имен System.Security.Cryptography, что позволяет шифровать и расшифровывать данные без использования сторонних библиотек. 💡 Как работает AES Алгоритм основан на подстановке, перестановке и множественных раундах преобразования. Используется ключ фиксированной длины: 128, 192 или 256 бит; и вектор инициализации. Шифрование и дешифрование выполняются с использованием режимов работы: • CBC: Cipher Block Chaining – стандартный режим. • GCM: Galois/Counter Mode – безопасный вариант, обеспечивающий аутентификацию данных. 🖇 Примеры реализации советуем посмотреть в статье 🐸Библиотека шарписта

☢️ Как не попасть в токсичную компанию: чек-лист для айтишника C офферами от Сбера, Вконтакте, Яндекса и других айтишных гига
☢️ Как не попасть в токсичную компанию: чек-лист для айтишника C офферами от Сбера, Вконтакте, Яндекса и других айтишных гигантов все понятно — это стабильные компании, работать в которых мечтают многие. Но вот что делать, если вас зовут работать в ноунейм-компанию, при этом предлагают з/п сильно выше рынка, полную удаленку и 100500 «плюшек»? Рассказываем, как проверить будущего работодателя и не оказаться в компании-однодневке с невыплатами зарплаты и токсичной культурой. 👉 Читать статью

🖥 Как С# разработчику выучить алгоритмы? Да выучить так, чтобы РАЗ И НАВСЕГДА. Уверен, что ты пробовал сам, да и не один раз
🖥 Как С# разработчику выучить алгоритмы? Да выучить так, чтобы РАЗ И НАВСЕГДА. Уверен, что ты пробовал сам, да и не один раз... Ты не смог выучить алгоритмы, потому что тебе: - cложно и бессистемно объясняли - практика не билась с теорией - отправляли читать устаревшие книги... Я это исправлю! И научу тебя решать алгоритмические задачи по четкой и понятной системе! Регистрируйся на открытый урок в предверии курса "Хакни алго-собесы". И за 1 час ты: ☝️ получишь четкую систему решения алгоритмических задач ☝️ решишь топ-3 популярные задачи ☝️ получишь RoadMap изучения алгоритмов 12:30 по МСК в эту субботу (1 февраля) стартуем. Регистируйся, чтобы не упустить шанс выучить алгоритмы навсегда Реклама. ИП Фатин Максим Романович, ИНН 525406426719. Erid 2VtzqxjGLWp