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

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

Kanalga Telegram’da o‘tish

Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Ko'proq ko'rsatish

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

Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 21 862 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 6 194-o'rinni va Rossiya mintaqasida 30 800-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 21 862 obunachiga ega bo‘ldi.

13 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -49 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 12.71% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.49% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 778 marta ko‘riladi; birinchi sutkada odatda 1 638 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 9 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent .net, шарписта, навигация, await, string kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Yuqori yangilanish chastotasi (oxirgi ma’lumot 14 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

21 862
Obunachilar
-324 soatlar
-257 kunlar
-4930 kunlar
Postlar arxiv
📹 C# теперь как скриптовый язык В .NET 10 появилась возможность запускать .cs-файлы прямо из терминала — без проектов и реше
📹 C# теперь как скриптовый язык В .NET 10 появилась возможность запускать .cs-файлы прямо из терминала — без проектов и решений. Пишете один файл, вызываете dotnet run, и всё работает. Предлагаем посмотреть видео, где показывают, как эту фичу использовать в автоматизации, генерации данных и даже как поднять mock-сервер — всё из одного файла. ➡️ Смотреть видео 🐸Библиотека шарписта #буст

🆚 IEnumerable vs IQueryable Когда на собеседовании задают вопрос о различиях между IEnumerable и IQueryable, новички и разра
🆚 IEnumerable vs IQueryable Когда на собеседовании задают вопрос о различиях между IEnumerable и IQueryable, новички и разработчики постарше могут запутаться. На практике выбор между этими интерфейсами зависит от того, с какими данными вы работаете и какие задачи решаете. Один из подписчиков недавно спросил:
Когда и почему стоит использовать IEnumerable вместо IQueryable и наоборот?
Вот основные моменты, которые помогут вам сделать правильный выбор: — IEnumerable — это для работы с коллекциями в памяти. Если данные уже загружены, вы работаете с ними в памяти — фильтрация и сортировка происходят прямо там. — IQueryable же используется, когда данные находятся в базе, и вы строите запросы, которые могут быть преобразованы в SQL-запросы. Это даёт вам «ленивую» загрузку данных и выполнение запросов на уровне базы. Но есть и подводные камни: — IQueryable может сгенерировать неэффективные запросы, если не следить за ними. — IEnumerable для небольших объёмов данных, но если данных много, это может быть не так эффективно. 💬 Когда вы выбираете IEnumerable, а когда отдаёте предпочтение IQueryable? Поделитесь своим опытом в комментариях 👇 🐸Библиотека шарписта #междусобойчик

🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»? Давайте честно поговорим о том, что действительно происх
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»? Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом. 🧐 Мы проводим исследование, чтобы выяснить: — Как часто мы прыгаем между компаниями (и почему) — Какие красные флаги заставляют бежать без оглядки — Где реально находят работу — Что бесит в HR больше всего — Сколько кругов собеседований — это уже перебор Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше. 😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg

✅ Чек-лист по обработке ошибок и исключений в C# Составили для вас чек-лист для организации обработки исключений в вашем прое
Чек-лист по обработке ошибок и исключений в C# Составили для вас чек-лист для организации обработки исключений в вашем проекте. Получилась мини база, которую можно скинуть джуну. 1. Используйте try-catch блоки для обработки исключений • Оборачивайте код, который может вызвать исключение, в блок try • В блоке catch обрабатывайте конкретные типы исключений, чтобы избежать перехвата всех ошибок.
{
    // Код, который может вызвать исключение
}
catch (SpecificException ex)
{
    // Обработка конкретного исключения
}
2. Обрабатывайте только те исключения, которые вы можете корректно обработать. 3. Логируйте исключения для диагностики • Записывайте подробную информацию о возникшем исключении: тип ошибки, сообщение, стек вызовов. • Используйте библиотеки логирования: Serilog, NLog, Log4Net.
catch (Exception ex)
{
    logger.Error(ex, "Произошла ошибка");
}
4. Используйте блок finally для выполнения очистки Блок finally выполняется всегда, независимо от того, возникло исключение или нет. Используйте его для освобождения ресурсов (например, закрытие файлов или соединений).
{
    // Ваш код
}
catch (Exception ex)
{
    // Обработка ошибки
}
finally
{
    // Очистка ресурсов
}
5. Создавайте собственные исключения При необходимости создавайте свои собственные типы исключений для лучшей организации обработки ошибок.
public class CustomException : Exception
{
    public CustomException(string message) : base(message) { }
}
6. Не выбрасывайте исключения с пустыми сообщениями Если вы выбрасываете исключение, всегда указывайте подробное сообщение, чтобы помочь диагностировать проблему.
throw new ArgumentNullException("parameterName", "Параметр не может быть null");
7. Используйте throw для повторного выбрасывания исключений В случае, если вы хотите обработать исключение, но также передать его дальше, используйте throw без параметров, чтобы сохранить стек вызовов. 8. Не используйте исключения для обычного потока выполнения Исключения должны использоваться для неожиданных или критических ошибок. Не используйте их для управления потоком выполнения (например, не используйте try-catch для проверки условий). 9. Используйте AggregateException для обработки нескольких исключений Если вы работаете с задачами и несколько исключений могут быть выброшены одновременно, используйте AggregateException для их обработки.
{
    // Асинхронный код
}
catch (AggregateException ex)
{
    foreach (var innerEx in ex.InnerExceptions)
    {
        // Логирование каждого исключения
    }
}
10. Планируйте стратегию обработки ошибок в продакшн-среде В продакшн-среде важно минимизировать влияние ошибок на пользователя. Рассмотрите возможность использования retry-логики или fallback-методов.
public async Task<T> RetryAsync<T>(Func<Task<T>> action)
{
    int retries = 3;
    while (retries > 0)
    {
        try
        {
            return await action();
        }
        catch
        {
            retries--;
            if (retries == 0) throw;
        }
    }
}
Этот чек-лист поможет вам правильно и эффективно обрабатывать ошибки и исключения в C#-проекте. 🐸Библиотека шарписта #буст

💻 Визуализация истории в Git Если вам нужно лучше понять структуру изменений в репозитории, команда git log с несколькими флагами станет настоящим спасением.
git log --graph --oneline --all --decorate
Команда визуализирует сложную историю ветвления и слияния веток. 🐸Библиотека шарписта #буст

👨‍💻 Проблемы, которые усложняют поддержку и развитие кода Зачем терпеть запутанный код и «божественные» классы, если можно
+5
👨‍💻 Проблемы, которые усложняют поддержку и развитие кода Зачем терпеть запутанный код и «божественные» классы, если можно сделать код понятным и структурированным? В карточках — как с помощью высокой связности улучшить читаемость и качество вашего C# кода. ➡️ Прочитайте статью и сделайте рефакторинг по уму 🐸Библиотека шарписта

🎮 Быстрая сортировка (QuickSort) с использованием рекурсии Проблема: cортировка больших массивов может быть неэффективной при использовании простых алгоритмов, таких как сортировка пузырьком или вставками. Решение: Автор в книге Algorithms and Data Structures for OOP With C# демонстрирует реализацию QuickSort — одного из самых эффективных алгоритмов сортировки на практике, с рекурсивным разбиением массива. Пример кода:
public class QuickSortExample
{
    public void QuickSort(int[] arr, int low, int high)
    {
        if (low < high)
        {
            int pi = Partition(arr, low, high);

            QuickSort(arr, low, pi - 1);
            QuickSort(arr, pi + 1, high);
        }
    }

    private int Partition(int[] arr, int low, int high)
    {
        int pivot = arr[high];
        int i = (low - 1);

        for (int j = low; j < high; j++)
        {
            if (arr[j] < pivot)
            {
                i++;
                (arr[i], arr[j]) = (arr[j], arr[i]);
            }
        }

        (arr[i + 1], arr[high]) = (arr[high], arr[i + 1]);
        return i + 1;
    }
}
Преимущества: — Быстрая сортировка даже больших наборов данных — Средняя сложность O(n log n) — Эффективное использование памяти за счет рекурсии ➡️ Лучшее из мира IT-книг — у нас в @progbook

☺️ Подборка вакансий для шарпистов Middle/Senior С# Developer (YouRa) — от 250 000 ₽, Удалёнка C#/.NET-разработчик — Удалёнка. C# Developer (Avalonia/.NET, плагин под Revit) — Гибрид (Москва). Web (backend) / .NET Разработчик — Удалёнка. Senior/Lead C# разработчик — до 5 800 $, Удалёнка. Бустер — Офис у вас дома. ➡️ Еще больше топовых вакансий — в нашем канале С# Jobs

Что выведет код? 👾 — "" 👍 — 0 🥰 — Compile-time error ⚡️ — Runtime error Библиотека задач по C#
Что выведет код? 👾 — "" 👍 — 0 🥰 — Compile-time error ⚡️ — Runtime error Библиотека задач по C#

📰 Недельный дайджест Собрали для вас материалы недели, которые связаны с разработкой на C#. — Stream Compacting в Marten 8.0
📰 Недельный дайджест Собрали для вас материалы недели, которые связаны с разработкой на C#. — Stream Compacting в Marten 8.0 В Marten появилась функция Stream Compacting, позволяющая автоматически агрегировать события и сохранять только актуальное состояние потока. — Модели транзакций в распределённых системах Объясняются ключевые различия между транзакционными моделями ACID и BASE, их принципы, цели и ограничения. — API Design First в .NET Разбор применения API Design First в проектах на .NET с акцентом на генерацию контрактов, автоматизацию тестирования и интеграцию в пайплайны CI/CD. — Фишка четвёртого превью .NET 10 В последнем обновлении .NET 10 Preview 4 появилась возможность запускать одиночные C#-файлы без проекта — Как защитить API: 6 ключевых аспектов безопасности JetBrains объявила о выпуске ReSharper для Visual Studio Code 🐸Библиотека шарписта #свежак

🚨 Что на самом деле происходит с увольнениями в ИТ Каждый день в чатах разработчиков появляются сообщения «ищу работу», «ком
🚨 Что на самом деле происходит с увольнениями в ИТ Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду! 🎯 Что мы выясним: → Реальные причины увольнений → Сколько времени нужно на поиск работы → Самые безумные истории смены работы Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок. 👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg

🕹 Поиск слов из C# Мы спрятали 5 ключевых слов из C# разработки на картинке. Попробуйте найти их все👇 ❗️Прячьте слова под с
🕹 Поиск слов из C# Мы спрятали 5 ключевых слов из C# разработки на картинке. Попробуйте найти их все👇 ❗️Прячьте слова под спойлер, чтобы не подсказывать другим. 🐸Библиотека шарписта #междусобойчик

Как насчёт обзора этой книги у нас в @progbook? 🐸Библиотека шарписта #развлекалово
Как насчёт обзора этой книги у нас в @progbook? 🐸Библиотека шарписта #развлекалово

⏰ Последние 2 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают ана
Последние 2 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов. Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня. 🎁 Что вы получите при оплате курса до 1 июня: — Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее — Эксклюзивный лонгрид по API и ML от Proglib 💡Что разберем на курсе «AI-агенты для DS-специалистов»: — Реализацию памяти в цепочках langchain — Полный пайплайн RAG-системы с оценкой качества — Основы мультиагентных систем (MAS) — Протокол MCP и фреймворк FastMCP Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных». 👉 Успейте до 1 июня: https://clc.to/Cttu7A

⏰ Последние 3 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают ана
⏰ Последние 3 дня скидки на курс «AI-агенты для DS-специалистов» Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы с AI-агентами. Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но торопитесь — получить все плюшки можно только до 1 июня. 🎁 Что вы получите при оплате курса до 1 июня: — Промокод PROGLIBAI на скидку в 10 000 ₽, чтобы изучать AI-агентов еще выгоднее — Эксклюзивный лонгрид по API и ML от Proglib Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных». 💡Что разберем на курсе «AI-агенты для DS» — Реализацию памяти в цепочках langchain — Полный пайплайн RAG-системы с оценкой качества — Основы мультиагентных систем (MAS) — Протокол MCP и фреймворк FastMCP 👉 Успейте до 1 июня: https://clc.to/Cttu7A

📝 Контроль объема логов в .NET-приложениях В больших приложениях поток логов может быть огромным — это перегружает хранилище
📝 Контроль объема логов в .NET-приложениях В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность. Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование. .NET теперь поддерживает несколько стратегий выборочного логирования: • Случайная выборка по вероятности • Выборка по трассировке • Пользовательские сэмплеры для гибкой настройки Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
    {
        var key = eventId.Id.ToString();

        var now = DateTime.UtcNow;

        var lastTime = _lastLoggedTimes.GetOrAdd(key, DateTime.MinValue);

        if ((now - lastTime) >= _interval)
        {
            _lastLoggedTimes[key] = now;

            var message = formatter(state, exception);
            Console.WriteLine($"[{now:O}] {logLevel}: {message}");
// Здесь вместо Console.WriteLine — вызов реального логгера
        }
        else
        {
// Пропускаем лог, чтобы не создавать слишком много записей
        }
    }
Это может снизить затраты на хранение и обработку логов без потери ключевой информации. ➡️ Блог разработчиков .NET 🐸Библиотека шарписта #буст

📰 Идеальная пара для .NET-разработки JetBrains объявила о выпуске ReSharper для Visual Studio Code — долгожданного расширени
📰 Идеальная пара для .NET-разработки JetBrains объявила о выпуске ReSharper для Visual Studio Code — долгожданного расширения, которое приносит все ключевые возможности в VS Code. 🚀 Как начать 1. Установите расширение из магазина расширений. 2. Откройте решение .sln в VS Code. 3. Дайте ReSharper время проиндексировать проект и сразу используйте возможности анализа и рефакторинга. Не упустите шанс принять участие в публичном превью — пока расширение доступно бесплатно! 🐸Библиотека шарписта #свежак

⚡️ Linux теперь в Telegram! Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работ
+4
⚡️ Linux теперь в Telegram! Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами Подписывайтесь: @linuxos_tg

⚡️ Полезные хоткеи ReSharper Если вы разрабатываете на C# и до сих пор не используете ReSharper, скорее всего, вы пишете код медленнее, чем могли бы. Сейчас покажем фишки, из-за которых вы точно захотите им пользоваться. • Ctrl + Shift + R — показывает возможные варианты рефакторинга для текущего элемента. • Ctrl + Alt + Shift + T — показывает все преобразования кода, например, замена if на switch или foreach на LINQ • Ctrl + Shift + Alt + U — покажет путь значения переменной по коду: присваивания, параметры, вызовы — визуально и пошагово. • Добавьте в проект [NotNull], [CanBeNull], [Pure] и другие атрибуты — и ReSharper станет умнее: подскажет про возможные NullReferenceException, излишние проверки, и даже оптимизацию кода. 💬 Какие фишки ReSharper нравятся вам? Делитесь в комментах 👇 🐸Библиотека шарписта #буст