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

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

Open in Telegram

Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @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 701 subscribers, ranking 5 955 in the Technologies & Applications category and 30 269 in the Russia region.

📊 Audience metrics and dynamics

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

According to the latest data from 26 August, 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 15.84%. Within the first 24 hours after publication, content typically collects 7.84% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 3 438 views. Within the first day, a publication typically gains 1 702 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 25.
  • 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/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Thanks to the high frequency of updates (latest data received on 27 August, 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 701
Subscribers
+524 hours
-177 days
-4530 days
Posts Archive
🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт в
🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт выглядеть как работа одной команды. Где-то есть тесты, где-то их забыли. Где-то агент следует архитектуре проекта, где-то предлагает решение, которое с ней не сочетается. ⚠️ И это не проблема Claude Code. Он просто следует тому контексту, который получает от каждого разработчика. Завтра покажем, как передать AI инженерный контекст команды и не превратить его внедрение в ещё один источник хаоса. 🗓 23 июля, 19:00 МСК Бесплатно. 60 минут доклада + 30 минут вопросов. 🔗 Занять место на вебинаре и разобраться, почему так происходит 🏃‍♀️ Proglib Academy

⚠️ Скорость разработки растёт, но вместе с ней появляется новая проблема — кодовая база быстро теряет единый стиль. Ниже — бесплатный вебинар о том, как этого избежать 🏃‍♀️

🔥 .NET MAUI окончательно переходит на CoreCLR В .NET 11 Preview 6 для мобильных приложений .NET MAUI остался только один ран
🔥 .NET MAUI окончательно переходит на CoreCLR В .NET 11 Preview 6 для мобильных приложений .NET MAUI остался только один рантайм — CoreCLR. Отдельный путь через Mono для Android, iOS и Mac Catalyst больше недоступен. 🔴 Это тот же рантайм, на котором работают ASP.NET Core, серверные и десктопные приложения .NET. Переход должен сократить различия между платформами и упростить развитие самого рантайма.
По данным команды .NET, на iOS и Mac Catalyst CoreCLR уже обычно быстрее Mono. На Android результаты пока близки: разница по времени запуска и размеру приложения укладывается примерно в 10%.
🔴 В Preview 6 также появились новый CollectionView2 для Windows, версия HybridWebView, совместимая с Native AOT, и восстановление результата MediaPicker после пересоздания Activity на Android. Переход крупный, поэтому Microsoft просит разработчиков уже сейчас запускать свои MAUI-приложения на Preview 6 и сообщать о регрессиях до ноябрьского релиза. 🔗 Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #async_news

🤨 Комментарии в коде: писать или удалять всё лишнее? Один из самых долгих споров среди разработчиков.
❇️ Одни считают, что хороший код не нуждается в комментариях. Если приходится объяснять, что происходит, значит, стоит улучшить имена, структуру или разбить метод.
🅰️ Другие отвечают: комментарии нужны. Но не чтобы пересказывать код, а чтобы объяснить почему он написан именно так. Например, описать сложное бизнес-правило, необычное решение, ограничение внешней системы или оставить ссылку на баг.
А как у вас? 👍 — комментариев минимум, код должен говорить сам за себя. 🔥 — комментарии нужны, если помогают понять неочевидную логику. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #entry_point

⚡️ Алгоритму почти 70 лет, а его идея до сих пор используется в системном программировании В 1957 году Дэвид Уилкс, Дэвид Уил
⚡️ Алгоритму почти 70 лет, а его идея до сих пор используется в системном программировании В 1957 году Дэвид Уилкс, Дэвид Уилер и Стэнли Гилл описали быстрый способ подсчёта количества установленных битов (popcount). Вместо проверки каждого бита по отдельности алгоритм постепенно суммирует их:
• сначала попарно; • затем группами по 4; • потом по байтам; • в конце получает итог одним умножением.
Сегодня современные процессоры обычно выполняют эту операцию аппаратной инструкцией POPCNT, но если её нет, используются программные реализации на основе той же идеи. В .NET для этого есть BitOperations.PopCount(), а подобные алгоритмы до сих пор можно встретить в низкоуровневом системном коде. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой код команда пропустит на ревью. Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали.
Поэтому в большой команде недостаточно просто выбрать хорошую модель. ❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения.
🗓 23 июля в 19:00 МСК поговорим об этом на бесплатном вебинаре с Алексеем Жиряковым — он Executive Director в Сбере, руководит GenAI Data Platform, и с этой проблемой сталкивался не раз 🔥 Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью. 🔗 Занять место на вебинаре 🏃‍♀️ Proglib Academy

✏️ Если вы уже работаете с Claude Code, Cursor или Copilot, этот вебинар будет особенно полезен. Разберут, как превратить AI из инструмента для отдельных задач в часть инженерного процесса ⬇️

🔍 Как работать с массивами в C# без тормозов и без unsafe-кода В C# каждое обращение к элементу массива проверяется на выход
🔍 Как работать с массивами в C# без тормозов и без unsafe-кода В C# каждое обращение к элементу массива проверяется на выход за границы. Это безопасно, но медленно. Разработчики часто решают проблему через unsafe-код с указателями — быстро, но опасно: один неверный индекс, и приложение крашится или получает дыру в безопасности. Есть третий путь — Span<T> Span — это структура, которая хранит указатель на данные и их длину. Фишка в том, что это ref struct — она живёт только в стеке и не может попасть в кучу. Благодаря этому компилятор гарантирует: данные переживут span, а значит проверки границ можно убрать. Например, в быстрой сортровке вместо передачи массива с индексами low/high передаёте span. Код короче, переполнение невозможно, а рекурсивные вызовы работают через срезы:

// Было: опасно, (low + high) может переполниться
void Quicksort(int[] array, int low, int high) {
    int mid = (low + high) / 2;  // 💥 overflow!
    // ...
    Quicksort(array, low, pivot - 1);
    Quicksort(array, pivot + 1, high);
}

// Стало: безопасно и выразительно
void Quicksort(Span<int> span) {
    if (span.Length <= 1) return;
    
    int pivot = Partition(span);
    Quicksort(span[..pivot]);        // левая часть
    Quicksort(span[(pivot + 1)..]);  // правая часть
}
Раньше для передачи части массива в функцию приходилось либо копировать данные, либо таскать массив + offset + length. Span решает это элегантно: создаёте срез array[10..20], передаёте дальше — никакого копирования, полная безопасность типов. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

📍 Почему TryParse() лучше, чем Parse() внутри try/catch Невалидный пользовательский ввод — ожидаемый сценарий, а не авария. Такой код работает, но использует исключения для обычной проверки:

try
{
    var age = int.Parse(input);
    SaveAge(age);
}
catch
{
    ShowError();
}
🔜 Намерение понятнее выразить через TryParse():

if (int.TryParse(input, out var age))
{
    SaveAge(age);
}
else
{
    ShowError();
}
TryParse() сразу показывает: преобразование может не удаться, и этот результат предусмотрен логикой программы. Используйте его для форм, query-параметров, настроек, файлов и других внешних данных. 📌 Ожидаемая ошибка — явная проверка. Исключение — действительно исключительная ситуация. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

🧑‍💻 Учиться агентной разработке — у тех, кто уже внедряет её в бигтехе Курс «ИИ для разработчиков» ведут практики из ведущи
🧑‍💻 Учиться агентной разработке — у тех, кто уже внедряет её в бигтехе Курс «ИИ для разработчиков» ведут практики из ведущих российских IT-компаний 🔥 🔵 Они прошли путь от первых экспериментов с AI до рабочих процессов, в которых агенты помогают команде писать код, готовить PR и быстрее доводить задачи до продакшена. В ближайшее время познакомим вас с каждым преподавателем. Программа курса — по ссылке 🎹 🏃‍♀️ Proglib Academy

📍 Курс — это не только темы и домашние задания Во многом его ценность определяет опыт тех, кто его разрабатывает и ведёт. Об этом как раз новый пост Proglib Academy 🔥

🫡 Один и тот же запрос к AI можно выполнить двумя способами — и получить совершенно разный результат. 1️⃣ способ — просто по
🫡 Один и тот же запрос к AI можно выполнить двумя способами — и получить совершенно разный результат. 1️⃣ способ — просто попросить написать код. Модель может сгенерировать рабочее решение, но именно на этапе проверки часто всплывают пропущенные edge case’ы, ошибки обработки или проблемы с тестами. 2️⃣ способ — дать агенту цикл Think → Act → Observe. Он не останавливается после первой попытки: планирует действия, проверяет результат и, если находит ошибку, исправляет её и пробует снова. Самое интересное, что разница здесь не столько в модели ❕ Claude, GPT или другая LLM могут быть одинаковыми. Разницу создаёт инженерная система вокруг них. 📅 Именно это разберём 23 июля в 19:00 (МСК) на бесплатном вебинаре с Алексеем Жиряковым (Executive Director в Сбере, GenAI Data Platform, ex-CTO Stream и KION). На живом демо покажем, как один и тот же запрос работает без агентной системы и с ней 🔥 🔗 Регистрация 🏃‍♀️ Proglib Academy

Что гарантирует readonly struct? 👾 — Что структура хранится только на стеке 👍 — Все поля readonly; методы не могут изменять this, компилятор предотвращает записи и избегает лишних defensive copies для in 🥰 — Автоматическую реализацию IEquatable<T> ⚡️ — Что экземпляры нельзя боксить Библиотека задач по C#

🔥 Курс «Разработка ИИ-агентов» стартовал, но вы еще успеваете присоединиться! Мы только начали, а первый практический воркшо
🔥 Курс «Разработка ИИ-агентов» стартовал, но вы еще успеваете присоединиться! Мы только начали, а первый практический воркшоп пройдет только 23 июля. До этого времени вы спокойно успеете изучить материалы и нагнать группу. 💼 Главная фишка: финальный проект в портфолио:
В финальном проекте вы сможете выбрать один из двух вариантов: реализовать свою идею или решить задачу от партнера курса — крупной российской финтех-компании. Вы будете работать с датасетом, построенным по реальным сценариям, получите бизнес-контекст и продовые ограничения. В результате соберете AI-агента, который станет сильным проектом для портфолио.
🎁 Упомяните менеджеру специальное предложение «3 курса по цене 1»: Берете VIP-тариф — получаете курс «Разработка ИИ-агентов», хардкорный «AgentOps» и ещё один курс на выбор. Выгода 129.000 ₽! Двери потока вот-вот закроются окончательно. Успейте забрать стек курсов и начать работу над реальным проектом 🔗 Занять место и забрать 3 курса

📌 Списочные паттерны. Разбираем коллекции прямо в switch Проверка коллекций часто превращается в цепочку условий: сначала Length, потом обращения по индексам, затем ещё несколько if. В C# 11 появились списочные паттерны (List Patterns), которые позволяют описать форму коллекции прямо в switch. 🅰️ Квадратные скобки задают структуру, .. означает «любое количество элементов», а var позволяет сразу получить нужные значения.

static string Describe(int[] numbers) => numbers switch
{
    [] => "пусто",
    [var single] => $"один элемент: {single}",
    [var first, var second] => $"два: {first} и {second}",
    [var first, .., var last] => $"первый {first}, последний {last}",
};
Каждая ветка описывает форму данных, а не последовательность проверок. Не нужно вручную проверять Length и обращаться к элементам по индексам. 🅰️ Особенно удобно разбирать аргументы командной строки или результат Split().

static string Route(string[] args) => args switch
{
    ["run", var file] => $"запускаем {file}",
    ["build", .. var rest] => $"сборка с флагами: {string.Join(", ", rest)}",
    _ => "неизвестная команда",
};
Обратите внимание на .. var rest: оператор среза не только пропускает элементы, но и позволяет сразу получить их в отдельную коллекцию. Списочные паттерны работают с массивами, списками и другими типами, которые поддерживают индексатор и имеют Length или Count. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

🔥 Стартуем СЕГОДНЯ! Новый поток курса «Разработка ИИ-агентов» открыт По этому поводу мы решили выложить закрытую запись одно
🔥 Стартуем СЕГОДНЯ! Новый поток курса «Разработка ИИ-агентов» открыт По этому поводу мы решили выложить закрытую запись одного из уроков из программы. Найти её в поиске YouTube нельзя — она доступна только по ссылке и всем, кто будет на курсе. Внутри глубокий разбор LLM от Алексея Яндутова (Senior ML-инженер, развивал ответы «Алисы» и «Нейро» в Яндексе). Учимся получать точный результат без галлюцинаций. Что внутри урока:
- Устройство LLM. - Рабочие шаблоны промптов (Persona, Chain-of-Thought и др.). - Разбор реального кейса Яндекса. Как автоматизировать разметку, обойти качество людей на 5% и срезать косты на 60%.
После просмотра вы поймете, когда хватает промпт-инжиниринга, а когда нужен RAG или fine-tuning. 👉Смотреть закрытый урок на YouTube Понравился урок? Переходите на новый уровень! Оставляйте заявку на курс, чтобы научиться проектировать надежные автономные системы. Обучение началось, но вы еще успеваете присоединиться. 🔗 Занять место на курсе

⏳ До окончания поддержки .NET 8 и .NET 9 осталось четыре месяца Microsoft напомнила, что 10 ноября 2026 года одновременно зак
До окончания поддержки .NET 8 и .NET 9 осталось четыре месяца Microsoft напомнила, что 10 ноября 2026 года одновременно заканчивается поддержка .NET 8 и .NET 9. После этой даты эти версии больше не будут получать обновления безопасности, исправления ошибок и официальную поддержку. ☝️ При этом существующие приложения продолжат работать. Почему обе версии завершаются одновременно:
🔵 .NET 8 — LTS с трёхлетним циклом поддержки. 🔵 .NET 9 — STS. После изменения политики Microsoft срок поддержки STS увеличили до 24 месяцев, поэтому его конец совпал с окончанием поддержки .NET 8.
🔜 Если ваши сервисы ещё работают на .NET 8 или .NET 9, Microsoft рекомендует планировать переход на .NET 10 (LTS), который будет поддерживаться до ноября 2028 года. Перед обновлением стоит: ✅ проверить список breaking changes; ✅ обновить SDK и базовые Docker-образы; ✅ прогнать интеграционные тесты до начала осенней миграции. Осенью этим наверняка займутся многие команды одновременно, поэтому лучше не откладывать обновление на последний момент. 🔗 Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #async_news

👾 Времена жизни сервисов в ASP.NET Core DI Если постоянно путаете AddSingleton, AddScoped и AddTransient — сохраните эту шпаргалку. На одной схеме показано: ✅ сколько живёт каждый сервис; ✅ где обычно используется; ✅ какую ошибку чаще всего допускают при работе с DI. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #схема

🚀 Уже завтра стартует новый поток курса «ИИ-агенты»! Мы собрали мощнейший состав преподавателей. Учить вас проектировать арх
🚀 Уже завтра стартует новый поток курса «ИИ-агенты»! Мы собрали мощнейший состав преподавателей. Учить вас проектировать архитектуру и собирать продакшн-агентов будут инженеры и исследователи из топовых IT-компаний. Старт уже завтра! Сомневаетесь, подойдет ли вам программа и подача? Начните с бесплатного демо-урока! Всего за 2 часа вы заглянете под капот ИИ-агента, поймете, чем мышление модели отличается от ее ответа, и научите систему чинить собственный код. Это идеальный способ протестировать нашу платформу перед покупкой. 🔗 Пройти демо-урок и занять место на курсе