🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!
Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.
📆 Старт — 15 сентября.
💸 Цена 49 000 ₽ — только до 24 августа.
👉 Зафиксировать цену
Можно ли разрешить наследование класса, но запретить переопределение метода?
Можно для второго класса в иерархии наследования, если переопределяем виртуальный метод как sealed override, тогда дальнейшее переопределение по цепочке наследования запрещено.
Библиотека собеса по С#
Библиотека собеса по С#
👍1
В .NET у вас есть высоконагруженный сервис, активно использующий async/await. При профилировании вы видите, что создаётся слишком много задач и растёт нагрузка на ThreadPool. Какие приёмы оптимизации вы можете применить?
Использовать ValueTask вместо Task, если операции часто завершаются синхронно; ограничивать параллелизм через SemaphoreSlim или Channel; избегать избыточного async там, где можно обойтись синхронным вызовом; применять пул объектов (ArrayPool, ObjectPool) для снижения аллокаций.
Библиотека собеса по С#
Библиотека собеса по С#
❤5
⚡️ Бесплатный вебинар — прогнозируем цены и не сходим с ума
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
«Введение в машинное обучение: как спрогнозировать стоимость недвижимости».
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
☝️ Один мудрый тимлид дал двум своим разработчикам по «таланту» — мощной, но своенравной LLM.
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
Первый разработчик испугался её «галлюцинаций». Он запер модель в песочнице, не давая ей доступа к свежим данным. На вопросы модель отвечала красиво, но часто придумывала факты, то есть врала. Он просто «закопал» свой талант, боясь им пользоваться.
Второй же разработчик не побоялся. Он построил для своей LLM систему RAG — дал ей «лопату и карту», чтобы находить сокровища в базе знаний компании. Его AI-агент отвечал точно по делу, ссылаясь на реальные документы. Он заставил свой «талант» работать и приносить пользу.
Мощь LLM раскрывается не в ней самой, а в системах, которые вы строите вокруг неё.
Именно такие системы мы и будем строить на втором потоке нашего курса «AI-агенты для DS-специалистов». Мы не просто поговорим о RAG, а соберём полный пайплайн с оценкой качества, чтобы ваш агент не врал.
Представьте, что вы сможете начать изучать эту сложную и востребованную тему уже 15 сентября, а не ждать официального старта в октябре. У вас будет фора в 3 недели, чтобы спокойно разобраться в векторных базах и подходе «LLM as a Judge».
💸 Цена 49.000 ₽ действует последние 4 дня — до 24 августа.
👉 Начать строить RAG раньше других
Почему struct в C# может быть быстрее, чем class?
Потому что struct хранится на стеке (или inline в объекте), не требует аллокации в куче и не создаёт нагрузку на GC.
Библиотека собеса по С#
Библиотека собеса по С#
👍1
В высоконагруженном .NET-сервисе вы замечаете частые паузы из-за сборки мусора (GC). Как вы будете диагностировать и оптимизировать проблему?
Сначала профилировать память (dotMemory, PerfView, ETW), чтобы найти “тяжёлые” аллокации. Проверить Generation 2 объекты и Large Object Heap. Для оптимизации — уменьшить количество аллокаций с помощью Span<T>, Memory<T>, пулов объектов (ArrayPool<T>), использовать ValueTask, а также при необходимости настроить режим GC (Server vs Workstation, Background GC).
Библиотека собеса по С#
Библиотека собеса по С#
👍11
В продакшене .NET-сервис со временем начинает замедляться, при этом CPU загружен не полностью, но видно рост задержек при обработке запросов. Как вы будете искать и устранять проблему?
Провести профилирование (PerfView, dotTrace) для анализа блокировок и асинхронных операций, проверить работу async/await на предмет deadlock’ов, посмотреть contention в lock/Monitor. Оптимизировать использование асинхронных I/O, ограничить параллелизм (например, SemaphoreSlim), снизить аллокации и при необходимости перепроектировать горячие участки кода.
Библиотека собеса по С#
Библиотека собеса по С#
В .NET Core приложении вы видите рост задержек при обработке запросов. Профилирование показывает большое количество задач в состоянии WaitingForActivation. Что это может означать и как подойти к решению?
Это указывает на то, что async-операции не завершаются — скорее всего, используется блокирующий код внутри async-методов (например, .Result или .Wait()), либо есть deadlock в цепочке await. Решение — убрать блокировки, использовать полноценный async/await, при необходимости добавить таймауты и профилировать зависимые I/O вызовы.
Библиотека собеса по С#
Библиотека собеса по С#