Найти тему
Пришло время пересмотреть структуру проектов на .NET
Это — немного вольный перевод статьи "Maybe it's time to rethink our project structure with .NET 6" от Tim Deschryver. Мне этот пост показался вдохновляющим продолжением идей vertical slice architecture и возможности делать новые сервисы простыми в развитии. А ещё этот текст — некоторый ответ излишней разделенности и несвязности обработчиков MediatR и мест их вызова, которое порождает большие сложности в навигации. Отдельная благодарность Сергею KoHHeKT Чурбанову за внимательную вычитку и редактуру...
132 читали · 2 года назад
Список ИТ-компаний, которые проводят стажировки для студентов из Ростова-на-Дону и Таганрога
Собрали в одном месте (и регулярно обновляем) список компаний, которые проводят стажировки для студентов и начинающих в 2023 году в Ростове, Таганроге или удаленно. В списке можно найти стажировки по Java, С#, Kotlin, JS, Go, Python, С++, Swift, FPGA, PHP, Ruby, Flutter, QA, DevOps, ML, Scala, ...
105 читали · 2 года назад
Сравнение AutoMapper и Mapster
Когда мы читаем/записываем/обрабатываем данные в приложении, то часто нужно переместить информацию между разными слоями приложения (прочитать из БД entity, преобразовать её в модель для api и отдать пользователю) или преобразовать данные в формат системы (при интеграциях). Всё это сводится к преобразованию объектов одного (исходного) типа в объекты другого (целевого) типа. Для этого нужно сопоставлять наборы свойств, а часто и сложных объектов, содержащих другие объекты в качестве свойств. По мере...
2 года назад
Микрооптимизации в .net с знанием архитектуры процессоров
Если посмотреть на семейство x86 процессоров в целом, то можно заметить, что оно не сильно изменилось за 40 лет. Было много дополнений, но оригинальный дизайн, как и почти весь набор команд, в основном остались нетронутыми и до сих пор прослеживаются в современных процессорах. И иногда, когда наши приложения много работают с процессором — можно пользоваться тем, что мы знаем. как процессоры устроены внутри. Что же мы сделаем сегодня? История 1. Средняя цена Скажем, у нас есть биржа с десятками тысяч...
2 года назад
Frontend/JS-пикник в парке Революции 18 августа
Что: Frontend/JS-пикник в парке Где: Ростов-на-Дону, Театральная площадь, 1 (Парк Революции, Зеленый театр) Когда: 18 августа (четверг), начало в 19.00, приходить общаться можно с 18.30 Регистрация: https://rndtech.timepad.ru/event/2124507/ Светлый день для JS/TS-разработчиков — большой летний хардкорный яркий и мощный JS-митап в Зеленом театре Парка Революции. Свежий воздух, сообщество и доклады. 300 участников, 3 спикера, общение, знакомства, доклады, куча подарков, большое афтерпати и впечатления на всё лето...
2 года назад
ZeroQL — типобезопасный производительный GraphQL-клиент для .NET
GraphQL — это уже не модно, а популярно. И он продолжает становиться всё более популярной технологией для построения веб-серверов. В .net всё ещё нет хорошего клиента для GraphQL, который позволял бы строить типизированные запросы с помощью средств языка, а не писать сырые запросы GraphQL. Ну, то есть, есть что-то. Например, Strawberry Shake требует, чтобы вы написали сырой GraphQL, но создает все необходимые обертки для С# — так что в итоге получается типобезопасный API. Но хочется чего-то более...
2 года назад
12 новых фич ASP.NET Core .NET 7 Preview 6
Вышел .NET 7 Preview 6. И традиционно в новой версии есть пачка изменений, связанных с ASP.NET Core: middlware для распаковки сжатых с помощью Brotli, Deflate или GZip запросов Добавляется с помощью экстеншн-метода UseRequestDecompression для IApplicationBuilder и AddRequestDecompression для IServiceCollection: Можно настраивать при регистрации, подробности в классе RequestDecompressionOptions. Можно добавлять новые декомпрессоры для других форматов сжатия, реализующие интерфейс IDecompressionProvider...
222 читали · 2 года назад
Что нового в ASP.NET Core .NET 7 Preview 5
В обновления .NET 7 Preview 5 вошло много интересных изменений ASP.NET Core. tl;dr: Облегчение работы с аутентификацией и авторизацией Настройка аутентификации и авторизации в приложениях ASP.NET Core требует большого количество правок кода — добавления обработки в IServiceCollection, добавление middleware. Конфигурация может иметь много тонких настроек, но для типовых сценариев появились новые упрощенные апи для добавления авторизации в приложениях. Изменения касаются в первую очередь JWT-токенов...
2 года назад
Повышаем производительность .net приложения с помощью Span<T>
Производительность — это непросто. Нужно следить за цикломатической сложностью, учитывать структуру хранения данных в хранилище, оптимизировать запросы и уменьшать число сетевых вызовов. .NET — управляемая платформа, за выделением и освобождением памяти следит CLR. И это удобно. Но иногда мы можем не обращать внимания, что выделяется дополнительная память, а это приводит к увеличению нагрузки на GC и проблемам с производительностью. Давайте разберемся, как типы Span<T> и ReadOnlySpan<T> помогают повысить производительность приложения...
2 года назад
10 главных изменений .NET 7 Preview 5
Вышел .NET 7 Preview 5! Время посмотреть на нововведения этой версии. Полиморфизм в System.Text.Json Одним из больших недостатков STJ в сравнении с Newtonsoft.Json.Net было отсутствие возможности использовать полиморфизм в моделях. Теперь можно делать так: Чтобы использовать полиморфизм при десериализации, нужно определить дискриминатор типа, который будет использоваться в JSON-предтавлении: В качестве дискриминаторов можно использовать и целочисленные значения: Копирование байтового представления в UTF-8 и UTF-16 из Utf8JsonReader без создания новой строки Раньше Utf8JsonReader...
2 года назад
.NET 6: PriorityQueue
В .NET 6 появилась новая коллекция — PriorityQueue<TElement,TPriority>. До этого очереди с приоритетами уже были в .NET, но только в виде внутренних классов — они использовались под капотом разных механизмов в WPF, Rx.NET и в других частях фреймворка. Но в .NET 6 PriorityQueue стала новой коллекцией, которой теперь можно пользоваться из клиентского кода. Давайте посмотрим, что предлагает эта очередь, как она устроена внутри и насколько быстро работает. Под катом будет постепенное погружение: от примеров использования в коде к введению n-арные деревья...
2 года назад
Новый System.Text.Json source generator
На основе статьи Try the new System.Text.Json source generator. Снова про производительность и про source generators. Ещё в .net core 3.0 был представлен новый встроенный в .net механизм работы с Json — System.Text.Json. Изначальным фокусом новой функциональности была высокая производительность. В .net долгое время был стандарт де-факто для работы с json: библиотека Newtonsoft.Json. Легко встраиваемый в аспнет, функциональный, с некоторыми особенностями, которые тоже успели стать стандартными при работе с жсоном в дотнете...
2 года назад