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

C# *

Объектно-ориентированный язык программирования

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

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

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

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

Читать далее

Как взломать Harley Davidson. Часть 3

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

В прошлой части мы немало узнали о внутреннем устройстве прошивки. Но ни грубая сила видеокарты, ни интеллект моих скриптов на Питоне не помогли: алгоритм генерации 64-битного ключа так и остался тайной, а мотоцикл не взломанным. Что же, в этой части нас наконец-то ждет удача, а на десерт предложу разбор прошивки BCM с двойным разоблачением.

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Pure.DI в Unity

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

So what if I swagger?

PVS-Studio в 2024 году

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

За окном январь 2025 года, а это значит, пора подвести итоги за 2024 год! В этой статье вы узнаете, чем занималась команда PVS-Studio в прошлом году: новые плагины, интеграции, фичи и многое другое!

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Калькулятор на персептронах

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

Привет, Хабр!

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

Читать далее

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

Ода одной диагностике и ещё парочке, или проверка Jellyfin

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

Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin. И ещё несколько ошибок проекта.

Читать далее

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

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

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

Читать далее

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

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

Наш 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 мин
Количество просмотров22K

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

Читать далее

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

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

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

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

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

Читать далее

Как и зачем использовать ValueTask в C#

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

Привет, Хабр!

Сегодня мы будем разбирать интересную вещь в C# ValueTask — штука, которая спасет асинхронные методы от лишних аллокаций.

Если коротко, ValueTask — это структура, которая позволяет вернуть либо Task, либо готовый результат. Она появилась в C# 7.0 для снижения накладных расходов при работе с асинхронным кодом.

Читать далее

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