Отбитый дотнет
Поскольку прошлая статья про «особенную» Java вызвала интерес, мы решили продолжить праздник. Настало время познакомить разработчиков С# с темной стороной любимой технологии — сегодня шатаем .NET!

Отбитый дотнет
Поскольку прошлая статья про «особенную» Java вызвала интерес, мы решили продолжить праздник. Настало время познакомить разработчиков С# с темной стороной любимой технологии — сегодня шатаем .NET!
Порядок инициализации полей, статики и всего остального в C#
Всем привет! Многие сталкиваются с трудностями на собеседовании на вопросе по типу "Расскажите о порядке иницализации в C#". Либо банально когда видят квиз, стараются вспомнить, а что там должно инициализироваться? Сегодня многие вспомнят, а кто-то узнает о порядке инициализации. Затронем не только классы, а также структуры, а точнее - ключевое слово default для них. Сделаем следующие классы и посмотрим, что будет при создании объекта B:
Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API
Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.
API Key Authentication в ASP.NET Core Web Api
Недавно я столкнулся с задачей реализации аутентификации с использованием API Key в ASP.NET Core Web API. Хотя многие авторы рекомендуют использовать IAuthorizationFilter для этой цели, я обнаружил, что это не самый подходящий вариант. У меня есть более удачный подход, которым я хотел бы поделиться, включая примеры. Реализация была протестирована как в .NET 8, так и в .NET 9.
Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core
Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как эффективно хранить SQL-код, предназначенный для применения к базе данных, чтобы избежать необходимости в ручном труде и перемещении файлов. В короткой статье дам пошаговую инструкцию автоматического применения миграций к базе данных и управлению представлениями и процедурами, без всяких сиай/сиди… So what if I swagger?
Деплоймент нескольких ASP.Net Core-приложений на VPS сервере и настройка доступа к ним по доменному имени 3-го уровня
Деплоймент нескольких ASP.Net Core-приложений на VPS сервере с Ubuntu и настройка доступа к ним по доменному имени 3-го уровня.
https://habr.com/ru/articles/871182/
#C# #net_core #asp_net_core #vps #nginx #Ubuntu #web #разработка #деплой
Announcing .NET Community Toolkit 8.4! Partial properties support for MVVM, new analyzers, and more!
https://devblogs.microsoft.com/dotnet/announcing-the-dotnet-community-toolkit-840/
Using Dependabot to Manage .NET SDK Updates
https://devblogs.microsoft.com/dotnet/using-dependabot-to-manage-dotnet-sdk-updates/
Служба Windows на C# в .Net 9 (Telegram.Bot)
После перехода Microsoft с .NET Framework на .NET Core программирование на C# стало более увлекательным, хотя некоторые аспекты изменились. В частности, шаблон проекта Служба Windows (.NET Framework) создаёт класс, наследник от ServiceBase в пространстве имен System.ServiceProcess . Прогеру предлагается реализовать виртуальные методы базового класса OnStart и OnStop , которые задают действия, подлежащие выполнению при запуске (остановке) службы, что собственно и есть суть и назначение Службы Виндовз. Регистрация Службы в этом случае производится с помощью утилиты installUtil.exe , в .Net Core это делается утилитой SC.exe . Реализовать службу на .NET Core (в моем случае .NET 9) не сложнее, но по другому, шаблон проекта теперь называется Worker Service (Microsoft) , а рабочий класс наследуется от BackgroundService. В этой статье я подробно опишу процесс создания, публикации и регистрации Службы в .Net 9 на примере службы для Telegram-бота (сокращенно — Телебот). Почему бот? Во-первых, писать Телебота на C# — это действительно приятно. Во-вторых, чтобы обеспечить его круглосуточную доступность на сервере под управлением Windows, логично использовать именно Службу Windows , которая будет поддерживать его работу в фоновом режиме и запускаться может сама при перезагрузке сервера. В заключении рассмотрим как добавить логирование в стандартный виндовый EventLog и немного обсудим функционал самого Телебота.
Evaluate the quality of your AI applications with ease
https://devblogs.microsoft.com/dotnet/evaluate-the-quality-of-your-ai-applications-with-ease/
Calling methods is easier and faster with C#13 params collections
https://devblogs.microsoft.com/dotnet/csharp13-calling-methods-is-easier-and-faster/
[Перевод] Практический подход к EF Core с использованием скалярных функций
При создании приложения некоторые логические операции могут быть реализованы на стороне базы данных с использованием скалярных функций. В SQL скалярная функция — это тип функции, который работает с одним значением или небольшим количеством входных значений и всегда возвращает одно значение в качестве результата. Эти функции представляют собой переиспользуемые блоки кода, которые выполняют вычисления или манипуляции с данными.
.NET Upgrade Assistant Now Supports Upgrading to Centralized Package Mangement
https://devblogs.microsoft.com/dotnet/dotnet-upgrade-assistant-cpm-upgrade/
eShop infused with AI – a comprehensive intelligent app sample
https://devblogs.microsoft.com/dotnet/e-shop-infused-with-ai-comprehensive-intelligent-dotnet-app-sample/
Join the .NET Smart Components ecosystem
https://devblogs.microsoft.com/dotnet/join-the-dotnet-smart-components-ecosystem/
Компиляция математического выражение из строки динамически во время выполнения в C# (.NET)
В этой статье я продемонстрирую, как динамически компилировать математические выражения из строк в runtime в C#, исключительно просто и быстро. Это решение поддерживает различные математические контексты, включая логические выражения, научные вычисления и C#, а также позволяет расширять эти контексты пользовательскими переменными, операторами и функциями.
https://habr.com/ru/articles/842046/
#математика #net #net_core #c# #c#net #algorithms #eval #math #mathematics #компиляция
BinaryFormatter removed from .NET 9
https://devblogs.microsoft.com/dotnet/binaryformatter-removed-from-dotnet-9/
.NET Community Toolkit 8.3 is here! NativeAOT, .NET 8 enhancements, and more!
https://devblogs.microsoft.com/dotnet/announcing-the-dotnet-community-toolkit-830/
C#Dev Kit update brings enhanced Razor IntelliSense, Project Status, and New Config Options
https://devblogs.microsoft.com/dotnet/whats-new-in-csharp-dev-kit-august-2024/
Вычисление логического выражения из строки в C# (.NET)
В этой статье я продемонстрирую, как динамически вычислять логические математические выражения из строк в C#, с высокой производительностью. Решение, реализованное с использованием библиотеки .NET MathEvaluator, поддерживает логические операции в различных математических контекстах, включая программирование, научные вычисления и C#. Кроме того, библиотека позволяет расширять эти контексты, а также добавлять пользовательские переменные и функции.
https://habr.com/ru/articles/837380/
#математика #net #net_core #c# #c#net #algorithms #eval #math #mathematics #evaluator