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

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

Open in Telegram

Все самое полезное для 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.

21 849
Subscribers
-324 hours
-147 days
-5930 days
Attracting Subscribers
June '26
June '26
+97
in 1 channels
May '26
+181
in 1 channels
Get PRO
April '26
+150
in 0 channels
Get PRO
March '26
+120
in 0 channels
Get PRO
February '26
+169
in 1 channels
Get PRO
January '26
+184
in 2 channels
Get PRO
December '25
+126
in 1 channels
Get PRO
November '25
+166
in 1 channels
Get PRO
October '25
+163
in 1 channels
Get PRO
September '25
+140
in 1 channels
Get PRO
August '25
+137
in 4 channels
Get PRO
July '25
+144
in 1 channels
Get PRO
June '25
+179
in 0 channels
Get PRO
May '25
+171
in 3 channels
Get PRO
April '25
+244
in 15 channels
Get PRO
March '25
+360
in 52 channels
Get PRO
February '25
+325
in 48 channels
Get PRO
January '25
+264
in 35 channels
Get PRO
December '24
+348
in 35 channels
Get PRO
November '24
+325
in 37 channels
Get PRO
October '24
+338
in 35 channels
Get PRO
September '24
+324
in 36 channels
Get PRO
August '24
+317
in 35 channels
Get PRO
July '24
+335
in 36 channels
Get PRO
June '24
+298
in 31 channels
Get PRO
May '24
+466
in 36 channels
Get PRO
April '24
+519
in 38 channels
Get PRO
March '24
+542
in 31 channels
Get PRO
February '24
+587
in 30 channels
Get PRO
January '24
+674
in 25 channels
Get PRO
December '23
+785
in 34 channels
Get PRO
November '23
+439
in 4 channels
Get PRO
October '23
+606
in 24 channels
Get PRO
September '23
+812
in 0 channels
Get PRO
August '23
+639
in 0 channels
Get PRO
July '23
+573
in 0 channels
Get PRO
June '23
+410
in 0 channels
Get PRO
May '23
+572
in 0 channels
Get PRO
April '23
+405
in 0 channels
Get PRO
March '23
+892
in 0 channels
Get PRO
February '23
+365
in 0 channels
Get PRO
January '23
+407
in 0 channels
Get PRO
December '22
+409
in 0 channels
Get PRO
November '22
+571
in 0 channels
Get PRO
October '22
+356
in 0 channels
Get PRO
September '22
+398
in 0 channels
Get PRO
August '22
+503
in 0 channels
Get PRO
July '22
+541
in 0 channels
Get PRO
June '22
+584
in 0 channels
Get PRO
May '22
+290
in 0 channels
Get PRO
April '22
+339
in 0 channels
Get PRO
March '22
+451
in 0 channels
Get PRO
February '22
+233
in 0 channels
Get PRO
January '22
+308
in 0 channels
Get PRO
December '21
+356
in 0 channels
Get PRO
November '21
+359
in 0 channels
Get PRO
October '21
+405
in 0 channels
Get PRO
September '21
+398
in 0 channels
Get PRO
August '21
+400
in 0 channels
Get PRO
July '21
+397
in 0 channels
Get PRO
June '21
+311
in 0 channels
Get PRO
May '21
+479
in 0 channels
Get PRO
April '21
+480
in 0 channels
Get PRO
March '21
+487
in 0 channels
Get PRO
February '21
+521
in 0 channels
Get PRO
January '21
+374
in 0 channels
Get PRO
December '20
+11 455
in 0 channels
Date
Subscriber Growth
Mentions
Channels
23 June+7
22 June+2
21 June+1
20 June+4
19 June+5
18 June+2
17 June+8
16 June+2
15 June+3
14 June+12
13 June+5
12 June+3
11 June+2
10 June+4
09 June+1
08 June+3
07 June+6
06 June+2
05 June+4
04 June+6
03 June+6
02 June+2
01 June+7
Channel Posts
🔗 LINQ за пределами Where() и Select() Большинство разработчиков регулярно используют лишь небольшую часть LINQ. Но за последние версии .NET коллекция операторов заметно выросла. На шпаргалке собраны методы, которые часто упрощают код:
🔹 DistinctBy() — убрать дубликаты по ключу 🔹 Chunk() — разбить последовательность на пачки 🔹 MaxBy() / MinBy() — получить элемент по максимальному или минимальному значению ключа 🔹 CountBy() — посчитать элементы по группам 🔹 AggregateBy() — агрегировать данные по ключу за один проход 🔹 SelectMany() — развернуть вложенные коллекции 🔹 ToLookup() — построить быстрый lookup по ключу 🔹 Zip() — объединить две последовательности попарно
📌 Если до сих пор используете GroupBy(...).Count() или пишете собственную логику для поиска максимального элемента — возможно, в LINQ уже есть готовый оператор. 🔗 Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #схема

2
⏰ Уже сегодня в 19:00 (МСК) стартует наш открытый урок! Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдых
⏰ Уже сегодня в 19:00 (МСК) стартует наш открытый урок! Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее. Тема: «AI-инструменты в разработке: пишем код быстрее» Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины. 🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei). 👉 Узнать, как ускорить разработку с AI
1 702
3
💡 StartsWith('s') лучше, чем StartsWith("s") Если ищете один символ, используйте перегрузку с char: text.StartsWith(’s’); вместо: text.StartsWith(«s»); То же самое касается: text.EndsWith('s'); text.IndexOf(’s’); Перегрузки с char обычно немного эффективнее и сразу показывают, что поиск идёт по одному символу. 📌 Для одного символа — char, для строки или подстроки — string. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #sharp_view
2 186
4
🔊 5 возможностей .NET 11 Preview 5, которые могли пройти мимо вас Пока все обсуждают C# 15, в .NET 11 Preview 5 приехало нес
🔊 5 возможностей .NET 11 Preview 5, которые могли пройти мимо вас Пока все обсуждают C# 15, в .NET 11 Preview 5 приехало несколько полезных улучшений библиотек и SDK. 🈶 JSON Lines в System.Text.Json Теперь IAsyncEnumerable<T> можно сериализовать в формате JSON Lines без ручной сборки строк. Полезно для логов, событий и потоковой обработки данных. 🈶 EqualityComparer.Create по селектору ключа Новая перегрузка позволяет быстро создавать компараторы для HashSet, Distinct и GroupBy без собственного IEqualityComparer<T>. 🈶 StringBuilder.MoveChunks Передаёт накопленный текст в другой StringBuilder без копирования символов. Особенно интересно для генераторов кода и других сценариев с большими объёмами текста. 🈶 Улучшения производительности библиотек В Preview 5 продолжается работа над уменьшением аллокаций и ускорением базовых API платформы. 🈶 Подготовка к C# 15 SDK и инструменты продолжают получать поддержку новых возможностей языка ещё до финального релиза .NET 11. 🔗 Подробнее 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #async_news
2 170
5
👋 Ищем разработчиков, которые недавно проходили IT-курсы Если за последние 2 месяца вы где-то покупали курс или проходили интенсив, хотим узнать о вашем опыте 🔥 После какого обучения вы почувствовали реальный прогресс? А после какого осталось ощущение, что потратили время или деньги зря? ❗️ Ваш опыт поможет нам создавать программы, которые действительно приносят пользу разработчикам. 👉 Напишите в бот, о каком курсе можете рассказать и мы пришлем небольшой опросник: @proglibrary_feedback_bot Нам нужны 10-15 человек, готовых поделиться своим опытом. 🎁 В благодарность — подписка на Cursor, Claude или другой AI-инструмент до 3 000₽, либо денежное вознаграждение.
2 222
6
💡 Как посмотреть результат работы JIT прямо в Rider После установки плагина .NET Disassembler становится доступно окно ASM V
💡 Как посмотреть результат работы JIT прямо в Rider После установки плагина .NET Disassembler становится доступно окно ASM Viewer, где можно посмотреть нативный код, который сгенерировали: 🈂️ JIT 🈂️ ReadyToRun 🈂️ NativeAOT Поддерживаются x86, x64 и ARM64. Это удобно, когда нужно проверить: ✅ произошёл ли инлайнинг ✅ как JIT оптимизировал код ✅ какое влияние оказывают PGO и Tiered Compilation ✅ почему одна реализация работает быстрее другой Раньше для такого анализа обычно использовали BenchmarkDotNet, специальные флаги рантайма или сторонние утилиты. Теперь дизассемблированный код можно открыть прямо в IDE. 📌 Для работы понадобится установить плагин .NET Disassembler 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #il_люминатор
2 152
7
🤖 Мы тут подготовили небольшую игру по ИИ-агентам В ней нужно собрать AI-агента на LangGraph: выбрать узлы, пройти развилки
🤖 Мы тут подготовили небольшую игру по ИИ-агентам В ней нужно собрать AI-агента на LangGraph: выбрать узлы, пройти развилки и запустить собственный workflow. Никакой теории — сразу практика. Можно наглядно увидеть, как работают агентные системы, проверьте свои знания или показать другим как это всё работает 🔥 🎁 За прохождение получите персональную скидку на курс. Чем больше баллов наберете — тем больше будет скидка. Плюс сейчас действует предложение: покупаешь 1 курс, получаешь еще 2 любых в подарок. Для этого надо будет оставить заявку на сайте академии после прохождения игры. 🚀 Собрать своего AI-агента
2 024
8
🤖 Используешь AI для написания кода? В Яндексе покажут, как применять AI для реальных задач разработки. 23 июня в 19:00 совм
🤖 Используешь AI для написания кода? В Яндексе покажут, как применять AI для реальных задач разработки. 23 июня в 19:00 совместно с Яндексом проведём открытый урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов». Спикер — Ольга Лукьянова, руководитель команды поиска и навигации по коду в SourceCraft. Более 18 лет развивала инструменты для разработчиков в JetBrains и руководила разработкой IDE в Huawei. Что получишь на уроке: — поймёшь, как использовать AI-ассистентов и облачных агентов в работе; — научишься быстрее разбираться в новых проектах и кодовой базе; — узнаешь, какие задачи стоит отдавать AI и как получать качественный результат; — увидишь полный workflow работы с AI: от постановки задачи до код-ревью. На уроке — живой разбор реального проекта с кодом. Ольга покажет промпты из рабочих сценариев и ответит на ваши вопросы в Q&A. ⚠️ Количество мест ограничено 🗓️ Когда: 23 июня, 19:00 (МСК) 👉 Занять место на открытом уроке
2 266
9
😭😭😭 🐸 Библиотека шарписта #garbage_collector
😭😭😭 🐸 Библиотека шарписта #garbage_collector
2 274
10
No text...
2 460
11
😐 AutoMapper жив или уже пора на пенсию? Ещё несколько лет назад AutoMapper был почти стандартом для .NET-проектов. Сегодня
😐 AutoMapper жив или уже пора на пенсию? Ещё несколько лет назад AutoMapper был почти стандартом для .NET-проектов. Сегодня всё чаще встречаются ручной маппинг, Mapperly, Mapster и другие source generators. Одни не хотят тащить дополнительную магию ради пары присваиваний. Другие не готовы писать одинаковый код для десятков DTO. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #entry_point
2 457
12
⏰ Уже сегодня в 19:00 (МСК) стартует открытый урок! Тема: «Мультиагентные системы: почему большинство архитектур переусложнены» 🔥 За 90 минут разберёмся, когда действительно стоит строить мультиагентную систему, а когда она только добавляет сложность, расходы и новые точки отказа. Поговорим о критериях выбора архитектуры, типичных ошибках и ограничениях современных ИИ-агентов, которые важно учитывать ещё до внедрения в продукт. 🎙️ Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru. 🎁 Для всех участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов». 👉 Успей присоединиться к уроку
2 296
13
🔗 Три режима git reset, которые должен знать каждый разработчик Команды git reset --soft, --mixed и --hard путают даже опытных разработчиков, потому что Git одновременно работает с историей коммитов, индексом и рабочей директорией. 🔤 Из-за этого одна и та же команда может: — оставить изменения в staging area — снять файлы со staging — полностью откатить локальные изменения В этой шпаргалке собраны основные различия между всеми режимами git reset и показано, что именно происходит с HEAD, индексом и рабочими файлами 💡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #схема
2 807
14
Что такое IoC-контейнеры? 👾 — управляет зависимостями в приложении, автоматически создавая и внедряя объекты. 👍 — инвертирует управление созданием объектов, снижая связность между компонентами. 🥰 — упрощают код, управляя жизненным циклом и зависимостями объектов. ⚡️ — разрешает зависимости между классами и помогает внедрять их через конструкторы или свойства. 🐸Библиотека задач по C#
2 740
15
💡 Как устроен StringBuilder. Почему это не один большой буфер Многие представляют StringBuilder как один массив символов, который растёт по мере добавления текста. На самом деле внутри он устроен как связный список кусков, и из этого вытекает почти всё его поведение. 🔴 Каждый StringBuilder хранит текущий кусок, обычный char[], и ссылку на предыдущий кусок. Когда вы вызываете Append, символы пишутся в текущий кусок. Как только в нём кончается место, выделяется новый кусок, а старый остаётся висеть в цепочке позади. Получается список кусков, направленный назад, от последнего к первому. 🔴 Отсюда понятны несколько вещей. Append в среднем дешёвый, потому что чаще всего это запись в уже выделенный кусок без копирования всего текста. ToString дороже, ведь он проходит по всей цепочке и собирает символы в одну новую строку. Индексатор по символу на длинном тексте тоже не бесплатный, так как может потребоваться пройти по нескольким кускам, чтобы добраться до нужной позиции. Эта же модель объясняет свежий метод MoveChunks из .NET 11 Preview 5. Раз текст это цепочка кусков, передать его в другой билдер можно, просто переставив ссылку на цепочку, без копирования символов. Поэтому операция и выполняется за O(1), а исходный билдер остаётся пустым, но рабочим. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #il_люминатор
3 259
16
🎓 Где потренировать C# бесплатно Sololearn предлагает интерактивный курс по C# среднего уровня с практическими заданиями и в
🎓 Где потренировать C# бесплатно Sololearn предлагает интерактивный курс по C# среднего уровня с практическими заданиями и встроенной AI-проверкой решений. В программе: — массивы — ООП — структуры и enum — исключения — работа с файлами — generics Подойдёт тем, кто уже знает основы языка и хочет закрепить их на практике. 🔗 Ссылка 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #sharp_view
3 323
17
🎥 До открытого урока — несколько дней. Подготовили небольшую подборку материалов от нашего спикера Дмитрия Юдина. Дмитрий ру
🎥 До открытого урока — несколько дней. Подготовили небольшую подборку материалов от нашего спикера Дмитрия Юдина. Дмитрий руководит AI/ML-направлением в Сloud․ru и развивает Evolution AI Factory — среду для работы с GenAI: от инфраструктуры обучения LLM до внедрения интеллектуальных агентов. С чего начать: 📺 AI-инструменты для разработчиков — как код, автотесты и ассистенты меняют рутину инженера. 📺 AI-эволюция бизнеса в эпоху генеративных моделей — агентные системы в реальных продуктах. 📺 Разработка мертва? — дискуссия о будущем профессии и роли AI в ней. 📖 Применение LLM в бизнесе — статья Дмитрия о практике внедрения и роли облака. Одна из ключевых тем Дмитрия — практическое применение агентных систем и их ограничения. Именно об этом — бесплатный урок 18 июня в 19:00: «Мультиагентные системы: почему большинство архитектур переусложнены» 🔥 🎁 Для участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов». 👉 Успей занять место на открытом уроке
2 647
18
🔗 EqualityComparer.Create. Сравнение по одному полю без лишнего кода Нужно хранить пользователей в HashSet по email? Убирать дубли через Distinct? Группировать объекты по ключу? Раньше для этого часто приходилось писать собственный IEqualityComparer<T>. 🔴 В .NET 11 Preview 5 появилась новая перегрузка EqualityComparer<T>.Create, которая позволяет описать сравнение через селектор ключа: 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
2 690
19
💻 3 курса по цене одного — собери стек для оффера в топовую IT-компанию Для следующего карьерного шага мало писать код. Рабо
💻 3 курса по цене одного — собери стек для оффера в топовую IT-компанию Для следующего карьерного шага мало писать код. Работодатели ждут не только знания языка, но и понимания архитектуры, алгоритмов, автоматизации, AI-инструментов и агентных систем. Одно направление закрывает только часть задачи. Поэтому сейчас мы предлагаем освоить сразу несколько востребованных навыков — выбери любой курс и получи доступ еще к двум бесплатно 🔥 Собери стек навыков под свою цель: 🔹 подготовка к сильным компаниям (алгоритмы, архитектура); 🔹 переход в AI-направление (ИИ-агенты, AgentOps); 🔹 развитие в ML и Data Science (математика, основы ML); 🔹 новый оффер и рост дохода. Полученные знания применяешь в работе уже во время обучения. ⏳ Акция действует 48 часов — 13 и 14 июня. 👉 Переходи на сайт, выбирай курсы и оставляй заявку — за 10 минут поможем собрать комплект под твою цель.
2 766
20
🧩 Разбор задачи Правильный ответ: 10 Многие ожидают увидеть 20, но здесь есть важная деталь: Counter — это struct, а значит значимый тип (value type). Когда выполняется: var c2 = c1; создаётся не ссылка на объект, а полная копия структуры. После этой строки в памяти фактически находятся два независимых экземпляра: c1 -> Value = 10 c2 -> Value = 10 Затем меняется только копия: c2.Value = 20; Теперь состояние выглядит так: c1 -> Value = 10 c2 -> Value = 20 Поэтому вывод будет: 10 💡 Это одно из ключевых отличий struct от class. Для сравнения, если бы Counter был классом: public class Counter { public int Value; } то после: var c2 = c1; обе переменные ссылались бы на один и тот же объект, и результатом был бы уже 20. 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #dotnet_challenge
2 613