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 861 subscribers, ranking 6 187 in the Technologies & Applications category and 30 800 in the Russia region.

📊 Audience metrics and dynamics

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

According to the latest data from 14 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -44 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.77%. Within the first 24 hours after publication, content typically collects 7.38% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 793 views. Within the first day, a publication typically gains 1 614 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
  • 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 15 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 861
Subscribers
+524 hours
-207 days
-4430 days
Posts Archive
Давайте признавайтесь в комментариях — что вам подарили? 👇
Давайте признавайтесь в комментариях — что вам подарили? 👇

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

С наступающим, С# сообщество! Или уже наступившим!🎆🎆 Уже придумали чем заняться в новом году? 😉 Если нет, то предлагаем ва
С наступающим, С# сообщество! Или уже наступившим!🎆🎆 Уже придумали чем заняться в новом году? 😉 Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру: 🔠 Остановись и гори (2014) 🅰️ The IT Crowd (2006-2013) 🔠 Revolution OS (2001) ©️ Разрабы (2020) 🔠 Игра в имитацию (2014)

Бесплатный курс по фулстек-разработке — реальность 🔥 Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственн
Бесплатный курс по фулстек-разработке — реальность 🔥 Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников. Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея

👋 Привет, мир: несколько креативных способов написать классический код на C# Иногда самые простые вещи могут быть невероятно
👋 Привет, мир: несколько креативных способов написать классический код на C# Иногда самые простые вещи могут быть невероятно увлекательными. В этой статье автор собрал разнообразные способы написать легендарное 'Hello, World!' на C#. Это не просто базовые примеры, а настоящая коллекция техник и подходов, которая понравится как новичкам, так и опытным разработчикам. 📎 Узнайте, как добавить немного креатива даже в такие тривиальные задачи!

🌍✈️ 6 идей, как ускорить поиск работы за рубежом Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте сек
🌍✈️ 6 идей, как ускорить поиск работы за рубежом Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее! 👉 Читать статью

💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях Как оставаться в курсе самых актуальных тенденций, не теряя времени
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях Как оставаться в курсе самых актуальных тенденций, не теряя времени на поиск информации? Итоги года Proglib покажут, как платформа объединила разработчиков, помогая им оставаться впереди. ✅ Загляните в цифры, достижения и материалы, которые сделали этот год ярким!

🚀 Testcontainers в .NET с PostgreSQL и pgvector 💡 Мы нашли статью о том, как использовать Testcontainers в .NET для работы
🚀 Testcontainers в .NET с PostgreSQL и pgvector 💡 Мы нашли статью о том, как использовать Testcontainers в .NET для работы с PostgreSQL и расширением pgvector. Если вы хотите сделать тестирование интеграции удобнее и мощнее, то это именно то, что вам нужно! 📌 Что такое Testcontainers? Это библиотека, которая позволяет запускать Docker-контейнеры прямо из тестов, создавая временные окружения для тестирования. Это упрощает интеграционное тестирование, минимизируя необходимость ручной настройки баз данных, брокеров сообщений и других сервисов. 📌 Что такое pgvector? pgvector — это расширение PostgreSQL, добавляющее поддержку работы с векторными данными. Это крайне полезно для приложений, которые используют эмбеддинги (например, из OpenAI или Hugging Face) для поиска, машинного обучения или рекомендательных систем. 📌 О чём статья? ➖ Как настроить Testcontainers для работы с PostgreSQL в .NET. ➖ Как подключить расширение pgvector в тестовой базе данных. ➖ Пошаговое руководство по созданию контейнера с PostgreSQL, выполнению миграций и настройке данных для тестов. ➖ Примеры использования pgvector для хранения и поиска векторных данных. Автор показывает, как использовать Testcontainers для запуска PostgreSQL с уже установленным pgvector. Это позволяет тестировать функции работы с векторами (например, поиск ближайших соседей) без необходимости настраивать базу данных вручную.

🎨 Новый канал для вдохновения — UX in GIF Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое с
🎨 Новый канал для вдохновения — UX in GIF Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое стильное, оригинальное и вдохновляющее теперь в одном месте. 📌 Чем полезен канал? → Идеи для дизайна интерфейсов. → Анимации, которые можно повторить или адаптировать. → Лёгкий способ искать вдохновение перед новым проектом. 👉 Подписывайтесь и вдохновляйтесь: UX in GIF

🔗 Что такое паттерн «Цепочка»? В основе паттерна «цепочка» лежит идея последовательной обработки запроса через несколько мик
🔗 Что такое паттерн «Цепочка»? В основе паттерна «цепочка» лежит идея последовательной обработки запроса через несколько микросервисов. Клиент делает запрос, который обрабатывается первым сервисом (A). Этот сервис передает результат следующему (B), затем — следующему (C) и так далее, пока не будет получен финальный результат, возвращаемый клиенту. Этот процесс можно представить как конвейер, где каждый этап выполняет строго определенную задачу. Преимущества паттернаМодульность: каждый сервис отвечает за свою часть работы. Это делает систему более понятной и легкой в поддержке. ➕ Повторное использование: сервисы можно использовать в других бизнес-процессах, объединяя их в новые цепочки. ➕ Простота реализации: логика каждого микросервиса изолирована, что упрощает проектирование и тестирование. Недостатки паттернаВысокие задержки: каждый вызов в цепочке требует времени, а синхронное взаимодействие увеличивает общее время отклика для клиента. ❌ Уязвимость к сбоям: Если один из сервисов выйдет из строя, вся цепочка перестанет работать, что может нарушить работу приложения. ❌ Сложности мониторинга: С ростом длины цепочки становится сложнее отслеживать метрики производительности и отладку. Когда использовать паттерн «Цепочка»? ✅ Необходимо последовательное выполнение задач (например, обработка платежей или подготовка данных для аналитики). ✅ Задачи строго зависят друг от друга. ✅ Длина цепочки невелика, а задержки допустимы. ✅ Если же время отклика критично или система должна быть устойчива к сбоям, стоит рассмотреть альтернативы, такие как асинхронное взаимодействие или паттерн оркестрации.

☁️ Размышления про абстракции Недавняя статья поднимает важную тему — не каждая абстракция в программировании приносит пользу
☁️ Размышления про абстракции Недавняя статья поднимает важную тему — не каждая абстракция в программировании приносит пользу. Автор критикует «ложные абстракции» — те, что лишь добавляют уровни сложности, не скрывая внутреннюю сложность системы. Основные мысли: 💭 Хорошая абстракция упрощает работу, скрывая сложные детали; 💭 Плохая абстракция лишь увеличивает количество слоев и усложняет понимание системы; 💭 Абстракции стоят дорого: они могут снижать производительность и усложнять сопровождение; 💭 Со временем даже хорошие абстракции могут начать «протекать», требуя знания внутренних механизмов. ✅ Прежде чем добавлять новый уровень, задайте себе вопрос: действительно ли это абстракция или просто очередной слой косвенности? Хорошая абстракция должна приносить реальную ценность, а не просто усложнять код.

Что такое паттерн «Цепочка»? В основе паттерна «цепочка» лежит идея последовательной обработки запроса через несколько микросервисов. Клиент делает запрос, который обрабатывается первым сервисом (A). Этот сервис передает результат следующему (B), затем — следующему (C) и так далее, пока не будет получен финальный результат, возвращаемый клиенту. Этот процесс можно представить как конвейер, где каждый этап выполняет строго определенную задачу. Преимущества паттерна Модульность: Каждый сервис отвечает за свою часть работы. Это делает систему более понятной и легкой в поддержке. Повторное использование: Сервисы можно использовать в других бизнес-процессах, объединяя их в новые цепочки. Простота реализации: Логика каждого микросервиса изолирована, что упрощает проектирование и тестирование. Недостатки паттерна Высокие задержки: Каждый вызов в цепочке требует времени, а синхронное взаимодействие увеличивает общее время отклика для клиента. Уязвимость к сбоям: Если один из сервисов выйдет из строя, вся цепочка перестанет работать, что может нарушить работу приложения. Сложности мониторинга: С ростом длины цепочки становится сложнее отслеживать метрики производительности и отладку. Когда использовать паттерн «Цепочка»? Этот паттерн хорошо подходит для сценариев, где: Необходимо последовательное выполнение задач (например, обработка платежей или подготовка данных для аналитики). Задачи строго зависят друг от друга. Длина цепочки невелика, а задержки допустимы. Если же время отклика критично или система должна быть устойчива к сбоям, стоит рассмотреть альтернативы, такие как асинхронное взаимодействие или паттерн оркестрации. Пример работы цепочки Представьте систему интернет-магазина: Сервис заказов: Получает запрос от клиента и отправляет его в обработку. Сервис платежей: Проверяет оплату и подтверждает транзакцию. Сервис доставки: Формирует данные для логистики. Вместо того чтобы все эти действия выполнялись в одном монолите, они делятся на независимые сервисы, каждый из которых выполняет свою функцию и передает результат дальше.

📘 SkunkHTML: Генератор статичных сайтов SkunkHTML — это инструмент, который позволяет легко и быстро создавать статичные веб
📘 SkunkHTML: Генератор статичных сайтов SkunkHTML — это инструмент, который позволяет легко и быстро создавать статичные веб-сайты из файлов Markdown, автоматизируя процесс генерации и развертывания. Он разработан на F#, что делает его не только функциональным, но и интересным примером использования этого языка. 🛠️ Как это работает? 1. Форкните репозиторий: SkunkHTML на GitHub. 2. Добавьте контент: создайте свои файлы Markdown в соответствующей папке. 3. Настройте GitHub Pages: включите автоматическое развертывание через GitHub Actions. 4. Наслаждайтесь готовым сайтом! 📎 Попробуйте сами! #новость

💻 Эффективное проектирование программных систем Правильная архитектура программного обеспечения помогает создавать устойчивы
💻 Эффективное проектирование программных систем Правильная архитектура программного обеспечения помогает создавать устойчивые и масштабируемые приложения, которые легко дорабатывать и поддерживать. Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения. 🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069

⏱ Реализация службы на основе времени в .NET 8 с использованием IHostedService Фоновые службы — это важный компонент для выпо
Реализация службы на основе времени в .NET 8 с использованием IHostedService Фоновые службы — это важный компонент для выполнения задач, работающих параллельно с основным приложением. В .NET 8 интерфейс IHostedService предоставляет простой и гибкий способ управления такими службами. Вот как это работает. Что делает IHostedService? IHostedService используется для создания служб, которые запускаются при старте приложения и завершаются при его остановке. Он предоставляет два метода: 1️⃣ StartAsync: выполняется, когда приложение запускается. Здесь вы определяете, что должно делать ваша служба. 2️⃣ StopAsync: вызывается перед завершением работы приложения. Здесь можно остановить фоновые задачи и освободить ресурсы. Как работает служба на основе времени? Основная идея — это выполнение определённой задачи через регулярные промежутки времени, например: ➖ Отправка данных на сервер. ➖ Очистка временных файлов. ➖ Обновление данных кэша. Для реализации этого обычно используется таймер. Таймер запускается в методе StartAsync и выполняет задачу через указанные интервалы времени. Когда приложение останавливается, таймер отключается в методе StopAsync, чтобы избежать утечек памяти или нежелательной активности. ❓Где найти пример? Для более подробной реализации с кодом и пошаговыми инструкциями рекомендуем ознакомиться со статьёй.

🧠 Machine Learning — топовый канал, где собрана вся база по ИИ и машинному обучению. Senior разработчик AI-алгоритмов и авто
+5
🧠 Machine Learning — топовый канал, где собрана вся база по ИИ и машинному обучению. Senior разработчик AI-алгоритмов и автономных агентов, разбирает внутренности алгоритмов, редкую литературу и код самых интересных ИИ проектов. Уже ни для кого, не секрет, что в 2025 году ИИ выйдет на совершенно новый уровень тот, кто не успеет за прогрессом - отстанет, а кто разберется - сорвет куш. Стоит подписаться: https://t.me/+ixMPdTZriR4wY2E6

✈️ Локальный запуск LLMs в .NET с Ollama и Semantic Kernel Большие языковые модели (LLMs) чаще всего ассоциируются с облачным
✈️ Локальный запуск LLMs в .NET с Ollama и Semantic Kernel Большие языковые модели (LLMs) чаще всего ассоциируются с облачными решениями, такими как OpenAI или Azure. Но что, если вам нужно запустить модель локально? Это может быть полезно для обеспечения конфиденциальности данных, экономии средств или работы в офлайн-среде. Именно здесь на помощь приходят Ollama и Semantic Kernel. Давайте разберём, как это работает. 🦙 Что такое Ollama? Ollama — это инструмент, позволяющий запускать большие языковые модели локально, на вашем компьютере. Он минимизирует зависимость от облачных сервисов, обеспечивает защиту данных и позволяет вам полностью контролировать вычислительные ресурсы. Что такое Semantic Kernel? Semantic Kernel — это SDK от Microsoft, созданное для интеграции возможностей ИИ в приложения на .NET. Оно поддерживает работу с различными провайдерами LLMs, включая локальные серверы, такие как Ollama. Как всё это работает? Установка Ollama: вы начинаете с установки Ollama на свою систему. Он предоставляет простой способ загрузки и запуска LLMs. Загрузка модели: после установки вы можете выбрать и загрузить модель, например llama2, с помощью команды в Ollama. Настройка Semantic Kernel: semantic Kernel подключается к Ollama как к локальному серверу. Вы используете его для отправки запросов к модели и получения ответов. ➖Интеграция в .NET-приложение: cоздаёте проект в .NET 8 или 9, добавляете Semantic Kernel через NuGet и настраиваете взаимодействие с Ollama. Преимущества локального запускаКонфиденциальность: данные остаются на вашем устройстве, что особенно важно для приложений, работающих с чувствительной информацией. ➕ Экономия: нет расходов на облачные сервисы. ➕ Гибкость: вы можете работать с различными моделями и настроить их в соответствии с вашими задачами. ➕ Доступность оффлайн: полная независимость от подключения к интернету. 🤩 За подробностями в статью!

📎🎯 Создание современной документации API в ASP.NET Core с Scalar Документация API — важная часть любого проекта. В статье р
📎🎯 Создание современной документации API в ASP.NET Core с Scalar Документация API — важная часть любого проекта. В статье рассказывается, как использовать Scalar для создания удобной и стильной документации для ASP.NET Core API. ❓Что такое Scalar? Scalar — это альтернатива стандартному Swagger UI, предлагающая современный дизайн, улучшенную навигацию и поддержку аутентификации. Как интегрировать Scalar? ⚙️ Установить пакет: Через NuGet добавить Scalar.AspNetCore в проект. ⚙️ Настроить Scalar: В Program.cs добавить маршрут для Scalar. Настроить отображение документации с параметрами: заголовок, тема и т. д. ⚙️ Добавить безопасность: Указать схему Bearer-токенов для аутентификации. Настроить требования безопасности в AddSwaggerGen. ⚙️ Обновить стартовую страницу: В LaunchSettings.json задать scalar/v1 в качестве стартового URL. 📎 За подробностями загляните в статью!

Создавайте и проверяйте задания по программированию на GitVerse На платформе для работы с исходным кодом GitVerse появился Sm
+5
Создавайте и проверяйте задания по программированию на GitVerse На платформе для работы с исходным кодом GitVerse появился SmartClass — бесплатный инструмент для управления заданиями по программированию. С ним можно создавать, хранить и проверять задачи, а также автоматизировать ревью кода с помощью AI-ассистента GigaCode. В общем, все что нужно – теперь под рукой. Пользователи SmartClass получают все преимущества платформы GitVerse, что дает начинающим специалистам возможность освоить профессиональные инструменты разработки. Решение позволяет не только изучать программирование и код, но и погрузиться в детали работы с такими инструментами и практиками, как CI/CD, Git и многими другими. И, конечно, теперь смело можно отдать рутину аналитики заданий вашему верному помощнику – AI-ассистенту! За счет встроенных в платформу AI-расширений и AI-ассистента разработчика GigaCode вы можете за пару минут провести аналитику кода и значительно облегчить процесс проверки работ. Переходите на GitVerse и пробуйте новый инструмент!

🔢 Проверка чисел Армстронга в C#: разные подходы и решения Число Армстронга — это число, равное сумме своих цифр, возведенных в степень, равную количеству цифр. Например, 153 — это число Армстронга, потому что (1 в степени 3) + (5 в степени 3) + (3 в степени 3) = 153. 💡 Числа Армстронга — отличный пример для изучения работы с алгоритмами, циклами и математическими операциями в C#. Это полезно для новичков, которые хотят углубиться в программирование, и для практического изучения таких технологий, как LINQ. 📌 Основные методы: 1️⃣Цикл while: Базовый подход, который итерирует по каждой цифре числа и суммирует ее степень.
int number = 153; // Пример
int result = 0, temp = number, digits = number.ToString().Length;

while (temp > 0) {
    int remainder = temp % 10;
    result += (int)Math.Pow(remainder, digits);
    temp /= 10;
}
Console.WriteLine(result == number ? "Число Армстронга" : "Не число Армстронга");
2️⃣Рекурсия: Используется для разбиения задачи на более мелкие части.
static int SumOfPowers(int number, int digits) {
    if (number == 0) return 0;
    int digit = number % 10;
    return (int)Math.Pow(digit, digits) + SumOfPowers(number / 10, digits);
}
3️⃣LINQ: Компактный и читабельный способ проверки.
int number = 153;
int digits = number.ToString().Length;

bool isArmstrong = number.ToString()
    .Select(c => (int)Math.Pow(char.GetNumericValue(c), digits))
    .Sum() == number;

Console.WriteLine(isArmstrong ? "Число Армстронга" : "Не число Армстронга");