ch
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

显示更多

📈 Telegram 频道 Библиотека шарписта | C#, F#, .NET, ASP.NET 的分析概览

频道 Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 21 861 名订阅者,在 技术与应用 类别中位列第 6 194,并在 俄罗斯 地区排名第 30 800

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 21 861 名订阅者。

根据 13 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -49,过去 24 小时变化为 -3,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 12.71%。内容发布后 24 小时内通常能获得 7.49% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 778 次浏览,首日通常累积 1 638 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 9
  • 主题关注点: 内容集中在 .net, шарписта, навигация, await, string 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

凭借高频更新(最新数据采集于 14 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

21 861
订阅者
-324 小时
-257
-4930
帖子存档
✍🏻 Какая из операций linq исключает дублирование одинаковых элементов в выходной последовательности? Операция Distinct удаляет дублированные элементы из входной последовательности. Библиотека собеса по С#

📰 Дайджест новостей за неделю Собрали всё, что произошло на этой неделе, чтобы вы могли await важное без блокирующего Thread
📰 Дайджест новостей за неделю Собрали всё, что произошло на этой неделе, чтобы вы могли await важное без блокирующего Thread.Sleep(). Без null, без boxing, только актуальные штуки 🆕 .NET 10 Preview 2 Microsoft продолжает двигать .NET вперёд, и второй превью-релиз 10-й версии включает пачку обновлений во всех уголках платформы — от ядра до UI и облаков. 🧪 Microsoft обновили MSTest Там не просто косметические апдейты. В этом релизе добавлено множество реально полезных фич, о которых просили разработчики. 🆕 MultiGit в Visual Studio Теперь Visual Studio официально поддерживает работу с несколькими GitHub-аккаунтами. 📝 Visual Studio теперь сам пишет комментарии 🎮 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх 🐸Библиотека шарписта #свежак

👁 Прокачай внимательность Перед тобой — сетка со словами, зашифрованными по горизонтали. Некоторые из них напрямую связаны с
👁 Прокачай внимательность Перед тобой — сетка со словами, зашифрованными по горизонтали. Некоторые из них напрямую связаны с C#, другие — просто хорошо знакомы каждому программисту 💬 Напишите в комментариях, сколько слов смогли найти, и поделитесь своими находками под спойлером. 🐸Библиотека шарписта #междусобойчик

👀 Тест на внимательность Задача простая — слова зашифрованы по горизонтали. Не все из них относятся к Go, но каждое точно зн
👀 Тест на внимательность Задача простая — слова зашифрованы по горизонтали. Не все из них относятся к Go, но каждое точно знакомо настоящему программисту 🐸Библиотека шарписта #междусобойчик

🧩💊 Алгоритмическая самоуспокоенность: как мы разучились думать своей головой Каждый день мы сталкиваемся с бесконечным пото
🧩💊 Алгоритмическая самоуспокоенность: как мы разучились думать своей головой Каждый день мы сталкиваемся с бесконечным потоком информации, которая не просто наполняет наш день, а управляет нашими мыслями. Социальные сети, алгоритмы и вечная гонка за вниманием приводят к тому, что мы забываем, как думать собственной головой. Это не просто влияет на настроение, но и на способность анализировать информацию, принимать решения и, главное, не становиться частью системы манипуляций. Если вы хотите вернуться к осознанному подходу в восприятии мира и научиться фильтровать контент, то эта тема точно для вас. 🔗 Подробнее в статье 🐸 Библиотека джависта

☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes? 📅26 марта в 20:00 мск на открытом вебинаре мы разберем: – Per
☸️Хотите узнать, как деплоить ASP.NET-приложения в Kubernetes? 📅26 марта в 20:00 мск на открытом вебинаре мы разберем: – PersistentVolume – ConfigMap – Secret – Развернем БД в кластере и обсудим, почему секреты не такие уж секретные. С Kubernetes ваши ASP.NET Core-приложения станут масштабируемыми и гибкими. ➡️ Регистрируйтесь на вебинар и получите скидку на курс «C# ASP.NET Core-разработчик»: https://clc.to/ttot3w Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

💡 Лайфхак: 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  
Для этого достаточно добавить расширение метода GetEnumerator:
public static class Extensions
{
    public static IEnumerator<int> GetEnumerator(this int x)
        => Enumerable.Range(1, x).GetEnumerator();

    public static IEnumerator<int> GetEnumerator(this Range range)
        => Enumerable.Range(range.Start.Value, range.End.Value - range.Start.Value + 1).GetEnumerator();
}
💬 Уже использовали в работе или всё ещё балуетесь обычными циклами? 🐸Библиотека шарписта #буст

Лайфхак: 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. 🐸Библиотека шарписта #буст

Библиотека шарписта | C#, F#, .NET, ASP.NET - Telegram 频道 @csharpproglib 的统计与分析