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

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

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram Библиотека шарписта | C#, F#, .NET, ASP.NET

El canal Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 21 688 suscriptores, ocupando la posición 5 949 en la categoría Tecnologías y Aplicaciones y el puesto 30 265 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 21 688 suscriptores.

Según los últimos datos del 31 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -56, y en las últimas 24 horas de -12, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 17.05%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 7.97% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 3 698 visualizaciones. En el primer día suele acumular 1 728 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 23.
  • Intereses temáticos: El contenido se centra en temas clave como .net, шарписта, навигация, await, string.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 01 septiembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

21 688
Suscriptores
-1224 horas
-177 días
-5630 días
Archivo de publicaciones
Лайфхак: foreach работает даже с числами Начиная с C# 9 можно итерироваться по числам:
foreach (int x in 5)
    Console.Write($"{x} ");
// Вывод: 1 2 3 4 5  

foreach (var n in 42..46)
    Console.Write($"{n} ");
// Вывод: 42 43 44 45 46 
Для этого достаточно добавить 🐸Библиотека шарписта #буст

🤯 Баги, которые IDE не смогла предсказать Программисты доверяют своим инструментам, но иногда даже самая умная IDE оказывает
🤯 Баги, которые IDE не смогла предсказать Программисты доверяют своим инструментам, но иногда даже самая умная IDE оказывается бессильна перед хитроумными багами. Это те моменты, когда компилятор молчит, дебаггер пожимает плечами, а ты смотришь в монитор и думаешь: «Как так-то». 🛠 В Библиотеке программиста мы считаем, что самые крутые истории — это те, которые заставляют нас учиться. Делитесь своими случаями, когда: — Компилятор не ругался, но всё работало "не так". — Ошибка пряталась в очевидном месте, но её никто не замечал. — Код выглядел идеально, но прод сказал: "ну ты и наделал..." — Рефакторинг только ухудшил ситуацию. Начнём с нашего админа:
Одной из моих первых фичей была отправка письма по шаблону. Отправку реализовал — с этим проблем не возникло. Добавил логирование, чтобы отслеживать какие письма кому идут. Так случилось, что на тестирование подзабили, потому что письма на тестовой среде не отправлялись. Вывели это в прод и оказалось, что ошибся в форматировании строки в логах... IDE как-то упустила этот момент, а мне зелёному хотелось поскорее увидеть плоды своего творения. В тот же день я и повёз свой первый хотфикс.
🐸Библиотека шарписта #междусобойчик

😊 Промт дня: генератор регулярных выражений Регулярные выражения это что-то на эльфийском. Вместо ручного написания попросите об этом нейросеть с помощью промта:
I want you to act as a regex generator. Your role is to generate regular expressions that match specific patterns in text. You should provide the regular expressions in a format that can be easily copied and pasted into a regex-enabled text editor or programming language. Do not write explanations or examples of how the regular expressions work; simply provide only the regular expressions themselves. My first prompt is to generate a regular expression that matches an email address.
В этом примере будет сгенерировано выражение, для матчинга email-адресов. 💬 Часто пишете регулярки? Делитесь в комментариях! 🚀 🐸Библиотека шарписта #буст

💬 Как оставлять комментарии в чате нашего канала В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи. ⚠️ Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии. ❓Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас. ✅ Как присоединиться к чату, чтобы бот вас не забанил — Зайдите в описание канала и нажмите кнопку Discuss / Чат — Нажмите Join / Присоединиться — Сразу обратите внимание на сообщение от бота Shieldy — Решите простой пример и отправьте ответ в чат После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат. ❗️ Если вас все-таки забанили — Это временная блокировка на несколько минут — Подождите и попробуйте зайти позже, бот снова отправит вам капчу Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение. 👾 Спасибо, что активно участвуете в обсуждении наших постов!

⚙️ Передаём данные между потоками В C# есть несколько способов передать данные из одного потока в другой. Выбор зависит от тр
⚙️ Передаём данные между потоками В C# есть несколько способов передать данные из одного потока в другой. Выбор зависит от требований к производительности, удобству и безопасности. Несколько распространенных вариантов: 1️⃣ Использование BlockingCollection<T> Это потокобезопасная коллекция, позволяющая передавать данные от одного потока к другому.
var collection = new BlockingCollection<int>();

        // Поток-поставщик (Producer)
        Task.Run(() =>
        {
            for (int i = 0; i < 10; i++)
            {
                collection.Add(i);
                Console.WriteLine($"Производитель: добавил {i}");
                Thread.Sleep(500);
            }
            collection.CompleteAdding();
        });

        // Поток-потребитель (Consumer)
        Task.Run(() =>
        {
            foreach (var item in collection.GetConsumingEnumerable())
            {
                Console.WriteLine($"Потребитель: получил {item}");
            }
        }).Wait();
2️⃣ Использование TaskCompletionSource<T> Когда нужно передать значение между потоками в будущем.
var tcs = new TaskCompletionSource<int>();

        // Поток-поставщик
        Task.Run(() =>
        {
            Thread.Sleep(2000);
            tcs.SetResult(42);
        });

        // Поток-потребитель
        int result = await tcs.Task;
        Console.WriteLine($"Получено: {result}");
3️⃣ Использование ConcurrentQueue<T> Если нужно неблокирующее хранилище данных.
var queue = new ConcurrentQueue<int>();

        // Поток-поставщик
        Task.Run(() =>
        {
            for (int i = 0; i < 10; i++)
            {
                queue.Enqueue(i);
                Console.WriteLine($"Добавлено {i}");
                Thread.Sleep(500);
            }
        });

        // Поток-потребитель
        Task.Run(() =>
        {
            while (true)
            {
                if (queue.TryDequeue(out int item))
                {
                    Console.WriteLine($"Получено {item}");
                }
                Thread.Sleep(100);
            }
        }).Wait();
4️⃣ Использование Channel<T> (System.Threading.Channels) Альтернативный подход к BlockingCollection<T>
var channel = Channel.CreateUnbounded<int>();

        // Поток-поставщик
        _ = Task.Run(async () =>
        {
            for (int i = 0; i < 10; i++)
            {
                await channel.Writer.WriteAsync(i);
                Console.WriteLine($"Производитель: {i}");
                await Task.Delay(500);
            }
            channel.Writer.Complete();
        });

        // Поток-потребитель
        await foreach (var item in channel.Reader.ReadAllAsync())
        {
            Console.WriteLine($"Потребитель: {item}");
        }
💬 Какой вариант вам больше всего понравился? 🐸Библиотека шарписта #буст

🎮💾 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх Оптимизация памяти в Unity — ключ к стабильной раб
🎮💾 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх Оптимизация памяти в Unity — ключ к стабильной работе игр. Если хочется избежать лагов и повысить FPS, важно правильно управлять памятью. Использование эффективных методов загрузки и выгрузки данных, уменьшение количества аллокаций и грамотное применение сборщика мусора помогут улучшить производительность и стабильность игры. ➡️ Подробнее в статье 🐸Библиотека шарписта

💾 Шпаргалка по C# Все важные моменты в одном репозитории. Сохраняйте себе в закладки. ➡️ Репозиторий со шпаргалкой 🐸Библиот
💾 Шпаргалка по C# Все важные моменты в одном репозитории. Сохраняйте себе в закладки. ➡️ Репозиторий со шпаргалкой 🐸Библиотека шарписта #буст

🐧 Пингвин, покоривший мир: история взлета Linux – ОС, управляющей 96% серверов В 1991 году на компьютере с 4 мегабайтами пам
🐧 Пингвин, покоривший мир: история взлета Linux – ОС, управляющей 96% серверов В 1991 году на компьютере с 4 мегабайтами памяти родилась программа, которая сегодня управляет большей частью интернета, смартфонами и даже космическими аппаратами. Это история Linux, рассказанная одним из первых свидетелей. ➡️ Читать статью ➡️ Зеркало

📝 Visual Studio теперь сам пишет комментарии Microsoft представила автоматическую генерацию комментариев в Visual Studio с п
📝 Visual Studio теперь сам пишет комментарии Microsoft представила автоматическую генерацию комментариев в Visual Studio с помощью GitHub Copilot. Теперь, просто введя /// перед методом, можно получить готовое описание его работы, параметров и возвращаемого значения. • Доступно в Visual Studio 17.14 Preview 2. ➡️ Подробнее в блоге разработчиков Как думаете, полезно или лучше вообще не писать комментарии? 💬 🐸Библиотека шарписта #свежак

Количество уникальных букв в строке 1. Создаем строку str, которую нужно проанализировать. 2. Применяем метод Distinct() для
Количество уникальных букв в строке 1. Создаем строку str, которую нужно проанализировать. 2. Применяем метод Distinct() для получения уникальных символов в строке. 3. Вызываем метод Count() для получения количества элементов в последовательности уникальных символов. 4. Добавляем параметр char.IsLetter, чтобы учитывать только буквы алфавита.

Как устроены поколения в сборке мусора Garbage Collector (GC) в .NET работает по поколенческой (generational) модели и исполь
Как устроены поколения в сборке мусора Garbage Collector (GC) в .NET работает по поколенческой (generational) модели и использует три поколения, нумеруемые от 0. 1️⃣ Gen 0 (Первое поколение) • В этом поколении создаются новые объекты. • Сборки происходят часто, но занимают мало времени. • Если объект переживает сборку мусора, он перемещается в Gen 1. Очистка происходит когда выделено определенное количество памяти или когда в системе недостаточно памяти. 2️⃣ Gen 1 (Второе поколение) • Содержит объекты, которые выжили после очистки Gen 0. • Используется как буфер перед Gen 2. • Очистка Gen 1 происходит реже, чем Gen 0. Очистка происходит когда Gen 0 заполняется, и GC не смог освободить достаточно памяти. 3️⃣ Gen 2 (Третье поколение) • Включает долгоживущие объекты, например, кеш, синглтоны. • Очистка происходит редко и занимает больше времени. • Все объекты, пережившие сборку в Gen 1, перемещаются в Gen 2. Очистка происходит, когда в системе не хватает памяти. А также есть LOH (Large Object Heap) – специальная область для больших объектов. В нём очистка очень редкая и дорогостоящая. Чем меньше объектов доживает до Gen 2, тем лучше работает GC. 🐸Библиотека шарписта #буст

📰 Еженедельный дайджест Что произошло за прошедшую неделю марта: ➖ EF Core 9 в MongoDB — в MongoDB обновили провайдер для En
📰 Еженедельный дайджест Что произошло за прошедшую неделю марта: ➖ EF Core 9 в MongoDB — в MongoDB обновили провайдер для Entity Framework Core, добавив совместимость с EF Core 9. Новый формат файлов решений в .NET — В .NET представлена поддержка нового XML-формата файлов решений — SLNX. ➖ Сервисные обновления .NET — Microsoft выпустила мартовские обновления для .NET 8.0 и 9.0, устраняющие уязвимость повышения привилегий (CVE-2025-24070) ➖ ТОП-30 вопросов и ответов для собеседований в 2025 году — собрали для вас самые частые вопросы со структурами данных. 🐸Библиотека шарписта #свежак

🚀 CQRS, DDD, Event Sourcing — мощные паттерны или способ усложнить жизнь В мире .NET (и не только) многие разработчики рано
🚀 CQRS, DDD, Event Sourcing — мощные паттерны или способ усложнить жизнь В мире .NET (и не только) многие разработчики рано или поздно сталкиваются с модными архитектурными подходами: CQRS, DDD и Event Sourcing. Но где проходит граница между «правильной» архитектурой и бессмысленным оверинжинирингом. 💬 Как думаете, эти патерны — must-have или бесполезный оверхед? Делитесь своим опытом! 👇 🐸Библиотека шарписта #междусобойчик

Любите делать техдолг? 🐸Библиотека шарписта #развлекалово
Любите делать техдолг? 🐸Библиотека шарписта #развлекалово

➕➖ Нужна ли математика программисту Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащилс
Нужна ли математика программисту Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё. ➡️ Что внутри: ✓ Почему все считают, что программисты — математики ✓ В каких сферах разработки можно вообще не знать математику ✓ Где хватит готовых библиотек, а где придётся разбираться в формулах ✓ Какие области программирования требуют мощного математического бэкграунда ✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science ✓ Топ книг, которые помогут понять и даже полюбить математику 🔵 Чтобы знать математику, забирайте наш курс → «Математика для Data Science» 📎 Читать статью Proglib Academy

⭐️ Новый выпуск .NET Rocks C# 13 уже на горизонте! Какие изменения нас ждут, и стоит ли разработчикам опасаться очередного «р
⭐️ Новый выпуск .NET Rocks C# 13 уже на горизонте! Какие изменения нас ждут, и стоит ли разработчикам опасаться очередного «революционного» обновления? В новом выпуске подкаста .NET Rocks! ведущий архитектор C#, раскрывает детали будущего языка. 🧐 О чем выпуск • Будущее C# — какие новые возможности появятся в C# 13. • Как Microsoft принимает решения о развитии языка. • Как новые фичи повлияют на разработчиков. Если вы работаете с .NET, этот выпуск точно стоит послушать. ➡️ Слушать подкаст 🐸Библиотека шарписта #буст

DotNet Rocks: новый выпуск подкаста C# 13 уже на горизонте. Какие изменения нас ждут, и стоит ли разработчикам опасаться очередного «революционного» обновления? В новом выпуске подкаста .NET Rocks! ведущий архитектор C#, раскрывает детали будущего языка. 🧐 О чем выпуск • Будущее C# — какие новые возможности появятся в C# 13. • Как Microsoft принимает решения о развитии языка. • Как новые фичи повлияют на разработчиков. Если вы работаете с .NET, этот выпуск точно стоит послушать. ➡️ Слушать подкаст 🐸Библиотека шарписта #буст

❓ Всё ещё пишете на Entity Framework или уже перешли на Dapper EF, Dapper, ADO.NET… ORM vs чистый SQL – споры не утихают! 💭
Всё ещё пишете на Entity Framework или уже перешли на Dapper EF, Dapper, ADO.NET… ORM vs чистый SQL – споры не утихают! 💭 Кто-то остаётся на EF Core, потому что удобство важнее всего. 🚀 Кто-то выбирает Dapper ради скорости и контроля. ⚖️ А кто-то комбинирует оба подхода, используя сильные стороны каждого. А какой ваш путь? Почему именно этот инструмент, что помогло, а что оказалось головной болью? Делитесь в комментах! 👇 🐸Библиотека шарписта #междусобойчик

✅ Чек-лист: правильное использование LINQ в C# Этот чек-лист поможет вам писать чистый и оптимальный LINQ-код без лишних опер
Чек-лист: правильное использование LINQ в C# Этот чек-лист поможет вам писать чистый и оптимальный LINQ-код без лишних операций и ошибок: ➖ Основные принципы LINQ ✓ Понимать разницу между IEnumerable<T> и IQueryable<T> ✓ Фильтровать (Where()) данные как можно раньше в цепочке вызовов. ✓ Извлекать (Select()) только нужные поля, а не всю сущность. ✓ Использовать Any() вместо Count() > 0 для проверки наличия элементов. ✓ Избегать многократных проходов по коллекции (повторных .Where(), .Select()) ✓ Знать разницу между отложенным и немедленным выполнением. ➖ Работа с Where, Select, FirstOrDefault ✓ Не использовать Where().FirstOrDefault() – просто FirstOrDefault(). ✓ Вызывать Where() перед Select(), а не наоборот. ✓ Использовать FirstOrDefault(predicate), если проверяется только одно значение. ➖ Nullable ✓ Использовать ?? для значений, которые могут быть null. ✓ Использовать DefaultIfEmpty() при GroupBy(). ➖ Избегание дублирующих данных ✓ Использовать Distinct() для уникальных значений. ✓ Использовать Union() для объединения без дубликатов. ✓ Использовать Except() и Intersect() для разницы между коллекциями. Помните, что LINQ — это не просто удобство, а инструмент, требующий понимания его тонкостей. 🐸Библиотека шарписта #буст