Как стать автором
Поиск
Написать публикацию
Обновить
235.87

.NET *

Хаб со знаниями про .NET

Сначала показывать
Порог рейтинга
Уровень сложности

Confluent Kafka: любовь и ненависть в .NET, часть 1

Время на прочтение7 мин
Количество просмотров4.8K

Всем привет! Сегодня расскажу про Confluent Kafka. Ее любят, ненавидят, но мало кто остается равнодушным.

О себе

Меня зовут Алена, я ведущий разработчик, занимаюсь развитием референсной архитектуры в компании билайн. К основным областям профессиональных интересов можно отнести проблемы распределенных систем, event sourcing и DDD.

В двух словах о Kafka

Kafka - это распределенная платформа для обработки потоков данных, которая используется для построения высоконагруженных решений и обработки данных в реальном времени. По сути, это система, которая может очень быстро и эффективно передавать ваши события. Kafka может работать как на одной машине, так и на нескольких, образующих между собой кластер и повышающих общую эффективность системы. Событием в Kafka может быть любой тип данных, для Kafka это всего лишь последовательность байт. На картинке представлены сущности, которые участвуют в процессе работы с точки зрения архитектуры.

Читать далее

Еще раз о забытом. Roslyn Source Generators

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.1K

Каждый разработчик часто сталкивается с написанием большого объема рутинного и повторяющегося кода, который имеет один и тот же смысл. Начиная с C# версии 9 появилась возможность генерации кода, которая интегрирована напрямую с компилятором. Такой подход позволяет избавиться от множества строк шаблонного кода. О нём сегодня и поговорим.

Читать далее

Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.2K

Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.

Читать далее

Как отлаживать плагины в Revit: ускоряем разработку

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров877

Отладка плагинов Revit – это важный этап разработки, который позволяет избежать неожиданных ошибок. Однако стандартный запуск Revit с плагином может быть неудобным: долгое ожидание загрузки, сложность тестирования, невозможность быстро анализировать переменные. В этой статье мы рассмотрим, как настроить удобную отладку, чтобы ускорить процесс разработки.

Читать далее

Многофакторное аппроксимирование на платформе .Net. Часть первая. Теория

Время на прочтение6 мин
Количество просмотров1.3K

Двухфакторная аппроксимация и ее реализация на платформе .net при помощи open source приложения RefressionFromExel.

Читать далее

Ошибки и подозрительные места в исходниках .NET 9

Время на прочтение7 мин
Количество просмотров6.6K

Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках!

Читать далее

Pure.DI в Unity

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.4K

Pure.DI — это генератор исходного кода C# для создания композиций объектов в парадигме чистого DI. С версии 2.1.53 в нем появились новые возможности, которые будут полезны разработчикам игр на Unity. Предлагается познакомиться с ними на этом примере.

Читать далее

API Key Authentication в ASP.NET Core Web Api

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.2K

Недавно я столкнулся с задачей реализации аутентификации с использованием API Key в ASP.NET Core Web API. Хотя многие авторы рекомендуют использовать IAuthorizationFilter для этой цели, я обнаружил, что это не самый подходящий вариант. У меня есть более удачный подход, которым я хотел бы поделиться, включая примеры. Реализация была протестирована как в .NET 8, так и в .NET 9.

Читать далее

Мой путь к быстрой и понятной архитектуре, или зачем я выбросил агрегаты из DDD?

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров12K

Данная статья затрагивает некоторые аспекты при выборе подхода к проектированию предметной области для сложных корпоративных систем. В ней исследуются причины возникновения классических подходов и их анализ, для возможного улучшения. Это моя первая статья на данную тему.

В начале хочется сказать, что предложенная концепция не пытается претендовать на роль какой-то панацеи и уж тем более на роль единственно верной, она так же имеет ряд своих преимуществ и недостатков. Это скорее попытка переосмыслить опыт, который накопился у меня за несколько лет проектировании корпоративных систем. Материал изложен в виде вопросов и попыток на них ответить.

Читать далее

Как разработчик попытался в геймдев

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.4K

У меня за плечами несколько лет работы в IT, но в сферах, связанных с геймдевом, я никогда не работал. Но это не помешало мне поучаствовать в Tech Jam от Facepunch для ещё не вышедшей s&box. О том, как это было (и обо всех провалах в процессе), я и решил написать.

Читать далее

Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.4K

Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как эффективно хранить SQL-код, предназначенный для применения к базе данных, чтобы избежать необходимости в ручном труде и перемещении файлов.

В короткой статье дам пошаговую инструкцию автоматического применения миграций к базе данных и управлению представлениями и процедурами, без всяких сиай/сиди…

So what if I swagger?

Новые возможности .NET 9: новые типы и семантика блокировок в C# 13

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров10K

В ноябре 2024 года с выходом .NET 9 и обновлением C# до версии 13 мы получили интересные нововведения, которые касаются типов данных и семантики блокировок. Каждый крупный релиз .NET сопровождается новыми инструментами, которые улучшают производительность, безопасность и удобство разработки. В C# 13 такой новинкой стал System.Threading.Lock. Это попытка сделать многопоточность чуть менее токсичной и чуть более предсказуемой.

Читать далее

Ловушка бесконечно ленивого бассейна

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.6K

Нечасто встречаются истории, когда причины и следствия сплетаются в один клубок, связывающий проблемы и с памятью, и с CPU, и с тредпулом. А инструментально затрагивающие и пулы объектов, и Lazy, и работу с асинхронностью, и длительные вычисления. А ещё реже встречаются те, где всё это распутывается и исправляется буквально несколькими строчками кода.

Читать далее

Ближайшие события

Простая локализация .NET приложений с помощью Slang.Net

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2K

В статье я хочу поделиться знаниями о том, как быстро и легко локализовать .NET-приложение с помощью собственного решения для локализации — Slang.Net.

Читать далее

WYSIWYG UI дизайнер для VS Code

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.9K

Наш WYSIWYG UI XAML-редактор теперь доступен и в Visual Studio Code для OpenSilver-приложений. Карточка бургера на скриншоте полностью сделана через редактор.

Расширение можно установить из Visual Studio Marketplace абсолютно бесплатно.

Читать далее

.NET Digest #5

Время на прочтение4 мин
Количество просмотров3.1K

Добро пожаловать на пятый выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! Как обычно, набралось множество материала, а в этот раз ещё и новый .NET вышел. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Реальная эффективность Qwen 2.5 Coder против ChatGPT (или можно ли сэкономить 20$?)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров21K

Можно ли сэкономить 20$ и заменить ChatGPT локальным Qwen 2.5 Coder? Попробуем проверить логику моделей!

Читать далее

Test Doubles в интеграционных тестах на ASP.NET Core

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров1.7K

Интеграционные тесты (англ. Integration tests) занимают промежуточное положение между модульными и сквозными. Они отлично подходят на роль приёмочных тестов backend-сервиса.

Но что делать, если тестируемый сервис активно использует внешние API? Заменять их тестовыми дублёрами.

В статье мы разберём конкретный пример на .NET 8 и ASP NET Core и напишем для него приёмочные тесты.

Читать далее

Гибридное кэширование в ASP.NET Core

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.4K

В .NET 9 появилась новая библиотека для кэширования — HybridCache. В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства.

Хочу разобраться

Увеличение растровых изображений – какой максимальной схожести с оригиналом мы можем добиться и как? А можно побыстрее?

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров4.3K

В этой статье Вы узнаете как теоретические аспекты апскейла сочетаются с практической реализацией, уделяя особое внимание оптимизации алгоритмов на C# для достижения высокой производительности. Рассмотрим сравнительный анализ классических и новых методов, включая нейросетевые подходы, и предложим несколько интересных идей для будущих исследователей. Надеюсь, эта статья станет ценным ресурсом, если вас интересует обработка изображений и повышение эффективности программного кода.

Апскейл на пределе: вперёд!

Вклад авторов