Библиотека шарписта | C#, F#, .NET, ASP.NET
21.8K subscribers
2.85K photos
41 videos
88 files
5.27K links
Все самое полезное для C#-разработчика в одном канале.

Наши курсы: https://clc.to/y3LDtw

По рекламе: @proglib_adv

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
⚡️ Знакомьтесь с экспертом Proglib Academy: AI-архитектор Антон Будняк

Антон — мастер превращения сырых AI-идей в отказоустойчивые системы. Он знает, как запустить MVP за неделю и масштабировать его так, чтобы архитектура не рассыпалась под нагрузкой в сотни тысяч юзеров.

За что его ценит IT-комьюнити:

🟣 Опыт в финтехе и крупном бизнесе
Руководил разработкой ML-моделей в финтехе с экономическим эффектом более 100 млн ₽


🟣 Запуск продуктов на 6.000+ пользователей
Антон строит сервисы, которыми пользуются тысячи людей в реальном проде.


🟣 Ускоряет разработку
Оптимизировал ML-пайплайны и кратно сократил время от начала разработки до релиза


📚 Где Антон черпает знания (рекомендации эксперта):

- X* — главный источник новостей. Рекомендую блог Бориса Черни (создателя Claude Code) — там база про использование ИИ в разработке.
- Нетворкинг в ТГ: чаты LLM под капотом и AI-чат — здесь можно найти ответ почти на любой технический вопрос.
- Новости AI: каналы Сиолошная и Denis Sexy IT.

На курсе Agentops Антон учит строить «неубиваемый» бэкенд: работать с очередями, таймаутами и балансировкой нагрузки, чтобы ваши агенты работали стабильно 24/7.

🎁 Майские СКИДКИ в Proglib Academy!

До конца мая на все курсы академии (включая AgentOps и разработку ИИ-агентов) действует скидка -40%. Это лучший момент, чтобы войти в AI-разработку под присмотром практиков.

Узнать больше о программе и обучении у Антона:
👉 Курс о том, как внедрять AI-логику в бэкенд и сохранять стабильность сервиса

Продолжаем знакомить вас с командой?
👍 — Да, ждем новых лиц
🔥 — Пойду подпишусь на каналы из списка Антона

🏃‍♀️ Proglib Academy

* - запрещен в рф
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱11🎉42👍2
👀 Практический курс «Разработка AI-агентов для автоматизации задач, работы и собственных проектов» со скидкой 40% до конца мая!

Мы поговорили с десятками разработчиков, учли главные боли индустрии и запускаем полностью обновленный курс «ИИ-агенты 5.0». 🎉

Что вы узнаете?

- Как радикально оптимизировать траты на токены.
- Как на практике оценивать качество и точность работы агента.
- Как «докручивать» RAG-системы без потери качества.
- Как обеспечить устойчивость агента к сбоям внешних сервисов без падения всей системы, и про многое-многое другое.

Спикеры — практики с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, Raft и Газпромбанк др.

Длительность: 6–12 недель в зависимости от тарифа.

👉 Занимайте место на главном агентском интенсиве по лучшей цене
🥱5👾2
🦾🧠🏋️ Качаем мозги к лету!

Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффер, строить продукты будущего и работать из любой точки мира 😎

⚡️ Распродажа @proglib_academy: забирайте самые актуальные образовательные треки по сниженным ценам!

➡️ Разработка AI-агентов от 49 000 ₽ (вместо 69 000 ₽).

➡️ Курс AgentOps129 000 ₽ (вместо 149 000 ₽).

➡️ Математика для разработки AI-моделей23 990 ₽ (вместо 31 990 ₽).

➡️ ML для старта в Data Science 28 990 ₽ (вместо 38 990 ₽).

Почему мы?

⭐️Учим для продакшена. Наши программы заточены под реальные задачи бизнеса: как не слить бюджет на токены, как заставить LLM работать стабильно в бэкенде и как выстроить отказоустойчивую архитектуру.
⭐️Спикеры — суровые практики. Вы будете перенимать опыт у действующих AI-архитекторов, тимлидов и ML-инженеров из топовых IT-компаний.
⭐️Комплексный подход. Мы даем как мощный математический фундамент для понимания моделей «под капотом», так и передовые инструменты оркестрации агентов.
⭐️Много практики и фидбека. Вебинары, десятки практических заданий и живое общение с экспертами в чате Telegram на протяжении всего обучения.

Оставляйте заявку и бронируйте место со СКИДКОЙ 40%
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4😁1
⚡️ Последний шанс забрать курсы со СКИДКОЙ 40%! Прокачайте свой мозг правильно

До конца акции вы можете воспользоваться специальными ценами на самые востребованные IT-направления. Круто и выгодно прокачать свои скиллы, чтобы получить оффер, уехать на Бали и больше не быть онлайн 😎

➡️ Разработка AI-агентов от 49 000 ₽ (вместо 69 000 ₽)
Курс про контролируемую разработку ИИ-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — только практическая работа.

➡️ Курс AgentOps 129 000 ₽ (вместо 149 000 ₽)
Профессиональный трек для разработчиков и LLM инженеров о том, как правильно внедрять AI-логику в бэкенд и сохранять железную стабильность сервиса.

➡️ Математика для Data Science от 29 990 ₽ (вместо 39 990 ₽)
Вы научитесь решать сложные математические задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе. Отличная база для мощного старта в DS.

➡️ Курс Специалист по ИИ 89 000 ₽ (вместо 113 900 ₽)
Комплексная программа для получения профессии в сфере ИИ с нуля. За 8 месяцев вы соберете сильное портфолио из 5 реальных проектов и дипломной работы.

➡️ Архитектуры и шаблоны проектирования27 990 ₽ (вместо 37 900 ₽)
Интенсив для разработчиков, который поможет освоить основные паттерны проектирования и прокачать навыки архитектора программного обеспечения.

🌸 Выбирайте направление, оставляйте заявку на сайте распродажи, и наш менеджер подробно вас проконсультирует
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱42💯2
⌨️ Как мгновенно отозвать токен в .NET

Обычный JWT нельзя мгновенно отозвать без дополнительной инфраструктуры. Если токен украден, он остаётся валидным до окончания срока действия.

ℹ️ Для сценариев, где доступ нужно отключать сразу, используйте Reference Tokens в Duende IdentityServer:

csharp new Client { ClientId = «banking_app», AccessTokenType = AccessTokenType.Reference };


ℹ️ Теперь токен хранится на сервере и проверяется через интроспекцию. При необходимости его можно отозвать:

csharp await client.RevokeTokenAsync(new TokenRevocationRequest { Address = «https://identity.example.com/connect/revocation», Token = accessToken });


ℹ️ После отзыва API получит:

json { «active»: false }


📌 Когда использовать:

— банковские приложения;
— медицинские системы;
— внутренние сервисы с повышенными требованиями к безопасности;
— критичные операции, где нельзя ждать истечения JWT.

Платой за мгновенный отзыв становится интроспекция токена на стороне сервера

🔗 Читать подробнее

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83😢1🙏1
📢 Навигация по каналу

Чтобы не теряться в потоке постов, собрали удобную навигацию по рубрикам:

#sharp_view — короткие и полезные посты с кодом, best practices, фишки C#, сравнение подходов, code snippets и разбор багов

#il_люминатор — глубокие технические разборы: архитектурные паттерны, производительность, устройство .NET, CLR, GC, JIT и сложные концепции

#async_news — релизы .NET, обновления IDE, анонсы конференций, дайджесты и другие важные новости экосистемы

#entry_point — опросы, холивары, вопросы подписчикам, истории из практики и обсуждения с сообществом

#dotnet_challenge — задачи по C# и .NET, вопросы с собеседований, поиск ошибок в коде и интерактивные викторины

#схема — инфографика, диаграммы, шпаргалки, дорожные карты и визуальное объяснение сложных тем

#garbage_collector — мемы, юмор и забавные истории из жизни .NET-разработчиков

🔈 Используйте рубрики для быстрого поиска интересующих материалов и не пропускайте новые публикации.

🐸 Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
7
📌 Дайджест .NET за неделю

🔤 Material 3 для .NET MAUI на Android

Android-приложения на .NET MAUI 10 теперь можно перевести на Material 3 (Material You) одной настройкой в .csproj:


<PropertyGroup> <UseMaterial3>true</UseMaterial3> </PropertyGroup>


🔵 Поддержка появилась в SR6 (Microsoft.Maui.Controls 10.0.60+) и уже охватывает Entry, SearchBar, DatePicker, Slider, Switch, Shell и другие стандартные контролы.

Работает только на Android.

🔤 Гайд по GitHub Copilot для .NET

Microsoft выпустила практический гайд по работе с GitHub Copilot в .NET-проектах. Полезно тем, кто уже использует Copilot и хочет получать от него больше пользы.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#async_news
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
⚡️ Продолжаем знакомить вас с экспертами курса AgentOps!

Сергей Нотевский расскажет, как выстроить FinOps для AI-продуктов: оптимизировать затраты на разработку и продакшен, внедрить model routing, semantic cache и систему алертов для контроля расходов
Эмиль Сатаев разберет Context Engineering: управление контекстом, защиту от prompt injection, работу с длинными контекстами и построение безопасного пайплайна входа для AI-систем
Михаил Бондаревский покажет, как подготовить инфраструктуру для AI-агентов: Docker, sandboxing, streaming, docker-compose и воспроизводимое окружение для разработки и продакшена
Мурат Хажгериев расскажет про Enterprise Integrations & MCP: когда MCP действительно нужен, как подключать внешние сервисы и реализовывать интеграции с OAuth2 delegation
Герман Сабиров разберет Governance & Compliance для AI-систем: data flow, audit logs, требования 152-ФЗ, локализацию данных и построение compliance-подхода на уровне архитектуры

Курс для backend-разработчиков, тимлидов и LLM инженеров о том, как внедрять AI-логику в бэкенд IT-продуктов и сохранять стабильность сервиса.

👉 Изучить обновленную программу AgentOps и занять место.
3🥱3
🤔 Middleware, Endpoint Filter или Policy Pipeline

Почти в каждом ASP.NET Core-проекте возникает один вопрос: куда выносить новую логику

Проверки доступа, feature flags, комплаенс, торговые часы и региональные ограничения со временем превращают хендлеры в набор бесконечных if.

➡️ В карточках разберём, чем отличаются Middleware, Endpoint Filters и Policy Pipeline, и в каких случаях использовать каждый из них.

🔗 Ссылка

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#il_люминатор
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5
the complete csharp 2026 cheat sheet.jpeg
185.4 KB
💡 Что должен знать C#-разработчик

От async/await и LINQ до GC, многопоточности, рефлексии и управления памятью — экосистема .NET становится всё шире с каждым релизом.

➡️ Нашли большую шпаргалку, которая собирает ключевые темы C# и .NET в одном месте. Удобно для подготовки к собеседованию, систематизации знаний или поиска тем для изучения ⚡️

🔗 Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#схема
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🧩 Разбор задачи

Правильный ответ: Будет выброшен InvalidOperationException

Многие ожидают, что новый элемент просто добавится в список и цикл продолжит работу. Но внутри foreach используется Enumerator, который запоминает версию коллекции на момент начала обхода.

После выполнения:

users.Add(4);


версия списка изменяется.

➡️ При следующем вызове MoveNext() Enumerator обнаруживает, что коллекция была изменена после начала обхода, и выбрасывает исключение:

System.InvalidOperationException: Collection was modified; enumeration operation may not execute.


Исключение возникает не в момент Add(), а при попытке перейти к следующему элементу коллекции.

Например, такой код:


{
Console.WriteLine(user);

if (user == 2)
users.Add(4);
}


успеет вывести:

1
2


и только после этого завершится с ошибкой.

💡 Это поведение характерно не только для List<T>, но и для большинства коллекций .NET, включая Dictionary<TKey, TValue>, HashSet<T> и другие.

Если во время обхода нужно изменять коллекцию, используйте цикл for, работайте с копией через ToList() или накапливайте изменения отдельно.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83👾2
😎 Знакомьтесь с экспертом Proglib.academy: Senior Software Engineer и Team Lead в Yandex Cloud Роман Барлос

Роман — консультант нашего курса «Разработка ИИ-агентов». Он работает на стыке cloud-native архитектуры и AI, активно внедряя современные ИИ-подходы в реальные процессы разработки.

За что его ценит IT-комьюнити?


🟣 Team Lead и AI-евангелист в команде UX Yandex Cloud
14-лет в разработке. Занимается AI-адопшеном в команде Yandex Cloud, проводит мастер-классы и продвигает лучшие практики для повышения эффективности разработчиков.


🟣 Техлид Sourcecraft Code Assistant
С сильным практическим бэкграундом принимал участие как технический лид в создании мощного AI-расширения для VS Code.


🟣 Создатель полезного Open Source
Разрабатывает утилиты, которые позволяют быстро начать эксперименты с инференсом и агентами в локальном окружении: например, набор скриптов vllm-setup для быстрого запуска окружения и mini-proxy — минималистичный прокси для OpenAI API провайдеров.


🟣 Автор интерактивных ML-визуализаций
Объясняет сложные концепции наглядно. Создал серию залипательных обучающих материалов, где можно вживую пощупать работу сетей Хопфилда, машин Больцмана и VC-размерности.


Роман регулярно делится инженерными наработками, инсайтами и экспертизой в своем авторском Telegram-канале

На курсе Роман выступает консультантом программы: он помогает формировать содержание уроков с опорой на актуальные инженерные практики и жесткие требования индустрии.

Узнать больше о программе и разработке автономных систем:
👉 Курс «Разработка ИИ-агентов»

Так, продолжаем знакомить вас с командой?
👍 — Да, ждем новых лиц
🔥 — Жду полезные материалы от Романа
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Когда добавил CultureInfo.InvariantCulture и больше не ищешь баги, которые воспроизводятся только у пользователей из Германии 😎

🐸 Библиотека шарписта

#garbage_collector
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17👍5🥰3
🔥 Инженерная методичка по ИИ от Романа Барлоса (Team Lead в Yandex Cloud)

Продолжаем делиться экспертизой команды курса «Разработка ИИ-агентов».

Роман собрал мастхев-инструменты и ключевые работы для тех, кто хочет выйти за рамки вайбкодинга.

🛠 Полезные инструменты:
Understand Anything — граф знаний по коду и зависимостям.
DeepTutor — open-source платформа для персонализированного обучения.
Superpowers — набор практик для системной разработки с ИИ.
Awesome Agent Skills — коллекция навыков для ИИ-агентов.


📚  Ключевые работы по LLM:
Attention Is All You Need (2017) — архитектура Transformer.
GPT-1 (2018) — начало эпохи GPT.
GPT-2 (2019) — решение новых задач без дообучения.
GPT-3 (2020) — обучение на примерах из запроса.
InstructGPT (2022) — RLHF и современные чат-боты.


На курсе Роман выступает консультантом программы: помогает формировать содержание уроков с опорой на актуальные инженерные практики».

Занять свое место на потоке:

👉 Курс «Разработка ИИ-агентов»
3👏2🥰1
💡 Если свойству нужна небольшая логика, больше не обязательно заводить отдельное поле

Раньше приходилось писать так:


private string _email;

public string Email
{
get => _email;
set => _email = value.Trim().ToLowerInvariant();
}


Начиная с C# 14 можно использовать field — ссылку на автоматически сгенерированное backing field:


public string Email
{
get;
set => field = value.Trim().ToLowerInvariant();
}


Подходит для:

валидации значений
нормализации данных
INotifyPropertyChanged
небольшой логики в get/set

⚠️ Если в классе уже есть член с именем field, внутри аксессора приоритет получит новое ключевое слово. Для обращения к своему члену используйте @field или this.field.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
11