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 860 subscribers, ranking 6 188 in the Technologies & Applications category and 30 787 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 21 860 subscribers.

According to the latest data from 15 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -45 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 12.95%. Within the first 24 hours after publication, content typically collects 7.46% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 830 views. Within the first day, a publication typically gains 1 631 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 9.
  • 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 16 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 860
Subscribers
-524 hours
-227 days
-4530 days
Posts Archive
Какой ИИ-инструмент для программирования вы считаете самым полезным и почему? 🛠
Anonymous voting

Привет, друзья! 👋 Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал еще полезнее. Самые интересные ответы войдут в статью! 🏆

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

🎅 Какой подарок вы бы хотели на НГ? Пишите в комментариях👇 #интерактив
🎅 Какой подарок вы бы хотели на НГ? Пишите в комментариях👇 #интерактив

⚙️ 🗒️ MemoryCache в C#: Зачем и как использовать MemoryCache — это инструмент для хранения временных данных в оперативной памяти, что позволяет ускорить доступ к часто используемой информации. Это особенно полезно для веб-приложений, API или других программ, где важно снизить нагрузку на внешние источники данных (например, базы данных). Основные возможности MemoryCache ⚙️ Быстродействие: Данные хранятся в памяти, поэтому доступны быстрее, чем при запросах в БД или файловую систему. ⚙️ Временное хранение: Вы можете настроить срок жизни данных (например, 5 минут или до определённого времени). ⚙️ Политики истечения: Абсолютное истечение (Absolute Expiration): Данные удаляются по истечении указанного времени. Скользящее окно (Sliding Expiration): Время истечения обновляется при каждом обращении к данным. ⚙️ Управление памятью: Ограничение общего объёма данных, чтобы не перегружать оперативную память. ❓Когда использовать MemoryCache? ✅ Кэширование часто используемых данных: Например, результаты сложных запросов в базу данных, ответы сторонних API или статические файлы (настройки, конфигурации). ✅ Улучшение производительности: Если ваши данные редко изменяются, кэширование уменьшает задержки на их повторное получение. ✅ Локальные сценарии: MemoryCache используется для данных, которые актуальны только в текущем процессе (например, при работе на одном сервере).

Вакансии «Библиотеки программиста» — ждем вас в команде! Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем: 👉контент-менеджеров для ведения телеграм-каналов Подробности тут Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴 Ждем ваших откликов 👾

⚙️⚙️ System.Threading.Channels ❓ Каналы в C# — это мощный инструмент для организации обмена данными между производителями (pr
⚙️⚙️ System.Threading.Channels ❓ Каналы в C# — это мощный инструмент для организации обмена данными между производителями (producers) и потребителями (consumers). Канал можно представить как асинхронную очередь, которая связывает две стороны: одна записывает данные, а другая — их читает. Такой подход полезен, если данные генерируются в одном потоке, а обрабатываются в другом. Основные компоненты каналов: ⚙️ ChannelWriter — отвечает за добавление данных в канал. Это «производитель». ⚙️ ChannelReader — отвечает за чтение данных из канала. Это «потребитель». ⚙️ Channel — объединяет Writer и Reader, предоставляя общий интерфейс для их взаимодействия. Преимущества использования: ✅ Работа с каналами основана на async/await, что упрощает интеграцию с другими асинхронными компонентами. ✅ Низкоуровневое управление потоками и памятью делает их быстрее, чем использование классических очередей. ✅ Поддерживает настройку поведения, например, фиксированный или неограниченный размер буфера.

🚀 Как ускорить распределенные системы: 8 стратегий снижения времени ожидания Высокая latency — это скрытый враг, превращающи
🚀 Как ускорить распределенные системы: 8 стратегий снижения времени ожидания Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона? Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN? 💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения. 🔗 Читать статью 🔗 Зеркало

❓ ref и out: в чём разница? Вы когда-нибудь задумывались, в чём различие между ключевыми словами ref и out в C#? Оба позволяю
ref и out: в чём разница? Вы когда-нибудь задумывались, в чём различие между ключевыми словами ref и out в C#? Оба позволяют передавать параметры по ссылке, но используют их по-разному: ✅ ref: требует, чтобы переменная была инициализирована до передачи в метод. Метод может изменить её значение, но не обязан. ✅ out: позволяет передавать неинициализированные переменные. Метод должен обязательно присвоить значение перед возвратом. Если вы хотите углубиться в тему и понять, как правильно использовать эти ключевые слова, загляните в подробное объяснение с примерами кода: 👉 Читать источник

❓ Как управлять функциональностью приложения без повторного развертывания? Feature flags открывают новые горизонты: они позво
❓ Как управлять функциональностью приложения без повторного развертывания? Feature flags открывают новые горизонты: они позволяют включать или отключать функции в реальном времени, проводить A/B-тестирование и снижать риски при выпуске новых возможностей. Статья погружает вас в мир feature flags на платформе .NET и C#, объясняет их преимущества и предлагает практическое руководство по внедрению. Хотите узнать, как сделать свои приложения более гибкими и надежными? 📎 Читать статью

Value Object — это объект, который описывает значение или набор связанных значений. Он не имеет уникального идентификатора, и
Value Object — это объект, который описывает значение или набор связанных значений. Он не имеет уникального идентификатора, и если два таких объекта содержат одинаковые данные, они считаются одинаковыми. Например, адрес, сумма денег или цвет — это Value Objects. Они нужны, чтобы сделать код понятнее и безопаснее: вместо использования обычных строк или чисел, вы создаёте объект, который отражает смысл данных. ❓ Зачем использовать Value Object? ✅ Читаемость и выразительность кода. Вместо использования примитивных типов (string, decimal) создаются объекты, которые лучше отражают смысл данных. ✅ Инкапсуляция бизнес-логики. Value Object может содержать валидацию данных, упрощая проверку их корректности на этапе создания. ✅ Неизменяемость для безопасности. Объект остаётся неизменным после создания, что упрощает отладку и повышает предсказуемость.

⚙️🚦 Лучшие практики для тестирования асинхронного кода Часто в погоне за производительностью мы забываем про важный аспект — тестирование. Асинхронный код может скрывать множество подводных камней: от скрытых исключений до проблем с многопоточностью. Даже если ваш код компилируется и работает, это не значит, что он свободен от ошибок, особенно в сценариях высокой нагрузки или работы с внешними сервисами. 1. Тестовые методы тоже должны быть асинхронными Асинхронные методы нельзя правильно протестировать синхронно. Чтобы избежать неожиданных ошибок, всегда пишите тесты с async и возвращайте Task. Это позволяет тестовому фреймворку дождаться завершения всех операций и корректно обработать результат. 2. Не игнорируйте исключения Асинхронный код может выбрасывать исключения, которые на первый взгляд не будут видны. Например, вызов метода может завершиться через await, но исключение «упаковано» и не проявится в вашем тесте. Используйте методы вроде Assert.ThrowsExceptionAsync, чтобы убедиться, что ваши тесты обрабатывают такие ситуации. 3. Следите за состоянием Асинхронный код часто запускается в многопоточной среде. Это значит, что тестируемый код может обращаться к разделяемым ресурсам, например, коллекциям, файлам или базам данных. Убедитесь, что такие ресурсы правильно изолированы или настроены для работы с несколькими потоками. 4. Не забывайте про тайм-ауты В реальных приложениях асинхронные операции могут зависнуть из-за внешних факторов: сеть стала недоступна, база данных не отвечает. Добавление тайм-аутов в тесты гарантирует, что тест не будет висеть вечно, если что-то пойдет не так. Например, устанавливайте предел времени на выполнение асинхронного метода и заверяйте, что он укладывается в него. 5. Используйте моки для зависимостей Асинхронный код часто зависит от внешних сервисов, например, API или базы данных. Вместо того, чтобы тестировать реальную интеграцию, создавайте «заглушки» (моки), которые имитируют поведение этих сервисов. Это делает тесты быстрее и надежнее.

🔥 Traversals: как из IEnumerable> сделать Task> Представьте, что у вас есть коллекция идентификаторов и метод, возвращ
🔥 Traversals: как из IEnumerable<Task<Foo>> сделать Task<IEnumerable<Foo>> Представьте, что у вас есть коллекция идентификаторов и метод, возвращающий асинхронный результат:
public static Task<Foo> Read(int id);
Если вы вызовете этот метод для всех элементов коллекции, вы получите IEnumerable<Task<Foo>>. Однако работать с таким типом неудобно. Желаемый результат — это Task<IEnumerable<Foo>>. В качестве решения можно использовать Traversals. Они полезны, когда нужно менять порядок вложенных структур данных, что облегчает работу с асинхронными вычислениями и сложными вложенными типами. В .NET это особенно актуально при работе с Task. 👉 Подробнее

🛠️ «Использование АОП в .NET» — доклад Дмитрия Егорова из Artsofte на DotNext 2024 Аспектно-ориентированное программирование
+1
🛠️ «Использование АОП в .NET» — доклад Дмитрия Егорова из Artsofte на DotNext 2024 Аспектно-ориентированное программирование (АОП) — широко распространенная практика во многих популярных фреймворках вроде Angular или Spring. В ASP.NET мы привычно используем этот архитектурный подход при работе с контроллерами, что натолкнуло автора на мысль масштабировать АОП на другие слои приложений. Благодаря подходу АОП мы получаем возможность декларативно управлять поведением кода и инкапсулировать сквозную функциональность, не засоряя основную логику бизнес-кейсов. В .NET существует как минимум четыре механизма для реализации АОП: классические объектно-ориентированные декораторы, посткомпиляция, динамические прокси, а также новая технология Interseptor в C# 12. Дмитрий рассказывает об опыте использования каждого из них, их преимуществах, ограничениях и особенностях + затрагивает вопрос перехвата зависимостей из DI для реализации внутренних механизмов АОП. 👀 Смотреть доклад & Презентация

🔥 Cамые интересные улучшения в библиотеках, Runtime и SDK, представленные в .NET 9: статья Артёма Ровенского из PVS-Studio ◾
🔥 Cамые интересные улучшения в библиотеках, Runtime и SDK, представленные в .NET 9: статья Артёма Ровенского из PVS-Studio ◾️C# 13 ◾️Производительность ◾️LINQ ▪️Новый тип OrderedDictionary ▪️Новый тип ReadOnlySet ▪️Новый тип Tensor allows ref struct в библиотеках ▪️[GeneratedRegex] для свойств ◾️SDK ▪️Terminal Logger включён по умолчанию ▪️Параллельный запуск тестов ▪️NuGet Audit ▪️BuildCheck ▪️Workload history ◾️Runtime ▪️Feature switch ▪️Динамическая адаптация к размерам приложений (DATAS) ▪️Улучшение JIT ▪️Улучшения Register Allocator 👉 Читать

⚖️🛠️ EfCore.SchemaCompare — библиотека для сравнения модели базы данных EF Core со схемой базы данных Если вы меняете схему
⚖️🛠️ EfCore.SchemaCompare — библиотека для сравнения модели базы данных EF Core со схемой базы данных Если вы меняете схему базы данных вне системы миграций EF Core, например, с помощью SQL-скриптов, то эта библиотека может быстро сообщить, соответствуют ли конкретная схема базы данных и EF Core базы данных. 👉 GitHub

➕ ➕ 7 способов сортировки массивов на примере С++ с иллюстрациями В этой статье продемонстрируем на иллюстрациях, как работаю
+7
➕ ➕ 7 способов сортировки массивов на примере С++ с иллюстрациями В этой статье продемонстрируем на иллюстрациях, как работают алгоритмы сортировки: от простейшей пузырьковой до сложной древовидной кучи. Также определим сложность худших и лучших случаев, а код напишем на С++. Статья Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки? Чтобы знать плюсы и минусы каждого алгоритма, понимать, как действительно он работает (а не просто копипастить) и какой алгоритм выбрать для конкретной задачи. Плюс изучение алгоритмов развивает мышление и профессиональный кругозор. Как мне оперативно научиться применять алгоритмы? Начни с бесплатного демо доступа к курсу «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы Азбука айтишника — здесь мы познаем азы из мира программирования 🤖Про нейросети Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка Библиотека нейротекста | ChatGPT, Gemini, Bing Библиотека нейровидео | Sora AI, Runway ML, дипфейки Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Книги для джавистов | Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности Библиотека разработчика игр | Gamedev, Unity, Unreal Engine 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

💡 Какой совет вы бы дали начинающим программистам? Поделитесь своими мыслями в комментариях👇

Какой метод обучения программированию оказался для вас наиболее эффективным? 🚀👇
Anonymous voting