#полезное
😎 99% разработчиков ошибаются в обработке исключений
А вот что делает оставшийся 1%:
Они используют глобальный обработчик исключений.
Начиная с .NET 8, можно создать класс, реализующий IExceptionHandler, чтобы перехватывать все необработанные исключения.
Внутри обработчика можно залогировать исключение и вернуть ProblemDetails клиенту API.
Можно также зарегистрировать несколько реализаций
Предсказать все исключения невозможно.
Но можно перехватить их все в одном месте.
👉 Новости 👉 База вопросов
А вот что делает оставшийся 1%:
Они используют глобальный обработчик исключений.
Начиная с .NET 8, можно создать класс, реализующий IExceptionHandler, чтобы перехватывать все необработанные исключения.
Внутри обработчика можно залогировать исключение и вернуть ProblemDetails клиенту API.
Можно также зарегистрировать несколько реализаций
IExceptionHandler — они будут вызываться в порядке регистрации.Предсказать все исключения невозможно.
Но можно перехватить их все в одном месте.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #CSharp
🤔 Что такое цепочка конструкторов в С#?
Цепочка конструкторов (constructor chaining) позволяет одному конструктору вызывать другой внутри одного класса с помощью
👉 Новости 👉 База вопросов
Цепочка конструкторов (constructor chaining) позволяет одному конструктору вызывать другой внутри одного класса с помощью
this . Это сокращает дублирование кода.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 В
Passkey — это новый способ входа в систему без пароля, основанный на стандартах FIDO2/WebAuthn.
Вместо ввода пароля, пользователь подтверждает вход с помощью:
🟠 Face ID или Touch ID (на телефоне или ноутбуке)
🟠 PIN-кода
🟠 внешнего ключа безопасности (например, YubiKey)
👉 Новости 👉 База вопросов
ASP.NET 10 появится поддержка Passkey Passkey — это новый способ входа в систему без пароля, основанный на стандартах FIDO2/WebAuthn.
Вместо ввода пароля, пользователь подтверждает вход с помощью:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😇 Clean Architecture by Pedro Constantino
Clean Architecture — это не только про принципы, но и про ясную структуру, которая делает проект масштабируемым, тестируемым и удобным в поддержке
источник
👉 Новости 👉 База вопросов
Clean Architecture — это не только про принципы, но и про ясную структуру, которая делает проект масштабируемым, тестируемым и удобным в поддержке
источник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😇 Времена жизни (Lifetimes) в .NET DI:
🟠 Singleton — один экземпляр на всё приложение
🟠 Scoped — один экземпляр на каждый запрос
🟠 Transient — новый экземпляр каждый раз при запросе
Важно помнить:
– Нельзя внедрять Scoped/Transient в Singleton — это может привести к утечкам памяти
– Используй Singleton только для безсостояний или потокобезопасных сервисов
👉 Новости 👉 База вопросов
Важно помнить:
– Нельзя внедрять Scoped/Transient в Singleton — это может привести к утечкам памяти
– Используй Singleton только для безсостояний или потокобезопасных сервисов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #postgres
🤔 Что означает команда enable-debug в PostgreSQL?
Команда
👉 Новости 👉 База вопросов
Команда
enable-debug в PostgreSQL для включения дополнительных параметров отладки при компиляции. Она необходима разработчикам и администраторам баз данных для диагностики проблем и улучшения производительности.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #postgres
🤔 Какой максимальный размер таблицы в PostgreSQL?
B PostgreSQL максимальный размер таблицы ограничен размером базы данных - до 32 ТБ, если используется стандартный блок данных размером 8 КБ. Это ограничение связано с максимальной длиной идентификатора блока в системе.
👉 Новости 👉 База вопросов
B PostgreSQL максимальный размер таблицы ограничен размером базы данных - до 32 ТБ, если используется стандартный блок данных размером 8 КБ. Это ограничение связано с максимальной длиной идентификатора блока в системе.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1
#полезное
📞 Создание кастомного GPT в ChatGPT может быть крайне полезным.
Например, разработчик хочет заменить SqlClient-операции на Dapper и ему предстоит проделать это множество раз.
С помощью кастомного GPT можно избежать постоянного ввода промптов — достаточно просто вставить код и получить результат.
В этом случае я создал инструкцию в Microsoft Word, сохранил её в PDF и загрузил в кастомного GPT
👉 Новости 👉 База вопросов
Например, разработчик хочет заменить SqlClient-операции на Dapper и ему предстоит проделать это множество раз.
С помощью кастомного GPT можно избежать постоянного ввода промптов — достаточно просто вставить код и получить результат.
В этом случае я создал инструкцию в Microsoft Word, сохранил её в PDF и загрузил в кастомного GPT
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😵💫 В .NET 10 снижена «надбавка» за использование
В .NET 9 перебор массива через
👉 Новости 👉 База вопросов
IEnumerable с 83% до 10%В .NET 9 перебор массива через
IEnumerable обходился на 83% дороже, чем прямой перебор массива, тогда как в .NET 10 эта разница составила всего 10% Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
#полезное
👋 𝗛𝘆𝗯𝗿𝗶𝗱𝗖𝗮𝗰𝗵𝗲 в .𝗡𝗘𝗧 𝟵
В .NET 9 появился новый API для кэширования — HybridCache.
Он решает ограничения
Что он предлагает:
🟠 Единый API (и для in-process, и для out-of-process кэша)
🟠 Настраиваемую сериализацию
🟠 Защиту от «штамповки» (stampede protection)
🟠 Очистку кэша по тегам
Метод
Stampede protection означает: на один ключ — только один вызов фабрики одновременно.
Вот как можно начать использовать HybridCache уже сегодня: read
👉 Новости 👉 База вопросов
В .NET 9 появился новый API для кэширования — HybridCache.
Он решает ограничения
IMemoryCache и IDistributedCacheЧто он предлагает:
Метод
GetOrCreateAsync проверяет и основной, и вторичный кэш. Если значения нет — вызывает фабрику, сохраняет результат и возвращает его.Stampede protection означает: на один ключ — только один вызов фабрики одновременно.
Вот как можно начать использовать HybridCache уже сегодня: read
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫡
Оба могут создавать скоупы, но ключевой момент в следующем:
Так что использование
Обычно пользовательские скоупы нужны, когда вы работаете с root-провайдером.
Вот решение на практике: тык
👉 Новости 👉 База вопросов
IServiceScopeFactory vs IServiceProvider — что использовать для создания пользовательских скоупов?Оба могут создавать скоупы, но ключевой момент в следующем:
IServiceProvider.CreateScope() просто получает IServiceScopeFactory и вызывает у него CreateScope()Так что использование
IServiceScopeFactory — более прямой подход.Обычно пользовательские скоупы нужны, когда вы работаете с root-провайдером.
Вот решение на практике: тык
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏠 В режиме Ask в VScode ты можешь общаться напрямую с экспертами — так называемыми участниками (participants). Например, участник Remote-SSH может ответить на вопросы о разработке по SSH, помочь с настройкой окружения и даже разобраться с ошибками подключения
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
😊 Думаешь, хорошо разбираешься в
Этот пост поменяет твой взгляд на перехват HTTP-запросов
Middleware в
Есть три подхода: на делегатах (inline), по соглашению (класс), и через
1⃣ Сначала можно использовать метод
Такое middleware на основе делегата выполняется до и после следующего компонента в конвейере.
2⃣ Если логика растёт — вынеси её в отдельный класс middleware по соглашению.
Класс должен иметь конструктор с
3⃣ Либо реализуй интерфейс
Зарегистрируй класс
Но есть важные нюансы:
🟠 Middleware по умолчанию живёт как singleton, поэтому внедряй только singleton-зависимости.
🟠 Если нужны scoped-сервисы — передавай их через параметры InvokeAsync в middleware по соглашению.
Кастомные middleware используют для:
• логирования
• авторизации
• валидации
• модификации ответов
👉 Новости 👉 База вопросов
ASP.NET Core middleware?Этот пост поменяет твой взгляд на перехват HTTP-запросов
Middleware в
ASP.NET Core — это компонент, участвующий в конвейере обработки HTTP-запросов и ответов.Есть три подхода: на делегатах (inline), по соглашению (класс), и через
IMiddleware для кастомной логики.Use напрямую в конфигурации WebApplication.Такое middleware на основе делегата выполняется до и после следующего компонента в конвейере.
Класс должен иметь конструктор с
RequestDelegate и метод InvokeAsync.IMiddleware — это более безопасный, проверяемый компилятором способ.Зарегистрируй класс
IMiddleware в DI-контейнере, и фреймворк сам будет его разрешать.Но есть важные нюансы:
Кастомные middleware используют для:
• логирования
• авторизации
• валидации
• модификации ответов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #postgres
🤔 Что такое функции в PostgreSQL?
Функции в PostgreSQL - это блоки кода, которые выполняют заданную последовательность SQL или процедурных команд. Они позволяют выполнять вычисления, возвращать значения и обрабатывать данные более эффективно. Их можно использовать для вызова сложной логики в SQL-запросах или триггерах.
👉 Новости 👉 База вопросов
Функции в PostgreSQL - это блоки кода, которые выполняют заданную последовательность SQL или процедурных команд. Они позволяют выполнять вычисления, возвращать значения и обрабатывать данные более эффективно. Их можно использовать для вызова сложной логики в SQL-запросах или триггерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😱 Скриптинг на C# это круто
Отлично подходит для простых POC и наполнения тестовыми данными, как в этом примере
👉 Новости 👉 База вопросов
Отлично подходит для простых POC и наполнения тестовыми данными, как в этом примере
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
#полезное
🛞 Visual Studio теперь отображает возвращаемые значения методов прямо в коде
Фича появилась в версии 17.12 (выпущена в ноябре).
Я всегда считал, что временные переменные помогают снизить когнитивную нагрузку при работе с возвратами методов, но, похоже, теперь игра изменилась
👉 Новости 👉 База вопросов
Фича появилась в версии 17.12 (выпущена в ноябре).
Я всегда считал, что временные переменные помогают снизить когнитивную нагрузку при работе с возвратами методов, но, похоже, теперь игра изменилась
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
🥄 NBomber — нагрузочное тестирование на .NET без привязки к протоколам. Этот фреймворк позволяет описывать сценарии нагрузочного тестирования на чистом C#/F#, без изучения специализированного DSL.
Ключевая особенность проекта в распределённом режиме для имитации реалистичной нагрузки и интеграция с Grafana/InfluxDB для мониторинга в реальном времени. При этом сценарии можно запускать как консольное приложение или даже как xUnit-тесты в CI/CD.
Гитхаб
👉 Новости 👉 База вопросов
Ключевая особенность проекта в распределённом режиме для имитации реалистичной нагрузки и интеграция с Grafana/InfluxDB для мониторинга в реальном времени. При этом сценарии можно запускать как консольное приложение или даже как xUnit-тесты в CI/CD.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#Собес #postgres
🤔 Что такое VACUUM в PostgreSQL
👉 Новости 👉 База вопросов
VACUUM - это команда в PostgreSQL, которая удаляет ненужные данные, освобождает место и предотвращает разрастание базы данных. Регулярное выполнение vAcuum помогает поддерживать производительность базы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Самое раздражающее при отладке C#-кода?
(что может серьёзно замедлить процесс)
Проверка значений в коллекции.
Приходится разворачивать каждый элемент, чтобы посмотреть значения свойств.
Чтобы решить эту проблему, в Visual Studio недавно появилась функция закрепляемых свойств (pinnable properties).
Она позволяет быстро отслеживать нужные свойства.
Чтобы воспользоваться, наведите курсор на свойство и нажмите на иконку закрепления.
См. видео-пример, как это использовать
👉 Новости 👉 База вопросов
(что может серьёзно замедлить процесс)
Приходится разворачивать каждый элемент, чтобы посмотреть значения свойств.
Чтобы решить эту проблему, в Visual Studio недавно появилась функция закрепляемых свойств (pinnable properties).
Она позволяет быстро отслеживать нужные свойства.
Чтобы воспользоваться, наведите курсор на свойство и нажмите на иконку закрепления.
См. видео-пример, как это использовать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😐 Режим агента теперь доступен в публичной предварительной версии для всех пользователей в Visual Studio 17.14.
Режим агента в Visual Studio позволяет задавать задачи с помощью естественного языка — Copilot самостоятельно планирует действия, редактирует кодовую базу, вызывает инструменты и итеративно решает проблемы.
В отличие от Copilot Chat или Copilot Edits, агент не останавливается на одной подсказке или правке файла — он действует автономно и выполняет задачу до конца.
Тык сюда
👉 Новости 👉 База вопросов
Режим агента в Visual Studio позволяет задавать задачи с помощью естественного языка — Copilot самостоятельно планирует действия, редактирует кодовую базу, вызывает инструменты и итеративно решает проблемы.
В отличие от Copilot Chat или Copilot Edits, агент не останавливается на одной подсказке или правке файла — он действует автономно и выполняет задачу до конца.
Тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1🔥1