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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека шарписта | C#, F#, .NET, ASP.NET

تُعد قناة Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 21 872 مشتركاً، محتلاً المرتبة 6 212 في فئة التكنولوجيات والتطبيقات والمرتبة 30 851 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 21 872 مشتركاً.

بحسب آخر البيانات بتاريخ 10 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -87، وفي آخر 24 ساعة بمقدار -4، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.06‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.04‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 2 638 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 540 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 8.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, шарписта, навигация, await, string.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 11 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

21 872
المشتركون
-424 ساعات
-167 أيام
-8730 أيام
أرشيف المشاركات
💡 Healthy ≠ Готов к работе Большинство health check'ов проверяют три вещи: - Запущен ли процесс? - Есть ли коннект к базе данных? - Доступен ли Redis? Это полезно. Но этого недостаточно для больших продуктивных систем. Приложение может быть технически живым и при этом функционально сломанным. Процесс работает, эндпоинт возвращает 200, Kubernetes считает под здоровым, но первый же реальный запрос падает с ошибкой. К примеру, кастомный health check для EF Core миграций:
public class DbContextMigrationsHealthCheck(DbContext dbContext) : IHealthCheck
{
    public async Task<HealthCheckResult> CheckHealthAsync(
        HealthCheckContext context,
        CancellationToken cancellationToken = default)
    {
        try
        {
            var applied = await dbContext.Database
                .GetAppliedMigrationsAsync(cancellationToken: cancellationToken);

            var pending = await dbContext.Database
                .GetPendingMigrationsAsync(cancellationToken);

            if (pending.Any())
            {
                return HealthCheckResult.Degraded(
                    "Есть неприменённые миграции.",
                    data: new Dictionary<string, object>
                    {
                        { "PendingMigrations", pending },
                        { "LatestAppliedMigration", applied.LastOrDefault() ?? "" }
                    });
            }

            return HealthCheckResult.Healthy(
                data: new Dictionary<string, object>
                {
                    { "LatestAppliedMigration", applied.LastOrDefault() ?? "" }
                });
        }
        catch (Exception ex)
        {
            return new HealthCheckResult(context.Registration.FailureStatus, exception: ex);
        }
    }
}
Идея не ограничивается EF Core. Любая зависимость, которая доступна, но ещё не готова к работе: • CMS — нужно прогреть кэш перед началом работы • Биллинг — зависит от загрузки актуальных правил ценообразования • Search API — ждёт готовности текущей версии индекса Сервис здоров не тогда, когда открывает SQL-коннекшн. Сервис здоров, когда готов выполнять ту работу, для которой задеплоен. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

💡 Healthy ≠ Готов к работе Большинство health check'ов проверяют три вещи: - Запущен ли процесс? - Есть ли коннект к базе данных? - Доступен ли Redis? Это полезно. Но этого недостаточно для больших продуктивных систем. Приложение может быть технически живым и при этом функционально сломанным. Процесс работает, эндпоинт возвращает 200, Kubernetes считает под здоровым, но первый же реальный запрос падает с ошибкой. К примеру, кастомный health check для EF Core миграций: ```public class DbContextMigrationsHealthCheck(DbContext dbContext) : IHealthCheck { public async Task<HealthCheckResult> CheckHealthAsync( HealthCheckContext context, CancellationToken cancellationToken = default) { try { var applied = await dbContext.Database .GetAppliedMigrationsAsync(cancellationToken: cancellationToken); var pending = await dbContext.Database .GetPendingMigrationsAsync(cancellationToken); if (pending.Any()) { return HealthCheckResult.Degraded( "Есть неприменённые миграции.", data: new Dictionary<string, object> { { "PendingMigrations", pending }, { "LatestAppliedMigration", applied.LastOrDefault() ?? "" } }); } return HealthCheckResult.Healthy( data: new Dictionary<string, object> { { "LatestAppliedMigration", applied.LastOrDefault() ?? "" } }); } catch (Exception ex) { return new HealthCheckResult(context.Registration.FailureStatus, exception: ex); } } }``` Идея не ограничивается EF Core. Любая зависимость, которая доступна, но ещё не готова к работе: • CMS — нужно прогреть кэш перед началом работы • Биллинг — зависит от загрузки актуальных правил ценообразования • Search API — ждёт готовности текущей версии индекса Сервис здоров не тогда, когда открывает SQL-коннекшн. Сервис здоров, когда готов выполнять ту работу, для которой задеплоен. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

⚙️ System.Text.Json теперь возвращает типизированные метаданные без приведения типов Разбираем превью .NET 11. В .NET появятся два новых метода у JsonSerializerOptionsGetTypeInfo<T>() и TryGetTypeInfo<T>(). Раньше, чтобы получить JsonTypeInfo<T>, приходилось вручную кастовать результат из не-дженерикового GetTypeInfo(Type).
// Раньше
JsonTypeInfo<MyType> info = (JsonTypeInfo<MyType>)options.GetTypeInfo(typeof(MyType));

// Теперь
JsonTypeInfo<MyType> info = options.GetTypeInfo<MyType>();
Если тип может быть не зарегистрирован — есть вариант с TryGetTypeInfo<T>(), который не бросает исключение, а возвращает bool.
if (options.TryGetTypeInfo<MyType>(out JsonTypeInfo<MyType>? typeInfo))
{
    // typeInfo готов к работе
}
Изменение небольшое, но устраняет одну из тех мелких раздражающих вещей, с которыми сталкиваешься в реальных проектах. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

✏️ Hello World с приколом Вот код, который видел каждый в первый день знакомства с языком. Только здесь он немного другой: us
✏️ Hello World с приколом Вот код, который видел каждый в первый день знакомства с языком. Только здесь он немного другой:
using System;
using System.Threading;

class Program
{
    static void Main(string[] args)
    {
        Console.CursorVisible = false;

        print('H', ConsoleColor.Red);
        print('e', ConsoleColor.Yellow);
        print('l', ConsoleColor.Magenta);
        print('l', ConsoleColor.Green);
        print('o', ConsoleColor.Blue);
        print(',', ConsoleColor.Red);
        print(' ', ConsoleColor.Red);
        print('w', ConsoleColor.Magenta);
        print('o', ConsoleColor.Cyan);
        print('r', ConsoleColor.Yellow);
        print('l', ConsoleColor.Green);
        print('d', ConsoleColor.Blue);
        print('!', ConsoleColor.Red);
    }

    static void print(char letter, ConsoleColor color)
    {
        Console.ForegroundColor = color;
        Console.Write(letter);
    }
}
Возьмите минутку перерыва и запустите. 💬 А у вас есть любимый бессмысленный кусок кода ➡️ Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #entry_point

⚡️ Кэширование в .NET 10 с EasyCaching Если ваш дашборд каждый раз агрегирует данные из нескольких таблиц, а список сотрудников делает новый запрос к БД при каждой загрузке — с десятью пользователями это терпимо. Под реальной нагрузкой всё рассыпается. EasyCaching решает эту проблему — чистый кэширующий слой, который встраивается в .NET. Что даёт интеграция: • Провайдер, TTL и ключи живут в appsettings.json. Пример:
"PerEndpoint": {
  "Dashboard:Metrics": { "AbsoluteTtlSeconds": 300 },
  "Employees:GetAll":  { "AbsoluteTtlSeconds": 300, "SlidingTtlSeconds": 120 }
}
• MediatR Pipeline: кэш оборачивает query-хендлер прозрачно. Хэндлер вообще не знает, что его результаты кэшируются.
var cached = await _cache.GetAsync<TResponse>(cacheKey);
if (cached != null) return cached;

var result = await next(); // реальный запрос к БД
await _cache.SetAsync(cacheKey, result, CacheKeyPrefixes.EmployeesAll);
return result;
• Domain Events инвалидация: CacheInvalidationEventHandler автоматически сбрасывает кэш при любой записи. RemoveByPrefixAsync чистит все Employees:GetAll:* за раз, без перебора ключей. • Диагностические заголовки X-Cache-Status: HIT/MISS в каждом ответе. Видно прямо в DevTools — кэш работает или нет. • Админские эндпоинты: POST /cache/invalidate и GET /cache/stats для ручного управления Кэширование — это инфраструктура, не бизнес-логика. Хендлеры не знают о кэше, команды не знают об инвалидации. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

🔎 Подборка вакансий для шарпистов Fullstack .NET / C# Developer (Middle/Senior) — 3 000 —‍ 4 500 $, удалёнка. Middle Unity (С#) developer — от 1 500 до 2 700 $, удалёнка. C# backend-разработчик в команду Security — офис или гибрид в Москве. ➡️ Еще больше топовых вакансий — в нашем канале C# Jobs 🐸 Библиотека шарписта

📄 Автоматическое удаление персональных данных из документов на C# Рабочие документы почти всегда содержат что-то личное. Имена, номера паспортов, банковские счета, налоговые идентификаторы — всё это регулярно оседает в PDF-файлах и других документах. Cloudmersive предлагает DLP API с поддержкой .NET, который работает через AI-модель с наложением сетки на документ. Вы сами указываете, какие типы данных считать недопустимыми, API находит их в документе и закрашивает или удаляет. При этом в ответе возвращается и сам отредактированный файл, и полный отчёт о том, что именно было найдено. Установка:
Install-Package Cloudmersive.APIClient.NETCore.DLP -Version 1.1.0
Сам вызов выглядит так:
using Cloudmersive.APIClient.NETCore.DLP.Api;
using Cloudmersive.APIClient.NETCore.DLP.Client;
using Cloudmersive.APIClient.NETCore.DLP.Model;

Configuration.Default.AddApiKey("Apikey", "YOUR_API_KEY");

var apiInstance = new RedactApi();
var body = new DlpDocumentRedactionRequest();

DlpDocumentRedactionResponse result = apiInstance.RedactDocument(body);
В ответе приходит отредактированный документ и набор флагов Contains* — по одному на каждый тип данных. Это удобно, если нужно не просто скрыть данные, но и зафиксировать факт их присутствия в документе для аудита. Отдельно возвращается список страниц, на которых были внесены правки. Для использования нужен API-ключ Cloudmersive — регистрация на их сайте, есть бесплатное использование. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

🔄 .NET 11 Preview 2 Вышел второй превью .NET 11. Пока это не финальный релиз, но уже есть что посмотреть. Самое заметное в э
🔄 .NET 11 Preview 2 Вышел второй превью .NET 11. Пока это не финальный релиз, но уже есть что посмотреть. Самое заметное в этом превью — работа над производительностью на нескольких уровнях одновременно. • В рантайме появился Runtime Async V2. Это переработанная реализация асинхронности на уровне самого рантайма, не на уровне компилятора. Цель — убрать лишние аллокации и сделать работу async/await дешевле по ресурсам. • SDK стал немного меньше. Установщики для Linux и macOS сократились в размере. Плюс обновили анализаторы кода и добавили новые предупреждения при сборке. • F# в этом превью получил несколько практичных вещей. Кэширование при разрешении перегрузок должно ускорить компиляцию в проектах с большим количеством overload-ов. Упростили иерархии DIM-интерфейсов, добавили директиву #elif и функцию partitionWith для коллекций. • В Entity Framework Core добавили поддержку LINQ операторов MaxBy и MinBy. Для SQL Server появилась поддержка DiskANN векторных индексов и VECTOR_SEARCH(). • MAUI тоже не обошли стороной. Улучшили работу карт, ускорили TypedBinding, добавили аннотации неизменяемости для Color и Font. Для Android теперь минимально требуется API 24. ➡️ Источник 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #пульс_индустрии

⚙️ Лямбды с захватом переменных: скрытые аллокации на горячем пути Один из способов незаметно нагрузить хип — захватить локальную переменную внутри лямбды:
int threshold = 10;
var query = items.Where(x => x > threshold);
Код читается легко. Но когда лямбда захватывает threshold, компилятор может сгенерировать объект-замыкание для хранения этого состояния. Microsoft явно документирует static-лямбды как способ запретить захват и предотвратить лишние аллокации. Почему это проблема В обычном коде это, как правило, не критично. Но на горячем пути повторное создание замыканий превращается в постоянный трафик на куче. GC начинает работать чаще, а производительность становится непредсказуемой и всё это из-за одной строки, которая выглядит абсолютно безобидно. Как исправить Если захват не нужен, скажите об этом явно:
var query = items.Where(static x => x > 10);
Или вынесите логику в отдельный метод:
static bool IsAbove(int x, int threshold) => x > threshold;
Если лямбда находится на горячем пути, смотрите на неё глазами performance-инженера, а не просто читателя кода. Захват состояния это повод насторожиться. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

Часовая готовность: создаём ИИ-агента в прямом эфире В 19:00 МСК в рамках нашего курса «Разработка AI-агентов» стартует вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке. Будет live-демо работающего агента, реальные метрики из корпоративной среды и честный разбор архитектурных граблей — без воды и «успешного успеха». Всем зрителям эфира дадим эксклюзивный промокод AGENTS на скидку 10 000 ₽ на любой тариф курса. 👉 Занять место на вебинаре

☝️ Уже сегодня: ИИ-агенты в продакшене — инженерный подход к интеграции LLM Индустрия активно обсуждает потенциал нейросетей, способных автоматизировать бизнес-процессы и заменить целые отделы. Однако реальное внедрение агентов в production вскрывает серьёзные проблемы: разработчикам приходится бороться с непредсказуемыми галлюцинациями моделей, нестабильными API и сложной интеграцией в существующую архитектуру. Сегодня в 19:00 МСК в рамках нашего курса «Разработка AI-агентов» мы проведём открытый вебинар «ИИ-агенты в продакшене: от хайпа к деньгам». Спикер — Полина Полунина, руководитель AI-направления в Альфа-Банке. Будем говорить о нейросетях с позиции жёсткой инженерии. Разберём три реальных кейса из сурового банковского энтерпрайза, напишем и запустим агента прямо в эфире, честно обсудим грабли, на которые наступает бизнес при интеграции LLM. Тем, кто придёт на эфир, дадим промокод AGENTS на скидку 10 000 ₽ на любой тариф курса. 👉 Занять место на вебинаре

📋 Один и тот же рынок, но разные шансы Кандидат с рекомендацией получает оффер в 4 раза чаще, чем тот, кто откликнулся в хол
📋 Один и тот же рынок, но разные шансы Кандидат с рекомендацией получает оффер в 4 раза чаще, чем тот, кто откликнулся в холодную. Сбер говорит, что треть сотрудников пришли именно так. И это не исключение — это уже норма для крупных IT-компаний. Разобрали, как работает реферальный рекрутинг, где компании публикуют свои программы и что нужно, чтобы вас порекомендовали. ➡️ Как устроиться по рекомендации и где искать реферальные программы 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта

💡 Консольный интерфейс за 5 минут SharpConsoleUI — это библиотека для .NET, которая позволяет строить полноценный оконный ин
💡 Консольный интерфейс за 5 минут SharpConsoleUI — это библиотека для .NET, которая позволяет строить полноценный оконный интерфейс прямо в терминале. Несколько окон одновременно, модальные диалоги, фокус, мышь, клавиатура. Всё то, что обычно ждёшь от GUI-фреймворка, но работает в консоли. Под капотом двойная буферизация и частичное обновление только грязных регионов, так что мерцания нет. Рендеринг либо напрямую, либо через буфер. Самый простой вариант:
var windowSystem = new ConsoleWindowSystem(RenderMode.Buffer);
var window = new Window(windowSystem)
{
    Title = "Hello World",
    Width = 50,
    Height = 15
};
windowSystem.AddWindow(window);
windowSystem.Run();
Начиная с версии 2.0 появился fluent API:
var window = new WindowBuilder(windowSystem)
    .WithTitle("Modern Hello World")
    .WithSize(50, 15)
    .Centered()
    .WithColors(Color.DarkBlue, Color.White)
    .Build();
Прямой вывод в консоль в этой библиотеке нельзя использовать — он ломает рендеринг. Вместо этого есть встроенный сервис логирования, который пишет в файл. Включается через переменные окружения:
export SHARPCONSOLEUI_DEBUG_LOG=/tmp/consoleui.log
export SHARPCONSOLEUI_DEBUG_LEVEL=Debug
Библиотека поставляется с готовыми элементами управления. Среди них разметочный контрол на основе Spectre.Console, кнопки, чекбоксы, многострочный редактор текста с прокруткой, дерево для иерархических данных, список с выбором и табличная сетка. ➡️ Репозиторий 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

👨‍💻 Протокол против AI слопа в вебе Есть потрясающий проект, который пытается решить одну из главных проблем современного и
👨‍💻 Протокол против AI слопа в вебе Есть потрясающий проект, который пытается решить одну из главных проблем современного интернета: как узнать, создан ли контент человеком или это просто сгенерированный AI? Как работает доверие Не нужно доверять всему интернету сразу. Выбираете несколько сайтов, которым уже доверяешь. Потом система ищет все сайты, которые эти люди одобрили. Это 1 хоп. Потом сайты, которые одобрили они. Это 2 хопа. И так далее. Если видите сайт, который находится на расстоянии 1-2 хопа от человека, которому вы доверяете, то это реальный контент с высокой вероятностью. Расстояние визуализируется цветом: зелёный (0-1 хоп), жёлтый (2), оранжевый (3+). Вы публикуете на своём сайте JSON файл:
{
  "version": "0.1.1",
  "url": "https://example.com",
  "vouches": [
    {
      "url": "https://trusted-person.com",
      "vouched_at": "2026-01-15"
    }
  ]
}
И в <head> добавляете:
<link rel="human-json">
Браузерное расширение видит эту ссылку и проверяет: есть ли у этого человека люди, которые его одобрили. Если есть, и они находятся на расстоянии 1-2 хопа от Вас, сайт получает зелёный индикатор. Если Вы добавите human.json сейчас, Вы будете в первой волне. Это как было с SSL 15 лет назад. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #sharp_view

🛠 MCP C# SDK v1.0 Стабильная версия пакета разработчика принесла полезные фичи для интеграции ИИ в .NET. OAuth теперь проще. Сервер может хранить метаданные тремя способами, пакет найдёт сам. Инструменты теперь получают иконки. Настраивается через атрибут:
[McpServerTool(IconSource = "https://example.com/icon.svg")]
public static string GetWeather(string city) { }
Инструменты в запросах к модели Сервер может включить инструменты в запрос к модели языка, и она их вызовет. Модель выполняет инструмент, сервер обрабатывает результат и отправляет обратно. Это может повторяться несколько раз. На клиенте объявляйте поддержку:
var mcpClient = await McpClient.CreateAsync(
    new HttpClientTransport(new() { Endpoint = new Uri("http://localhost:6184") }),
    clientOptions: new()
    {
        Capabilities = new ClientCapabilities
        {
            Sampling = new SamplingCapability { Tools = new SamplingToolsCapability {} }
        }
    });
На сервере просто передавайте инструменты в запрос:
Tool rollDieTool = new Tool()
{
    Name = "roll_die",
    Description = "Rolls a six-sided die and returns 1-6."
};
Долгоживущие запросы Раньше при разрыве соединения нужно было пересоединяться. Теперь сервер отправляет пустое событие с ID и может закрыть соединение. Клиент переподключится через этот ID. На сервере:
builder.Services.AddDistributedMemoryCache();
builder.Services.AddMcpServer()
    .WithHttpTransport()
    .WithDistributedCacheEventStreamStore()
    .WithTools<MyTools>();
В обработчик вызовите:
await context.EnablePollingAsync(retryInterval: TimeSpan.FromSeconds(5));
Задачи для долгих операций Задачи хранят результаты надёжно и позволяют опрашивать состояние, получать результаты и отменять работу. Могут быть в состояниях: работает, требуется ввод, завершена, ошибка, отменена. На сервере:
var taskStore = new InMemoryMcpTaskStore();
builder.Services.AddMcpServer(options => { options.TaskStore = taskStore; })
    .WithHttpTransport();
Инструменты автоматически поддерживают задачи если возвращают Task:
[McpServerTool(TaskSupport = ToolTaskSupport.Required)]
public static async Task<string> ProcessData(int count, CancellationToken ct)
{
    await Task.Delay(TimeSpan.FromSeconds(8), ct);
    return $"Processed {count} records.";
}
На клиенте:
var result = await client.CallToolAsync(
    new CallToolRequestParams
    {
        Name = "processDataset",
        Task = new McpTaskMetadata { TimeToLive = TimeSpan.FromHours(2) }
    });

var completedTask = await client.PollTaskUntilCompleteAsync(result.Task.TaskId);
Версия 1.0 это полноценная платформа для ИИ интеграции в .NET. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #async_news

📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #garbage_collector

🖥 Первый дайджест весны Прошла первая неделя весны и мы снова собрали для вас то, что могло уйти из вашего инфополя. — Cake
🖥 Первый дайджест весны Прошла первая неделя весны и мы снова собрали для вас то, что могло уйти из вашего инфополя. — Cake 6.0.0 вышелСпам тимлидам, фейковые офферы и приукрашенное резюмеMerge conflict для календаряNuGet стал удобнееNoundry готова к бою 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #async_news

💥 Открытый вебинар | ИИ-агенты в продакшене: от хайпа к деньгам Агенты уже везде. Но мало кто признаётся, сколько денег сжёг на бесконечных циклах, галлюцинациях в RAG и отсутствии мониторинга. Полина Полунина, руководитель AI-направления Альфа-Банка, расскажет честно: ▪️ Чем агент отличается от «просто GPT с промптом» и когда бизнесу достаточно обычного LLM ▪️ 3 реальных кейса из корпоративной среды: что взлетело, а что нет ▪️ Live-демо работающего агента ▪️ ТОП-5 граблей, на которые наступают команды при внедрении ⏱️ 10 марта в 19:00 (МСК) 🎁 Участники получат промокод на скидку на самый полный курс по ИИ-агентам 👉 Регистрируйся

👨‍💻 Кэширование в три слоя — спасение базы данных База данных имеет лимит количества запросов в секунду, который она может
👨‍💻 Кэширование в три слоя — спасение базы данных База данных имеет лимит количества запросов в секунду, который она может обработать. При миллионах запросов в час этот лимит будет достигнут независимо от того, насколько хорошо написан код. Решение одно: кэшировать агрессивно. Неправильный подход это кэшировать все и везде без логики. Правильный подход это иметь стратегию кэширования с разными слоями. Первый слой: память приложения MemoryCache в .NET работает очень быстро, потому что данные лежат в памяти одного процесса. Здесь кэшируются часто запрашиваемые данные с коротким временем жизни. Профили пользователей, настройки, статические справочники. TTL может быть 30 секунд или минута. Второй слой: распределенный кэш Redis или Memcached. Когда приложение запущено на нескольких контейнерах, они должны видеть одни и те же данные. Если один контейнер кэшировал профиль пользователя, остальные должны получить его без запроса в БД. Третий слой: кэширование ответов Некоторые API ответы не зависят от пользователя и могут быть закэшированы целиком. Если GET /api/countries возвращает список стран, это можно кэшировать на час, потому что страны не меняются часто. На практике такая архитектура может снизить нагрузку на базу данных на 80 процентов. Просто потому, что большинство запросов идут в кэш, а не в БД. Ключ в том, чтобы знать, какие данные и как долго кэшировать. Не нужно хранить в кэше пользовательские данные, которые меняются каждую секунду. Нужно кэшировать данные, которые стабильны и часто запрашиваются. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #il_люминатор

🔎 Microsoft Foundry: февраль 2026 В феврале Foundry получил существенный апдейт. Вышли Claude 4.6 от Anthropic и Grok 4.0 от
🔎 Microsoft Foundry: февраль 2026 В феврале Foundry получил существенный апдейт. Вышли Claude 4.6 от Anthropic и Grok 4.0 от xAI, Agent Framework достиг release candidate с серьезными изменениями, и все SDK переходят на единую REST архитектуру. Новые модели Claude Opus 4.6 и Claude Sonnet 4.6 теперь доступны в Foundry. Opus для сложного рассуждения, Sonnet примерно того же уровня, но дешевле. Оба поддерживают миллион токенов контекста и 128K токенов в ответе. Grok 4.0 от xAI стал GA. Одновременно вышла Grok 4.1 Fast для классификации и маршрутизации без рассуждений: 0.20 долларов за миллион на вход. GPT-Realtime-1.5 и GPT-Audio-1.5 улучшили следование инструкциям на 7% и точность транскрипции на 10%. FLUX.2 Flex специально для UI дизайна с текстом. Agent Framework: Release Candidate и HITL Agent Framework вышел в 1.0.0rc1 с замороженным API. Общий выпуск уже рядом, но есть разрывающие изменения. Главные перемены: • Учетные данные теперь используют Azure Identity вместо токена • Сессии вместо потока • response.messages вместо response.text • create_version() вместо create() • Предварительные операции в подкаталоге .beta REST API v1 GA Foundry REST API v1 теперь production-ready. Все основные эндпоинты заморожены: чаты, ответы, встраивания, файлы, тонкая настройка, модели, хранилища векторов. Если ваш SDK еще в pre-release, можете запросить REST API напрямую. SDK обновления .NET 2.0.0-beta.1: ImageBasedHostedAgentDefinition объединили с HostedAgentDefinition. Foundry Local и VS Code Foundry Local теперь поддерживает большие мультимодальные модели полностью автономно без облака. AI Toolkit for VS Code v0.30.0 добавил Tool Catalog для поиска инструментов, Agent Inspector для дебага с F5 breakpoints и переделанный Agent Builder. В марте SDK будут общедоступны. Обновитесь к RC сейчас, если используете. ➡️ Блог разработчиков 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека шарписта #async_news