🧑🏫 Azure Solutions Architect Expert Certification Course (AZ 305)
🤘 Десятичасовой курс по подготовке к сертификации Azure Solutions Architect Expert от freeCodeCamp. С помощью курса вы научитесь проектировать облачные и гибридные решения, которые работают в Azure.
📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👏9👍4🔥3
Стандартный способ реализации обработки исключений в ASP.NET Core — использование middleware. Middleware позволяет добавлять логику до или после выполнения HTTP-запросов. Для реализации обработки исключений достаточно добавить оператор
try-catch
в middleware и возвращать ошибку HTTP-ответа. ASP.NET Core 8 добавляет новую абстракцию
IExceptionHandler
для управления исключениями. Этот интерфейс имеет только один метод TryHandleAsync
, который пытается обработать указанное исключение в рамках ASP.NET Core pipeline. Если исключение можно обработать, метод должен возвращать true
, если нет — false
. Это позволяет реализовывать кастомную логику обработки исключений для различных сценариев.IExceptionHandler
в пайплайн запросов ASP.NET Core необходимо сделать две вещи:1. Зарегистрировать сервис
IExceptionHandler
с помощью DI.2. Зарегистрировать
ExceptionHandlerMiddleware
в пайплайне запросов.builder.Services.AddExceptionHandler<GlobalExceptionHandler>();
builder.Services.AddProblemDetails();
app.UseExceptionHandler();
Можно добавить несколько реализаций
IExceptionHandler
, и они будут вызываться в порядке регистрации. Это может быть полезно, например, при использовании исключений для управления потоком.#dotnet #aspnet #tip by Milan Jovanovic
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🥰3👏2🤔2❤1
🤔 String Interning: использовать или нет?
Очередные бенчмарки из реального проекта от Сергея Теплякова.
👉 Читать
Очередные бенчмарки из реального проекта от Сергея Теплякова.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👏4🔥3🥰2
В прошлом выпуске ведущие говорили: «На .NET можно все». А как там дела с блокчейном?
🕘 Таймкоды:
00:00:00 Вступление
00:03:00 Что такое blockchain?
00:21:40 При чем тут .Net?
00:25:00 Чем отличается blockchain проект от обычных проектов?
00:31:00 Про stable coin?
00:41:40 Что такое smart contract?
00:46:30 Строим свой DotNetRu Coin на .Net
01:19:20 DotNetRu Coin: как убедить людей пользоваться нашей сетью
01:26:15 Архитектра криптобиржи
01:36:30 Что такое криптокошелек
⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка
#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
👏9👍5😁5❤1🌚1
Собираетесь ли вы развиваться и заниматься программированием на новогодних праздниках? Что именно будете делать?
Anonymous Poll
27%
Попробую освоить новые инструменты и подходы к разработке
1%
Приму участие в хакатонах
5%
Посмотрю фильмы и сериалы про IT
35%
Поработаю над собственными проектами — добавлю новую функциональность
36%
Почитаю книги и статьи по программированию — расширю кругозор
49%
Просто отдохну и наберусь сил
3%
Свой вариант (напишу в комментариях)
🎉6👍2
⚡️Подборка за неделю с Code Maze:
🔸 Как использовать Request Timeouts Middleware в ASP.NET Core: гайд по настройке тайм-аутов в .NET 8
🔸Как определить операционную систему в .NET Core: юзкейсы + практика
🔸Как прочитать тело запроса в веб-API ASP.NET Core: обзор различных подходов, их преимуществ и недостатков
🔸Local Functions в C#: лучшие практики использования и сравнение с лямбда-выражениями
🔸Insert & Return Identity с помощью Dapper: примеры работы с SCOPE_IDENTITY и OUTPUT INSERTED
🔸Паттерн «Гексагональная архитектура» на C#: структура, преимущества, недостатки и реализация на C#
🔸Как переключаться между версиями .NET SDK: гайд на случай, если вам понадобится переключить версию SDK
📌 Мини-серия статей по ML.NET
🔸ML.NET — введение в машинное обучение с помощью C#
🔸Что такое Model Builder и как его использовать в ML.NET
🔸Использование ML.NET CLI для автоматизации обучения модели
🔸Как использовать Automated Machine Learning API с ML.NET
#dotnet #dotnet8 #csharp #codemaze #матчасть
🔸 Как использовать Request Timeouts Middleware в ASP.NET Core: гайд по настройке тайм-аутов в .NET 8
🔸Как определить операционную систему в .NET Core: юзкейсы + практика
🔸Как прочитать тело запроса в веб-API ASP.NET Core: обзор различных подходов, их преимуществ и недостатков
🔸Local Functions в C#: лучшие практики использования и сравнение с лямбда-выражениями
🔸Insert & Return Identity с помощью Dapper: примеры работы с SCOPE_IDENTITY и OUTPUT INSERTED
🔸Паттерн «Гексагональная архитектура» на C#: структура, преимущества, недостатки и реализация на C#
🔸Как переключаться между версиями .NET SDK: гайд на случай, если вам понадобится переключить версию SDK
📌 Мини-серия статей по ML.NET
🔸ML.NET — введение в машинное обучение с помощью C#
🔸Что такое Model Builder и как его использовать в ML.NET
🔸Использование ML.NET CLI для автоматизации обучения модели
🔸Как использовать Automated Machine Learning API с ML.NET
#dotnet #dotnet8 #csharp #codemaze #матчасть
👍8❤2🤔1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
👍10❤4
Первая статья знакомит с атрибутом
[LogProperties]
, который упрощает логирование дополнительного состояния в сообщениях логов. Это нововведение в .NET 8 позволяет легко включать все свойства объекта в лог, что делает процесс более интуитивным и удобным.Вторая расширяет эту тему, представляя атрибуты
[TagProvider]
и ILogEnricher
. Они позволяют обогащать логи дополнительной информацией, делая их более информативными и полезными для анализа и отладки. Это особенно важно в современных распределенных системах, где эффективное логирование играет ключевую роль в обеспечении надежности и отказоустойчивости.Третья переносит нас в область безопасности и конфиденциальности, представляя пакет
Microsoft.Extensions.Compliance.Redaction
. Этот пакет предлагает эффективные средства для защиты чувствительных данных в логах.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍10😁1
Если у вас есть проблемы с производительностью LINQ-запросов, обратите внимание на новую фичу EF Core 5.0 под названием Query Splitting.
📌 Вызываем метод
AsSplitQuery
:dbContext
.Orders
.Include(order => order.LineItems)
.ThenInclude(lineItem => lineItem.Dimensions)
.AsSplitQuery()
.First(order => order.Id == orderId);
В этом случае EF Core сгенерирует следующие SQL-запросы:
SELECT o.*
FROM Orders o
WHERE o.Id = @orderId;
SELECT li.*
FROM LineItems li
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
SELECT d.*
FROM LineItemDimensions d
JOIN LineItems li ON d.LineItemId = li.Id
JOIN Orders o ON li.OrderId = o.Id
WHERE o.Id = @orderId;
Для каждого оператора Include у нас есть отдельный SQL-запрос. Преимущество в том, что мы не дублируем данные при извлечении из БД.
📌 Включаем разделение запросов для всех запросов:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
"CONNECTION_STRING",
o => o.UseQuerySplittingBehavior(
QuerySplittingBehavior.SplitQuery)));
Все создаваемые EF Core запросы будут разделенными. Чтобы вернуться к одному запросу, нужно вызвать метод
AsSingleQuery
:dbContext
.Orders
.Include(o => o.LineItems)
.ThenInclude(li => li.Dimensions)
.AsSingleQuery()
.First(o => o.Id == orderId);
🔸Не существует гарантии согласованности для нескольких SQL-запросов. Вы можете столкнуться с проблемой, если одновременно с запросом происходит параллельное обновление.
🔸Чтобы смягчить это, вы можете обернуть запросы внутри транзакции, но это приведет только к проблемам с производительностью в других местах.
🔸Каждый запрос требует сетевого обращения. Если задержки при обращении к БД высоки, это может снизить производительность.
#dotnet #aspnet #tip by Milan Jovanovic
Please open Telegram to view this post
VIEW IN TELEGRAM
Milan Jovanović
How To Improve Performance With EF Core Query Splitting
I recently ran into an issue with Entity Framework Core. The query I was running was constantly timing out. So I used a new EF Core feature called Query Splitting to significantly improve my performance.
👍26🤔3❤1
🧠Чему вы бы хотели научиться?
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
🥱2👍1👏1😁1
Почему в Kotlin такие конструкторы работают, а в C# — нет?
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
1000 и 1 способ инициализации типов в C# 12.0
Среди нововведений C# 12 было достаточно больше количество по-настоящему качественных и крутых фич (например дефолтные параметры лямбд). Но речь сегодня пойдет о ложке дёгтя в бочке мёда - Primary...
👏9❤🔥1🥱1
🤷♂️ Никогда такого не было, и вот опять…
Опрос Российской ассоциации электронных коммуникаций говорит о снижении доходов IT-специалистов, тогда как те же аналитики hh.ru отмечают рост медианной зарплаты.
💬 А как поживают ваши доходы?
🥱 — упали, но незначительно
🙏 — упали сильно
🤩 — выросли
Опрос Российской ассоциации электронных коммуникаций говорит о снижении доходов IT-специалистов, тогда как те же аналитики hh.ru отмечают рост медианной зарплаты.
💬 А как поживают ваши доходы?
🥱 — упали, но незначительно
🙏 — упали сильно
🤩 — выросли
🤩88🥱47🙏24🤔13👍3
Ранее мы публиковали серию новых плейлистов с видеоуроками, но здесь каждый из них кратко описан, чтобы вы могли подобрать для себя подходящий.
Вас ждут девять новых серий для начинающих по C#, .NET, генеративному ИИ, NuGet, Visual Studio, VS Code + C# Dev Kit, Blazor Hybrid, .NET IoT и обновлению .NET-приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3👏1