Библиотека шарписта | C#, F#, .NET, ASP.NET
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Show more📈 Analytical overview of Telegram channel Библиотека шарписта | C#, F#, .NET, ASP.NET
Channel Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) in the Russian language segment is an active participant. Currently, the community unites 21 849 subscribers, ranking 6 183 in the Technologies & Applications category and 30 687 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 21 849 subscribers.
According to the latest data from 23 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -59 over the last 30 days and by -3 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 13.87%. Within the first 24 hours after publication, content typically collects 7.21% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 030 views. Within the first day, a publication typically gains 1 574 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 10.
- Thematic interests: Content is focused on key topics such as .net, шарписта, навигация, await, string.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все самое полезное для C#-разработчика в одном канале.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead”
Thanks to the high frequency of updates (latest data received on 24 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
🟢 Gen0 — сюда попадают новые объекты. Сборка происходит часто и быстро. 🟢 Gen1 — промежуточное поколение для объектов, переживших сборку Gen0. 🟢 Gen2 — долгоживущие объекты: кеши, синглтоны, крупные структуры приложения. Проверяется значительно реже.Такой подход позволяет GC большую часть времени работать только с небольшим количеством свежих объектов, не тратя ресурсы на всю кучу целиком. 🔜 Отдельно существует LOH (Large Object Heap). Туда попадают крупные объекты размером примерно от 85 КБ, чаще всего большие массивы. LOH обычно не уплотняется при обычных сборках, поэтому со временем может фрагментироваться. Практический вывод: ✅ уменьшайте количество временных объектов на горячих путях; ✅ избегайте лишних аллокаций в циклах; ✅ переиспользуйте большие буферы через ArrayPool<T>, чтобы не нагружать LOH. 📚 Что почитать дальше: «Фундаментальные основы сборщика мусора .NET» — один из лучших материалов для понимания поколений, LOH, режимов работы GC и причин пауз при сборке мусора. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #il_люминатор
🔹 DistinctBy() — убрать дубликаты по ключу 🔹 Chunk() — разбить последовательность на пачки 🔹 MaxBy() / MinBy() — получить элемент по максимальному или минимальному значению ключа 🔹 CountBy() — посчитать элементы по группам 🔹 AggregateBy() — агрегировать данные по ключу за один проход 🔹 SelectMany() — развернуть вложенные коллекции 🔹 ToLookup() — построить быстрый lookup по ключу 🔹 Zip() — объединить две последовательности попарно📌 Если до сих пор используете GroupBy(...).Count() или пишете собственную логику для поиска максимального элемента — возможно, в LINQ уже есть готовый оператор. 🔗 Источник 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #схема
«AI-инструменты в разработке: пишем код быстрее»Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины. 🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei). 👉 Узнать, как ускорить разработку с AI
text.StartsWith(’s’);вместо:
text.StartsWith(«s»);То же самое касается:
text.EndsWith('s');
text.IndexOf(’s’);
Перегрузки с char обычно немного эффективнее и сразу показывают, что поиск идёт по одному символу.
📌 Для одного символа — char, для строки или подстроки — string.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#sharp_viewТеперь IAsyncEnumerable<T> можно сериализовать в формате JSON Lines без ручной сборки строк. Полезно для логов, событий и потоковой обработки данных.🈶 EqualityComparer.Create по селектору ключа
Новая перегрузка позволяет быстро создавать компараторы для HashSet, Distinct и GroupBy без собственного IEqualityComparer<T>.🈶 StringBuilder.MoveChunks
Передаёт накопленный текст в другой StringBuilder без копирования символов. Особенно интересно для генераторов кода и других сценариев с большими объёмами текста.🈶 Улучшения производительности библиотек
В Preview 5 продолжается работа над уменьшением аллокаций и ускорением базовых API платформы.🈶 Подготовка к C# 15
SDK и инструменты продолжают получать поддержку новых возможностей языка ещё до финального релиза .NET 11.🔗 Подробнее 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #async_news
После какого обучения вы почувствовали реальный прогресс? А после какого осталось ощущение, что потратили время или деньги зря?❗️ Ваш опыт поможет нам создавать программы, которые действительно приносят пользу разработчикам. 👉 Напишите в бот, о каком курсе можете рассказать и мы пришлем небольшой опросник: @proglibrary_feedback_bot Нам нужны 10-15 человек, готовых поделиться своим опытом. 🎁 В благодарность — подписка на Cursor, Claude или другой AI-инструмент до 3 000₽, либо денежное вознаграждение.
✅ произошёл ли инлайнинг ✅ как JIT оптимизировал код ✅ какое влияние оказывают PGO и Tiered Compilation ✅ почему одна реализация работает быстрее другойРаньше для такого анализа обычно использовали BenchmarkDotNet, специальные флаги рантайма или сторонние утилиты. Теперь дизассемблированный код можно открыть прямо в IDE. 📌 Для работы понадобится установить плагин .NET Disassembler 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #il_люминатор
«Мультиагентные системы: почему большинство архитектур переусложнены»🔥 За 90 минут разберёмся, когда действительно стоит строить мультиагентную систему, а когда она только добавляет сложность, расходы и новые точки отказа. Поговорим о критериях выбора архитектуры, типичных ошибках и ограничениях современных ИИ-агентов, которые важно учитывать ещё до внедрения в продукт. 🎙️ Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru. 🎁 Для всех участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов». 👉 Успей присоединиться к уроку
git reset --soft, --mixed и --hard путают даже опытных разработчиков, потому что Git одновременно работает с историей коммитов, индексом и рабочей директорией.
🔤 Из-за этого одна и та же команда может:
— оставить изменения в staging area — снять файлы со staging — полностью откатить локальные измененияВ этой шпаргалке собраны основные различия между всеми режимами git reset и показано, что именно происходит с HEAD, индексом и рабочими файлами 💡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #схема
StringBuilder как один массив символов, который растёт по мере добавления текста. На самом деле внутри он устроен как связный список кусков, и из этого вытекает почти всё его поведение.
🔴 Каждый StringBuilder хранит текущий кусок, обычный char[], и ссылку на предыдущий кусок. Когда вы вызываете Append, символы пишутся в текущий кусок. Как только в нём кончается место, выделяется новый кусок, а старый остаётся висеть в цепочке позади. Получается список кусков, направленный назад, от последнего к первому.
🔴 Отсюда понятны несколько вещей. Append в среднем дешёвый, потому что чаще всего это запись в уже выделенный кусок без копирования всего текста. ToString дороже, ведь он проходит по всей цепочке и собирает символы в одну новую строку. Индексатор по символу на длинном тексте тоже не бесплатный, так как может потребоваться пройти по нескольким кускам, чтобы добраться до нужной позиции.
Эта же модель объясняет свежий метод MoveChunks из .NET 11 Preview 5. Раз текст это цепочка кусков, передать его в другой билдер можно, просто переставив ссылку на цепочку, без копирования символов. Поэтому операция и выполняется за O(1), а исходный билдер остаётся пустым, но рабочим.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#il_люминатор— массивы — ООП — структуры и enum — исключения — работа с файлами — genericsПодойдёт тем, кто уже знает основы языка и хочет закрепить их на практике. 🔗 Ссылка 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #sharp_view
var users = new HashSet<User>(
EqualityComparer<User>.Create(
user => user!.Email,
StringComparer.OrdinalIgnoreCase));
users.Add(new User("ada@example.com", "Ada"));
users.Add(new User("ADA@example.com", "Ada Lovelace"));
Console.WriteLine(users.Count); // 1
Здесь сравнение выполняется по Email без учёта регистра.
Плюс такого подхода в том, что логика равенства остаётся локальной и не требует переопределения Equals и GetHashCode у самого типа.
Работает везде, где принимается IEqualityComparer<T>: HashSet, Distinct, GroupBy, ToDictionary и не только.
⚠️ Пока доступно в .NET 11 Preview 5.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#async_news
Available now! Telegram Research 2025 — the year's key insights 
