Фильтры исключений позволяют выполнить код при срабатывании catch, но при этом не перехватывать исключение.
Пример:
try
{
await work();
}
catch (Exception ex) when (Log(ex))
{
// этот блок не выполняется, так как Log возвращает false
}
static bool Log(Exception ex)
{
// логируем исключение
return false;
}
Метод Log вызывается один раз при исключении, логирует его и возвращает false, чтобы исключение продолжило всплывать дальше без перехвата.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔11😁4❤2👾1
Обычный сценарий поиска работы в ИТ до сих пор у многих сводится к загрузке резюме на несколько площадок и ожиданию, пока система кого то заинтересует. При этом автоматические правила, внутренние фильтры и массовая обработка откликов оставляют кандидата без ответа.
Альтернатива в том, чтобы не ограничиваться джоббордами и целенаправленно выходить на людей, которые управляют инженерными командами. Общение с CTO, тимлидами и фаундерами превращает поиск работы в прямой профессиональный разговор, а не попытку пройти через набор формальных стадий.
🔸 Практический интенсив «Архитектуры и шаблоны проектирования»
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 На рынке сейчас математика — снова король: AI растёт быстрее, чем вузы успевают обновлять программы. Мы же перестраиваем курс под индустрию мгновенно.
Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом?
Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML.
Что в курсе:
→ линал, производные, градиенты, вероятности, статистика;
→ практика на Python и 3 большие ДЗ;
→ живые вебинары + разбор ваших вопросов;
→ финальный мини-проект, который можно положить в портфолио;
→ доступ к материалам и чат с экспертами.
Для старта нужны только школьная математика и базовый Python.
🎁 Бонусы ноября:
— скидка 40% до 30 ноября;
— «Базовая математика» в подарок при оплате;
→ бесплатный тест уровня математики.
👉 Записывайся на курс
Хочешь наконец разобраться в математике для DS, а не гуглить «что такое градиент» перед собесом?
Новый курс «Математика для разработки AI-моделей» — это 8 недель плотной подготовки, свежая программа и только актуальные темы, которые реально нужны в ML.
Что в курсе:
→ линал, производные, градиенты, вероятности, статистика;
→ практика на Python и 3 большие ДЗ;
→ живые вебинары + разбор ваших вопросов;
→ финальный мини-проект, который можно положить в портфолио;
→ доступ к материалам и чат с экспертами.
Для старта нужны только школьная математика и базовый Python.
🎁 Бонусы ноября:
— скидка 40% до 30 ноября;
— «Базовая математика» в подарок при оплате;
→ бесплатный тест уровня математики.
👉 Записывайся на курс
В F# 10 упростили синтаксис для аннотирования типов в вычислительных выражениях. Теперь можно добавлять типы в let!, use! и and! без необходимости использовать дополнительные скобки вокруг идентификаторов.
ньше для указания типа в вычислительном выражении приходилось писать так:
let! (x: int) = fetchValue()
Сейчас можно написать короче:
let! x: int = fetchValue()
Если вы часто работаете с async, task или другими вычислениями, это изменение вы оцените.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🤔1🥱1
При разработке API важно правильно и понятно передавать клиентам информацию о возникших ошибках.
Одним из удобных способов сделать это в .NET minimal API является использование встроенного метода Results.Problem. Он возвращает объект с подробностями ошибки в стандарте ProblemDetails, что упрощает клиентам обработку ответа.
Пример:
app.MapGet("/users/{id}", async (string id, IUserRepo repo) =>
{
if (!Guid.TryParse(id, out var guid))
return Results.Problem("Invalid id", statusCode: 400);
var user = await repo.Find(guid);
return user is null ? Results.NotFound() : Results.Ok(user);
});В этом коде при неверном формате id возвращается ProblemDetails с кодом 400, если пользователь не найден — 404, иначе 200 с данными.
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Рынок IT сильно изменился за последние годы. После бурного роста начались крупные сокращения и оптимизация команд. Сегодня никто не может быть уверен в стабильности работы — даже опытные разработчики сталкиваются с риском внезапного увольнения.
Поэтому важно задуматься о своей карьерной страховке — простых шагах и инструментах, которые помогут защитить себя и сохранить финансовую устойчивость в любой ситуации.
🔸 ML для старта в Data Science
🔸 Получить консультацию менеджера
🔸 Сайт Академии 🔸 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍1
Коллекции .NET: взгляд изнутри
Как устроены стандартные коллекции в .NET и почему понимание их внутренней логики помогает писать более производительный код? На открытом вебинаре курса OTUS «C# Developer. Advanced» Антон Герасименко покажет, что происходит «под капотом» List, Dictionary и других структур данных.
🗓 4 декабря, 20:00
Коллекции .NET: взгляд изнутри:
— разберём устройство стандартных коллекций
— заглянем в исходный код и объясним, почему они работают именно так
— обсудим, когда стоит реализовать собственную структуру данных
Вебинар будет полезен разработчикам уровня Junior и выше, которые хотят глубже понимать, как устроены базовые механизмы .NET и как использовать их эффективнее.
👉 Зарегистрируйтесь: https://clc.to/8-oWYg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как устроены стандартные коллекции в .NET и почему понимание их внутренней логики помогает писать более производительный код? На открытом вебинаре курса OTUS «C# Developer. Advanced» Антон Герасименко покажет, что происходит «под капотом» List, Dictionary и других структур данных.
🗓 4 декабря, 20:00
Коллекции .NET: взгляд изнутри:
— разберём устройство стандартных коллекций
— заглянем в исходный код и объясним, почему они работают именно так
— обсудим, когда стоит реализовать собственную структуру данных
Вебинар будет полезен разработчикам уровня Junior и выше, которые хотят глубже понимать, как устроены базовые механизмы .NET и как использовать их эффективнее.
👉 Зарегистрируйтесь: https://clc.to/8-oWYg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2🥱2❤1
В F# 10 появилась важная возможность оптимизировать использование вычислительных выражений с помощью поддержки tail-call оптимизации для ключевых вызовов
return!, yield! и do!.Теперь компилятор распознаёт, когда эти вызовы находятся в хвостовой позиции, и, если реализация билдера поддерживает специальные методы
ReturnFromFinal, YieldFromFinal и им подобные, он применяет оптимизацию tail call. Это позволяет выполнять вызовы без дополнительного роста стека.🔹 Основы IT для непрограммистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👾2
Если нужно обработать коллекцию по частям — например, выгрузить данные пакетами, есть решение: метод
Chunk. Он создаёт из исходного списка последовательность подсписков одинакового размера.Пример:
foreach (var batch in items.Chunk(100))
{
await SaveBatch(batch);
}
Chunk тут удобен тем, что не требует писать циклы с индексами и сложную логику по разбиению. Просто задайте размер пакета, и метод сделает всё за вас.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤2🥰2❤🔥1
Собрали для вас в карточках 5 стратегий для торгов на собеседовании. Есть ещё несколько, которые подробно описаны в статье.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🥰1👾1
💻 Поддержка паттерна discard в use! в F# 10
Раньше в
Теперь можно прямо написать:
Это обозначает, что ресурс используется только для управления временем жизни, и его значение не будет задействовано в коде.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
🐸 Библиотека шарписта
#sharp_view
Раньше в
use! вычислительных выражениях нельзя было указать _ для игнорирования результата, что заставляло создавать ненужные имена переменных, например, __ или _ignored. Теперь можно прямо написать:
use! _ = acquireResourceAsync()
Это обозначает, что ресурс используется только для управления временем жизни, и его значение не будет задействовано в коде.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В ASP.NET Core есть негласное правило DbContext живет ровно столько, сколько живет HTTP запрос. Эту модель Microsoft прямо закладывает в документацию, ведь DbContext задуман как короткоживущий объект под одну единицу работы одну бизнес операцию и один вызов SaveChanges.
Когда вы регистрируете контекст так:
builder.Services.AddDbContext<AppDb>(opt =>
opt.UseNpgsql(connString));
контейнер DI по умолчанию регистрирует AppDb с временем жизни Scoped. Это значит новый экземпляр создается на каждый запрос и шарится только между сервисами внутри этого запроса.
Если сделать DbContext Singleton вы получите общий экземпляр на все запросы сразу и это прямой путь к гонкам, утечкам и странным багам.
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4👾1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Хочешь строить свои AI-модели, а не просто запускать чужие?
Proglib.academy открывает курс «Математика для разработки AI-моделей» — программу, которая превращает понимание ML из «черного ящика» в осознанную инженерную работу.
📌 Почему без математики в AI никуда:
→ Чтобы пройти собеседование. Это первый фильтр: линал, матстат, оптимизация — спрашивают везде.
→ Чтобы понимать процесс изнутри. Инженер AI должен понимать, почему и как работает модель, а не просто жать fit().
🎓 Что будет на курсе:
→ 3 практических задания на Python + финальный проект с разбором от специалистов;
→ программа обновлена в ноябре 2025;
→ за 2 месяца пройдёшь весь фундамент, нужный для работы с моделями;
→ преподаватели — гуру математики, методисты и исследователи из ВШЭ и индустрии.
🎁 Бонусы ноября:
— 40% скидка;
— получаешь курс «Школьная математика» в подарок;
— короткий тест и узнать свой уровень.
🔗 Подробнее о курсе
Proglib.academy открывает курс «Математика для разработки AI-моделей» — программу, которая превращает понимание ML из «черного ящика» в осознанную инженерную работу.
📌 Почему без математики в AI никуда:
→ Чтобы пройти собеседование. Это первый фильтр: линал, матстат, оптимизация — спрашивают везде.
→ Чтобы понимать процесс изнутри. Инженер AI должен понимать, почему и как работает модель, а не просто жать fit().
🎓 Что будет на курсе:
→ 3 практических задания на Python + финальный проект с разбором от специалистов;
→ программа обновлена в ноябре 2025;
→ за 2 месяца пройдёшь весь фундамент, нужный для работы с моделями;
→ преподаватели — гуру математики, методисты и исследователи из ВШЭ и индустрии.
🎁 Бонусы ноября:
— 40% скидка;
— получаешь курс «Школьная математика» в подарок;
— короткий тест и узнать свой уровень.
🔗 Подробнее о курсе
😁1
📰 Последняя неделя ноября
Ноябрь вот-вот закончится, а мы подводим итоги недели.
— Куда катится .NET
Microsoft выкатили большой лонгрид про то, как .NET в .NET 10 окончательно переезжает на Unified Build — виртуальный монорепозиторий и вертикальные сборки, чтобы быстрее и предсказуемее собирать весь продукт.
— Ивент про ИИ
.NET‑команда анонсировала бесплатный онлайн‑ивент .NET Day on Agentic Modernization, который пройдёт 9 декабря 2025
— Redis 8.4
Redis выкатили версию, которая одновременно ускоряет кэш, упрощает жизнь кластерам и делает Redis куда более удобным движком для AI и гибридного поиска
— GitHub Copilot Testing
— Перестаньте ждать, пока вас найдут
— Карьерная «страховка» для IT‑шника
🫶 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
🐸 Библиотека шарписта
#async_news
Ноябрь вот-вот закончится, а мы подводим итоги недели.
— Куда катится .NET
Microsoft выкатили большой лонгрид про то, как .NET в .NET 10 окончательно переезжает на Unified Build — виртуальный монорепозиторий и вертикальные сборки, чтобы быстрее и предсказуемее собирать весь продукт.
— Ивент про ИИ
.NET‑команда анонсировала бесплатный онлайн‑ивент .NET Day on Agentic Modernization, который пройдёт 9 декабря 2025
— Redis 8.4
Redis выкатили версию, которая одновременно ускоряет кэш, упрощает жизнь кластерам и делает Redis куда более удобным движком для AI и гибридного поиска
— GitHub Copilot Testing
— Перестаньте ждать, пока вас найдут
— Карьерная «страховка» для IT‑шника
🫶 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
#async_news
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🤩1
Такое ощущение, что плохих новостей вокруг уже больше, чем уведомлений от коллег.
Наткнулись на канал с позитивными новостями и это как антидот к новостному шуму и думскроллингу, где можно сознательно переключиться в режим «у мира ещё есть шансы».
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🥱1